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

Procesado:

💭 Hacer Pregunta

📊 Análisis

Resumen del Podcast de Lex Fridman con ThePrimeagen

RESUMEN

Entrevista con Michael Paulson (ThePrimeagen)

Este podcast de Lex Fridman presenta una extensa conversación con Michael Paulson, conocido en línea como ThePrimeagen, un programador legendario con una fascinante y compleja historia de vida. La entrevista abarca diversos temas, desde la pasión de ThePrimeagen por la programación y sus experiencias trabajando en compañías tecnológicas como Netflix, hasta sus luchas con adicciones, su fe y su perspectiva sobre la Inteligencia Artificial (IA).

IDEAS PRINCIPALES

La programación como pasión

ThePrimeagen describe su primer encuentro con la programación como un momento de revelación, al comprender la recursividad en estructuras de datos como las listas enlazadas. Este momento despertó en él una pasión por la construcción de sistemas complejos a partir de reglas simples, lo cual se refleja en su interés por autómatas celulares y lenguajes de programación.

El dolor y el triunfo en la programación

ThePrimeagen habla sobre la dificultad de la programación, destacando como el peor aspecto es la falta de incertidumbre y reto cuando ya se conoce la solución. Comparte su experiencia lidiando con la recursividad, mostrando cómo la comprensión de conceptos abstractos no siempre es inmediata y cómo encontrar el problema correcto para aplicarlos es crucial.

La identidad de un programador

ThePrimeagen se identifica como un ingeniero de herramientas, construyendo librerías y sistemas para otros desarrolladores. Describe su trayectoria como una exploración de diversos campos de la programación, incluyendo desarrollo web, de sistemas y DevOps.

Luchas con adicciones y la fe

ThePrimeagen es abierto sobre sus batallas con la pornografía y otras adicciones, mostrando cómo una experiencia espiritual a los 19 años lo llevó a un profundo cambio en su vida, incluyendo la superación de dichas adicciones. Comparte su lucha interna y ofrece un consejo basado en sus experiencias personales: reconocer que acciones destructivas perjudican el futuro deseado y el valor personal.

La IA en la programación

La conversación aborda el rol de la IA en la programación. ThePrimeagen expresa tanto optimismo como preocupación acerca de la IA, reconociendo su potencial para aumentar la productividad, pero también su limitación actual en la resolución de problemas complejos y su incapacidad para "sentir" o desarrollar una verdadera comprensión del craft de programación. El enfoque en las "skill issues" resalta la importancia del aprendizaje y la experiencia humana.

El desarrollo personal

ThePrimeagen enfatiza la importancia del trabajo duro y la perseverancia, rechazando la idea de que el éxito se basa solo en trabajar de forma "inteligente". Recomienda un enfoque disciplinado para el aprendizaje, incluso cuando resulta difícil, y la construcción de una base sólida de conocimientos. La importancia de la auto-reflexión sobre las decisiones propias y el aprendizaje de los demás.

La comunidad

ThePrimeagen habla de su experiencia como streamer en Twitch y YouTube, comparando las diferentes culturas en las comunidades de cada plataforma. También describe su experiencia creando un negocio online ("terminal.shop") que vende café.

Recomendaciones para jóvenes programadores

ThePrimeagen aconseja a los jóvenes programadores a encontrar un lenguaje que les entusiasme, que les permita construir y expresarse. También es importante encontrar un balance entre el trabajo y el resto de la vida, valorando las relaciones personales por encima del ansia del éxito profesional. En cuanto a IA, recomienda trabajar activamente con la herramienta para obtener las habilidades necesarias para usarla eficientemente y no ser reemplazado.

INSIGHTS

La entrevista proporciona una visión realista y profunda de la carrera de un programador exitoso, así como la importancia del equilibrio entre la pasión profesional y el bienestar personal. El mensaje central es cultivar una actitud de búsqueda continua del conocimiento, perseverancia, y amor por el proceso de aprendizaje y creación.

CONCLUSIÓN

La conversación con ThePrimeagen es inspiradora y cautivadora, ofreciendo valiosos consejos y perspectivas tanto para programadores como individuos interesados en el crecimiento personal y profesional. La entrevista cubre una variedad de temas relevantes en el mundo de la tecnología, con un toque de humor y honestidad.

🎯 Sabiduría

RESUMEN

Lex Fridman entrevista a Michael Paulson (ThePrimeagen), un programador que discute su vida, la programación y el impacto de la IA.

En esta conversación, se exploran temas como la programación, la adicción, el TDAH, la productividad, la espiritualidad y el impacto de la IA.

IDEAS

  • La programación puede proporcionar una profunda sensación de amor, alegría y posibilidades infinitas.
  • Las listas enlazadas son una metáfora de las conexiones humanas y la creación de sistemas complejos.
  • La recursión es un paradigma de programación que requiere un salto de fe y una forma diferente de ver el mundo.
  • El aspecto más doloroso de la programación es la ausencia de incertidumbre y desafío.
  • Los diversos tipos de programación incluyen web, sistemas embebidos, robótica, redes y compiladores.
  • Construir tus propias herramientas y sistemas para otros desarrolladores puede ser muy gratificante.
  • DevOps asegura el funcionamiento perfecto de sistemas a escala.
  • La pornografía es una adicción extremadamente difícil de superar debido a su accesibilidad.
  • La adicción a la pornografía se combate comprendiendo su efecto en uno mismo y su futuro.
  • Las drogas pueden ser caminos hacia el autodescubrimiento, pero conllevan graves riesgos.
  • La perseverancia la constancia son factores claves para el éxito a largo plazo.
  • "Work hard, get smart" es superior a la idea de "work smarter, not harder".
  • El viaje no siempre es mejor que el destino, sino que la mejora constante es crucial.
  • El apoyo familiar y una pareja comprensiva son esenciales para superar las adicciones y el TDAH.
  • El entorno de programación a menudo se caracteriza por la arrogancia de algunos desarrolladores.
  • La introspección y la voluntad de cambiar la vida son cruciales para el crecimiento personal.
  • Aprender de los errores personales en programación genera experiencias de aprendizaje significativas.
  • La confianza en uno mismo es fundamental durante la adolescencia para superar las dificultades sociales.
  • La comprensión profunda de los sistemas requiere un acercamiento práctico y paciente "print debugging".
  • El éxito en la programación depende de la capacidad de integrar la información y construir sistemas.
  • La IA puede ser una herramienta poderosa en la programación, pero también implica riesgos.
  • La IA aumenta la productividad pero requiere desarrollar habilidades para su correcto uso.
  • La IA reduce la soledad en la programación mientras que la colaboración humana es invaluable.
  • El dominio de las herramientas de programación, como el editor de texto, es esencial.
  • La búsqueda de la perfección en la configuración del entorno de trabajo tiene sus inconvenientes.
  • La espiritualidad y la fe pueden jugar un papel transformador en la vida de un programador.

INSIGHTS

  • El amor por la programación surge de la comprensión de sus posibilidades infinitas.
  • El crecimiento personal requiere autoconciencia y la voluntad de enfrentar la incertidumbre.
  • La capacidad de crear sistemas complejos radica en la simplificación de sus componentes individuales.
  • El dominio de una herramienta no implica maestría, sino la capacidad de superar obstáculos.
  • El progreso se mide por la superación continua de los retos y la constante evolución.
  • La adicción es un obstáculo para el crecimiento personal, y la búsqueda de la felicidad es clave para superarla.
  • El aprendizaje profundo en programación se da mediante la práctica y la comprensión de la estructura del código.
  • El éxito en la vida requiere una equilibrada comprensión del autoconocimiento y las relaciones interpersonales.
  • La IA es una herramienta que puede aumentar la eficiencia, pero no remplaza la inteligencia y el juicio humano.
  • El propósito de la vida se revela mediante la aceptación de los desafíos y la búsqueda de la mejora constante.

CITAS

  • "What you can express is huge."
  • "Anything your mind can think of, you can just create that."
  • "It's a metaphor for all of us humans."
  • "The joy of being destroyed by the thing you've created."
  • "The worst aspect of programming is when you know everything."
  • "I've always looked at myself as a tools engineer."
  • "What they actually need, they actually want."
  • "Work hard, get smart."
  • "The journey is not better than the destination."
  • "I felt the very dramatic and real presence of God."
  • "I was truly taking away from something from my future wife."
  • "There is no substitute for the hours."
  • "The weirdos are the ones that are going to succeed."
  • "It's extremely hard to quit."
  • "That's when I also discovered conspiracy theories."
  • "I need to change my life."
  • "I was always told that you should never reject a handwritten personal invitation to interview."
  • "I've broke production quite a few times."
  • "The more power we give to software systems, the more damage they can do."
  • "I want things to be fun."
  • "I always felt akin to that."
  • "Everything around us becomes better too."
  • "I just didn't care anymore."

HÁBITOS

  • Programación de 12 horas diarias en periodos de alta motivación.
  • Lectura y relectura de páginas hasta comprender el concepto completamente.
  • Re-escucha de audiolibros hasta asegurar la plena comprensión.
  • Uso de afirmaciones (asserts) en el código para detectar y prevenir errores.
  • Utilización de un mapa de teclado personalizado (Dvorak) para mejorar la eficiencia.
  • Limitación de la modificación del archivo de configuración del editor de texto (Neovim) a una vez al año.
  • Mantenimiento de una postura correcta mientras se programa usando un balón de yoga.
  • Uso de atajos de teclado optimizados para la navegación rápida entre ventanas y archivos.
  • Experimentación con diferentes lenguajes de programación para ampliar conocimientos y perspectiva.
  • Integración de la IA en el flujo de trabajo para aumentar la productividad y el aprendizaje.
  • Práctica constante del uso de herramientas de IA para mejorar las habilidades de "prompt engineering".
  • Mantenimiento de un equilibrio entre trabajo, familia y ocio.
  • Auto-reflexión constante para identificar y mejorar las debilidades y la gestión del TDAH.
  • Desarrollo de resiliencia emocional para superar las dificultades.
  • Práctica de la perseverancia para lograr objetivos a largo plazo.

HECHOS

  • El 80 % de los teléfonos en 2010 eran teléfonos básicos.
  • En 2013, Netflix usaba Groovy y no existían Grunt o Gulp.
  • Un fallo en Falcor podría causar un apagón de la UI de Netflix.
  • YouTube recibe más de cien mil millones de visitas diarias.
  • Se suben a YouTube más de un millón de horas de video diariamente.
  • Netflix utiliza un sistema llamado OCA para el almacenamiento en caché.
  • La programación en C permite una flexibilidad extrema, pero también es compleja.
  • Rust optimiza la memoria mediante su "borrow checker".
  • El 61 % de los desarrolladores utilizan herramientas de IA para la programación.
  • El 81 % de los desarrolladores percibe un aumento de productividad usando IA.
  • Sólo el 2.7 % de los desarrolladores confían plenamente en la exactitud del código generado por IA.

REFERENCIAS

  • Ray Babcock
  • Linked Lists
  • The Decorator Pattern
  • Lisp
  • Othello
  • Cellular Automata
  • Game of Life
  • Tower of Hanoi
  • Java
  • C++
  • CentOS
  • Deitel and Deitel learn Java
  • Wheel of Time
  • Graal Online
  • RxJS
  • Groovy
  • Kubernetes
  • Jenkins
  • Grunt
  • Gulp
  • Neovim
  • The Social Network (movie)
  • PHP
  • jQuery
  • Objective-C
  • Falcor
  • WebSocket
  • Git
  • HTML
  • CSS
  • Python
  • SQL
  • TypeScript
  • Go
  • Rust
  • C
  • C#
  • Swift
  • Elixir
  • OCaml
  • Odin
  • Lua
  • Jai
  • Zig
  • FFmpeg
  • Emacs
  • Spacemacs
  • Doom Emacs
  • Harpoon
  • Projectile
  • AutoHotkey
  • i3
  • WSL
  • GitHub Copilot
  • GitHub
  • Tailwind CSS
  • TigerBeetle
  • ChatGPT
  • ElevenLabs
  • Black Mirror
  • Kinesis Advantage
  • GIMP
  • Tmux
  • Doom ASCII
  • IRC
  • AWS
  • CloudFlare
  • Anthropic
  • Love Is Blind
  • Terminal.shop
  • Stripe
  • Roblox
  • Skyrim
  • Baldur's Gate
  • Civilization
  • LLM
  • GitHub Copilot
  • Cursor

CONCLUSIÓN EN UNA FRASE

La entrevista con ThePrimeagen revela el viaje de un programador hacia la maestría tecnológica y personal.

RECOMENDACIONES

  • Cultiva la pasión por la programación y la perseverancia en el aprendizaje.
  • Desarrolla resiliencia emocional para afrontar desafíos y superar adicciones.
  • Prioriza las relaciones personales como fuente de significado y plenitud.
  • Domina tu entorno de programación y utiliza atajos de teclado.
  • Integra la IA en tu flujo de trabajo para mejorar la productividad.
  • Desarrolla "prompt engineering" para interactuar eficientemente con la IA.
  • Busca mentores y aprende de la experiencia de otros programadores.
  • Aprende de lenguajes de programación dinámicos y estrictos.
  • Enfócate en la mejora constante y la búsqueda de la excelencia en la programación.
  • Combina la práctica y la teoría al aprender nuevos lenguajes de programación.
  • Acepta los desafíos de la programación y encuentra la felicidad en el proceso.
  • Utiliza técnicas de depuración efectiva y busca ayuda con las herramientas de IA.
  • Desarrolla hábitos de trabajo y atención efectiva para sobrellevar el TDAH.
  • Enfócate en la construcción de proyectos holísticos y de gran envergadura.
  • Domina tu editor de texto y explora diferentes herramientas disponibles.

🔮 Sabiduría PRO

Powered by SOLUTORIA AI

the following is a conversation with<br>Michael Paulson better known online as<br>the primagen he is a programmer who has<br>entertained and inspired millions of<br>people to have fun building stuff with<br>software whether you're a newbie or a<br>season developer who has been battling<br>it out in the software engineering<br>trenches for decades in short the<br>primagen is a legendary programmer and a<br>great human being with an inspiring<br>roller coaster of a life story this is<br>Alex Freedman podcast to support it<br>please check out our sponsors in the<br>description and now dear friends here's<br>the<br>primagen what do you love most about<br>programming uh what brings you Joy when<br>you program I can tell you the first<br>time that I ever felt love in<br>programming or felt that Joy or that<br>excitement which was in college it was<br>the second class data structures and the<br>teacher that was teaching Ray Babcock he<br>was talking about linked list now you<br>you have to learn Java at Montana State<br>University when I went and so he's off<br>there kind of explaining this whole<br>linked list thing and all that and then<br>he shows code and in the code it's like<br>abstract class node or whatever it was I<br>can't remember what it was and then it<br>had a private member and that private<br>member was of type node and I've never<br>seen that before it is a class that is<br>called node with a member that is of<br>itself and for the first time ever I was<br>like oh my gosh like there's no end<br>there's no way to iterate this is not<br>like a set of 10 items this is a set of<br>infinite items and so like my mind kind<br>of like exploded in that moment like<br>there's actually you like the what you<br>can express is huge I can see what<br>memory looks like like I can see this<br>kind of hopping through space and I just<br>remember being just so blown away<br>because up until that point everything<br>was just all right I have a list of 10<br>items I have a list of 20 items right it<br>was very rigid and small and the things<br>I built were really small and trivial<br>and all of a sudden I felt like I could<br>build like anything in that one moment<br>and it was so amazing I just remember<br>sitting in class for what I don't even<br>remember how long those classes were or<br>anything but I just remember being just<br>completely like profoundly impacted by<br>this notion and so I just sat there and<br>I watched I had the exact same<br>experience in Heaven's forbid by<br>software engineering class when we<br>talked about The Decorator pattern where<br>you can keep on constructing these<br>objects in this recursive way not that I<br>think that's actually a good idea to do<br>but just watching that and realizing<br>like there's so many weird and unque<br>ways you can solve problems and like you<br>can just anything your mind can think of<br>you can just create that and I just<br>remember getting just so excited about<br>the possibility that anything is<br>possible yeah let's uh wax philosophical<br>about a link list it is pretty profound<br>for people who don't know a node in a<br>link list doesn't know anything about<br>the world it's in it only knows about<br>the thing it's linked to its neighbor<br>maybe that's symbolic it's a metaphor<br>for all of us humans<br>there's billions of us on this planet<br>and we only know about our local little<br>Network yeah and it's kind of beautiful<br>and you realize like in that little<br>simple data structure you can construct<br>arbitrarily large systems and they<br>they're like roots that go through<br>memory and then of course that's where<br>you get all the programming languages<br>that allow you to uh dump junk into<br>memory and have memory leaks and that<br>there therefore create infinite<br>pain as you try to figure out where that<br>uh unfreed memory is uh for me yeah<br>probably so it's so beautiful the way<br>you put that link lists are indeed<br>beautiful recursion also for me when I<br>finally wrap my brain around what it<br>means to write a recursive function what<br>was the what was the thing what was the<br>like the one that taught you cuz I think<br>we all probably you probably did<br>factorial where you like you know just<br>do like a quick factorial of it it just<br>doesn't hit home what was the thing that<br>kind of made it hit home I don't<br>remember the<br>first I remember my first how do you not<br>remember your first it was magic I've<br>had so many that just I me you are a<br>lisp guy you're probably pretty used to<br>the recursion yeah all I remember is<br>just surrounded by sea of<br>parentheses I mean that's that's really<br>probably when I uh in high school I<br>think it was either Java or C++ wow how<br>do I not remember that it must have been<br>C++ and then College it was the generic<br>bullshit software engineering classes<br>were uh Java but then the the Renegades<br>the cool kids were all using lisp that's<br>that's when you're doing the AI the<br>quote unquote AI at that time that's<br>that was lisp if you want to write a<br>chess engine you would use lisp and so<br>for me probably the moment I really fell<br>in love with<br>programming was was lisp and writing<br>like aell programs and uh chess engines<br>all kinds of engines that play a game<br>and then I could play against that thing<br>and that thing would beat me the joy of<br>being destroyed by the thing you've<br>created and oh um game of life too cell<br>aoma that's when I I built that you all<br>kinds of programming languages that's<br>less about programming language and more<br>about the system you create and that<br>just filled me with infinite Joy uh<br>having<br>now similar to the link list situation<br>creating a system where each individual<br>cell only knows about its<br>neighbors and operates under very simple<br>rules but when you take that system as a<br>whole and allow it to evolve over time<br>it can create infinite complexity so I I<br>just man those are many pothead moments<br>where I'm just like looking at the<br>beautiful complexity that can be created<br>with cellometer that's that filled me<br>with just infinite joy for sure but yeah<br>the all I remember is parentheses so my<br>first memories of my first are<br>drowned in a sea of<br>parenthesis oh man mine is I have well<br>first off mine was in Java so my first<br>was a little bit more rigid kind of a<br>corporate you know a corporate<br>experience but cold meaningless yeah I<br>was in a lab everyone was using sentos<br>at that or sent Os or however you say I<br>always call that sentos the fresh maker<br>and so it's just like I'm in this very<br>cold that's nice thank you I'm in like<br>this cold rigid environment uh with my<br>Microsoft keyboard programming away in<br>Java and I still I have just such this<br>memory of Despair because I love<br>programming this was after the linked<br>list and I cannot figure out recursion<br>and so I go to you know the university<br>store and I buy a book and it's Dell and<br>Diel learn Java and it has a section<br>recursion so I open it up and I start<br>reading it and it just doesn't hit home<br>and I'm like I'm spiraling into this<br>like kind of I maybe I'm not a<br>programmer maybe I'm not worthy enough<br>to enter into this circle of people who<br>can figure out what what the heck<br>recursion means and so Dil and Dil is<br>like I still remember this their phrase<br>their exact phrase was every young<br>budding developer solved this recursion<br>program and it was the Tower of Hanoi<br>and guess what I don't know if I can<br>solve the Tower of Hanoi to this day<br>it's it's like a very hard recursive<br>problem and I just sat there and thought<br>Oh my gosh I'm not going to make it and<br>I sat there in the lab for 8 hours 10<br>hours doing these things so worried it's<br>the week of recursion we have to do a<br>lab assignment I'm not going to be able<br>to do it and I just remember being like<br>genuinely worried about that uh and then<br>because I always my big problem was is<br>like okay do factorial why not just use<br>a for Loop okay what about Fibonacci<br>Sequence why not use a for Loop right<br>like I don't understand what's the<br>purpose of recursion I don't understand<br>it yet it's so powerful why it looks<br>like a really complicated for Loop and<br>so I just could not understand it and<br>then lab came that day and it was I'm<br>going to give you a 2d array you have to<br>read from a<br>file this is what a starting position<br>looks like this is what an ending<br>position looks like this is what a wall<br>looks like I want you to find me a path<br>through the Maze and so I just sat there<br>I like okay I guess I can just go up and<br>I can create a like a visited grid that<br>so I know not to visit these places<br>anymore and all a sudden just started<br>clicking like well wait a second I don't<br>know the maze but if I just go up right<br>down and left and hop back every time<br>I've been to that square don't visit it<br>like I can just it will just go forever<br>and I realized in that moment I'm like I<br>actually understand Rec I've understood<br>recursion this whole time I just never<br>had a problem in which it actually made<br>sense to use and that was like my big<br>downfall is that I I was measuring my<br>understanding with the problems that I<br>had available which were just you know<br>list traversal which is not a good use<br>of recursion and so I just I just<br>remember that freeing oh man recursion<br>it was a great moment in my life I mean<br>it does require to be fair a leap of<br>faith like because people will tell you<br>those uh conformist dogmatic<br>Java instructors will tell you that this<br>is you know um that's important to<br>understand uh recursion but it takes a<br>leap of faith that this is something<br>this is a different way of looking at<br>the world and it's a powerful way of<br>looking at the world actually<br>remembered when<br>I think I first I think I remember my<br>first now<br>okay uh I think it was uh dub first<br>search for one of the games maybe a<br>fellow something like that and for that<br>implementing recursion understand that<br>you can search trajectories through the<br>the space of states and do that<br>recursively that was mind-blowing just<br>imagining like<br>you can just see possibilities yeah just<br>like numbers flying was like the<br>beautiful mind and then um and that's<br>when I also uh discovered conspiracy<br>theories that and I just saw I saw the<br>truth uh okay yeah so what were we<br>talking about oh what was the most<br>painful aspect of programming for you<br>and like what what Memories do you have<br>of uh deep profound suffering in terms<br>of programming in the early days uh I<br>would say the biggest one that I can<br>really hold on to had to be one of two<br>experiences the first experience was<br>when I was at a place called schedul<br>listi<br>and am I not allowed to say the<br>place I'm not sure if they're even<br>operating still at this point but<br>they're in both there something funny<br>about the name I'm sorry oh schedu<br>listic yeah they actually the name was<br>so bad that when you looked at their<br>like paid for Google ad terms that they<br>would make sure that they're at the top<br>of the list the spellings were just<br>insane cuz no one knew how to spell the<br>word Schedulicity and so it was just<br>like the Google optimizing for that is<br>just hilarious uh but okay go back to<br>the thing and the the thing that kills<br>me the most about programming what I<br>actually considered the worst aspect of<br>programming is when you know everything<br>and so when I was at this job it's just<br>every single day I'd come in there were<br>no surprises there was no questions I<br>didn't understand the code base sure<br>that's that's fair I didn't understand<br>all the things about the codebase but I<br>knew I was going to go<br>I was going to generate some sort of<br>object from the database I was going to<br>take that object from the database and I<br>was just going to map it over and just<br>display it on the web page there's no<br>creativity there's no there's nothing to<br>it it's very like almost Factory line<br>kind of work and that was a very kind of<br>difficult moment for me which is I<br>didn't enjoy programming because like I<br>knew everything about it I already knew<br>exactly what I was going to do that day<br>I knew all the hurdles I was going to<br>have to go over there was no unknown<br>unknowns if you will it was just knowns<br>at all times and it's just that is for<br>me that is the worst part about<br>programming is when you already know the<br>solution and it's just a matter of how<br>fast you can type and get it out from<br>your head to your hands so the absence<br>of uncertainty the absence of challenge<br>was the pain yeah that's pretty profound<br>Prime I'm more than just good looks I<br>want you to know<br>that it's a low bar what do you identify<br>as I'm enjoying asking the general<br>question 38 male uh male husband of<br>beautiful wife okay you stream about all<br>kinds of programming uh but what kind of<br>programmer Are You Are You full stack<br>developer web<br>programming uh and maybe can you lay out<br>all the different kinds of programming<br>and then Place yourself in that in terms<br>of your identity sexual identity as well<br>yeah I can get it we can put it all in<br>there okay uh plus I mean obviously<br>those two are very very tightly coupled<br>I have seen you like on the border of<br>sexually aroused by certain language is<br>I think you got real excited about o<br>camel<br>Orel let's<br>go thank you Dylan mroy where okay wow<br>yeah I did not expect that that<br>escalated quickly anyway what do you<br>identify as okay so first you let's<br>let's do the previous or the in in<br>between question first which is the<br>different kind of archetypes I think<br>that's a really interesting kind of<br>question because if you go on Twitter or<br>you're new your thoughts are probably<br>that there is just web programming and<br>maybe there there some other stuff yeah<br>like game programming but you do like<br>game programming in JavaScript and on<br>the web you know like there's this very<br>kind of very myopic view of the<br>programming world and I bet if you ask a<br>lot of people these days like what is<br>the most popular form of programming<br>they'd probably say web if you said what<br>contains the most amount of repos how<br>many percentage of repos on GitHub our<br>web base they probably say 90% or some<br>huge number but the reality is that<br>there's an entire embedded robotics<br>world you know you're familiar with the<br>ml side of things there's networking<br>there's going to be just like<br>performance operating systems compilers<br>there's just huge amounts of variation<br>of all these different type of<br>programming verticals that you can be<br>and so we often talk about programming<br>in perspective of web or something<br>that's pretty narrow and I think that's<br>just a social construct of Twitter more<br>than anything else that it's actually I<br>don't believe it's that representative<br>of of the entire kind of programming<br>world out there and I think a lot of<br>programming is really really fun there's<br>some really great stuff building a your<br>own language is just a very fun<br>experience to do every programmer should<br>just do that once just to have a<br>completely different you know<br>perspective on how things work in life<br>but as far as what do I do uh I've<br>always looked at myself as a tools<br>engineer so at my time at my my jobs<br>typically I would start off on the UI<br>and then they'd be like okay well hey we<br>need a library for this thing so then<br>I'd be the one writing like the library<br>so in 2012 2013 I was writing a UI<br>library for the web that can behave just<br>like an iPad so you can pinch and zoom<br>on it but it's still web page cuz we<br>didn't have any of that stuff back then<br>it was a canvas had to do all the like<br>matric operations and all that stuff to<br>kind of you know it felt like you're on<br>an iPad but it actually wasn't on an<br>iPad and this was iPad 2 by the way so<br>this is a long time ago and so every<br>single time I got into a job it's like<br>okay hey we need to do a library hey can<br>you work on a build system so back then<br>there was no grunt there was no gulp<br>there was no any of those things so I<br>had to handroll my own JavaScript build<br>system and so I always fell into these<br>positions of building tools for<br>developers to be successful and I've<br>always really enjoyed that region so as<br>I went on to say Netflix uh spent 10<br>years there I'd say the majority of my<br>10 years were building things for<br>developers to<br>use that they could be successful at<br>their job and so I just I've always<br>really enjoyed that aspect because your<br>share your stakeholders and the people<br>that use your program understand<br>programming and they're going to say<br>like hey I need this and typically the<br>thing that they need they actually want<br>whereas with people<br>people want stuff but what they actually<br>need versus what they actually want<br>often are kind of like this weird<br>separation people you know that's like<br>the old Henry Ford quote I just want a<br>faster horse he's like no what you<br>actually want is a car and so it's like<br>this like you have to play this game of<br>trying to really figure it out whereas<br>developers it's like I know you know<br>what I'm doing I know what you want<br>let's figure it out together that's<br>actually that gives you a really nice<br>big picture view of programming in<br>general so I love the idea of just kind<br>of starting at the interface like you<br>need to pinch and all that kind of stuff<br>and then figure out the entire thing<br>that requires to make that happen incl<br>including maybe the side quest tooling<br>how to make it more productive and<br>efficient all that kind of stuff so the<br>entirety the entirety of the thing<br>that's really cool okay so that mean<br>that would be full<br>stack by the general definition of full<br>stack meaning like perhaps yeah versus<br>like systems engine like starting at the<br>bottom and trying to optimize a certain<br>kind of specific thing without seeing<br>the big picture of like what the the<br>resulting interface would look like and<br>a lot of people you know in web<br>programming they never go beyond the<br>front end of how the thing looks they<br>kind of always assume there'll be<br>somebody some some uh Grunt in the<br>shadows in the darkness of the basement<br>that will implement the back end some<br>Gil foil out there will be doing the<br>backend yeah like I like to call myself<br>a generalist um just to kind of give<br>some ideas is you know at at one point<br>at Netflix I built the websocket<br>connection so for TVs how websocket<br>works is code I just wrote M and so I<br>you know built the framing thing and<br>before that I was doing stuff with<br>memory and before that I built the UI<br>for a tool right it's just like I can<br>just do the thing you just tell me the<br>thing to do and I'll just go do the<br>thing I don't worry too I don't try to<br>get super good at one specific activity<br>like I don't want to be a kubernetes<br>engineer who's the world's greatest<br>deployer but if I had to go learn<br>kubernetes I'd go learn it and learn how<br>to deploy some things and then hopefully<br>move on to like the next thing if that<br>makes sense uh I posted about the fact<br>that I'm talking to you on Reddit and<br>there's a lot of wonderful questions uh<br>somebody mentioned that I should ask you<br>about devops can you explain what devops<br>is is it a kind of special ops of<br>programmers is SEAL Team Six of<br>developers what's devops can you define<br>what are you a devops engineer well<br>people keep telling me devops isn't real<br>there's actually you want platform<br>Engineers Cloud Engineers infro<br>Engineers uh I just often think I think<br>the easiest way if we're doing like just<br>kind of like some basic nomenclature<br>it's just devops are the people that<br>make sure that when you launch a service<br>and all that it doesn't just disappear<br>right it's all the kind of backbone of<br>being able to operate something at scale<br>like you really don't if you think about<br>if you're just writing a mom and paaw<br>like website people that do PHP that are<br>doing WordPress and all that they're<br>going to build something they're going<br>to hand it off to I don't know Leno<br>digital ocean some company they don't<br>really need a really complicated build<br>deployment all this it's just someone<br>with a simple website so they can sell<br>their goods and so they don't really<br>need that and so that's kind of how I<br>think of a devops is when things need to<br>scale that's kind of the person you hire<br>yeah those people are actually amazing<br>yeah of uh the time I spent on Google<br>it's like oh yeah yeah there's all these<br>fancy machine learning people but the<br>the folks that are running the compute<br>the<br>infrastructure basically that make sure<br>the shit doesn't go down they're like<br>Wizards very incredible like vertical of<br>job and obviously I'm using a very broad<br>term to describe I'm sure like a bunch<br>you know because making sure stuff<br>doesn't go down you could also say<br>that's like an Sr right site reliability<br>engineer whatever you know the ones that<br>were the the bomber jackets at Google<br>and so when we say devops I think people<br>get very particular about terms<br>specifically in this category they're<br>like well actually you're mentioning<br>infrastructure engineer versus you know<br>versus site reliability engineer it's<br>just like okay yes I hear you but<br>generally when someone thinks devops<br>they think somebody that manages the<br>servers and their life cycles and the<br>reliability there's devops is it real<br>I'm not sure okay did versel Kill<br>devops question mark question mark wow<br>that's you're almost a journalist that's<br>a<br>headline uh let's go back to the<br>beginning all right baby Prime so you<br>mentioned Netflix youve uh oh I worked<br>at Netflix by the way for people who<br>don't know uh who uh the primagen is he<br>mentions uh the fact that he has been<br>very successful and has worked at<br>Netflix and basically every other<br>sentence<br>correct o almost as much as I mentioned<br>neovim oh great tell me more about<br>neovim no please don't so baby Prime at<br>the very<br>beginning you've had one hell of a life<br>and I think it's aspiring to a lot of<br>people you've you've gone through a lot<br>of painful low points and like you<br>mentioned you've come out of that to<br>become a successful programmer and a<br>person that inspires a huge number of<br>people um to get into programming and<br>just to find success in life so maybe I<br>would love it if you laid out just your<br>whole life Journey from the<br>beginning so I guess if we're going to<br>start with this whole journey I think<br>it's probably best to start when I was<br>about four or 5 years old that was the<br>first time I was ever exposed to<br>pornography uh and it's kind of just ear<br>wormed me for a large portion of my life<br>and so I don't think there was a day<br>that didn't go by from when I was a very<br>young lad all the way up until I was 20<br>some years old where I didn't think<br>about porn on the daily basis and so<br>it's just like every single day even at<br>that young and so it's just a very mind<br>consuming time consuming thought<br>consuming thing that kind of plagued me<br>from a starting at a very young age when<br>I 7 years old my dad died um that was<br>kind of a really tough period of life I<br>I still think about this time that I<br>went over to China and there's kind of<br>some rules that we were given and one of<br>the rules was just like hey don't talk<br>about God and if you do use the word Dad<br>instead and I was just like okay Dad it<br>was like the first time I said that word<br>in like 17 years or some amount of time<br>like it was like so weird to say that<br>phrase and I was just like oh that was<br>just the strangest thing I've ever said<br>in my entire lifetime it just felt so<br>weird so kind of rewind as I got older<br>obviously was very good at computers<br>good at accessing porn of course uh<br>played uh video games on the<br>internet fun fun kind of like side quest<br>story I think the guy's name is Lord<br>talk on Twitch I can't quite remember<br>his name but he built this game called<br>Grail g r a a l and Grail online and<br>when I was a young lad that it was just<br>like Zelda except for it also had a<br>level editor and it had like a se-like<br>language and that's how I discovered how<br>to program is I looked at these symbols<br>and figured out what they meant and then<br>I was able to make things happen in the<br>game and that was like a that's my<br>introduction into programming so thank<br>you that guy whatever your Twitch name<br>was but all right so keep on going as I<br>got older I was super bad socially I was<br>not a very great social person I high<br>school was brutal got made fun of a lot<br>uh really didn't enjo I wouldn't say I<br>had a great time during High School uh<br>definitely felt very out of place or<br>offset or maybe misplaced if you will<br>I'm not sure what the right word is and<br>so of course at that point I just always<br>want wanted to I wanted to be accepted<br>to fit in and all that I did forget to<br>say one side story after my dad died my<br>brother older brother he got and I<br>started getting into drugs and along<br>with that he exposed me to pot so at 8<br>years old I was smoking some marijuan uh<br>for a while there till like maybe 11 or<br>12 and took a break and then again did a<br>lot of that as I got a little bit older<br>but so I kind of got a lot of these<br>exposures fairly<br>young 16 15 through 18 a lot of drinking<br>and all that when I graduated or as I<br>was graduating high school it's just<br>like I had such sadness if you will I<br>was very sad about how everything went<br>tried to commit suicide um obviously it<br>was a very poor attempt and I'm still<br>here today I'm very happy about that<br>aspect I'm glad that I didn't follow<br>through with anything had to go to the<br>hospital and all that and when I was<br>done I just still remember kind of<br>coming out of the hospital and at like<br>that moment it's kind of like something<br>broken you have you ever read the book<br>uh Wheel of Time It's 14,000 Pages or<br>something like that but right around<br>page 12,000 Rand has to intentionally<br>kill a girl the main character and<br>that's like the moment he breaks and he<br>gets into like hard Rand uh uh quindar<br>ran if you will for those that know whe<br>of timeo will appreciate all that uh for<br>those that don't very confusing and I<br>understand not the Amazon movie show not<br>that not that Wheel of Time so now that<br>we kind of go back onto it at that point<br>it's just like something kind of broken<br>me it's just like I just didn't care<br>anymore so all the kind of social<br>awkwardness if you will all that kind of<br>just died away with me but also so did<br>everything else and so I started using a<br>bunch of drugs LSD mushrooms math did a<br>bunch of math did a bunch of that stuff<br>and then went off to college and<br>continued to do a bunch of stuff I took<br>too much acid to where for like quite a<br>few years I had like little squigglies<br>on the side of my eyes whenever I'd walk<br>by high contrast object<br>and so it's just like that whole period<br>of life was just kind of marked<br>by um just poor decisions and then<br>sometime when I was about 19 years old<br>somewhere in that range I just had this<br>one evening where it's just I felt the<br>very dramatic and real presence of God<br>and it's just like I kind of had this<br>Choice like froto uh on a razor where<br>it's like if I go either way I'm going<br>to fall off and I need to change my life<br>you just you get to make the choice now<br>do you want to do that or not and so I<br>remember going okay I do I do want to<br>change my life like I don't like this<br>experience I don't like what I'm living<br>I am still very sad I still feel very<br>desperate I still feel all those things<br>I'm just like pretending to be this<br>other person<br>and then I just went to sleep that night<br>nothing changed in my life everything<br>was still the way it was I woke up the<br>next day the same person and I was just<br>like oh that's just like such a strange<br>weird kind of experience and I just went<br>and bought my Daye and then I remember I<br>think that evening I looked at<br>porn and all of a sudden I just had a<br>conscious I just like this deep profound<br>like shame and I was like I've never<br>felt shame in my life right like I I<br>have no idea what's happening now and<br>then all when I smoked pot I just felt<br>deep shame and when I hurt somebody or<br>did something wrong also it's just like<br>I got a conscious from that evening<br>that's what kind of my gift was if you<br>will and it's just like at that point I<br>didn't even have a choice I had to<br>change my life<br>cuz for whatever reason I've kind of<br>been changed in a moment and so from<br>there I started actually trying in<br>school I always kind of joke around that<br>I got 2.14 in high school I had a<br>teacher handw write me a note saying I<br>was the worst student she's ever had all<br>that kind of stuff I was not a really<br>great<br>student and then in that moment it's<br>just like okay now life's changed and I<br>start trying to learn you I try to<br>become a good student and it turns out<br>it's really hard like I was I was really<br>bad I still got C's I went and took pre<br>calculus and failed pre-calculus and I'm<br>like oh my gosh I used to be the smart<br>math guy and now I'm kind of the idiot<br>failing and so it's like I'm just<br>questioning myself and all that and I<br>spend hours upon hours in in like a<br>studying uh math learning center and<br>then just at some point years into this<br>journey I'm like a year and a half into<br>this journey at this point it's just<br>like something clicks and I go from<br>being the worst person to just<br>immediately becoming the best everything<br>after that is just I don't know what<br>happened all of a sudden I was the best<br>person at math I started going into my<br>computer science classes I just really<br>got everything it's just like everything<br>at at just years after trying just all<br>of a sudden became easier and I'm not<br>sure if it happened over the course of<br>weeks or when the easier started but it<br>was just first predicated by just a huge<br>amount of difficulty and then this is<br>kind of where I started really Desiring<br>and loving the process of learning was<br>when things started getting easier after<br>all those years cuz I just was motivated<br>by this desire to do something not<br>not not thinking it was going to get any<br>easier and then all a sudden it just<br>started getting easier and it was great<br>and that's kind of really where I guess<br>I started having the biggest parts of my<br>life change at that point I started<br>really really really wanting to never<br>look at porn again cuz every single time<br>just such shame and I really wanted to<br>stop and that was by far the hardest<br>addiction to quit like smoking<br>cigarettes was also a really hard<br>addiction to quit shockingly hard<br>addiction to quit but porn by far was<br>just the worst of them all and<br>then I think about 22 I was finally done<br>with all kind of addictions if you will<br>and then for a year I just I just worked<br>in all that and I think right around<br>maybe it 21 and 3/4 somewhere in that<br>range I'm not really sure where I I<br>stopped all the addictions part but or<br>at least the outwardly addictions and<br>then at some point 6 months later a year<br>later met my beautiful wife things just<br>started falling more and more into place<br>I loved more and more work I loved<br>programming I started programming like<br>12 hours a day I watched The Social<br>Network movie and after that I was just<br>like I'm doing a startup and so like<br>that night I started my first startup<br>and I was just like so it was in PHP by<br>the way PHP 5.2 or something like that<br>it was great great times and I was just<br>so motivated to do that and I would just<br>program for sometimes I'd program for 24<br>36 hours straight and I just like<br>non-stop just that's all I wanted to do<br>at all points I think my wife got a<br>little sick of me I wouldn't she would<br>be like can you drop me off at school<br>and I'd be like no on programming I was<br>not a very nice you know I didn't think<br>through things that well and I was just<br>so into it and I just did it Non-Stop<br>and that's kind of like how I became me<br>is that story if that makes sense let's<br>try to reverse engineer some of the pain<br>and some of the Triumph you made it<br>sound easy at times let's try to<br>understand it better maybe when you were<br>7 years<br>old what do you think about the pain<br>you've experienced there losing your dad<br>what do you think what kind of impact<br>did it have on you what kind of memories<br>do you have at that time the best way I<br>can kind of put it is that I just never<br>knew what a dad was I was young enough<br>that I could kind of maybe repress or<br>just even have the capability of<br>remembering things long term because I<br>know most people don't remember a lot<br>from when they're young and so I'm not<br>exactly sure probably as at one of the<br>best possible ages if I'm going to lose<br>a dad to lose a dad you know uh if<br>you're going to lose one if you're 11 or<br>12 it's like a terrible age that's what<br>my brother was and he fell into drug<br>addiction and never got back out and so<br>I just kind of have more of like a<br>fuzziness and just kind of a longing<br>that I I just wish I had a dad what<br>impact did that have on your Evolution<br>on your life sort of having that longing<br>I think that's why I was so bad uh<br>socially in the sense that I was looking<br>for approval right like something I<br>needed approv I think a lot of people<br>kind of Desire that approval or that<br>loving figure and I just didn't have<br>that and so I think I just looked for it<br>and everything else right like if I to<br>psychoanalyze my actions during the time<br>it's not like I was actively thinking<br>that uh but yeah I just always wanted<br>something to fill in whatever that was I<br>felt I think a lot of people listening<br>to this will uh resonate with your<br>experience in high school like being The<br>Outsider being picked on uh struggling<br>through a lot of different complexities<br>at home uh what advice would you give to<br>them mat the worst part about high<br>school is that you're surrounded by a<br>bunch of people your age and it feels<br>Eternal yeah you don't think like the<br>people that are around you you feel like<br>are the people that will be there for<br>the rest of your life at least that's<br>what I kind of like I thought and I<br>didn't really even realize this until<br>many years later that they are going to<br>be some of the least consequential<br>people in your life which is very<br>shocking to kind of think about<br>especially if you're in it right now<br>yeah right like right now they are the<br>everything that you're experien is your<br>whole reality<br>and then one day it all stops and then<br>real life starts to begin yeah it's just<br>that's such a shocking thing and if I<br>could just tell myself that maybe I<br>would have been a bunch different person<br>that's so beautifully put I mean it is a<br>it's like a trial run you know like at<br>the beginning of video games there's a<br>little tutorial that's what that is yeah<br>and actually that should be a<br>chance uh to try shit out to take risks<br>uh because real life will begin where<br>there is more consequences after that<br>here you can you know if you like a girl<br>ask her out try try shit if you get<br>picked on hit that guy back try shit out<br>I'm not going to condone punching<br>another person I will beat the shit out<br>of him and uh take some Jiu-Jitsu and<br>learn how to take him down and then and<br>then and then that girl that rejected<br>you would be like H maybe I'll give that<br>guy a second chance be a bad<br>motherfucker it's a chance to try stuff<br>out this is very motivational speech for<br>kicking ass<br>it is true there I mean there is<br>something very true about that that I<br>think especially I I mean I have no idea<br>what the girls experience of high school<br>would be like but as a guy there's<br>definitely a lot of like physical<br>requirements in high school there's a<br>lot of physical measurement at least<br>where I grew up I think that might not<br>be true in all high schools but if<br>they're filled with boys it's probably<br>true and so it's just like yeah it<br>probably does help to do those things to<br>go to BJJ to do any of these activities<br>because even if you don't ever kick<br>someone's ass just having some level of<br>confidence in yourself is probably a<br>very valuable thing but just remembering<br>that this is such a short tiny moment in<br>your life is just like a huge help I<br>mean the way you phrased it is exactly<br>right that's what it feels like that<br>this is these are the people that will<br>be with you for the rest of your life<br>and this is the whole world and so that<br>means that there'll be just tremendous<br>amount of impact if somebody picks on<br>you or if you fall somebody low<br>somewhere low in the hierarchy uh in the<br>status hierarchy of this high school<br>that means you'll be low in the status<br>hierarchy of the world and you're fucked<br>for the rest of your life and that that<br>carries a tremendous amount of weight<br>it's is why psychologically it's<br>extremely difficult to be I I think it's<br>underated often by parents by Society<br>how difficult it is to be a high<br>schooler how difficult psychologically<br>it is how it actually makes sense that<br>some people would suffer from depression<br>and be on the verge of suicide it's very<br>very<br>yeah I think it's even I you know people<br>always say back in my day you know blah<br>blah blah I think it's genuinely harder<br>today than it's ever been in the sense<br>that when I was a kid there was a<br>qualification to people meaning this is<br>a cool guy this is not a cool guy today<br>there's a quantification of people you<br>have<br>32514 people following you you have 12<br>like there people can visually they can<br>inspect your exact social value on<br>whatever platform you're on and that has<br>to be just so much hard harder and I can<br>imagine that there's a lot of of just so<br>much weight put on that that it's just<br>it feels probably way worse and way more<br>damning to be uncool because you have an<br>exact number of how uncool you are yeah<br>the challenge<br>there and the task the quest is to<br>remember that just because your Social<br>Circle on social media and uh in high<br>school thinks you're uncool<br>it actually might mean you are cool yeah<br>and you need to find that cool and grow<br>it and let it flourish so that when real<br>life begins you can fucking come out of<br>the gate firing on all cylinders that's<br>a great way to put it I I I think if<br>anything High School is really bad at<br>picking out the cool people that like uh<br>this whatever the system the hierarchy<br>that forms it is so it's such a basic<br>bitch hierarchy like you're good at very<br>generic shit that's how you rise your<br>parents bought you an expensive car<br>expensive car right materialistic shit<br>yeah exactly it's a greedy search see<br>they didn't have a proper search so<br>they're just hitting that local Optima<br>but theist I mean even the objective<br>function uh for that greedy search is<br>just a really shitty one yeah where<br>those people that win the game of high<br>school are very often not going to be<br>the people that win the much more<br>exciting beautiful game of life so do<br>epic shit and uh<br>try stuff out the weirdos are the ones<br>that are going to succeed the weirdos in<br>high school uh probably because they<br>also get bullied and they get to be<br>tormented more psychologically and get<br>to explore their own mind and think<br>through what it means to be a human<br>being more cuz if you're winning in high<br>school you're not being challenged yeah<br>you're not self-reflecting you're not<br>trying shit out so there is some degree<br>to like being tormented as long as it<br>doesn't break you the porn<br>addiction that's another powerful one<br>that I think will probably resonate with<br>a lot of people and it's interesting you<br>say that's one of the hardest addictions<br>um to uh overcome let me say it this way<br>some addictions have a much bigger<br>societal look and porn is just not one<br>of them which makes it super hard none<br>of your friends are going to cheer you<br>on if you go on Twitter and say I quit<br>porn they're going to be like well<br>that's good for you but not everybody<br>you know not every you know no one makes<br>that argument with meth right no one's<br>going to be like well not everyone has<br>to quit meth okay it's actually a fine<br>industry and people who you know are the<br>ones producing it they're good also<br>right like no one's going to make that<br>kind of argument whereas with porn<br>you're going to have like a whole thing<br>and friends friends are going to think<br>you're dumb for doing it or whatever<br>it's like you have it's a much more<br>difficult one in just like that so it<br>feels accepted and I think it's also an<br>addiction you can practice participate<br>in privately and hide it from the world<br>there's certain addictions that are<br>harder to hide from the world for prol<br>long periods of time yeah and porn<br>addiction is probably one you can just<br>have for many years and then it can<br>deepen that's probably like a serious<br>issue boy am I glad I grow up before the<br>internet because the it's porn is so<br>accessible so so easy to go deep into<br>that addiction uh I mean what can you<br>speak about what impact it had on your<br>life maybe some of the low points but<br>also how to overcome it I'd say as far<br>as impact goes is that you will have<br>such a long and broken look at women by<br>the very like I can again I'm only<br>speaking from a a male's<br>perspective that porn in its just like<br>most basic thing is that you use another<br>person for your<br>own uh desire or your own want it's not<br>something that is deeply needed there's<br>no need there's no like need for porn<br>it's purely a want based activity or a<br>lust however you want whatever word you<br>can fill in there and it is purely an<br>objectifying<br>activity like someone else is on display<br>for your own enjoyment and so I think<br>you carry this around like I do think<br>that the women that I dated during high<br>school or the women After High School in<br>college like I looked at them as a means<br>to an end I think porn greatly kind of<br>shifted that kind of perspective in my<br>head that I did not give the value that<br>was desired to another person it really<br>devalues uh Humanity just in general is<br>my perspective of it it makes people<br>into Commodities and I don't think<br>people are commodities I think everyone<br>has value and so during that for me<br>that's kind of like the great effect of<br>porn is that you know it's just<br>consumerism gone wild or materialism<br>maybe you could ask argue gone wild and<br>it's extremely hard to quit just like<br>you said because I can look at porn and<br>then I can go out to lunch MH you know<br>no one's going to know no one's going to<br>have any ideas like it's a very private<br>it can be very short session it doesn't<br>have to be something that takes like you<br>know you can't take acid then go out to<br>lunch right you're going to be you're<br>going to your whole day is going to be a<br>very different day and so there's that<br>it's very quick easy accessible and then<br>obviously there's like all the like the<br>science and you know statistics like men<br>make worse decisions for some period of<br>time after looking or being exposed to<br>sexualized images there's the whole<br>dopamine effect that's just like you<br>constantly need more and more dopamine<br>that's why people typically don't just<br>watch five minutes a porn and call it a<br>day there's like you know the hund tab<br>joke that's always made on the Internet<br>it's because you it's just this this<br>constant dopamine cycle you're<br>constantly doing<br>and all that stuff is great to say and<br>I'm sure statistics and Science and all<br>that stuff is really great Arguments for<br>some amount of people but for me it just<br>comes down to like is it really a good<br>thing to do like is it really actually<br>something we want is to Value people in<br>such a profane or kind of just like<br>disregarding way like I just really<br>think it's just bad for the soul even if<br>all the stats said it was great for you<br>I still say it's actually bad yeah you<br>have to look at long-term big picture<br>psychological impact it has on your<br>relationships with human beings in<br>general that's my more generally than<br>just porn uh my problem with the the<br>quote unquote sort of<br>manosphere<br>is I<br>think sleeping with a bunch of women is<br>great wonderful but the problem is is<br>making that the primary objective of<br>your life similar with porn is you<br>devalue one of the most awesome things<br>which is intimacy that's true for deep<br>friendship that's true for relationships<br>I think porn does that like in its<br>purest darkest form which is like the<br>thing that matters is the sex not the<br>like the Deep connection with another<br>human being I think again going back to<br>high school and uh the the<br>manosphere the objective function if<br>it's to get laid which helps with status<br>and confidence and all all that is<br>wonderful I think<br>again can be an addiction but the thing<br>that's even more awesome for a lot of<br>people is a deep friendship or deep<br>intimacy with a with a romantic partner<br>like that's also fucking awesome and<br>both of those are great it's<br>subjectively better to have like I would<br>say that there's no universe that exists<br>or there should be no argument possible<br>that exists that a guy who has<br>meaningless sex has a better or a more<br>meaningful life than say me and my wife<br>who've been together for 15 years we<br>have a very like can depend on her in<br>all circumstances whereas if you live<br>that other life it sure it could be it<br>could feel great but there's no meaning<br>to it there's no Val there's no actual<br>real value to it that's absolutely<br>correct I do think that getting<br>laid can have a tremendous positive<br>impact on the confidence of a young man<br>I think just there's a certain number of<br>sexual partners from which you can<br>collect a lot of data and it can free<br>you<br>about like not to be so nervous about<br>the opposite sex not to be so nervous<br>about human interaction and that will<br>allow you to see the world more clearly<br>and to actually find that one partner<br>that with whom you can be deeply<br>intimate with sometimes like the<br>nervousness around like this<br>societally uh constructed like value in<br>getting laid can Cloud your judgment and<br>if you just release that by getting laid<br>a bunch of times then like you could see<br>that the world clearly that getting late<br>is not as nearly as important as you<br>said as finding the right human<br>including I should put in that pile not<br>just like a romantic partner but like<br>friendships like deep lasting<br>friendships I mean I think you're right<br>that our society puts a lot of emphasis<br>on getting laid and I'm sure that's true<br>among any group of males uh throughout<br>any point in history I'm sure that's a<br>very common joke that's never actually<br>like never stopped at any point so I'm<br>I'm sure that exists but and there's<br>there's probably some truth to the sense<br>that after you've you know who was it uh<br>Jim Carrey I hope that everyone can get<br>rich so they realize that money solves<br>none of your problems yeah like the<br>realization that this thing that Society<br>told you is hyper important is actually<br>not the important part like it is a very<br>important it's a great sign that your<br>relationship is healthy like if me and<br>my wife were to have no sex at all for<br>months on end like something's gone<br>wrong which means what you know we are<br>no longer like on the same plane some<br>you know but it's not also a good<br>identifier just because you're having a<br>lot of sex doesn't mean you're having a<br>good relationship and so it's kind of<br>like a unique kind of um I forget the<br>the right term here but it's a unique<br>way at looking at the problems and our<br>society puts so much emphasis and maybe<br>that's why porn was so hard to quit but<br>I my guess is it's just all the dopamine<br>effect that it is<br>uh but for me like the the most<br>important part and the thing that<br>actually has real reward is having that<br>having just my wife I do not look at I<br>try I desperately try not to look at any<br>other woman I'm hopefully not going to<br>get caught Mark zuckerberged at the<br>White House like that um you know like I<br>don't look at porn my wife has complete<br>confidence in me that there is not going<br>to be a situation in which she has to<br>question me in any kind of sense and<br>that builds a much more deeply I I would<br>argue it a very deep relationship<br>because the trust is that much bigger I<br>think the deepness of the relationship<br>is probably proportional to the trust<br>you have in each other MH it's very hard<br>to have a deep relationship with no<br>trust yeah uh a<br>probably a prerequisite maybe a<br>component of trust is vulnerability to<br>where you like take the leap of being<br>vulnerable with another human being and<br>that vulnerability when reciprocated<br>builds this this really strong trust and<br>it's a beautiful thing yeah I I I<br>personally just given my<br>position uh that's even more challenging<br>you know being vulnerable with the world<br>and there's a bunch of people out there<br>that that want to hurt you for it<br>and um but I think it's worthwhile<br>anyway to be vulnerable it's always<br>worth the risk is always worth it in in<br>some sense like obviously everyone has a<br>different kind of Life they have to<br>filter through their actions with right<br>because the person that has no say<br>social following or anything their risk<br>reward profile could just be local<br>impact which could be just as you know<br>damning or harming to them yeah and so<br>it's always worth the risk though in my<br>personal opinion cuz like finding my<br>wife has been<br>obviously the most impactful or changing<br>thing in my life so or second most I'd<br>argue that one night with God would<br>probably be the most impactful thing<br>that led to everything else but then the<br>wife would be the next most impactful I<br>mean I'm like cleaning up after myself<br>and stuff now changed man I'm a changed<br>man can we try to reverse engineer that<br>moment of you finding God what is it at<br>19 cuz it feels like that was a big leap<br>for you to escape to escape the pain to<br>escape the addiction or the beginning of<br>that Journey uh what do you<br>think what do you think happened there I<br>think it just felt like I just there was<br>no line that I wasn't willing to cross<br>like everything was fine and just like<br>it just all a sudden just in that moment<br>it's just like I had a I<br>guess some sort of deep fear and<br>understanding like I am going down a<br>path is this really the path you want to<br>go<br>down and I don't know what the result of<br>that path would be or anything like that<br>I don't tend to speculate on things I I<br>don't understand I just know that in<br>that moment I had the<br>option and I just chose I I didn't want<br>it anymore right it's kind of mixed in<br>this whole thing where it's just like I<br>had no value I wrapped up all my meaning<br>or value in having sex or getting laid I<br>had you know all that stuff all the<br>things we just talked about like that<br>was where all my worth was and that is<br>just such a like a terrible place to<br>have your worth and it's just like kind<br>of came to a point and I can't tell you<br>the day of the week I can't tell you<br>anything other than it was nighttime and<br>I was in South hedges in Montana State<br>University go<br>Bobcats um that's about yeah that's the<br>sign that we do at football games don't<br>worry about it but like that's all I can<br>really that's all I can really tell you<br>cuz the night that night was no more or<br>less special than some other night it's<br>just the specialness was I got at<br>least a chance to make a choice cuz you<br>find in that<br>advice that you can give to others who<br>are probably there's there's probably<br>just an endless amount of people that<br>are struggling with porn addiction now<br>young people what what advice could you<br>give to them how to overcome<br>it for me to overcome it I had to<br>realize that I was taking something away<br>from my future wife some people be like<br>oh well you just you know once you get a<br>girlfriend then you can stop it's just<br>like no because you never stopped the<br>problem you don't stop a problem by<br>replacing it<br>and so I didn't have a girlfriend didn't<br>have all that I just realized that I was<br>truly taking away from something from my<br>future wife and I didn't even know my<br>current wife at that time I didn't she<br>was not in the picture I'm not even sure<br>if she was at Montana State University<br>at that point and so it's just<br>that's uh once I made that realization I<br>think it went from my head to my heart<br>which they say is the greatest distance<br>in the universe I finally like got it<br>and that's really where things change so<br>if the the ability to say like what's<br>going to help you change and all that I<br>don't know if there's I don't think<br>there's silver bullets right if someone<br>could offer you a drug I forget who says<br>this phrase but there's this really<br>interesting phrase that goes something<br>like um he was a very depressed man and<br>he was struggling with suicide and he<br>kind of writes about this in this Memoir<br>and he goes to the these doctors and the<br>doctors effectively say well here's<br>antidepressants it's going to help you<br>and he says that well the problem was is<br>that scientists told me that I could<br>just touch my brain and make myself<br>happy and that's it like they could<br>reach in they could configure some stuff<br>and I'll be happy he's like for me it<br>was a lot like going out into a field<br>and being able to take a drug to see the<br>rain I could look out see the rain it<br>would fall down it'd be silvery it'd be<br>beautiful but all the crop would still<br>die cuz there's not actually any rain I<br>had to discover how to be happy myself<br>and so for me it's like the reason why I<br>looked at porn is cuz I was unhappy I<br>was trying to find meaning I was trying<br>to find Value in something right<br>something that was supposed to finally<br>give me this ultimate satisfaction and<br>it just does not no matter how hard and<br>no matter how much you think it will<br>there is no Escapade there is no<br>pornography that will ever give you that<br>satisfaction you're looking for that's<br>the reason why it's<br>addicting that's kind of like my call to<br>why you shouldn't do it but how to get<br>out of it I only got out of it by<br>realizing I think that's really<br>brilliantly<br>described you knew that this thing<br>you're doing is preventing you from<br>finding your future<br>wife and future wife could mean more<br>even broadly this path to a to a to a<br>flourishing to a to a beautiful life I<br>think there's a lot of choices we make<br>that just preventing us from opening the<br>door to whatever future like I think<br>what's really nice to do is to imagine<br>just like we said with high school that<br>there are a bunch of<br>trajectories in life where you'll be<br>truly happy and you need to construct<br>your life in a way where you have the<br>chance to travel down those paths and<br>there's a bunch of addictions there's a<br>bunch of choices that prevent us from<br>traveling down those paths so just<br>believe that you're going to have an<br>awesome life and remove from your life<br>the things that are uh preventing you<br>from walking down that that path which<br>is essential what you did it's a leap of<br>faith that like if you let go of porn<br>that a better life is waiting for you on<br>the other end yeah I definitely can't<br>say how long it will take a better life<br>but for me there's no way in the<br>universe I could have had the<br>relationship that I have without first<br>making those steps cuz I couldn't<br>value uh like I couldn't value my wife<br>in the way that was proper for who she<br>was I would have valued her through the<br>index or the lens that I currently was<br>looking through so got to ask so I've<br>never done<br>math I've never done meth a great segue<br>by the<br>way oh man I don't know what the fuck<br>I'm doing honestly with this<br>interviewing thing but yeah meth and<br>LSD you know I did IA I did shroom a<br>bunch of times oh on this topic I should<br>say that like uh there's a lot of uh on<br>Twitter and on Tech in Tech Community in<br>general sort of people speaking<br>negatively about iasa uh and some<br>positively don't I think it's it's such<br>a roll of the dice like I I had<br>incredible experiences but I don't think<br>I want to recommend it to anyone it's a<br>risk it's a serious risk it really is a<br>role of the dice that you could meet<br>your demons and they could destroy you<br>or you can meet your demons and let go<br>of them or you could have experiences<br>like I did which is like never<br>apparently I don't have demons I'm<br>pretty sure they're somewhere in the<br>basement but like I've never met them on<br>drugs yeah I'm always really happy I'm a<br>happy drunk I'm a super happy an iasa<br>just full of love I don't understand I<br>don't understand where the demons are<br>but that's my biochemistry whatever that<br>is and for some others you know one trip<br>could be amazing and the next one could<br>just completely destroy you and wreck<br>your life so um I don't know what the<br>recommendation from that is maybe avoid<br>it but then all of us die and life you<br>know I I tend to lean into<br>Adventure but but drugs is a<br>it's if you fuck with the biochemistry<br>of your brain you can really destroy<br>yourself in a way that's going to<br>torment you so I would<br>generally recommend that people avoid<br>drugs<br>altogether probably unless you're a<br>crazy<br>motherfucker Hunter is<br>Thompson what what an intro to this<br>topic uh I'm sorry what's meth like it's<br>it's it's that's a great intro I I I<br>like you are very correct in the sense<br>that there is at least when it comes to<br>Hallin Jens there is a wild variance to<br>what you're going to experience and<br>there is no guarantee there's no you<br>know just because you buy the product<br>doesn't mean you're going to have a good<br>time right there's a lot of uh<br>personally I find that stuff uh to be<br>very I believe in the spiritual realm<br>right like I believe demons and angels<br>exist I believe God exists and that kind<br>of whole realm is like I don't know what<br>it opens you up to but it's much much<br>different experience now some people be<br>like oh it's just a bunch of chemicals<br>in your brain they all get mixed up LSD<br>just takes all of your Pathways and they<br>all go you know they all get kind of<br>scrambled up in your brain it's just<br>like yeah the experiences are profound I<br>had some really<br>bizarre very cool very awful I've had<br>all the experiences in them all I can<br>just tell you that I like I personally<br>always say the same thing it's like<br>choices that I made I can never take<br>back I would never take that away from<br>myself because I don't know if I would<br>be who I am today without all those<br>experiences going up to it but if you<br>not had that experience I'm on your team<br>or at least partially on your team maybe<br>more severely I don't think you need<br>those experiences I don't think they're<br>going to you don't have to put yourself<br>through that to make good decisions or<br>to realize that uh people have value<br>right you can you you don't have to do<br>that so as far as like what is meth like<br>meth is like if you've ever done cocaine<br>cocaine starts off with like a 15-minute<br>dance party just it's just so intense<br>it's like so great and then it just<br>followed up by like like a five hour<br>like just feeling Wiggly right I don't<br>know how else to describe it a meth is<br>like that except for I didn't get as<br>much dance party or any dance party but<br>instead I just got that part for like 12<br>hours yeah so did a lot of<br>skateboarding did a lot of you know<br>running around would you say it's a<br>pleasant feeling or is it more like an<br>escape from the loneliness of Life what<br>is it Pleasant or<br>negative in the actual moment not the<br>consequences but in the moment so there<br>I mean this is this is just like a very<br>interesting kind of area which is that<br>not if universally you can't say that um<br>often you'll find that there's kind of<br>these two um groups of drug addicts<br>there's those that like the the opioids<br>and those that like the uppers MH they<br>typically don't like there's there's<br>very few people in the drug world that<br>do both they really just kind of like<br>find their side and they go for it so<br>Will is meth a a thing that everybody's<br>going to enjoy well categorically as you<br>can see in just like how people<br>experience drug addiction no uh but for<br>me it's just like I had a really it kind<br>of like feeds into like the ADHD nature<br>of like this like because you know<br>you're kind of high energy you're kind<br>of like always in the moment so it's<br>just like you're in the moment but it's<br>just like go I'm in the moment you know<br>like it's like everything's just so<br>intense you know like you just want to<br>like really be in the moment uh and so<br>it's just experiencing that<br>constantly and so was that great well<br>some people you know my wife always me<br>this like being like nervous or I forget<br>the anxiety of a situation can also be<br>the same thing as like thrill I forget<br>the exact way she she's probably super<br>disappointed that I messed this up but<br>it's like you could perceive those two<br>experiences in very different lights<br>some people you know get in front of a<br>crowd it's like thrilling some people<br>get in front of it and it's just like<br>the worst experience of their lifetime<br>they' actually literally rather die<br>which is a crazy thing to think about<br>then stand up and speak and so for me<br>meth was that kind of thrilling side<br>but at the same time is it didn't it<br>still didn't like quite give me that<br>thing I wanted whatever I was looking<br>for I'd use it to help try to get that<br>thing I want but it was never giving me<br>that thing I wanted yeah uh for me I've<br>had all really wonderful experiences do<br>not recommend them but like that's like<br>a YouTube policy by the way that you<br>have to say by the way don't whatever<br>you do do not do illegal activity but I<br>had great experience but don't whatever<br>you do don't do it Mr the primagen I<br>have no master I don't have YouTube or<br>whatever I'll say whatever the fuck I<br>want I'm just uh but seriously yoube no<br>I don't no I don't give a shit about<br>YouTube or anybody honestly I'm just<br>kind of careful about the words I say<br>because just because I had positive<br>experiences I don't want young people<br>listening to this think they should try<br>the experience I think the much more<br>powerful message is that life is awesome<br>even without that that's something I<br>definitely experiment<br>with On the Alcohol side so for me you<br>know I'm an introvert I'm afraid of the<br>world social interaction fills me with<br>with anxiety alcohol is definitely a<br>thing that helps with that sometimes but<br>I think honestly like it's not even the<br>alcohol it's like having to do something<br>while a person is talking to me I could<br>just like drink a liquid they yeah mhm<br>there's like a social thing with a beer<br>it's like yeah uh-huh yeah having fun<br>and I think it's it work for me it works<br>the same as if the if the liquid<br>actually looks like<br>alcohol it does the same purpose often<br>because like alcohol from like if you<br>have of a whiskey or a beer looking<br>thing it kind of sends a signal that we<br>should be having fun so we're<br>socializing right we're fucking getting<br>crazy and then that mean you don't<br>actually need the alcohol you can get<br>fucking crazy without the alcohol<br>substance but there is some kind of uh<br>like uh social signaling that happens<br>when you have a drink in your hand so<br>I've been to get togethers where I'm not<br>drinking but just doing like a fake<br>drink situation and I can also have fun<br>so I've been uh but that said you know<br>traveling across the world there are<br>times when you to be able to Dawn a<br>bottle of w that's very essential for<br>the for my line of work but but that's<br>that's sort of that's almost like a<br>cultural experience versus like a<br>necessary component of a successful uh<br>social interaction one that brings you<br>happiness so uh not drinking I think you<br>could have fun and not drink too so all<br>of this man I'm so careful saying drugs<br>have had a uh a good effect on my life<br>because I think for most people no for<br>majority of people they will in the long<br>ter long term have a negative effect so<br>I think if you were to to choose one or<br>the other just no<br>drugs uh and no drinking means one day<br>you can be the president of the United<br>States<br>kids and I should say oh man is Fun Line<br>D die Coke is great that's his funniest<br>line which is you would hate me if I<br>drank which I just like to me that<br>tickles me like to no end just like oh<br>my gosh that is such a funny line<br>selfawareness and humor is wonderful<br>there but I I am on your team like all<br>of the reasons why I used drugs that was<br>a form it's some level of escapism I'm<br>sure that's like would be the archetype<br>or the Box I'd put that into or the<br>pursuit of trying to feel something that<br>cannot come from them it's like trying<br>to find meaning in your job you can find<br>satisfaction in what you do like that is<br>a very good thing you can find<br>satisfaction and be happy with what<br>you've created you can be you know<br>thrilled by the experience but you<br>cannot find I doubt you can find purpose<br>you know maybe some people in specific<br>jobs you know like this obviously a very<br>broad Strokes I'm painting with like if<br>you're EMT and you save someone's life<br>maybe you know there can be purpose in<br>that whole experience right so I'm not<br>saying all things but like as<br>programming goes most programmers you<br>cannot just simply find your purpose and<br>same with drugs like you cannot find<br>that thing you're looking for but they<br>are a very great distraction MH and then<br>at some point that distraction comes<br>with a heavy cost I think Dr fa would<br>probably know the best about the heavy<br>cost but it's just you're making one<br>trade for another and at some point the<br>the bill comes due and that bill can be<br>very very large<br>the other moment you mentioned that I<br>think is really inspiring is that you<br>know you failed pre-calculus you really<br>struggle in school like you realize that<br>school is really hard and then<br>eventually you're able to sort of<br>persevere and uh I don't know break<br>through that wall of struggle can you by<br>way of advice figure out what happened<br>and what kind of advice you can give to<br>people who are struggling yeah I I'll<br>paint it in kind of more clear picture a<br>very fast speedrun of it is that I took<br>pre-calculus failed I took pre-calculus<br>again failed took pre-calculus again and<br>got a C so I took it three<br>times uh then I took Cal over the summer<br>so Cal one in that<br>one at the end the final the final was a<br>2-hour final I finished it in 30 minutes<br>and I as the highest score in all of the<br>school and I proceeded to be the highest<br>score in all calculus and Diffy Q I was<br>the only person on of 400 people to<br>finish the Diffy Q final uh and I got<br>the highest<br>and so I was like I got really good so I<br>somehow went from really bad to really<br>good and so my only the thing that I did<br>is that I had to win it was not a option<br>it was not like oh you know this would<br>be really great it's like I will not<br>graduate I will not finish my stuff if I<br>cannot do this and so every single day I<br>got up I went to my what however many<br>hour class it was right after that I<br>went straight to the math learning<br>center did those problems when I got<br>home I just got the book and it had the<br>odd answers in the the back and I would<br>try to walk through the problems over<br>and over and over and over again until I<br>absolutely got it and it just became<br>this thing where I just I just simple<br>wrote memory took over and the ability<br>to just effectively have the times table<br>but for calculus all stuck in my head<br>inverse trig substitution trig<br>substitution doing Taylor McLaren series<br>like all those things kind of just over<br>and over and over and over again<br>eventually they became easy they became<br>very easy it's just that I had to cram<br>it in there and some people you know you<br>hear these stories where they they<br>barely show up to class and they get A's<br>I've never been that person I've always<br>been the person that has to sit down<br>read through everything and I'm bad at<br>abstract Concepts I like the concrete<br>into the abstract not the abstract into<br>the concrete very bad at talking about<br>things theoretically then trying to<br>apply them but if I can do it once<br>literally then it's really easy for me<br>to go into the abstract and so it's just<br>like for me it's just I had there's no<br>substitute for the hours MH so if you if<br>I were to give advice it's just that you<br>have to have time in the saddle hour<br>after hour will make you slowly better<br>and at first it's crushing it's<br>defeating and it's not fun because you<br>are bad at it but then at some point it<br>you're just not bad at it if you can<br>just do it long enough and you'll start<br>getting okay at it and then at some<br>point you might even get good at it and<br>when you get good at something it feels<br>amazing there's like an exploratory<br>thing like if you're if you've ever<br>played a musical instrument you stop<br>having to think about all the little<br>teeny things you have to do to be able<br>to play something correctly and you<br>start thinking about how you can explore<br>that space it's like it you a completely<br>different problem same with programming<br>programming has an identical kind of<br>feel to it it's just like you'll cross<br>that barrier and it becomes magical as<br>opposed to a chore yeah once you cross<br>that barrier somehow other things become<br>easier but then if you want to have a<br>truly successful life then you find the<br>next barrier yeah the next barrier yeah<br>I've always been the same it's<br>everything's come really hard yeah I do<br>not I had I've had no free lunches<br>everything's just been a lot of a lot of<br>pain and<br>struggle uh I think somebody said that<br>the on this topic that you think work<br>smarter not harder is a phrase that you<br>dislike somebody on Reddit told me this<br>yeah I don't just dislike it I hate that<br>phrase okay tell me tell me tell me<br>about your hatred how how do you feel<br>the reason why I dislike that is that<br>there's a kind of a a hidden suggestion<br>there which is that you already know<br>what smarter is so just do that that<br>actually things should be easy you<br>should just not have to like try that<br>hard you should just do the quick easy<br>obvious path and boom it's done it's<br>like I've never experienced that in<br>anything I've done everything is<br>actually really hard and most of the<br>time I don't even know what I'm doing so<br>therefore I don't even know what Smart<br>looks like and so for me the only way I<br>can learn how to work smart is by<br>working very very hard and knowing that<br>there's no shortcuts and then when I<br>finally figure out what smart is when I<br>work smart and work hard it is that much<br>better I think there's a deep profound<br>truth to that there's a lot of these<br>phrases that just drive me nuts in our<br>society but but that one is sorry that<br>one is really accepted if we can just<br>Linger on it because it really bothers<br>me as well so one which is a really nice<br>thing you said the presumption there is<br>things should be easy and you're a<br>failure here if you don't see the easy<br>path that's kind of the work smart dog<br>why why you putting in all those hours<br>and so it makes a lot of people that<br>struggle feel like they're a failure<br>yeah cuz like I don't see it and then<br>the choice they have well I'll just go<br>with the uh with the L I'll just be lazy<br>and then maybe the profound truth will<br>come to me somehow and and yeah I think<br>I don't think I've ever and I don't<br>think I've met great<br>Engineers uh that find the smart way<br>without the extremely hard work the<br>annoying thing about those great<br>Engineers is then looking back they<br>forget the hard work because they<br>remember all the joy they they now are<br>experiencing from all the efficient<br>smart work they've figured out how to do<br>they forget so when they give advice<br>they give the stupid fucking advice of<br>well just do it like you know the easy<br>way yeah and here's the easy way but no<br>no no you have to put in the hours like<br>you know musical instrument is a<br>beautiful example of guitar and piano<br>I've put in I don't know how many<br>thousands of hours and now when I'm<br>explaining stuff Jiu-Jitsu as well I'm I<br>sound<br>like I sound like one of those people<br>like just you know just relax you know<br>Jitsu by the way just relax is a really<br>wonderful thing for physical Endeavors<br>like piano and so on but to learn how to<br>relax your hand how to relax your mind<br>your body and uh use the the whatever<br>the biomechanics of your body to apply<br>the correct kind of Leverage and the<br>timing and all that that takes thousands<br>of hours of learning just to learn how<br>to relax takes a lot of really hard work<br>and Jiu-Jitsu that takes many months of<br>getting your ass beat over and over<br>until you like uh you know ride the bus<br>home crying your your ego completely<br>shattered into destroyed and then like a<br>little<br>element is figured out late that night<br>or next morning and from the depression<br>there's this uh little plant that grows<br>this flower of uh insight and you use<br>that insight to then get your ass kicked<br>again all next fucking month and year<br>and then you grow and grow and grow and<br>from that you discover how beautifully<br>simple Jiu-Jitsu is or Judo is just<br>speaking for myself or piano or guitar<br>and then yes the the profound truth or<br>the Mastery of a skill feels simple when<br>you finally arrive to it but the path is<br>for most people is uh is going to be a<br>hard one can can I I think I should make<br>an addendum to the phrase I think the<br>phrase should be work hard get smart<br>nice that's a t-shirt that's what it<br>should be yeah agreed okay that was a<br>tangent of a tangent can I say one more<br>phrase cultural phrase that I absolutely<br>hate yes uh the journey is better than<br>the<br>destination right everyone's heard this<br>right M just take one second to apply<br>what that means that means forever<br>starting from now you are only going<br>towards a place that's<br>worse right like that that literally is<br>what it means right enjoy the journey<br>celebrate the destination that's like<br>that should be what it would be but no<br>people say these phrases are everywhere<br>there's these very shallow phrases that<br>have no logical bounds to them you're<br>just like what does that why would the<br>journey ever be better than the<br>destination cuz you're always this is I<br>think this might even be a CS Lewis uh<br>quote is that CS Lewis was like no this<br>is terrible the journey is not in fact<br>better than the destination I love the<br>demotivational posters uh progress<br>moving forward is better than moving<br>backwards even if you're still going<br>nowhere there's a there's a I feel that<br>one so so much being in California for a<br>few years that that is that is painful<br>positivity if it doesn't break you today<br>don't worry it will try again<br>tomorrow it's just a lot of really great<br>posters I didn't even know this was a<br>thing this is a thing oh my gosh I want<br>that yeah hey hi this is the primagen<br>you know one thing that I forgot to<br>mention in this podcast which feels just<br>so foolish to me for forgetting is just<br>what a big role my mom played in my life<br>she had to work 18 hours a day after my<br>dad died she really made her house be<br>able to survive I always looked up to<br>her and I always thought her amazing and<br>she really was the reason why when I<br>decided to get my butt kicked back in<br>gear she's just someone who I looked to<br>as like an internal kind of inspiration<br>for me to continue to keep on going<br>because I really wanted to make her<br>proud and all those years of just high<br>energy effort I really wanted to make<br>sure that she knew that I was just so<br>dang appreciative for it so hey I just<br>wanted to say thank you love you Mom for<br>people who don't know you worked on<br>Netflix<br>by the way by the way now how did you go<br>from there from the hardship that we<br>mentioned from the struggle from the<br>addictions and so on to a place where<br>you were working at this this incredible<br>engineering<br>company and uh building cool shit there<br>so tell the Netflix story yeah so you<br>know I kind of alluded to it earlier<br>that I wanted to do my own startup so<br>for I forget how long it was one or two<br>2 years or 2 and a half years built a<br>startup PHP jQuery everyone's favorite<br>languages all put together uh you can<br>solve math stuff with jQuery so I just<br>was like totally into just non-stop<br>doing that this is like the height of<br>stack Overflow I was asking really dumb<br>questions on stack Overflow like what is<br>more pythonic and you get a bunch of up<br>votes and try to steal a bunch of karma<br>away and like all the fun stuff to do<br>good times and I was just like so into<br>it breathing and I Just Breathe It In<br>Breathe It Out and that's what I do all<br>day every day and so it's just like<br>non-stop building of a startup<br>ultimately that startup failed and so I<br>had to get you know go get a real job<br>can you say what the startup was it is<br>so wild thinking about it in the past I<br>before I tell you what it is I want to<br>tell one quick thing about my dad my dad<br>in the early 90s like<br>9192 was building kind of like a phone<br>card company where You' be able to pre<br>purchase longdistance minutes mhm now if<br>you remember the '90s and about like<br>what ' 97 98 9 101 220 all those<br>different things D down the center right<br>like all those companies where you can<br>pre purchase long distance minutes kind<br>of came out and were very very big and<br>so my dad was like six years early to<br>that notion and ultimately his startup<br>failed but he was just really early to<br>something that would catch on really<br>really big specifically in the<br>telecommunication space me as I grew up<br>and did my own startup I did a startup<br>where was text message marketing this<br>was in 2010 where you could receive say<br>texts about various deals all that kind<br>of stuff and of course 10 years later<br>now you don't stop receiving texts and<br>text message marketing is all the rage<br>and so I also much like my father had a<br>startup in the telemarketing space in<br>which was just like a half decade too<br>early so is it fair to say you're almost<br>always ahead of your time you're<br>Visionary of sorts No in fact I am not<br>ahead of my time I just got un some<br>would say I got unlucky on that uh<br>situation but I did see it was it seemed<br>so obvious to me at that time when I was<br>doing it 80% of phones were dumb phones<br>most people had flip phones when I went<br>and sold uh via text is what the name<br>was of that specific product it was and<br>we had the short code via text too so<br>it's was pretty you know pretty clever<br>right six<br>digits when I went out and sold it I<br>only had a flip phone during that time I<br>didn't even have a smartphone MH right<br>cuz that they were kind of untenable for<br>a lot of people so it's you know it's<br>kind of just wild times to think about<br>but then after that obviously had to get<br>a real job we were living in an<br>apartment in uh right next to campus<br>Boseman Montana and the guy below us<br>must have been on some some amount of<br>drugs he threaten to kill us several<br>times with just like scream and just<br>lose his marbles all the time very<br>unhinged man Angry downstairs man is<br>what we called him one time my wife<br>dropped a battery double A okay so not<br>like a big we're not talking about like<br>a b battery or D batter we're just<br>talking about a dou a dropped it P land<br>on the ground I'm going to kill you like<br>crazy right absolutely unhinged Behavior<br>down there so I had to go get a real job<br>we need to move out of there we're going<br>to start our life and so I worked at a<br>the small place schedul listi which I<br>kind of talked about the boredom there<br>got to go to a place called Web filings<br>where I'm working just tons and tons of<br>hours during all that time I'm still<br>trying to figure out startups did one<br>where you could uh pre-wwi your friend's<br>birthday messages and then it would<br>automatically send it via Facebook<br>beforehand we call it greet feed it was<br>pretty it was pretty clever<br>nonetheless that story I say all that<br>story because everything that I was<br>doing was exploring building finishing<br>things working learning about corporate<br>life learning how to communicate in<br>corporate life uh being able to be<br>successful at a job learning about a<br>bunch of kind of technologies that were<br>about and one of the big Technologies<br>during that day specifically 2013 was<br>rxjs if you remember that one rxjs<br>that's a link from C uh kind of ported<br>over to JavaScript and for people who<br>don't know I guess C what is it closest<br>neighbor Java it's Java like they<br>obviously just took Java and ripped it<br>off at one point but now it's such a<br>dynamic interesting language that it<br>seems like it could be a really cool<br>like bounds of practical versus not<br>practical it's just I I'm not really<br>into wearing pleated pants in<br>programming at a Microsoft house so<br>bleed pants a requirement I think so<br>we'll get back to this can we just get<br>back come on all right trigger web<br>filings anyway web filings was that's<br>where I had to do like all the matri<br>matric stuff and build systems and just<br>kind of all that and it really pushed me<br>because they also wanted me to do like<br>60 hours a week um it was not very<br>healthy work life balance is very hard<br>work and kind of like that really hard<br>work going to Cutting Edge stuff really<br>understanding the world really made it<br>so that I was able to just be able to<br>talk about stuff very commandingly<br>because you know we had to build really<br>complex State machines for the UI for<br>what we're building and so when I went<br>and started getting a LinkedIn and all<br>that inevitably just due to the fact<br>that I've touched all these Technologies<br>and I had some sort of paper trail<br>saying I've touched these Technologies<br>Microsoft or Microsoft dang it Lex pleed<br>pants pleed pants reached out no Netflix<br>reached out and said hey like I see<br>you've done<br>rxjs you know we do a lot of it you want<br>to come and interview with us and you<br>know I was always told that you should<br>never reject a kind of like a<br>handwritten personal invitation to<br>interview this was way before Bots and<br>even the Bots were pretty obvious to<br>tell that Bots this was a manager at uh<br>Netflix Jeff Wagner first manager ever<br>and he just wrote a really nice note and<br>just like hey I see you're doing a lot<br>of these things we really need help with<br>JavaScript um I would love for you to<br>come interview we even using a lot of<br>rxjs if you're interested in that and so<br>I was like all right you know I can come<br>and I'll interview and loone behold<br>interview went on and I called my wife I<br>think halfway through the interview and<br>I was just like defeated absolutely<br>crushed because I said<br>and she might remember this but I said<br>we now have to make a decision are we<br>actually going to move to California or<br>not because I already knew I had the job<br>at that point like I just was just<br>knocking them out of the park I was<br>doing a great job on that and so I just<br>knew for fact I'm getting a job in<br>Netflix you know all the there's this<br>thing that people always get so freaked<br>out about when it comes to interviews<br>and all that and I luckily somehow<br>avoided this I don't get test anxiety I<br>don't get any of that because when I go<br>into these situations my only goal is to<br>show the things I already know and so<br>it's like I walked into this situation<br>I've been preparing for this 80 hours a<br>week for the last like 5 years so I just<br>walk in and just I'm just shown the<br>things I know and it was perfectly<br>fitting for Netflix at that time period<br>in the 2013 early JavaScript Days on<br>television and so it's just awesome just<br>worked out perfectly got hired there so<br>where in California with Netflix this is<br>San Francisco Los Gatos so uh if you're<br>familiar so classic uh symbol do which<br>is this is San Francisco Oakland San<br>Jose Los scos is just like a little bit<br>y kind of a little bit below a little<br>bit south of San Jose same Mega<br>contiguous City Yellowstone's in Montana<br>Yellowstone a show yeah yeah with a yeah<br>so is it is basically like that Kevin<br>CER riding on a horse is it were you<br>riding on a horse to to campus or no no<br>but I mean I love those stereotypes<br>actually I mean to be completely fair<br>when I was 15 years old I was driving<br>around on what is now very busy<br>populated Street shooting Gophers out<br>the window of our car with a 22 so it's<br>like Montana was a different place at<br>one point than it is today and there's<br>plenty of parts of Montana that's still<br>very rural still kind of more of that<br>old world so yeah a little bit you know<br>you can kind of get whatever you want<br>from Montana as far as like culturally<br>goes I'm not really sure the best way to<br>put the difference between California<br>and Montana it's just different<br>expectations like one thing I can really<br>appreciate about California or at least<br>when I say California I mean the Silicon<br>Valley cuz obviously LA and Cali and the<br>Silicon Valley very different attitudes<br>very different mindsets you can't really<br>compare one to the other one thing I can<br>say that's really positive about the<br>valley is that<br>everybody is operating on this idea of<br>like trying to build or create something<br>and there's an energy to it that's like<br>very exciting like you meet somebody and<br>they have a startup and they're working<br>on the startup and it's very exciting<br>and you know there's a lot of negative<br>aspects to that and we can all agree<br>that our entire life being<br>commercialized has probably not been<br>that great but the kind of the<br>experience of being there and everyone's<br>excited to build something it's a really<br>cool experience yeah it's great it's<br>really great the excitement the energy<br>yeah Montana doesn't have that I I have<br>an admiration a romantic admiration for<br>like uh for the shows like Yellowstone<br>being out in nature it's beautiful I<br>like uh writing somebody also said<br>Reddit is full of wisdom about you uh<br>some of it could be fake news but<br>something about horses and this kind of<br>thing like you write you like horses you<br>like riding we have horses on our up our<br>neighbor had much more hilly land and<br>one of their horses broke its leg so<br>they had to put it down yeah and so we<br>just said hey we're on much flatter land<br>like you can just have your horses in<br>our property and so we just have horses<br>that run around on our what about<br>milking cows somebody asked about cattle<br>and and cow and so I've only had open<br>open Cows so if you don't cow means girl<br>open means that hey they've tried to get<br>the cow pregnant the cow did not get<br>pregnant first try and so they're<br>calling that Gene they're getting rid of<br>that Gene the cow's going to now or the<br>open cow is going to now go out to<br>pasture pasture for the year then it<br>turned into delicious T-bone steaks and<br>of various things and so we would house<br>open Cows on our property so no there's<br>no milking of open Cows okay they'd be<br>very upset if you tried to milk an open<br>cow because they're not they're not<br>milking cows right you have to get like<br>that cow pregnant and then once you get<br>a pregnant you have to kind of put it<br>into this permanent state of milking and<br>all that and it's a little bit more<br>complicated than say what we did which<br>was just cows on eating grass and I<br>didn't have to touch them okay well<br>that's wonderful Reddit is not a great<br>place for wisdom about me they're going<br>to give you the craziest answers uh we<br>will return to Reddit time and time<br>again my<br>friend uh so yeah you took the leap into<br>Netflix so what was that like it was you<br>know this is one of those things where<br>when you talk about it people love to<br>trivialize this cuz it's like oh you're<br>taking a leap of faith by going into a<br>Fang company in like 2013 sounds super<br>risky uh my wife was 36 weeks pregnant<br>we had to travel to a place where we<br>knew not a soul we were about to have<br>our first kid we didn't even have a<br>doctor if you don't know having a baby<br>does like kind of you kind of want a<br>relationship with a doctor there's like<br>a whole thing that goes on there so it<br>was kind of it was a really hard and<br>great experience so I went to a job in<br>which their culture deck so during this<br>time this is where Netflix still had<br>like<br>kind of that old Generation X feel to it<br>their culture deck was Hof Fast Fire<br>fast you know it it was very inyour face<br>about like hey this is how we operate<br>you don't meet the standards we kick you<br>out so it's like I'm going I'm leaving a<br>place where it's more secure to go to a<br>place I don't know anybody to a job<br>that's bold in its claims about firing<br>everybody with a wife that's just about<br>to have a baby and so it's like and I'm<br>from Montana and you're you're Bor every<br>Montana's born with a natural dislike of<br>California so there's like all these<br>things kind of flowing into it where<br>it's just going to be like wow this is<br>going to be this is a very intense<br>experience and it was hard for sure like<br>it wasn't just some easy simple<br>experience that we were just like oh I<br>work now at Fang you know we had to kind<br>of work through that having a kid was<br>very difficult our first kid was very<br>difficult you know not having any family<br>around to ever help you like you know<br>took a a much larger toll on my wife<br>than me for sure what was the uh<br>technical learning curve for you you<br>showed up in your plaid pants like<br>dressed up yeah what was it what did you<br>have to learn about the stack cuz<br>Netflix I imagine is a is this<br>incredible infrastructure has to deliver<br>just a huge amount of data I'm just<br>blown<br>away by Netflix but also like YouTube<br>these companies that have<br>to deliver like serve a huge amount of<br>like bits Netflix has the easiest out of<br>all the companies Netflix by even though<br>we have you could say maybe we have<br>maybe we beat YouTube in View hours I'm<br>not sure if we do but let's just pretend<br>Netflix has 5x more View hours than than<br>uh YouTube whatever it is Netflix has a<br>fundamentally easier problem than all<br>other companies and let's get back to<br>that I first tell you about the stack<br>but I'll tell you why it has a<br>fundamentally easier problem so when I<br>first got there they gave me my<br>Playstation 3 my boss said go learn some<br>code come back to me in a couple days<br>and tell me what you've learned and then<br>I'm going to start giving you bugs to<br>fix wait wait PlayStation 3 what are you<br>talking about well I was on the TV team<br>I had to go plug in a PlayStation and<br>start launching programs onto the<br>PlayStation 3 and figure out how to work<br>Netflix on a television device oh so<br>like you have different kinds of devic<br>why PlayStation 3 is other different<br>it's 2013 devic that plug into the T<br>okay cool yeah not many not as many TVs<br>had Netflix let alone what they called<br>their Darwin app which is their new<br>application so if you bought a Vio<br>earlier that year you'd get their older<br>one there it's called plus UI you get<br>their older version and so not many had<br>the newer version we no longer supported<br>Plus or we never actively developed on<br>plus we only did stuff on Darwin and so<br>I had to learn that whole stack I the<br>back end or the middle end uh the middle<br>layer between the actual back end and<br>the front end was written in groovy and<br>as I went around groovy is uh if you're<br>not familiar with Jenkins then you've<br>probably never interacted with groovy<br>but groovy's is a jvm language it's a<br>very interesting language<br>but here's how it got started at Netflix<br>oh it's Apache Apache groovy is a<br>powerful objectoriented programming<br>language that runs on the Java virtual<br>machine released in 2007 it has evolved<br>to become a versatile language that<br>combines both static and dynamic typing<br>capabilities all right so the AI is kind<br>of lying to you uh groovy is not a<br>powerful great language nothing that<br>statement makes it seem way cooler than<br>it actually is you will meet one out of<br>a 100 people that have touched groovy<br>that said oh yeah groovy's great yeah<br>the other 99 will be like Heavens forbid<br>you ever have to touch that language<br>yeah so uh when I got there nobody not a<br>single soul at Netflix there's 40 some<br>Engineers had any idea how groovy pretty<br>much worked somehow people just hacked<br>together these scripts and put them all<br>on there and it worked and it was all<br>this was before there was a groovy RX<br>Port we wrote our own version called WX<br>it was a nightmare observables all these<br>things I remember one time they told me<br>that oh yeah you know with RX it's<br>really easy you just say what you need<br>to do it Maps out and boom boom boom<br>boom everything will run multi-thread<br>and all that I was like oh wow really so<br>all I did was go like uh observable do<br>sleep one because I just wanted to see<br>it sleep and then do the next thing and<br>it turns out when a thread sleeps itself<br>no thread can wake it up and I just<br>turned off all of staging cuz I ran it<br>like 10 times like oh it's not<br>responding oh it's not responding oh now<br>it's not even coming back broke all of<br>staging for everybody so no developer<br>could work for the rest of the afternoon<br>cuz I locked up all the instances<br>because it turns out no it was in fact<br>not multi-threaded every assumption<br>we've been told is a lie no one had any<br>idea what they were doing it was a wild<br>time and so I just simply naturally<br>gravitated towards that CU I'm good at<br>print de debugging I'm good at doing<br>those things so I was like here I'll<br>just figure this out here I will do this<br>so I had the rewrite how we do the data<br>structure on the front end for the TV uh<br>from what is called a Lomo list of list<br>of movies into L Romo which is a list of<br>list of uh recommendation objects for<br>movie why would we need to do that think<br>about this you have two lists one has<br>Live Free Die Hard Bruce Willis because<br>you love Bruce Willis the other one has<br>Live Free Die Hard because you want<br>tough men doing tough jobs well during<br>those days we'd only have one way we<br>could show evidence why you wanted it so<br>we couldn't say oh because you liked<br>this other movie you'd go to that one<br>and say the same thing so we had to kind<br>of add one level of indirection where we<br>could decorate the recom or the video<br>with the recommendation information okay<br>so you can abstract away into the the<br>space of recommendation versus the space<br>of movies Direct you can't hang it off<br>the video because obviously then it<br>would be the same for everything that<br>shows that same video so that's amazing<br>I had to do all this and I wrote it in<br>groovy and I was the I just did it and<br>people were like how did you how did you<br>write this in groovy and it's was just<br>like well I read the language reference<br>for a day and then programmed it well<br>what do you mean it was a very radical<br>language shall we say and so I just<br>simply became the person that knew these<br>things so they just give me more and<br>more jobs of that and so that's kind of<br>how I excelled being the person that was<br>willing to do the thing that no one else<br>was yeah can you actually speak to the<br>print of debugging like you you walk<br>into a system and there's a lot of<br>systems in the world like this like uh<br>Twitter was like this when then you when<br>uh when Elon acquired Twitter and rolls<br>in and there's this old janky code base<br>that's just like a giant mess and you<br>have to basically do print of debugging<br>like what's the process of going into a<br>code base and figuring out like what the<br>fuck well how does this work what are<br>the flaws what are the assumptions you<br>have to like reverse engineer what all<br>these other Engineers did in the past<br>and the mess across you know the space<br>of months and years and you have to<br>figure out how all that works in order<br>to make<br>improvements the thing the reason why<br>I've always just been good at print de<br>debugging because one of my first kind<br>of side quest jobs that I got was<br>writing robots for the government when I<br>was still at school and so I'd kind of<br>do this contractually for so many hours<br>um so many hours a week and my boss<br>Hunter Lloyd great Professor by the way<br>he just said hey here's your computer<br>here's the robot here's how you plug it<br>in here's how you run the code can you<br>write the flash driver the ethernet<br>driver can you write the planetary<br>pancake motor here's some manuals um I'm<br>missing some just figured out I'll be<br>back so that was government work for me<br>so I was like okay I'll figure all these<br>things out and I figured them all out<br>and the only way to really get anything<br>out of the machine uh was to print and<br>so it's like I had to become really good<br>at printing my way through problems and<br>so that kind of became this like skill I<br>guess I adopted is that I can just kind<br>of print after bug my way through a lot<br>of these problems obviously I'm not a<br>game developer probably a different<br>world probably should use I think John<br>karmac was on here and talked how great<br>the the bugger is different world cuz<br>when I was at Netflix there's machines<br>that exist somewhere where on AWS I'm<br>not logged into them I don't even know<br>how to log into them I'm not even sure<br>if I have credentials to log into them<br>they run once somewhere and I have to<br>figure out what happened and why it's<br>happening so it's like I'm going to<br>become this is like this is what I've<br>trained for I'm a print F bugging<br>Champion so it's just like I could just<br>run through these things really quickly<br>and figure out why they're happening the<br>way they're happening you're a special<br>human I think that's an incredible skill<br>set to have to be able to drop in into<br>any code base to drop into any situation<br>and do print out debugging meaning like<br>you know you're in a dark room and<br>you're feeling around that room to try<br>to figure out what the room is well I<br>had the code so it's like I can kind of<br>blueprint what's happening like I don't<br>understand the services or anything<br>that's but like you can start guessing<br>pretty quick as to what's going wrong<br>right but then the the print side of<br>that helps you uh confirm your<br>intuitions test your intuitions and<br>build up more and more information and<br>then you start to accumulate like this<br>bigger picture from that what the edge<br>cases are that uh that break the system<br>and not I mean I I think that just that<br>kind of space like that kind of<br>situation is uh intimidating for a lot<br>of Engineers like they break down at<br>that point I think it's really is a<br>powerful thing to be able to come into a<br>code base that's generally a skill set<br>of like uh very few of us start from<br>scratch yeah and actually this is the<br>fundamental problem of web development<br>and in general where they're like uh I<br>don't know what's going on I'm going to<br>write my own thing from scratch right as<br>opposed to like actually doing print out<br>debugging on the on the space of<br>languages on the space of problems<br>because there's a lot of<br>wisdom and solved problems already in<br>this code base it's a much more<br>important skill set to understand to<br>learn from the mistakes and the wisdom<br>of the past of the ancestors that came<br>before MH and build on them as opposed<br>to throw it all out and start from<br>scratch this is something obviously you<br>see a lot with a JavaScript framework<br>that comes out and you wi every single<br>day so I have a very great story about<br>that that this is what like I think has<br>shaped me the most about my perspective<br>of other devs there's this Dev and he<br>always just wrote Things in just what I<br>thought was such a bizarre and weird way<br>and it would this had to do with falor<br>so our data fetching um library for<br>Netflix mhm This would run on mobile so<br>I had the write in Objective C it had to<br>run on television and it had to also run<br>on web so it ran on everything and it me<br>and one other person were responsible<br>for this thing working and the request<br>side where we'd have to dup the<br>information that we already have the<br>requests that were pending and the new<br>data so I had to figure all that out<br>based on what someone's requesting and<br>then just only optimal optimally request<br>the stuff that we don't<br>have he wrote in such a goofy way and<br>I'm thinking man this guy is just what a<br>goof<br>so I delete it all and I start writing<br>and I'm like look at how much nicer this<br>is it's looking so good I'm like ooh<br>there's that one Edge case uh okay I can<br>see why he wrote it this one way that's<br>not a big deal though but the rest of my<br>code is really great by the end of it<br>I'm like I literally almost line for<br>line just reproduced what he already<br>wrote It's like slightly different<br>towards my style but I just wrote the<br>same code I'm like I'm an idiot I am the<br>idiot in this situation because it was<br>already a solved problem I just didn't<br>take the time to learn what he did and<br>that I relearned what he did by<br>rewriting the entire thing I think<br>that's a skill set that is extremely<br>important for people to learn I see that<br>in myself that's a constant struggle for<br>myself I when uh facing a codebase for<br>example but this applies generally in<br>life where somebody did a lot of work to<br>do a thing you should invest a huge<br>amount of time and get really good at<br>figuring out what they did why they did<br>it do a lot of print off debugging to<br>understand what they did it's a much<br>more efficient way to understand a<br>problem deeply than to start from<br>scratch even though there's a constant<br>temptation to start from scratch because<br>starting from scratch is fun you did get<br>the puzzle solving all that kind of<br>stuff it's just not going to be the<br>right thing to do usually pain is the<br>right thing to do and it is for most<br>people painful to understand other<br>people's code bases I highly recommend<br>starting from scratch if you want to<br>understand a concept you don't know how<br>an HP Works create a TCP socket learn<br>how to parse HTTP it'll become very easy<br>and you'll go this is the reason why<br>whenever I get a request I have to await<br>the text I Now understand why the text<br>is for whatever reason not there I get<br>it I Now understand it and so you kind<br>of gain these New Perspectives just by<br>simply parsing something<br>out all right back to uh the wisdom of<br>Reddit apparently there there are memes<br>and legends about your uh programming<br>Arc in Netflix uh this falcore system<br>you mentioned somebody I think it was uh<br>te how do you pronounce his name by the<br>way te te okay te it's TJ would be his<br>name but we call him te or telescopic<br>Johnson oh wow so many names you know<br>dos distributed denal of service attacks<br>you apparently were able to accomplish<br>the simplified version of that of just<br>dos uh that's a legend so you basically<br>broke down the system somehow yeah yeah<br>can you tell the story of that I'd be<br>glad to so this falcore so there's this<br>falor business right and I kind of I a I<br>did discover the bug before anybody else<br>and I did report it to security and and<br>it it was so bad it actually got its own<br>name repulsive grizzly attack yeah and<br>they even give examples of how to do it<br>effectively what it means is that there<br>is a request that targets both memory<br>and CPU and will destroy there you go<br>look that how Netflix the next one down<br>was the article that was actually<br>written um I don't get mention which is<br>a little bit upsetting considering I was<br>the one that discovered it and told<br>everybody how bad it was uh anyways and<br>had to write the fix for it or the first<br>fix so this is how it works is that it<br>you can do something pretty similar I<br>believe with graphql as well it has the<br>same kind of danger any of these kind of<br>RPC request as much or as little of the<br>data as you would like Frameworks are<br>vulnerable to this kind of attack so<br>with falor what you do is you could you<br>give it an array this an array is called<br>a path and that's the path to the data<br>but sometimes you don't want just like<br>you don't want to have to write out I<br>want movie I want row zero or List zero<br>or row zero column zero title I want you<br>know row zero column Z description I<br>want you know you don't want to have to<br>write out all that so instead you could<br>just be like I want um I want rows 0<br>through 10 columns 0 through 10 titles<br>and descriptions so you can write in a<br>very compact nice little format and<br>it'll give you all that data it'll go to<br>the server the server will fill that all<br>in and give it to you oh dang it list<br>three it only had three videos in it so<br>what happens when I try to request the<br>data well I need a way to be able to<br>tell my system that youd have requested<br>the data and there's nothing there so<br>this is called like a call this like a<br>boxed value so it's going to be like<br>type uh something value there's nothing<br>there we've already requested it and<br>there's nothing there they call you know<br>it's like a sentinel value if you will a<br>box value<br>and we have this little special flag<br>weed path called materialize meaning<br>that when you ask for a path we will<br>make sure we fill it out so we don't<br>accidentally erase anything and at the<br>very end we'll say okay the thing does<br>the request you've made has already been<br>made and there's nothing there well what<br>happens if I request rows 0 through<br>10,000 columns through 10,000 one more<br>item through 10,000 and then a whole<br>bunch of properties and then ask it to<br>materialize well I'm about to go create<br>billions of objects in the jvm and what<br>happens to the machine if stops running<br>and then if we try to Json even if it<br>could create them all we then ask it<br>that Json<br>serialize it's not going to do it right<br>like it's impossible and so that was the<br>attack Vector is a simple while loop<br>would have taken down and held down<br>Netflix for a very long time because one<br>request would kill one machine on AWS<br>and so that means it would just turn it<br>all off and this was on the website this<br>was on um TV this was on mobile like<br>this was profound and here's the worst<br>part it was in production for years so<br>we couldn't even roll it back there was<br>no like oh crap let's just roll back to<br>two weeks ago and we'll kind of fix<br>forward and figure out no it's like we<br>could roll back to<br>2011 like that's our option it's 2011<br>and that's it so we had to figure out a<br>way forward and all that and so it's<br>like the amount of problems that would<br>have happened if n if someone would have<br>discovered this is is unstable Ju Ju<br>Just to be clear the infrastructure<br>that's serving the videos would shut<br>down yeah the UI like you couldn't<br>perform any actions on the UI you<br>surprisingly could still stream video<br>but you would never be able to get to a<br>video to stream cuz every action you<br>would take would be completely shut down<br>and so it wasn't a dods CU you didn't<br>need a bunch of computers to try to<br>overwhelm the system by making a bunch<br>of requests one request one machine if<br>we had 50 machines serving the millions<br>of requests it only take 50 requests to<br>shut down the entire UI isn't it<br>possible to do DOS or D on basically any<br>software system like defending against<br>all the you know closing all those<br>attack factors is probably really<br>difficult if you take any soft<br>sufficiently complicated Software System<br>there's probably so many ways to<br>overwhelm it yeah it's EXT I mean this<br>is why people use cloud flare I think<br>dhh said it best which is like we have<br>our website and we have a strong<br>bodyguard on the outside so Cloud flare<br>has a bunch of utilities all built in<br>cuz you know obviously this is why<br>everyone hates all these Bluetooth<br>devices that connect to the internet<br>because they just turn into attack<br>vectors where people use those to Doss<br>or dos other sites and so you don't need<br>something sophisticated you just need a<br>bunch of requests to come in and you can<br>take down websites and so that's why<br>these fronts are really good at kind of<br>discovering where these problems are but<br>dos is a bit different because it<br>doesn't have to be overwhelming by using<br>Resources with a whole bunch of requests<br>it really just means simply that there's<br>a denial of service attack one of them<br>could be there's a Rex attack that<br>existed where um Cloud flare actually<br>did it to itself and shut itself down<br>which is there's a Rex expansion attack<br>we're given the right kind of Rex if you<br>know someone's running a specific redx<br>you can actually provide input that is<br>maximally bad and that thing goes to<br>like super processing it takes 10<br>seconds to process a single request then<br>you only need to make hundreds of<br>requests and you shut down the whole<br>service it's not like you need some<br>giant Machinery to make one trillion<br>requests you only need just some small<br>amount to completely destroy a service<br>and so<br>there's the web is an extremely<br>difficult place to to do it correct this<br>is super fascinating I I do also wonder<br>how many Ultra<br>competent uh what is it black hat<br>hackers there are versus sort of the<br>good guys versus the bad guys how many<br>bad guys there are and what is the<br>average what is the distribution of<br>skill set on the bad guy side that are<br>constantly trying to attack I assume<br>there's probably a huge number of just<br>really simple ones script kitties right<br>just people trying to just do things and<br>then there's a huge amount of like<br>social engineering that just goes in<br>where hacking is done not with a<br>computer but just by yeah you know one<br>of the classic ones Kevin mitnick had<br>this one in his book which was you'd<br>call up somebody pretending to be like<br>Charlene we're uh doing some auditing<br>and uh I think your pin's out of date on<br>file is it 2323 still and they're like<br>no it's 4747 you're like oh thanks<br>Sharon you know boom you just hacked him<br>right like the classic people love<br>correcting bad information this is like<br>a standard so like there's all these<br>ways people hack and so my assumption is<br>that there are really great white hat<br>hackers there's really great black hat<br>hackers but the vulnerability space the<br>harp the thing is is<br>that discovering a vulnerability and you<br>don't let anyone know the white hat<br>hacker still has to make that same<br>Discovery yeah and that's where I think<br>the real thing is is that black hat<br>hacking in some sense has a<br>fundamentally easier job or at least a<br>job in which they can take advant of for<br>much longer periods of time one's the<br>process of discovering who's breaking<br>the system the other one's trying to<br>figure out how to break the system and<br>it seems like most software is held<br>together by toothpicks and glue yeah and<br>there is a lot of dangers in every piece<br>and also the the social engineering<br>aspect that's a real Attack Vector I<br>think that's the attack Vector that will<br>do in the long term the most damage in<br>the world um especially as AI tooling<br>becomes easier and easier to convince<br>people at scale so of do that kind of<br>grand email Grandma I think that's a<br>really serious attack Vector like human<br>psychology and all that I I kind of<br>assume whenever there's a girl that<br>approaches me it's kind of some kind of<br>social engineering project some attack<br>Vector some some a intelligence agency<br>in fact I'm pretty sure we're back to A<br>Beautiful Mind aren't we beautiful mind<br>yeah I have a whiteboard upstairs that I<br>calculate everything everybody's<br>trajectory and move you're you're not<br>wrong though with the attack Factor<br>especially in the day of AI like one<br>thing that I don't think a lot of people<br>are talking about as we integrate more<br>and more AI is that prompt injection is<br>like an extremely hard thing to defend<br>against because it's not really clear<br>how you defend against it if it's just a<br>you know at the end of the day word<br>calculator make word come out if you can<br>figure out the proper word calculator<br>input it might just break its B bounds<br>and start doing something it's not<br>supposed to do and there's a whole<br>future where there's all these products<br>that are going to be vulnerable to<br>things they never thought about like you<br>it's one thing where you forget an edge<br>case while you're programming now you<br>have to guess what people might be able<br>to think of making something that has<br>access to a system be able to do right<br>and you don't have a way to reason about<br>it its reasoning came from Reddit and<br>other words that it's red and how to put<br>things together like this is a very it's<br>a massive space that's going to be<br>happening it's why I'm personally<br>thinking don't give too many Powers yet<br>like we don't know the attacks that are<br>about to<br>happen uh yeah the more power we give to<br>software systems the more damage they<br>can do that certainly is the case but<br>the more awesome they could do and<br>that's um The knife's Edge that we all<br>walk along as a human civilization<br>together hand in hand will we flourish<br>or destroy ourselves question<br>mark uh folks on Reddit the good folks<br>on Reddit demanded that I asked you<br>about the time you broke production is<br>this related to falor did you break<br>production is this I've broken<br>production quite a few times I've broken<br>productions for so many stupid reasons<br>one time I broke production because I<br>came up in the PHP and PHP static means<br>static for the lifetime of the PHP and<br>PHP was the lifetime of every request<br>right that's why PHP was so inefficient<br>was that every request was its own like<br>instance and therefore static memory was<br>for the lifetime I guess I never put<br>that together and so I had some objects<br>that I made static because I was like oh<br>I just need this for the lifetime of the<br>request and lo and behold those weren't<br>lifetime whole bunch of bad data got all<br>over the place people were showing up<br>saying they're from all these different<br>countries and everything was all wrong<br>cuz I just whoopsie daisies I just made<br>a whole conundrum with that so that was<br>one time I did it another time is I took<br>down if you were on the homepage on the<br>website waiting for Lady Gaga's video to<br>come out and you are watching the<br>countdown go down if it reached<br>zero the billboard would freeze and it<br>wouldn't work if you refreshed it would<br>work but the reveal yeah the big reveal<br>I screwed that up and my boss got real<br>upset and so did other people in<br>Hollywood got upset about that one that<br>was like a my bad sorry Jeff Wagner<br>again I remember that one I remember<br>that one specifically one time I<br>released a bug where again on the<br>billboard if you pressed add to my list<br>I accidentally programmed in a an<br>infinite Loop and it just your whole web<br>page would just freeze are some are some<br>of these bugs difficult to discover<br>until you that one seems really easy<br>looking back on it Loop yeah and there<br>was we actually at during those days we<br>had manual QA that are supposed to go<br>through everything so I didn't feel as<br>bad because my manual QA counterpart<br>also missed it like we all missed it but<br>it was just so simple you just press<br>that button boom it just completely<br>freezes the website polluting the code<br>was sort of global variables that are<br>holding values uh as PHP I think allows<br>you to do that's a tricky one to<br>discover cuz you rely on it but then<br>there could be somebody else assigns a<br>value to it dat races everywhere and I<br>just didn't understand like in my head<br>static was like oh this is for the life<br>like I was just so locked into the PHP<br>World at time that I I just made a just<br>a just such a like looking back on it<br>it's so obvious but during the time it<br>was it's hard so in general pushing to<br>production I talked to Peter levels<br>about this he I mean obviously he's<br>operating is a mostly a solo developer<br>but he often on the website said<br>thousands not hundreds of thousands of<br>people use he he often ships to<br>production uh pushes to production<br>meaning like just no testing just like<br>push to fix uh what are the pros and<br>cons of that approach in general to you<br>what do you think it's obviously much<br>easier the smaller your organization is<br>I think everyone I think no one would<br>argue that that sentiment if it's just<br>you working on a singular project it is<br>obviously much easier for you to push<br>directly to production because you are<br>the only one working you know all the<br>ins and outs and if something were to<br>break you would discover it m so to me<br>that makes sense like I think the way he<br>operates is perfect for what he does you<br>couldn't take what he does and move it<br>to say Microsoft or Netflix or Google<br>because that would obviously it would<br>just be a disaster just due to the<br>amount of people all pushing to<br>production and so I I mean I personally<br>love that I think that you have to you<br>have to gauge both the application<br>you're building and its complexity and<br>what you're pushing and how many people<br>are working on it I think those all go<br>into how you can kind of do that cuz not<br>all applications are created equal<br>either like that application I was<br>making with zooming and scrolling where<br>we had all of our own everything it was<br>a very deep log like heavy logic app and<br>that was regardless of what was<br>happening on the website most the code<br>was Library code and that becomes way<br>harder if you don't have a good test<br>suite and stuff to kind of run before<br>you push it out because when you squeeze<br>that ball you know different things uh<br>come popping out in different areas and<br>that's like that's very that's a very<br>harder problem than say if you're doing<br>more of like a heavy visual one because<br>a heavy visual one you're you're<br>affecting just this one area's visual<br>stuff and you can test it and like<br>that's normally the end of it whereas<br>you know so it depends on like the<br>coupling and everything so I I mean I<br>love his approach by the way I I have<br>such mad respect for anyone that<br>operates that way because it I think is<br>a great way it just is so good because<br>it kind of breaks this notion that Tech<br>Twitter has that oh you have to use all<br>these expensive Services you need to use<br>all these kind of things because if you<br>don't use all this kind of stuff if<br>you're not using the latest version of<br>react if you're not using the latest<br>version of this you're going to Simply<br>you know you're simply not going to make<br>it as a startup it's impossible and it's<br>just like no no that's it's not software<br>like most of software isn't the new<br>stuff most of software is old crappy<br>software that someone has to maintain<br>and it actually is really really great<br>and has lots of really hard problems and<br>if you look at it differently it's<br>actually fantastic for people who don't<br>know his Tech stack in terms of web<br>development is PHP jQuery and sqlite<br>yeah all great stuff I'm just surprised<br>he still uses jQuery just given the fact<br>that at this point on the modern web<br>everything is I mean you have document<br>query selector and ad event listener<br>click right it pretty much has<br>everything you already need it has Dom<br>content load like all the reasons I used<br>jQuery back in the day was adding a<br>click on a on a button was like hard you<br>had to deal with ie7 I8 I9 right like<br>those were hard differences whereas now<br>it's just so easy I'm just surprised<br>it's even that I mean that's definitely<br>a trade-off I I have still use the exact<br>same stack phb jQuery uh and different<br>flavors of uh<br>SQL but the question there<br>is you know you you keep using jQuery<br>because you can get the job done really<br>fast and there's no significant<br>performance hit that that you detect so<br>like why switch to something else but<br>it's always probably as we'll talk about<br>good to explore and to learn not all<br>tools are great at solving all problems<br>and so what you think is really like the<br>problem is is you run into this kind of<br>trade-off which is you have some tool<br>belt that you're very Adept with you<br>know all the ins and outs there's no<br>unknown known but there's no surprises<br>in this you know what you're building<br>you know what you're getting into you<br>will go through and um you'll be able to<br>solve the problem but if you ever use a<br>different language or a different<br>experience you can find that some things<br>are able to represent States way easier<br>in a way more efficient way and you can<br>solve problems really efficiently in<br>some versus the other and so it's like<br>if you don't take the time to explore as<br>well you could be missing out on<br>something that makes you twice as good<br>on this one specific problem like subset<br>and so I kind of value being able to<br>look at all problems and so I don't want<br>to get stuck on one thing though I see<br>why people do which is for the<br>efficiency sake let's just return to the<br>infrastructure the platform of Netflix<br>and speak more generally Netflix twitch<br>YouTube like anytime I use any of these<br>Services I'm just blown away by the the<br>infrastructure it takes to deliver this<br>service YouTube and twitch unique versus<br>Netflix where the creators can roll in<br>themselves and upload stuff yeah so on<br>the consumption Side YouTube has over<br>100 billion views a day over 1 billion<br>hours watch time but on the sort of<br>Creator side 1 million hours of videos<br>are uploaded every day 1 million<br>hours it's like you have to do you have<br>to service both and you have to deliver<br>everything it's incredible to me uh can<br>you maybe speak to your own intuition<br>just zooming out on it what it takes to<br>deliver that kind of infrastructure for<br>me the thing that I I find vastly<br>complicated and I can't imagine the<br>engineering hours is how do you even<br>create an edge in that situation and<br>what I mean by an edge I mean like when<br>people say this phrase if if you're<br>unexperienced an edge is where you<br>deliver data to be you want that edge to<br>be as close to the customer as possible<br>because that's where the data lives and<br>then the communication between the<br>customer and what you're doing is really<br>really small obviously the speed of<br>light adds up the amount of hops adds up<br>the amount of services that you have to<br>remotely call adds up they all add up<br>and they all add inefficiencies to the<br>system so something like YouTube they<br>want to be able to serve that data as<br>quick as possible but their data changes<br>constantly and relevance is almost<br>directly tied with the newness of the<br>item so it's like how do you even cash<br>these things out how are you doing this<br>so they must have such an incredible<br>caching Network that I can't even I<br>can't even fathom what it takes to do<br>that that just to me is just so<br>impressive a million View hours in how<br>many different uh resolutions with how<br>much data what is a million View hours<br>is at 4K million View hours along with<br>1080p along with 720p along with 1440p<br>like that number is an insane number<br>actually it is brilliant what you said<br>which is for YouTube often the new thing<br>is extremely important to show to<br>everybody and so you can't rely on<br>caching or or trivial kind of caching<br>you have to like deliver the new thing<br>as quickly as<br>possible yeah I mean it's incredible so<br>there's the entire<br>system the the recommendation system<br>that knows each individual human<br>watching YouTube and it has to integrate<br>into that the new thing while also<br>caching this incredible cluster of<br>possible videos that you're potentially<br>interested in so and integrate into that<br>ads right in the case of YouTube and<br>twitch and so on it's a really tough<br>problem because you have to think like<br>what is the cash hit rate on this<br>because there's so the problem now<br>actually comes down to space like space<br>actually becomes a real problem like how<br>many hundreds of pedabytes do they have<br>that they have to like okay what do we<br>cash and where do we cash this right<br>like the number I mean I think in the<br>terms of like gigabytes or maybe<br>megabytes like they have to think in in<br>probably versions of bytes I don't even<br>know the name for right like it's like<br>such a different problem and that's why<br>I said Netflix Netflix has a much easier<br>job when it comes to caching so if<br>you've never looked it up it's called<br>OCA and that we know what videos we're<br>releasing we know what videos are hot in<br>specific areas it's a very limited set<br>we're not going to all of a sudden get<br>oopsies we got a million New View hours<br>right we don't even have to worry about<br>that as a problem instead it's like okay<br>we know stranger things season 5 is<br>about to drop we're going to preash Str<br>stranger things season 5 in every single<br>OCA across the world because that<br>thing's about to get hammered right and<br>so it's like it's able to do such a<br>different kind of decision making than<br>what you have to do with something like<br>YouTube and then which is even more wild<br>because now you're actually ingesting<br>video and trying to make it go out all<br>at the exact same time for all video and<br>you have to transform that video from<br>whatever format and whatever the bit<br>rate is into something that's more<br>efficient in the system like that hats<br>off to Twitch engineering like because<br>that is like some that's some serious<br>work and here's some asshole Lex coming<br>out and tweeting about YouTube features<br>so like there's<br>a I listen you're not wrong on the<br>features you asked for though<br>uh I think there's this is this is an<br>engineering problem of how do you allow<br>fast iteration and addition of features<br>that shouldn't have to be integrated or<br>impact the whole code base so at the<br>edges of the code base sort of improve<br>on certain features without like having<br>to consult the mothership uh of the code<br>it's the large team right that's that's<br>the fundamental problem when you get<br>into YouTube size there is the the team/<br>organization that deals with data<br>warehousing there's the team/<br>organization that deals with delivery<br>there's a team/ organization that's like<br>the middle layer how you even you know<br>they're going to be like the little<br>micros surfaces to talk to these places<br>then you have this front end engineer so<br>like for for a small feature you have to<br>get middle team you have to get backend<br>team you have to get all these things<br>quick example Netflix um are you<br>familiar with uh the dystopian Black<br>Mirror yeah okay season 1 episode one do<br>you know season one episode one everyone<br>who watch black miror typically knows<br>this episode okay yeah I don't remember<br>what it is but forgive my language but<br>they call it the pig fucker episode oh<br>yeah of course once you've seen the<br>episode you will then know this episode<br>well when Netflix adopted it I got<br>pulled into a room there's like a VP a<br>VP a product designer a VP and they said<br>hey we're about to release our own<br>version of black Mir season uh season 3<br>I think at that time we need episode 1<br>season 1 to not be the first thing<br>people see so let's just reverse the<br>season<br>order that required me I had like 20<br>Engineers I had to gather together to be<br>able to have this happen and that's just<br>the problem of big companies is that<br>eventually every little thing has to<br>become its own team and so even small<br>there's no such thing as a small feature<br>reversing the order of the drop down<br>that selects the seasons is uh a meeting<br>with a bunch of VPS and Engineers that's<br>really interesting I there's got to be a<br>way to accelerate that the natural<br>scaling of a company and the bureaucracy<br>that grows yes slows that down but just<br>having seen Elon work a lot his teams<br>are able to like still keep it very fast<br>even as the company grows there's got to<br>be like a process doing that especially<br>for<br>uh yeah for the pig fucker episode like<br>uh I don't know where that in the<br>priority list but like for important<br>things like that you should be able to<br>do that quickly I don't know can you<br>speak to like how would you do that well<br>I can tell first how it was done<br>remember so at a place like Netflix<br>there would be I think that at that<br>point it's called a product called<br>Dexter I can't remember there's our<br>actual like movie metadata Warehouse<br>that's going to be highly integrated<br>with Hollywood that's going to be you<br>know where that side is able to manage<br>all that so I'm like hey you need the<br>ability to Mark things that need to be<br>reversed because we're going to run into<br>this a bunch and we did we ran into<br>quite a few topical shows that all need<br>to be reversed and all that and so it's<br>like we need to be able to reverse<br>episode numbers season numbers we need<br>to be able to hide season or episode<br>numbers like in the case of the Chelsea<br>Handler show it was like a Daily Show so<br>it's like you don't you don't need<br>episode numbers you just need the latest<br>one and so like there's this whole<br>problem that exists and so it's like<br>okay you need to work on that for your<br>UI over there then you need to be able<br>to store that data then we need to be<br>able to go to the like the people that<br>can actually get the video data out of<br>that and provide it to our our uh our<br>service layer I need to go talk to them<br>and convince them they need to be able<br>to give me the new methods and<br>everything to do that then I need to be<br>able to go WR write the methods to get<br>it down and then I need to go to the UI<br>and make that accessible now I need to<br>go to website people I need to go to the<br>mobile people I need to go to the TV<br>people and so it's like yeah you can see<br>this thing like snowballing and for us<br>the big thing that Netflix did that was<br>so well is after I met with these people<br>that were high level I was the I was the<br>captain I'm the captain now yeah so I<br>went to all these teams and said hey<br>manager I need I need an engineer we<br>need to get this done within the next<br>couple months because we got Black<br>Mirror coming out so she would go okay<br>here you go the map team I need someone<br>to help me with being able to get dat<br>out of the LOL for this and so it's like<br>all right you're working with this<br>engineering I'd go to the VMS team okay<br>I need this engineer I'd go to the<br>billboard team I need this engineer go<br>to all these little places to get all<br>these little pieces of data and then I<br>was the captain so I was like you're<br>working on this you're doing this you're<br>doing this you're doing this I'm doing<br>this let's go right and so it's like<br>that worked and we were able to go<br>pretty fast for a big company and the<br>fact that it required like 20 Engineers<br>to do such a simple task we were able to<br>do it in like gosh I'd say about like 3<br>weeks worth of effort but that was still<br>I thought that was amazing comparatively<br>to how many people mov well because you<br>have the freedom of the agency to do it<br>you said the captain of the ship that's<br>really powerful for big companies that's<br>a risk cuz you can fuck it up you might<br>not see the bigger<br>context um Le legally or and S of the<br>bigger context of the impact on the<br>industry or all the contracts that are<br>made all that so it's a risk it's a risk<br>but it's a risk you have to keep taking<br>and then if when you fuck up you fix and<br>then maybe pay the cost legally for that<br>whatever but<br>the longterm that risk pays off because<br>you're going to keep creating a better<br>and better product evolving where the<br>industry is going constantly innovating<br>ahead of where the industry is going and<br>so on yeah and not only that I think one<br>thing that is just so important is that<br>yes the product will get better but the<br>people that you hire and the people that<br>you keep around are better because<br>they're the ones that show maturity<br>they're the ones that can just you give<br>them something and they can rally the<br>troops and make something happen<br>like that's a very great group of people<br>to hire and so you also naturally select<br>out great Engineers that aren't just<br>simply good at coding they're good at<br>coding and they're good at explaining<br>and they're good at convincing and<br>they're good you know like you have to<br>you have to create a very lean audience<br>that can move fast and I think for grade<br>Engineers having to wait for like okay<br>let's schedule a meeting for next<br>Wednesday with the with the VPS and that<br>destroys their soul and they either<br>don't want to contribute anymore or they<br>leave the companies or they just kind of<br>tune out and take the golden handcuffs<br>and just you know buy a nice house and<br>focus on the family and I feel like I<br>would die under that c like honestly<br>like that is that is my death sentence<br>is where it's just that there's no<br>reason to try there's no reason to do<br>anything I'm just going to go in there<br>like effectively zombie through my day<br>and call it like I don't want to live<br>like that I want to feel like I'm trying<br>to do<br>something uh I should also mention on<br>top of that so you've brilliant ly laid<br>out how incredible the challenge that<br>Netflix has to solve on top of that with<br>YouTube you know the metadata<br>thing because users are able to upload<br>video and there's an API where they can<br>upload automatically and change all this<br>kind of stuff automatically every one of<br>those things is an attack Vector as we<br>mentioned that's something they have to<br>consider seriously on the engineering<br>side and on the sort of the legal side<br>they can get into trouble all kinds of<br>ways so they have to consider all of<br>that that's it's just yes fascinating<br>the legal side is obvious but it's not<br>really like I would never of initially<br>thought someone would say upload images<br>that you're not allowed to own or have<br>but that guarantee you that happens then<br>you have the whole kid side right yeah<br>like think about when you mark something<br>as kid-friendly how many times have they<br>snuck porn into a Taylor Swift video or<br>whatever it was that was like a few<br>years back there was that whole Taylor<br>Swift or whatever I forget what it was I<br>thought it was Taylor Swift but there'd<br>be these mock videos that come up and<br>then boom it's like that's a that is<br>such an awful problem and I'm so happy<br>that is not a problem I have to try to<br>figure out yep okay so yes YouTube and<br>uh and twitch and Netflix are doing<br>incredible job you eventually uh<br>chose the madman you are to leave<br>Netflix and to start a new journey of<br>being a Wolfpack of one start streaming<br>what was that what was the story of that<br>so I was<br>streaming for almost 7 years now it<br>started actually at Netflix we did a<br>charity uh extra life shout out extra<br>life for starting my streaming career<br>effectively it's just you stream and<br>whatever money you raise it goes to kids<br>with cancer research they are a great<br>charity in the sense that they take no<br>overhead and they raise their own<br>donations for their website and<br>everything and so it's like a very great<br>straightforward charity really love like<br>what they've done um it was super cool<br>because I live in South Dakota now but I<br>actually could choose a hospital<br>directly where the money goes to so<br>there's like a direct impact<br>from A to B so it's like it's a pretty<br>cool organization and so my friend guy<br>Sereno uh nice try guy is what I like to<br>call him he was probably the single<br>greatest engineer I've ever met in my<br>lifetime and he was just like hey come<br>do this we're going to all do this and<br>so I played fortnite and so before I did<br>that I was like I better learn how to<br>stream first I better get you know<br>Affiliated so I can like take<br>subscriptions and then if anyone gives<br>me a subscription I'll also pay that<br>forward and so June 2018 or something<br>like that I start<br>I start uh streaming and I start<br>streaming some fortnite end up getting<br>Affiliated end up doing the whole extra<br>life thing I end up really enjoying it<br>I'm like this is a lot of fun I'm<br>playing fortnite at that point okay so<br>mind you I'm a fortnite streamer at that<br>point uh and I start really enjoying it<br>and I keep doing it and then one day I<br>decide I'm going to do some programming<br>because I really love vim and I think<br>I'm kind of fast at vim and maybe people<br>think programming is kind of cool cuz<br>there was no really programming section<br>at that point uh and I did it and I had<br>like 30 people show up which was just<br>like and it felt like incredible numbers<br>at that point so I was like oh my gosh<br>there's like 30 people watching me<br>program and so it just kept on going and<br>it kept on happening and it just kept on<br>growing and I did it for year after year<br>I would do my job I would come home I'd<br>eat dinner with the kiddos I'd read them<br>Lord of the Rings in The Hobbit during<br>that time I'd read to them for a half an<br>hour then I'd set that down and then<br>three nights a week I would program<br>until like 2: in the morning or play<br>video games until 2: in the morning<br>streaming and building up this like<br>whole side thing and I did this for a<br>long long time and then eventually it<br>just kept working out so well and I<br>started making YouTube videos and then<br>that started getting better and it was<br>just like a long long grind until April<br>of last year I went to the streamer<br>Awards and I got to like announce the<br>programming category and pirate software<br>one it was awesome it was a great time<br>and during that time he gave me a<br>challenge coin and just said like you<br>just got to go for it just go full-time<br>and so I just sat there and my wife can<br>attest to it it was kind of like an<br>emotional uh turmoil thing and it just<br>took a lot<br>of it was it was pretty awful you know<br>cuz I I didn't Netflix is very safe<br>option it was both very fun it was<br>challenging I liked a lot of the people<br>I worked with it was overall a really<br>great thing I had a really great boss um<br>really appreciated him I still ever T<br>text him now and then he's really great<br>guy so it's just like I'm leaving all<br>these things for something that's unsure<br>and the reality is is is that streaming<br>and all these things you know people<br>love you one day they could hate you the<br>next day there's like all this stuff<br>that goes into being on the public side<br>and I had Netflix as the backing so it's<br>like if public hatd me the next day I'd<br>be like Deuces I'm out like I don't care<br>now it's like now I'm going to do this<br>as a job and so there's like a whole<br>huge turmoil to this whole thing that<br>kind of went through it and eventually I<br>just said<br>okay I'm going to make this it kind of<br>it resonated with me when I first made<br>the decision to join Netflix<br>I'm getting<br>older there's not a lot of chances to do<br>something unusual like that those<br>chances go down constantly as you get<br>older this might be the last crazy thing<br>I get to do let's just try it so in<br>April I went full-time and I have I<br>guess I haven't looked back I'm only not<br>even a year into doing this uh as a<br>full-time gig and it's just been a lot<br>of fun and the biggest thing is just<br>being you know just being able to really<br>explore and do these things on stream<br>where people really enjoy watching and<br>engaging has just been it's been a great<br>hard fun amazing difficult experience I<br>mean it's a really inspiring leap it's a<br>really hard one to to take for many<br>reasons like you outlined but also like<br>the loneliness of it I<br>think I think it's a pretty lonely<br>Pursuit it is yeah just you and the<br>camera and the audience and the ups and<br>downs of that and it's not there's not<br>really a team I do have one lucky thing<br>I'd say that my editor flip shout out<br>flip he was it would mean the world to<br>him if I said shout out flip I love you<br>flip love love you oh man he uh he had<br>you know as he would say he had nothing<br>going for him he he had a really hard<br>growing up a lot of lot of rough life<br>decisions have gone into his life and<br>he's kind of crawling back out of it and<br>he just said hey I will edit fulltime<br>for you so I just said all right like<br>50/50 whatever I make on YouTube you get<br>we're going to do this together and we<br>did that for years making zero dollar a<br>month pretty much you know and so it's<br>just like that was an incredible jump<br>and now like we get to work together so<br>that I do get that one team aspect that<br>I think is really nice but there's it's<br>not like it was at Netflix where I could<br>hear about stuff people are building I<br>don't have a team I don't have like<br>product or Cycles I don't have a manager<br>that I have to try to make happy it's<br>just like it is very lonely and I don't<br>think a lot of people realize how lonely<br>it actually can be yeah so combine that<br>loneliness with uh in my case I don't<br>know how many people attack you<br>I've you know I have a shockingly low<br>amount of attack rate I feel like yeah<br>you're people generally I mean it's<br>sometimes fun sort of teasing that kind<br>of thing but it's mostly just really I<br>mean you you give so much love to the<br>world and Inspire so many people even<br>when you're like making fun of stuff<br>yeah but with with me sort of taking the<br>loneliness of it combined with just<br>really intense attacks it's tough It's<br>can be rough psychologically really a<br>tough<br>Journey uh you miss working with a team<br>just from even a software<br>engineering side like where you can<br>share code or talk over code or yeah the<br>the collaborative aspect of it yeah um<br>multiple things there uh one hey we love<br>you Lex so don't let the don't let the<br>things get you down um thank you but<br>thank you I love you too thank you hey<br>little little bonding moment you're<br>going on but uh you know what I one<br>thing I really miss not in a sexual way<br>just to be clear the tension is a little<br>little tense I'm getting un<br>but yeah anyway team um it's just the<br>one thing I really miss is just even<br>when I hated how people did it just<br>seeing how other people solved things<br>right like it's really amazing just just<br>like the raw creative power so many<br>people have and just being like oh wow<br>like I would have never done it this way<br>crazy right like wow I just this is<br>awesome and you kind of internally<br>process this and you're like oh I now<br>have a new little tool in my tool belt<br>you know because at some point it's<br>really hard to find a mentor when you're<br>first young and you're just starting out<br>programming I mean anyone with a couple<br>years of experience will be not just a<br>little bit better than you but like<br>infinitely better than you it's like it<br>feels like crazy how much better people<br>are and so you have to like get mentors<br>and you learn from people and then as<br>you get better that amount of<br>availability gets really small and so<br>it's something I really do miss is the<br>kind of like forced hard problem solving<br>together I I think there's also skill to<br>sort of mining the wisdom from other<br>people like I generally try to approach<br>even like Junior people Young Folks it's<br>just mentally at least for me it works<br>as a hack to assume they're like the<br>smartest person in the world like way<br>smarter than me and so like I take every<br>single word they say as potential wisdom<br>and that helps me a sort of mind for<br>potential wisdom there uh CU it's so<br>easy was to get older to sort of Judge<br>to be like oh yeah okay okay I've been<br>through that I remember feeling like<br>that I don't remember thinking that<br>that's incorrect whatever but you just<br>kind of assume that you don't know that<br>I don't know what the fuck I'm doing and<br>the other person is this like sage and<br>from that in that kind of interaction I<br>think you could actually learn a lot and<br>my favorite interactions is when we both<br>think that way so we're that that from<br>there I think that's that's a catalyst<br>for a great great collaboration and<br>interaction it just also makes<br>everything much nicer you know it's<br>really it really stinks to work with<br>someone that's combative and negative<br>like I don't mind combativeness if it's<br>like I'm trying to figure out what's<br>like what's best to do right now versus<br>combativeness just because you're a<br>negative person and things have to be<br>this one particular way because if<br>they're not this one particular way it's<br>the end of the world and like that's<br>actually really hard for me to work with<br>what's the origin story of uh the<br>primagen name the origin story of the<br>primagen name was are you familiar with<br>a video game called turo Nintendo 64 so<br>turck had turoc 1 and then turac 2 turo<br>2 was a brutally hard game this is back<br>when firstperson Shooters they would<br>only give you a certain amount of health<br>and you had to go discover health and<br>get that health and you had to beat the<br>whole game without effectively dying<br>that's an old that's like the first<br>version right there that's like turoc<br>one then turoc 2 turoc is a renowned<br>firstperson shooter video game series<br>featuring dinosaurs action and sci-fi<br>elements the franchise has of<br>significantly since its Inception in<br>1997 y there you go so in 1998 there you<br>can see it right there talk 2 seed of<br>evil followed in 1998 featuring larger<br>levels more challenging puzzles and<br>deadlier enemies the notable difficulty<br>it was very very very difficult okay and<br>so I spent when I got it it came in a<br>black cartridge not like your standard<br>gray Nintendo 64 the black cartridges<br>badass game right and I got it and I put<br>it in and I played and I played every<br>day for like 10 hours a day for a month<br>straight and I beat it and it was like<br>such an incredible great experience in<br>the last leader of tck 2 is called the<br>primagen and so when I was a kid when<br>you're in like fifth grade that's like<br>super cool like named after the bad guy<br>and so like for a long time on any<br>internet thing like Grail online that I<br>mentioned earlier the name was the prime<br>it was great and then you know I became<br>an adult eventually and it's just like<br>okay you know I'm an adult my name is<br>Michael ponore you know that's what I<br>was on the internet for a long time was<br>that and I remember it was like<br>2017 2018 somewhere in there<br>um I remember just how bad the tech<br>world had kind of become it was just<br>like this super pretentious Place tons<br>of Dick measuring just everything that<br>just was the worst a Ken wheeler got<br>canceled over playing the circle game it<br>was just like it it's so hard to<br>describe to people that weren't there<br>but it was just the worst place to be<br>Tech was extremely unfun it was<br>extremely awful everything was just so<br>it wasn't academic because it was<br>research it was like we're building the<br>most sophisticated things and this is<br>for the smart people and you're everyone<br>else is the dumb people don't worry<br>we'll design for you dummy we got that<br>we'll we'll show you how to make the<br>perfect architecture and I remember<br>changing my Twitter handle because I got<br>so upset and just went back to my video<br>game name because I was like I want<br>things to be fun yeah I want this to<br>stop and so while I started when I<br>started streaming Tech my goal became to<br>destroy whatever that Tech mentality was<br>because it includes nobody everyone<br>thinks that they're the smart people and<br>they design for the dummies and it's<br>just like no like I want Tech to be this<br>place where people feel like they can be<br>creative and excited and actually build<br>something and if you're new like it's<br>okay to be dumb and ask dumb questions<br>like learn from your dumbness no one's<br>expecting you to be smart pick whatever<br>you want like actually do something and<br>have fun and build like your crazy ideas<br>oh you're going to reinvent the wheel<br>reinvent the wheel understand what<br>you're doing learn it really good and<br>like interact and stuff and it's just so<br>different than what was out there and<br>that the name Arnold Schwarzenegger<br>talks about this thing where when he<br>first started acting his name was like<br>the thing that people hated as he uh<br>once said you have a strange voice you<br>have a strange body and your name your<br>name's unpronouncable no one's going to<br>schnit and fitle no one's going to<br>remember that and he said but now the<br>name is the strong part and for me I<br>just I've always felt akin to that<br>though my name's not nearly as cool nor<br>am I as popular as Arnold nor am I as<br>tough or good-looking or successful but<br>nonetheless it's just the the name<br>represented this like counterculture<br>like movement Within Myself in which I<br>just hated what was there and I wanted<br>to defeat it and so this has like been<br>the thing and now people remember me so<br>well because of how weird my name is and<br>so it's just like I for whatever reason<br>it became its own thing and so that's<br>kind of the now I would never change it<br>and back then I would never change it<br>because it was my Rage Against the<br>Machine moment if you will MH yeah I<br>love that as a symbol of Rage Against<br>the Machine and the rage being fun yeah<br>I just want people to like be creative<br>and have fun again it's okay what about<br>the mustache it's an epic mustache it's<br>an epic stash it has a life of its own<br>yeah is there an origin story or did you<br>guys discover each other at some point<br>or was it did it emerge from from the<br>darkness of the struggle that is your<br>life or where where where does it come<br>from well the original original mustache<br>is that it was No Shave November back<br>before it became movember it was No<br>Shave November back in the day and after<br>No Shave November you had all this hair<br>and so what's the natural thing you got<br>to do you got to sport a mustache for a<br>day right so whenever I'd forget to you<br>know not shave for a long time and then<br>I'd let it start growing out really big<br>I just go oh this is kind of funny I'll<br>have a mustache and so one day when I<br>was streaming is just one of those times<br>I just didn't shave and then I started<br>just letting it go and then I got kind<br>of a beard and then I just had a<br>mustache and when I did it people were<br>just like he yeah it's mustache time and<br>I was just like feels like it's like a<br>lifestyle decision right it's like this<br>is the fun times and so all a sudden it<br>was just like exciting to have a<br>mustache and I shaved it off and I was<br>like okay but then you know part of me<br>is like you know there's this weird<br>energy that comes from just having a<br>mustache so I was like I'm going back<br>told my wife forgive her uh she was very<br>uh not as thrilled about my decisions to<br>have a mustache long term but I just<br>decided to have it back and it just is<br>it's just like it was the right thing<br>it's like part of it's always been the<br>energy that I had was the mustache it<br>was always been there it just never was<br>visible until later on it feels like<br>yeah we're we're chatting offline how<br>one of the components of a successful<br>relationship is sacrifice and your wife<br>was willing to take the sacrifice of<br>allowing you to have a mustache I<br>clearly was not willing to sacrifice not<br>having one<br>so you uh do this incredible incredible<br>thing where you try a bunch of different<br>programming languages when you stream<br>you uh you have<br>like you go all out on certain<br>programming languages like rust and then<br>go and then trying to pick a new one but<br>also are like experimenting constantly<br>so um maybe one question I can ask is uh<br>about<br>learning what's your approach to<br>learning a new programming language and<br>maybe what's your advice on learning a<br>new programming language when you uh<br>begin that Journey so I've kind of done<br>a bunch of different ways to go through<br>this learning process and I've tried a<br>lot of different ones something that is<br>obviously successful is just start<br>building something just put your hands<br>on the<br>keyboard you know like especially if you<br>already know how to program you're like<br>okay I'm now using Zig how do I do a<br>main function so I can just run the<br>program okay I now know how to build<br>okay how do I do an if statement what<br>does it look like okay how do I do<br>declare my own functions how do I do<br>modules right you just kind of like<br>Google your way through it if you will<br>to get to the end product and build<br>something it's a good it's a great way<br>to do things because I find that<br>repetition like rote learning is<br>obviously the best way to do this uh you<br>have to kind of go over it a bunch and<br>you can you can definitely get out and<br>build a lot of stuff with that and I I<br>like that initial kind of get used to<br>things but on top of it I find that by<br>doing that you also fall into like traps<br>you kind of Google and you try to solve<br>a problem in the language based on all<br>your previous experience M and so you<br>you don't have what makes that language<br>special you kind of have what all the<br>other languages make special and so you<br>end up kind of not really being able to<br>use it very effectively but you can<br>certainly kind of learn it and get kind<br>of good at it and so the second approach<br>I've been doing lately and this has been<br>inspired by the creator of ghosty uh<br>Mitchell Hashimoto is to just start by<br>reading the language reference the whole<br>thing and so lately I've been just kind<br>of going through and just reading the<br>entire uh manual for these languages<br>like Zig I'm almost done with that one<br>you know it's like 8 to 10 hours just<br>sitting down reading and I'll whip out<br>my computer and kind of practice a<br>couple of the things from the actual<br>docs and that way I can learn all the<br>things so then when I start building<br>again I will remember okay I know<br>there's a thing over here let me go<br>reread about it because now I have an<br>index in my brain somewhere that will<br>kind of remember and so I don't think<br>there's like a right or wrong way I mean<br>at the end of the day the right way is<br>always that you have to build something<br>eventually you cannot just read about it<br>you have to put your hands on the<br>keyboard you have to build something out<br>and then once you do that that's where<br>you really discover what makes it<br>painful or what makes it great and if<br>you don't have the breath of what the<br>language offers you just may make it<br>painful by simply being bad at it what<br>do you exactly you're reading like the<br>like language reference the language<br>reference so it just goes through like<br>every feature top to bottom right every<br>way it's described all the different<br>things like I think ziggs is you know<br>it's a it's a decent size but it's not<br>just simply read the words you want to<br>internalize each concept as well so it<br>takes a long time so I'm a slow reader<br>so you're like building uh in AI terms<br>like a background model like of just<br>because because I don't think you can<br>just start building once you're done<br>reading because you probably forgot yeah<br>you know how to do a for Loop like you<br>you you kind of forget the specifics you<br>just are building up the the design<br>choices the set of features available<br>what are the strengths and weaknesses<br>all that kind of stuff and then you<br>start building that's really interesting<br>probably not the thing you would<br>recommend to uh a junior like developer<br>somebody who's just starting out first<br>if you don't know what an if statement<br>is that's not a good way to learn like<br>to me the best way to learn then is<br>really hands on the keyboard and<br>building extremely simple things and<br>slowly growing in complexity because<br>understanding what a class and methods<br>and instances versus the blueprint which<br>is the class versus functions versus<br>modules versus all that stuff right like<br>that's that just takes time to learn and<br>so that's a completely different style<br>of learning I wonder because for me<br>learning right now uh AI is is is a huge<br>help but I already have a lot of<br>experience I want<br>if you're starting from scratch whether<br>that's a good idea but I still think<br>it's probably a really good idea but<br>basically generate some code using Ai<br>and figure out what it's doing by<br>playing with different parts um maybe<br>can you comment on on that aspect like<br>the use of AI as part of the learning<br>process this is where I have both the<br>hopeful and the Doomer take at the exact<br>same time yeah<br>uh and it's the same thing with Google<br>or stack overflow like this it's it's<br>all the same kind of take which is it's<br>just making things more democratized in<br>some sense I get to ask questions in<br>probably the most personal possible way<br>with my own voice and my own words and<br>it's able to produce out answers and<br>kind of hopefully help guide me now<br>regardless of just say the erors and the<br>incorrectness is of it like ultimately<br>just using it as a learning you know<br>tool and being able to just you know<br>formulate and read answers in your own<br>voice I think it's super powerful and I<br>think it's it's super amazing<br>but the part that I think is going to be<br>really difficult is that we don't<br>value remembering things anymore as a<br>society like since the internet came<br>about I can just look that up I can just<br>look that up no need to like you don't<br>need to memorize your time tables right<br>you can just use a calculator you can<br>just do all that I I remember I just was<br>sitting on the airplane and I watched<br>someone do the world's most simple<br>addition and subtraction like 10 times<br>on their phone I'm like why are you not<br>just<br>like you should already know these you<br>should be able to do these things and I<br>realize that we kind of offload our<br>brains right oh I don't need to know<br>these things because I can look them up<br>and that's not a bad answer in some<br>sense I can understand that like I don't<br>need to remember every last thing but<br>then it also makes me realize that you<br>kind of developed this learned<br>helplessness that a new error comes up<br>I'll just ask the ai ai says oh okay I<br>got to fix this line I fixed the line<br>you didn't actually learn anything you<br>kind of just used it as a quick means to<br>get something out and move on and so you<br>sacrifice knowledge for Speed which is a<br>great thing in some like you we have to<br>make those trade-offs all the time in<br>engineering sometimes you have to move<br>fast at the sacrifice of knowledge and<br>I'm totally on board for that but I<br>worry that what we'll create is a um is<br>an entire generation of incompetent<br>programmers who can do some amount of<br>things well but anything that is unique<br>bespoke or require some extra like<br>little elbow grease might become very<br>difficult it might cause a whole C where<br>Juniors remain Juniors forever and I<br>don't want to see that I want to see<br>people grow I want to see people you<br>know actually be able to take this as a<br>craftsmanship thing and so that's kind<br>of what I that's like both my hope and<br>my My worry is is that AI I think can<br>can do both really because if you could<br>ask whatever question you want and you<br>don't have to rely on say a book to give<br>you that exact answer and if the book<br>just said it wrong and you can't<br>understand it it's just like sorry you<br>don't get to learn what this is like<br>recursion for me I spent way too much<br>time until someone gave me the right<br>problem to understand recursion you<br>could imagine AI could have solved that<br>for me way faster because it could have<br>gave me the right problem and walked me<br>through much better but what happened if<br>I just always have recursion solved by<br>them and not actually learn it myself so<br>if I ask AI to generate code to do a<br>certain thing some actually large<br>percentage of time most of what AI<br>generates is going to be correct for me<br>but some percent of time it's not like<br>fundamentally not and for me to<br>recognize the difference between those<br>two I think it takes a lot of experience<br>like I think to learn that skill of<br>knowing like no no no a different new<br>outof the Box solution is needed here<br>than the one you're providing you're<br>missing the the the point um that's a<br>skill and how do you learn that you<br>learn that by building from scratch so<br>both are probably really necessary yeah<br>but I think it's the first step of<br>learning how to program it's pretty it's<br>pretty nice to generate a function to<br>generate for loops and all that kind of<br>stuff and then just fuck with the<br>different lines and like modify them to<br>try to adjust the behavior of the<br>program and from the way the the<br>behavior of the program adjusts or if<br>bugs are created you learn about the<br>syntax of the the the<br>language the behavior of the language<br>all that kind of stuff so I I think it's<br>a super powerful way to learn but yeah<br>you need to also write from scratch at<br>some point you have to take off the<br>training wheels because I think what<br>you're really spotting is the difference<br>between reading and writing code like I<br>can read a lot of languages very well I<br>can see what's happening I can<br>understand it but like I would not be<br>very good at writing it I can understand<br>a lot of things about C++ and I can read<br>it but I'm just not that because I just<br>don't I haven't done it in so long I<br>can't remember all or all the semicolons<br>and colons and like you know you do<br>public and private and how should you do<br>naming conent like you know all those<br>things kind of add all together and then<br>you're just like oh I'm really bad at<br>writing it though I can read it and so<br>there's like this there's a skill Gap<br>ASM that exists between those two all<br>right well let me talk about the various<br>languages the cheesy uh ridiculous<br>question of what's the what's the best<br>programming<br>language um let's say what's the best<br>programming language that everybody<br>should learn maybe uh let's go with the<br>top five I'm going to pull up the stack<br>Overflow developer survey because I<br>think we have yeah those are wa you<br>don't like them no no those are those<br>aren't that you got to remember because<br>I mean you're a data guy right you know<br>about biases and data what does what<br>does stack Overflow naturally bias<br>towards well they have the different<br>slices of professional developers uh<br>junior developers they have different<br>slices okay what's what what is the bu I<br>hear you but who fills out a stack<br>Overflow survey someone who participates<br>on stack Overflow who's participating on<br>stack Overflow largely very very new<br>people and that one guy that loves<br>answering questions and so I'm not sure<br>if that like if stack Overflow is a<br>great place to get data it could be a<br>very biased set of data is it really<br>only uh new people I mean that's who's<br>using stack Overflow all right most<br>popular<br>Technologies on this JavaScript HML<br>python SQL seel squel is the more<br>General kind of I'm sure they're not<br>doing the individual uh sort of flavors<br>of squel uh by the way pronounce SQL<br>versus SQL it's squeal squeal you sque<br>squeal I think is the correct way squeal<br>I did sequel because I didn't you know I<br>didn't know the audience I don't know if<br>they can handle the truth okay which is<br>it squeal a squeal of Joy squeal squeal<br>light my squeal postgress squeal by the<br>way I had a lot of Joy from earlier<br>saying Pig fucker for some reason it's<br>such a ridic I mean can you believe that<br>that was a real conversation that I had<br>yeah that was uh typescript bass Java C<br>C++ C it largely kind of aligns with the<br>world you'd expect but like assembly why<br>is assembly more popular than Ruby who<br>is who's wring just assem by no one<br>writes assembly by hand other than like<br>maybe that one guy that's developing TLS<br>1.3 and hand rolling a cryptography<br>algorithm to be the fastest possible<br>algorithm right yeah assembly is a weird<br>one maybe people write it maybe in<br>school but even in school no for like a<br>operating systems course or something<br>like that or system engineering I don't<br>know if they write assembly anymore they<br>I don't think so yeah anyway and Swift<br>and Ruby being less popular than<br>assembly seems ridiculous uh but<br>nonetheless okay so you get my ideas<br>behind that but as far as top five<br>languages go that's probably too broad<br>because you could just name so many I<br>think you should probably archetype it<br>by what you want to do so if you want to<br>get into game development perhaps C C++<br>could be good choices or uh JavaScript<br>and doing canvas games I could see that<br>also working but you know you got to<br>you're limited by doing JavaScript<br>obviously because it you can't do as<br>much because the language is just not<br>fast enough to do as much so it's like a<br>good thing to remember<br>uh if you're going to be doing backend<br>stuff you know if you want a job if<br>you're looking for a job maybe c/ Java<br>or JavaScript or go would be great<br>choices if you're looking to do embedded<br>you probably want to do c mhm C++ like<br>that would probably be a good choice and<br>so you kind of have to I think you have<br>to first determine what do you really<br>want to get out if you're just curious<br>about programming which I talk to a lot<br>of people who are uh yeah you can<br>consider jobs but basically their<br>question is okay what's the first<br>language I should learn and maybe what<br>are<br>the several languages I should explore<br>can I say something that's going to make<br>a lot of people angry yeah sure I think<br>the first language people should learn<br>if they have no idea about anything as<br>JavaScript yeah why would that make<br>people angry oh because people just I<br>first off I'm not supposed to say<br>anything nice about JavaScript yeah<br>usually that's the meme that you hate<br>JavaScript right yeah no javascript's a<br>beautiful language and it has a lot of<br>things that are very great for it and<br>one of them is that you can express<br>anything with very little effort and so<br>someone that's new I think it's really<br>great to be able to draw a box and move<br>a box like that's great you get to see<br>it visually I think that's one thing<br>that's really great about JavaScript is<br>that you can do that then you can go<br>okay I want to learn about at the back<br>end I want to make a request now you can<br>write a quick back end and now you're<br>starting to get familiar with<br>programming a little bit I can save this<br>to a database I can bring it down I can<br>put it on a screen and I can animate it<br>all around and I can even put it on a<br>canvas and render it in 2D or 3D so it's<br>like there's so much variety of what you<br>can do with with JavaScript it's a great<br>way to get introduced into programming<br>but then at some point you have to go<br>okay I now need to learn more about this<br>whole thing I mean yeah just like you<br>said you can make games you can do front<br>end backend for web development you can<br>even do embedded they actually have ja<br>like there's uh West boss is building<br>his Roomba or something and programming<br>it with JavaScript and react which is<br>just the world's worst language to<br>choose from bed but you can still do<br>it also we mentioned sort of in terms of<br>applications anything that relates to<br>data or machine learning python is the<br>sort of the leader there yeah that's a<br>great one it seems like python Cuda<br>stuff and C++ would be a dynamite in<br>that because a lot of these python<br>libraries I assumed are just you're just<br>smuggling in C++ underneath the hood or<br>C okay so<br>JavaScript I'll say python Python's a<br>great one too you can get quite far with<br>it but you can't write the front end so<br>what happen if you love the front end<br>right what happen if you really just<br>want to design things and you just<br>didn't know that wait okay so for that<br>JavaScript but Python's a good choice CU<br>you can't do the ml stuff in JavaScript<br>nearly as easy do we count HTML and CSS<br>as programming languages I think there's<br>like some technical definition that it<br>is if you put it if you use this certain<br>amalgamation of CSS plus HTML it<br>actually has like it can be a tour and<br>complete language yeah but I mean for<br>practical purposes no HTML is not a<br>language um you know I for me L yes the<br>touring test is a good one but for those<br>that are just not wanting to be as<br>academic if I can't write a function and<br>an if statement I don't feel like that's<br>a I don't if I can't Loop if and<br>function I don't feel like that's a good<br>that's a programming language although<br>modern HTML has a lot of features it is<br>crazy how much it has but it's more of a<br>specification than anything else I<br>specify it to be a popup I specify to<br>have this kind of like accessibility<br>this kind of look this kind you know<br>under these conditions look like this<br>transform like this move down here I<br>don't know I kind of like these popular<br>program languages in this list I like<br>JavaScript you like bash well yeah I<br>like bash a lot yeah why okay bash is<br>kind of one of those ones where it's<br>like do you really like the do you<br>really like it I like it up until I need<br>an array oh as a programming language<br>just no but I like I like the command<br>line okay that's F yeah do you like B no<br>nobody likes<br>bash do you mean I meant is so offended<br>right now means do you use it a lot yes<br>it's good to I mean it's good to learn<br>right it it's good to be comfortable on<br>the command line because it's a bit of a<br>superpower it's like I think I follow on<br>Twitter FFM Peg great<br>account like there's certain Twitter<br>accounts that are just like legit yeah<br>and uh you know I I think FFM Peg like<br>they have all these sort of parameters<br>that you can add on the command line<br>that it's like one of those cryptic<br>languages that only very few Wizards<br>understand but once you begin to slowly<br>understand and I'm only at the very sort<br>of beginning stage of that journey to<br>Mastery the powers you gain at every<br>step is like it grows exponentially it<br>feels like I mean fmeg is just this<br>incredible like what would you call<br>library system there's just the people<br>behind it must be just brilliant<br>masterminds because they have to work<br>with all these codecs with all these<br>containers with all this they the the<br>the mysteries of the media Kodak<br>Universe they're like masters of and<br>they understand compression which is<br>another Super fascinating technical uh<br>set of problems that I don't know I just<br>FFM just fills me with joy that it<br>exists but you need kind of bash type<br>Comfort command line Comfort to to to<br>work with it to really unlock its power<br>yeah I think FFM Peg is probably one of<br>the most consequential libraries of our<br>day<br>and the Twitter account is so<br>unhinged it is it's the most amazing<br>thing to see because I think F FFM Peg<br>does not get the love it deserves yeah<br>every single application OBS probably<br>FFM Peg underneath the hood all the Prof<br>everything FFM Peg underneath the hood<br>and then and yet you know they do not<br>get the love they deserve I just love it<br>I just think the best yeah I would say<br>JavaScript HTML CSS python SQL I mean<br>that is a SQL squeal is is a programming<br>language yeah it's an incredible<br>sophisticated programming language yeah<br>SE is interesting I I would have I<br>believe you can classify it as a<br>programming language it does have like<br>if you have case statements in it it's<br>pretty crazy what you can do you could<br>do functions you can do all that you<br>should stored procedures that that's how<br>you make your life hell um I will say<br>that all the top languages right there<br>are none of them are like<br>strict uh static typed languages and so<br>even typescript you can you know I don't<br>like this any and so for people that are<br>learning doing something that's much<br>more strict would be great something<br>like go rust um even I mean even CP C++<br>like anything that kind of changes your<br>perspective of types I think is really<br>helpful to kind of go through they're<br>not getting nearly as much love on this<br>most popular language list but I think<br>they're very fantastic all right well if<br>I put a gun to your head five top five<br>languages let's let's list them out<br>there there's a bright-eyed 20-year-old<br>asking you what are the top languages to<br>five languages to learn um if I were to<br>pick five languages that I think people<br>should learn or at least how about let's<br>restate it this way I'm going to say a<br>couple languages and you should at least<br>explore some of them I think you should<br>explore explore a Lucy language so uh<br>python JavaScript where there is truly<br>only one type which is a box to Value<br>which is a multivariant different types<br>underneath the hood right what you call<br>it a Lucy language a Loosey Goosey<br>language right it's a dynamic language<br>okay um and so I think it's really good<br>to explore one of those two so I'd put<br>python or JavaScript right there even<br>Lua in the bunch I think you should<br>explore a strict language uh so I'd do<br>something like rust go um I think those<br>are both really really great C++ you can<br>do C++ you can do some type eraser in<br>C++ you can do it with go as well but<br>it's for the most part that's it's a<br>great language to do that in um it can<br>get a little wild new C++ seems great<br>everyone keeps telling me new C++ is<br>great M um it has every feature you've<br>ever wanted and all the features you<br>don't want yeah exactly I mean there's<br>smart pointers there's dump pointers<br>there's all kinds of pointers there's no<br>memory leaks not an issue face guns soft<br>beds there's everything in there unless<br>you like memory leaks that it has that<br>too if you want that kind of thing it's<br>great okay how about this one languages<br>that I actually want to really learn<br>that at least sit in my curiosity bank<br>there's three languages which is going<br>to be swift Elixir o camel and then I'm<br>going to throw Odin in there just to<br>just cuz Ginger Bell is great but Elixir<br>and O camel I don't have a strong<br>function language underneath my belt<br>that's something I just genuinely lack<br>yeah I've heard incredible things about<br>Elixir about Odin about o camel<br>obviously I'm a person as you know who<br>loves lisp I have never done lisp lisp<br>could be in that category too just like<br>learn or closure I think at this point<br>is what everyone tells you to use so in<br>the case of lisp sh I don't want to<br>speak negatively about lisp but it's<br>important about like modern Community<br>what the community looks like and it<br>seems like there's an excited maybe<br>small but an excited Community around<br>Elixir Odin and ok so that helps that<br>you can post shit on Twitter that you're<br>like I accomplish this you have people<br>get excited and it's nice it's a good<br>feeling you can post like something on<br>Twitter and you'll get like a thousand<br>likes if you do something cool in Elixir<br>yeah okay like which is a pretty big<br>that's like a pretty big amount of<br>people to like a post for such a niche<br>topic programming is already a pretty<br>small topic then you get into functional<br>program that's a small Topic in a small<br>topic yeah I don't get D much if I post<br>something about emac I'll get crickets<br>if I post something if I if I proudly<br>use new of him there'd be a lot of<br>people like yeah good job because it is<br>the best editor uh yeah maybe it's just<br>hype come back to the Civil War Lex yeah<br>sometimes you have to sacrifice and go<br>from the superior editor that is emac<br>and uh choose neovim just to be popular<br>you sacrifice integrity and values and<br>quality for just popularity so AB I love<br>how you put it okay uh anyway what were<br>we talking about I like how you doing<br>this in bunches that's great right now<br>my my kind of side Honeys that I'm<br>exploring is side honey yeah side Honeys<br>right like they're not my main state<br>right now goes kind of my favorite one<br>to build a web app in like if I'm going<br>to build some sort of backend with a lot<br>of complicated logic goes just so<br>convenient but I get really frustrated<br>with its ability to express uh<br>everything that I need like if you have<br>a list a heterogeneous list a list that<br>contains two<br>types goes just really not that fun to<br>use and so I could see so the ones I'm<br>exploring is ji or Jay or the language<br>as Jonathan Blow says and zigg and both<br>of them have a lot of power to them<br>they're both very interesting they<br>definitely have foot guns in them<br>they're definitely more you know um they<br>don't take it easy on you zigg seems<br>like it's a really amazing language and<br>so does ji they're both very cool yeah<br>actually I saw uh Dave uh Plummer's<br>testing of close to 100 languages for<br>Speed and Zig came out on top yeah that<br>was a mistake I mean when I say mistake<br>I nothing against Dave plumber he's an<br>extremely talented engineer yeah it's<br>just that Zig C C++ all those languages<br>that were being tested they're all lvm<br>backends right that's the one that<br>actually turns the thing into the<br>executable part and if there's a<br>variation in speed it just means in one<br>language you didn't quite Express what<br>you're supposed to correctly like uh<br>there's the language ball test that's<br>been bouncing around on Twitter yeah Zig<br>was like sixth or seventh below I forget<br>what language is um I played around with<br>the example added the word uh no Alias<br>to the argument which means that the P<br>the piece of memory that's coming into<br>this function there's no Global pointers<br>there's nothing to it and so the<br>compiler can make these really cool uh<br>optimizations and I made it faster than<br>the C version so it just means that just<br>it's just not correctly specified as all<br>that means yeah but it's still it's<br>still exciting to me the competition<br>between Zig rust and C++ is really<br>interesting like part of is for Speed<br>part of is how easy it is to write<br>perform a code I'll say something that's<br>the reason why I think Zig is so<br>interesting comparatively to say C or<br>rust C is like the ultimate language it<br>can do anything you have pre-process or<br>macros you can do quite a bit with it<br>but it's also really difficult and it's<br>also really simple and you can learn it<br>so it's kind of its like own unique<br>beast and when you get really good at c<br>c is a magical language and people are<br>really great at it um and people speak<br>very highly of it rust is like this<br>Ultra safe language what you can do and<br>see you just can't even express in Rust<br>rust is going to be that sa the safe man<br>that holds you at night keeping you warm<br>it's going to be just the greatest but<br>somewhere in the middle lies Zig Zig has<br>optionals if you're not familiar with<br>optionals that just simply means there's<br>a value here or there's not but you<br>first have to check that before you can<br>use it so it prevents that whole null<br>pointer D referencing seg Vault problem<br>and that's not that's not available in C<br>just by default you have to kind of<br>build that thing in it is the only<br>option in Rust but Zig says hey if you<br>have a pointer you can't express it as<br>null unless if you Market that it can be<br>null there's ways around it there's like<br>other types of pointers and stuff like<br>that that can do that but for the most<br>part Zig like will give you safety for<br>the most part right so it's like a<br>little bit of safety but more like C so<br>it kind of gives you like everything you<br>kind of want in that region where it's<br>where you can express safe code and<br>unsafe code it's very easy to write it's<br>very it's very pretty or at least the<br>idea behind it is very pretty the<br>language itself is Bland but wow there's<br>Beauty and everything yeah Prime uh<br>you've uh programmed in Rust a lot what<br>do you uh what do you love about rust<br>what are the strengths what are the<br>weaknesses maybe you can speak about<br>memory management that you already<br>mentioned yeah the challenge of memory<br>management that uh several of these<br>languages address but yeah what do you<br>love about rust what I love about rust I<br>I love that it's that uh the ability to<br>free the memory that you're using is<br>directly tied to the stack so whenever<br>you create something there's a stack<br>variable or there's some amount of Stack<br>memory whether it's a pointer off to the<br>Heap a pointer and a length so you know<br>some amount of memory on the stack and<br>then some of memory on the Heap because<br>a string is not all on the stack it's<br>some on the Heap some on the stack and<br>when that stack variable goes out of<br>scope and gets cleaned up it also cleans<br>up what's on the Heap so it kind of<br>simplifies this whole idea of whoops I<br>forgot to free my memory it just does it<br>for you so it's not a garbage collector<br>which will do it sometime later it's not<br>like C where you have to call it<br>yourself it's somewhere in between now<br>there's a lot of strategies people use<br>um Arenas and all that that make that c<br>part much easier I'm just not even<br>mentioning it but it just makes it a lot<br>easier here but Russ does that really<br>beautifully and it's just like a really<br>cool idea about it and I really like<br>that and the second thing that I think<br>Russ does really like is such a good<br>thing is that mutability of something is<br>you have to specify it so you don't just<br>create a variable and then mutate it you<br>have to say this is not only a variable<br>it's a mutable variable and I think that<br>just makes clode really readable and<br>really understandable cuz anything that<br>does not have the word mute next to it<br>you know for a fact it cannot<br>change so there's some rules around that<br>but you get the general idea unlike most<br>programming languages you have to<br>explicitly state that this is going to<br>be CH this is going to be changed yeah<br>yeah that's really interesting I mean<br>it's safe it's it's trying to be and and<br>this the safety might be it's uh create<br>limitations let us consult the AI<br>overlords Russ is a blazing fast memory<br>efficient systems programming language<br>that emphasizes performance type safety<br>and concurrency<br>uh the language enforces memory safety<br>without using a garbage collector as you<br>said instead utilizing a unique quote<br>borrow Checker that tracks object<br>lifetimes at compile time this prevents<br>common programming errors like n pointer<br>D referencing and memory leaks and so on<br>yeah so you've also spoken about<br>metaprogramming um which of these<br>languages do you like for the meta<br>programming I love meta programming in<br>C++ but it's it's giant mess at least<br>when I program C++ C++ 17 standard I<br>believe it's just it's just a mess<br>especially a mess to debug yeah I I<br>would consider myself kind of a<br>metaprogramming newbie I have only<br>solved some amount of problems with it<br>uh I I'm that's kind of like what this<br>year is for is for me to really I want<br>to see where the ends can go in that so<br>I don't have a strong opinion on this<br>one uh Zig one thing I really like about<br>Zig is that the metaprogramming is also<br>the language itself so you don't have to<br>like there's not there's not an<br>alternative so with rust there's an<br>alternative when you create a macro you<br>have to do the macro syntax with Zig<br>it's just it is the thing you just<br>program it you add the word comp time if<br>you want it to be a compile time only so<br>you can do like you can create the list<br>of prime numbers at compile time in Zig<br>which is kind of an interesting unique<br>thing so you have code that executes<br>that compile time and then you can take<br>advantage of the result of it at runtime<br>so neat right like that's how I'd look<br>at it uh but again I haven't I haven't<br>used used it to the point where I feel<br>like I can super authoritatively talk<br>about it you have been undecided what<br>language are you going for this year uh<br>I'm going to keep go as my main stay my<br>two side Honeys uh G and Zig I'm going<br>to explore and try to build out a<br>service in them that can do a bunch of<br>talking to say Chad jippy and 11 labs<br>and send stuff down to client and work<br>with websockets and I want to make sure<br>that I just want to see kind of how do<br>they perform in this realm and you know<br>I may be using the language incorrectly<br>like J I'm not exactly it's not really<br>been designed for the web world I just<br>got done writing the ability to read<br>twitch chat and it required me to do<br>Berkeley sockets so if you're unfamiliar<br>with Berkeley sockets it's like the old<br>way of doing it how you do it in C so<br>you have to kind of go through the whole<br>nine yards of uh creating your own<br>connection I had to create my own<br>connection I have to read from the<br>socket then I have to parse out all the<br>IRC right like you have to kind of build<br>it from scratch there's not like a new<br>TCP connection to This Server you have<br>to be like I'm creating a socket you're<br>going to be of the ipv4 family in t TCP<br>and you're going to do you know I'm<br>going to now have to take your address<br>and go look up your address with DNS get<br>that address back and then connect to it<br>with TCP so it's a lot more manual still<br>it's a lot more raw in that area but<br>it's fun what are some epic projects<br>you've built on stream that uh jump to<br>memory my most favorite sorry for<br>interrupting you sorry I'm getting I'm<br>I'm really jazzed right now let's go<br>okay so jazzed jazz hands uh my most<br>favorite project uh was the one I did<br>last<br>year there someone built a doom aski<br>Port so you could play Doom with asky so<br>that means you could play it in your uh<br>terminal very very fun very excite so I<br>made a go program that could spawn out<br>the Doom asky then I took that doom asky<br>and I sent it to the browser so that<br>people could play Doom asky in the<br>browser but then I made it so that<br>twitch chat could control that instance<br>of Doom uh asy by piping in twitch chat<br>taking the average of the movements over<br>so much time and replaying it as if it<br>was a controller and I had a twitch chat<br>beat level one by spamming it but the<br>fun part was is I used a bunch of fun<br>encoding techniques I used like quad<br>trees to be able to take smaller amounts<br>use run length and coding try to create<br>my own compression algorithm because if<br>you're sending out a bunch of asky stuff<br>it's still pretty expensive because you<br>have to represent color color is not<br>cheap on top of it you have to represent<br>what does it look like what does the<br>asky look like well I realized you know<br>there's all these fun techniques you can<br>do for compression like the shape of the<br>asy you send down<br>is in a lot of these engines are<br>actually just proportional to the<br>Lumosity of that pixel so like you'd use<br>an eight to represent or a pound sign to<br>represent like white but black you're<br>going to want to do like a period or a<br>comma or a bar you know something<br>smaller so it's like I then developed<br>all these different compression<br>algorithms to turn a bunch of data which<br>would take you know I forget how much it<br>would take it take gigabytes upon<br>gigabytes to be able to send out to 2<br>thousands of people to all see the same<br>image at the same time to all be able to<br>interact with doom at the same time I<br>turned from gigabytes into kilobytes by<br>just trying to figure out how to like<br>make it as small as possible and send it<br>all out it was super fun absolutely had<br>a great time so you're actually sending<br>it to all the people in chat so where's<br>the that that pipe where that pipeline<br>how chat is able to<br>control the Doom thing twitch chat yeah<br>so they would go people would spam W and<br>if you said W it would hold down W for<br>150 milliseconds if the majority of<br>people during that time period said w<br>nice okay so and how are they getting<br>the input of where you are on screen so<br>originally I was going to send that<br>through twitch but twitch is like 5<br>seconds behind so that's why I piped it<br>out to a website so everybody could see<br>from my computer to the website in<br>typical uh leg was right around 70<br>milliseconds M so it's like they could<br>mostly see what was happening in that<br>short period of time it was it was<br>pretty exciting so we had a th people or<br>I had somewhere between 1,00 to 1400<br>people smashing W's and pressing f to<br>Fire and turning and we killed some<br>zombies we blew up the barrel at the<br>very end of level one to kill the Imp<br>how are you getting the W's from the<br>twit chat is there an API IRC I was<br>using IRC so just a little TCP socket<br>and then you just parse out IRC okay and<br>there's very little lag there okay yeah<br>I think it's it's a couple hundred<br>milliseconds though it's enough that it<br>actually made it a little bit difficult<br>CU people would often overturn and then<br>go forward and like Miss the door and<br>then they had to go back<br>and that's awesome it was awesome so<br>that was my favorite I think project of<br>all time just cuz it I never got to do<br>like a lot of encoding encoding is kind<br>of like you know you what do you<br>normally do okay I need to send<br>something down I don't know gzip it<br>server will just do it server just does<br>the right thing I don't need to think<br>about it so instead it's like I think<br>about it I'm going to send the right<br>thing yeah you have to think about the<br>compression yeah and there you go that's<br>some more love towards FFM Peg they have<br>to think about that a lot ultimately<br>inspired by FFM Peg and their<br>awesomeness<br>everything uh so can can you speak to<br>just the chat community in general like<br>a big part of what you do in terms of<br>streaming is the humans that are<br>communicating with you live can you uh<br>can you talk to the uh the different<br>chat communities first of all which is<br>the best chat Community uh YouTube<br>twitch or X this is where I feel bad for<br>YouTube because I do think it's<br>technically the worst but it's not<br>YouTube's fault and let me kind of<br>explain why and then I will explain why<br>you're wrong but go ahead I know you I<br>know you love YouTube but let me let me<br>explain why is that when you go on<br>Twitch you go to anyone's<br>Channel MH they have this like cultural<br>Human Centipede thing that's happening<br>where as the memes flow in all of twitch<br>kind of reacts and and morphs to all<br>those memes so every channel you go to<br>has this like same culture everyone<br>there's a lot of similar emotes and<br>everything so it's very tight-knit so<br>when I stream I get all the same jokes<br>that you would pretty much see if you<br>saw I don't know Soda Poppin or some big<br>streamer asmin gold whoever prate<br>software streaming all the same memes<br>would all flow through the exact same<br>kind of pipe and so it's a very holistic<br>kind of community so every time you're<br>making jokes you're making jokes that<br>are like in The Ether Twitter kind of<br>has that too Tech Twitter kind of has<br>like a set of jokes and so you can kind<br>of see it if the problem with Twitter<br>chat is that there's just nobody there<br>right now you know typically like just<br>put it into perspective I have somewhere<br>between um<br>somewhere between like 1,500 to 3,000 uh<br>people on Twitch somewhere between 800<br>to 2,000 on YouTube and like 50 people<br>on Twitter so it's like the the<br>difference is is massive but they all<br>kind of Twitter has that same thing<br>that's developing where there's like<br>memes that are constantly flowing<br>through it and so they're very highly<br>connected YouTube just doesn't seem to<br>have that they're just a bunch of people<br>and people go to YouTube for various<br>reasons I'm going to YouTube to learn so<br>they come in they want to learn so<br>they're not like on the meme train<br>they're not in this like cultural zeist<br>train they're just like but why would<br>you use this if statement when a switch<br>statement in this one particular case<br>and you're just like well that's not<br>what I'm trying to do here yeah you you<br>want to Captain the meme train or you<br>want to ride on the meme train yeah or<br>you just want to be able to like create<br>a culture on your chat because your<br>chat's going to be some variation of the<br>of that kind of zech I that's flowing<br>through twitch and it kind of is very<br>contiguous between X and twitch it just<br>feels really out of sync with YouTube<br>and then YouTube particularly does a bad<br>job and some people would argue a good<br>job because you can swim swim being you<br>can actually change what time stamp<br>you're at so all a sudden you'll be like<br>oh yeah you know I you know something<br>about like driving to soccer in my<br>minivan and then 20 minutes later you'll<br>be talking about Zig and someone's like<br>I personally use a whatever to drive to<br>soccer and you're like what are we<br>talking about like so YouTube is a very<br>disjointed chat as well because it<br>depends on where they're at within the<br>video swim comes from Netflix by the way<br>called Swim swim the term yeah that's<br>that's that we people said swim oh so<br>you're you're okay swimming through the<br>yeah so you're not just making up the<br>term thank you wow yeah but it's<br>probably made up and probably only 10<br>people said it Netflix and so no one's<br>going to know it and they're going to be<br>like yeah right that's not happens on<br>Netflix uh so yes going back to projects<br>what uh what projects on stream or in<br>general no you need to answer why<br>YouTube chat's the best chat well you<br>kind of convinced me okay why YouTube is<br>the best chat<br>um well I think I'm just a hater uh<br>that's that's basically what it bows<br>down to and I'm just talking shit and<br>I'm probably just like from the outside<br>shoot you know shooting in because<br>twitch is such a fun culture you know of<br>memes and so it's just fun to shoot from<br>the outside to like throw to like egg<br>the house of<br>twitch and then I just sit back on my<br>lawn chair and uh with a small YouTube<br>Community just talking shit no you're<br>you're absolutely right there is a<br>there's a real sort of sense of<br>community that twitch can can form but I<br>just like the openness of YouTube it's<br>just better at opening to the world it's<br>more<br>accessible it's easier to share it's<br>just a more established platform that's<br>all f for the<br>non uh for the open world like I can<br>send it to people that don't usually<br>watch video game streaming or that kind<br>of stuff yeah if you send a twitch link<br>they're like I don't like video games<br>and you're like well actually it's not<br>video like there there that talk happens<br>every single time you mention twitch cuz<br>twitch does have a perspective about it<br>that YouTube does not I was just on uh<br>uh Rogan's podcast and I I think it came<br>up he asked something like is Twitch<br>still a thing so that just gives you an<br>example uh and then and then Jamie uh<br>said yeah yeah it's definitely still a<br>thing it's still like growing and so on<br>and so yeah there's just a Big Slice of<br>humans that don't participate in the<br>twitch uh twitch sphere yeah I just like<br>talking shit so yeah that's a beautiful<br>answer but it's cool that you sort of<br>make it accessible on all these<br>different platforms and I have high<br>hopes for X but yeah it's feature-wise<br>it still has a lot of growing up to do<br>and and just like why do people use x<br>you typically are going there for like a<br>text based interaction you want to look<br>through so I also think they just have<br>like a user expectation change that<br>needs to happen and that that just takes<br>a while you know that's going to take a<br>little bit before people get to it I<br>think their idea of audio first is a<br>great first step where people can kind<br>of listen to it and have the phone away<br>maybe there's a lot of like changes that<br>have to happen before X can be<br>successful in land I mean X is this<br>incredible comment section just like<br>Reddit right so it's like no no you said<br>incredible that's not Reddit uh comment<br>section correct comment yeah incredibly<br>Dynamic and vibrant even if it's uh yeah<br>what is<br>the what is the technological platform<br>like how does the the interface and the<br>technology<br>shape the discourse it's fascinating<br>because X is a different style than<br>Reddit different style than like<br>Facebook different style than Instagram<br>it's interesting and all those comment<br>sections are different technologically<br>like how the sorting is done how easy it<br>is to sort of uh uh build a community<br>around it you know cuz YouTube it's not<br>really a community every single video on<br>YouTube has its own mini Community<br>you're like all talking shit on just<br>that one video but like you're not you<br>can't jump across there's not like hey<br>Bill hey GE you know there's no cross<br>talk that happens in multiple videos<br>yeah but Community is awesome I love<br>Community I love the feeling of<br>community and I guess that's what twitch<br>really provides YouTube also does have<br>it though like they have an aggregate<br>Community you know there's a lot of fun<br>comments and all that on the videos and<br>a lot of thumbs up and then you see the<br>fun discourse that happens and it's like<br>that's the community it's just only a<br>certain slice sees it I think that's<br>even more so on YouTube for live<br>streaming though all the same folks show<br>up and they talk shit they celebrate<br>they all like the the meme train arise<br>yeah okay so now what projects shape you<br>as a programmer<br>uh whether the ones you've<br>streamed or uh offline for me I don't<br>know if there's like a one project I can<br>point to but I can I can point to a<br>specific spot where I think it happens<br>and where I think you can learn a lot<br>from um any small program you write will<br>be somewhere between like a th000 to<br>5,000 lines of code I consider like a<br>pretty dang small project you can kind<br>of correlate this to any feature within<br>a larger system as well you know a<br>specific feature on a website could be a<br>thousand lines a couple thousand lines<br>there's a point in which all of your<br>choices add up and that's I typically<br>find that right around 5 to 10,000 lines<br>of code the choices you've made either<br>weigh you down or kind of free you up<br>and so it's right in that that I feel<br>like I learned the most is because I<br>love getting to that point in a project<br>or in some small part of the code base<br>because at that point I get a test a how<br>good were my initial gut decisions about<br>how I designed software but B now I need<br>to go back and think about like how am I<br>going to do testing across this in a<br>more effective way how can I scale this<br>out to 20,000 lines of code how can I do<br>all these things with what I've got or<br>do I need to kind of rethink it and I<br>find that that's really where the best<br>learning happens is that everybody has<br>probably a different number that exists<br>and as you go to each one of these<br>numbers or how well or holistic you want<br>your project to be I think that you'll<br>come up with different numbers and I<br>think that number should just get bigger<br>as you get more experienced cuz you know<br>there's like there's projects that are a<br>million lines of code but they're most<br>certainly not holistic right like every<br>part of the code base is some age at<br>some capsule of time with some sort of<br>programming style some is more<br>functional more class-based<br>more God help your soul for it's<br>pre-processor macros and C++ right like<br>there's like all these different kind of<br>things you'll find throughout time and<br>so that's why I kind of try to think<br>about it as like the feature or the<br>thing you're working on it's usually<br>about 5,000 lines is where I find that<br>things get kind of did I make good or<br>bad decisions and that's where I do all<br>my learning is right on that phase I'm<br>trying to get it to the point where I<br>should be able to shoot from the hip and<br>do 20,000 lines and not be upset about<br>it so first of all on the just enjoying<br>the thing you create part yeah about<br>there you can sit back and see all the<br>parts dancing together uh for me also<br>debugging you get to see the choices you<br>make materialized as like how easy it is<br>to debug like I'm a big proponent I<br>think You' mentioned this in the past um<br>I put a a everywhere no you're the<br>reason why I do that yeah you're like<br>the first one keep on going sorry really<br>okay uh so for me one of the joys<br>whether it's uh try catch blocks whether<br>it's aert whether it's with the testing<br>I uh I get to see the payoff of all the<br>the mind field of asserts of laid out<br>before me in my kingdom by how quickly I<br>can debug a system as it grows larger<br>and I can first of all discover errors<br>before they become real bugs and also<br>how quickly I can solve those errors and<br>that that brings me joy for me a lot of<br>the joys of programming is creating<br>powerful<br>systems<br>that don't break down that work<br>correctly that work correctly in<br>majority of the cases and they sort of<br>the stress testing the system and<br>getting all the signals from that system<br>that everything is working working<br>correctly is uh is is something that<br>fills me with joy and makes sure that<br>the system actually works so yeah that I<br>don't know if it's 5 10,000 lines of<br>code if it's Java or C++ it's Millions<br>lines of code but yeah uh in Python yeah<br>I would say 10,000 lines of code that's<br>when you first get to see the magic but<br>anyway you were saying okay so you and<br>John carac had a conversation about<br>asserts yes you talked about this idea<br>of putting asserts everywhere that<br>effectively crashed the program when you<br>you have some state in your program that<br>should not be represented and you have<br>made this Choice actively MH and so I've<br>never done that before and I know this<br>is like an old technique and I obviously<br>must be too young or too dumb to know<br>that this was a thing people did I grew<br>up in Java and I think that's probably<br>why I didn't run into this so I saw that<br>I was like I'm curious about how to use<br>asserts more and then I ran into a<br>person named yon he's the CEO and<br>creator of tiger beetle it's like the<br>world's fastest greatest Financial<br>database and it was spawned out of a<br>company that needed to do a bunch of<br>financial transactions and it's written<br>in Zig and what they do is they do<br>deterministic simulation testing and<br>they just uh use NASA's kind of<br>guarantee for creating really great<br>software so like don't use uze specify<br>your exact size of int you expect<br>everywhere all these kind of like things<br>they do to be very uh specific and one<br>of them is that every function should<br>contain two asserts whether it's<br>positive space like uh you know these<br>things should happen or negative space<br>like you should not this pointer should<br>never be null you're programming into<br>things that should never happen normally<br>you just never specify that you'd never<br>think about that so every single<br>function everywhere has all these<br>asserts and these asserts run both in<br>production and in testing they're always<br>on and then they did take determination<br>simulation test deterministic simulation<br>testing and run like 200 years of just<br>random data just complete slop going<br>through the system and seeing how far it<br>goes and when an assert happens they're<br>like here's the input that caused it<br>here's every last little bit that<br>happened and now you can identify where<br>this went wrong and it was so cool so<br>between you John carac and yon that's<br>where I like okay I got a really and<br>NASA I'll throw NASA Bon as well NASA<br>can join in on that one uh I was like<br>okay I want to try this and I did try it<br>I built uh kind of like this big reverse<br>proxy for me trying to do some game<br>development stuff and I just went Ham on<br>the asserts and then I built a whole<br>simulation testing thing that could do<br>everything deterministically so you know<br>even the result of requests would all<br>come in specific orders and I found a<br>bunch of bugs that I just would never<br>have found and then I did it for a game<br>I was making I found some bugs where my<br>cursor went off screen it would cause<br>all these different problems cuz I just<br>never tested them it it's super fun and<br>it's like a really great way to program<br>yeah I think it's a skill set you go<br>over time it's it's not just that you<br>have to specify the preconditions like<br>every everything that has to be<br>true it's also adding things that are<br>like you might not even think about you<br>have to sort of anticipate really weird<br>things and if you add asserts especially<br>in complicated functions or in<br>complicated classes<br>that uh are able to catch really weird<br>things that's going to save you so many<br>headaches and it's going to help you<br>learn about your own<br>code this is one of the things I think<br>it was uh Jonathan Blow that either in<br>conversation with you or was it uh in<br>presentation he said that when he's<br>starting in a project he usually doesn't<br>know what like how to implement<br>it like what how it's going to work uh<br>and I think he was saying that he wants<br>a programming language this might have<br>been a criticism of C++ I'm not sure<br>where he wants to program a language<br>that makes it um as painless as possible<br>for him to not know what he's doing how<br>he's going to implement it and to<br>quickly get to a place where he figures<br>it out<br>I think there's a fundamental like part<br>of programming is building stuff while<br>not really<br>knowing what the next thing you're doing<br>is you kind of have a loose design maybe<br>a strict design but really you're<br>solving puzzles they're not it is a dark<br>room in a in a fundamental sense and<br>there you have to anticipate the kind of<br>weirdnesses that might<br>emerge while not really knowing<br>everything just this this full like fog<br>fog of<br>War um and there that's a real skill to<br>anticipate the kind of uh issues that<br>might arise and put ass SE on top of<br>them and it's also like spiritually for<br>me uh been a really nice way of<br>programming of building of living life<br>is having like very<br>strict asserts that say like you're<br>going to fix this problem if it ever<br>arises you can't just look the other way<br>like this idea of treating warnings as<br>errors like make sure your code compiles<br>without any warnings that was a big leap<br>for me it's like but there's so many of<br>them and I it's not really that<br>important it's like no no no warnings<br>like make sure you treat every single<br>problem uh even like fuzzy problems<br>seriously because that's actually<br>longterm is going to create code that's<br>much easier to work with much more fun<br>to work with much more robust resilient<br>to all kinds of weirdnesses that kind of<br>stuff so it's a different way of<br>approaching coding probably more NASA<br>like versus like web programming style<br>but yeah it it has made programming for<br>me personally much more fun cuz one of<br>the most painful things about<br>programming is creating when you get<br>past 10,000 20,000 lines of code and you<br>have to find a<br>bug and that bug can take hours it could<br>take days to find and that's torture<br>yeah when your system gets sufficiently<br>large some of these bugs are just they<br>are very difficult I you know bless<br>anyone's Soul that's working on million<br>line code bases because it does it just<br>I I can't tell you how many times I've<br>spent multiple days just trying to<br>figure out the root cause of the bug not<br>even the fix just like why does this<br>happen and that's hard so I love that I<br>just love the asserts because I'm not<br>good at them I can see it's definitely a<br>skill that I don't I don't put into<br>practice constantly which means it's<br>just not like a muscle memory type thing<br>MH and so it's just one of those things<br>I just love it's just it's such a<br>fascinating way to approach a problem uh<br>because I would have never thought you<br>know what I'm going to do if I'm wrong<br>I'm going to crash this thing I'm going<br>to crash it right here because I should<br>never be wrong but instead you're like<br>oh actually that makes perfect sense I<br>should crash this thing I've done<br>something terribly wrong here why would<br>this ever exist and then you're like<br>this is going to solve a whole class of<br>problems yeah and especially if it's in<br>production it's like well user is going<br>to see this crash it's like yeah well<br>you should minimize the number of times<br>any user ever sees the crash not by like<br>having a nice blue screen or whatever<br>the fuck but like actually stopping<br>everything and that's going to be uh and<br>that's going to create an incentive for<br>you to never have that happen you're<br>actually going to put in the time to<br>make sure it never happens and the nice<br>part is like with the web and all that<br>you can always pop up something and say<br>hey things have gone very very wrong or<br>unable to recover you can like give them<br>a nice message and then log it off so<br>you can see it and then measure how<br>often are you doing it you know I I<br>understand that there's a bit of<br>interestingness to a uh to a web project<br>like do you want to always crash a<br>server there's a bit of a gamble if you<br>release a bad version and you crash all<br>your servers constantly you know like<br>that's a that's a pain you're going to<br>have to accept I think this is more<br>applicable for uh single systems like<br>robots and so on you have struggled with<br>ADHD I think uh a lot of people are<br>really inspired by the fact that you're<br>able to be productive Ive and<br>flourish uh while having ADHD how' you<br>overcome it well there's a lot of things<br>that ADHD affects and<br>so I'll start with some of the easiest<br>things because there's like directly<br>applicable than like these kind of<br>collateral damage applicable things that<br>happen so one thing that has really<br>helped me with ADHD is maturity I think<br>that's just like just a thing that<br>everyone needs more of meaning that I<br>found myself getting so Wiggly and so<br>out of control when I would try to sit<br>down and read and I just I just couldn't<br>handle it I just felt like I'd read a<br>page and didn't read anything uh the<br>part of me that just went oh man gosh I<br>just can't even do this I had to just<br>simply quit listening to it and said no<br>I'm rereading this page I'm re I<br>remember reading some pages in college<br>like 18 times in a row just like I'm<br>going to force myself to just do this<br>the correct way and so there's an aspect<br>of maturity that really helps no matter<br>what I will do the thing I'm going to do<br>and I'm going to do it well and maybe it<br>takes me a lot longer and that's okay<br>that's not the point of it it's that I'm<br>doing it and that's the point and so<br>that's kind of like one thing I think<br>just generally helps and it ADHD no ADHD<br>you know the resilience emotional<br>resilience is just like a really<br>important aspect that just helps and so<br>I think that has been a large part that<br>really helps me um there's things that I<br>still obviously struggle with like it's<br>clear where I'm really bad at stuff and<br>just trying to like think through all<br>the different things that I'm bad at<br>there's more things I'm bad at that I'm<br>good at and so programming obviously has<br>something that just allows me to remain<br>focused and it's like a strength of mine<br>and so I started off where I could just<br>do it for a little bit and then just<br>through kind of that emotional<br>resilience I was able to start doing it<br>more and more and so now I can just do<br>it for like 10 12 15 hours at a time and<br>I absolutely love it and so it's it's<br>become kind of like a joy it's like<br>playing a musical I'm really into it but<br>then if it came down to hey you need to<br>go schedule your own you know dentistry<br>and go do all these other things or make<br>sure the kids have this type of stuff<br>ready for you know the meals you need to<br>pack throughout the week<br>I'm historically very bad at that and<br>will probably uh continue to be very bad<br>at that and so I must say that one of<br>the reasons why I excel so much is<br>because I also have a wife who is so<br>good to me and she helps clear out a lot<br>of the things in my life that cause a<br>lot of like me kind of getting<br>snowballed into a weird spot where I'm<br>just like distracted getting nothing<br>done and so she's really helped me so<br>it' be foolish of me to claim that I've<br>defeated DHD by myself but<br>instead I find that the places that I<br>can really control I've done a very good<br>job at and the things that I obviously<br>need to do much better at my wife has<br>helped me a whole bunch and so I've kind<br>of cheated maybe I found a cheat code<br>loving wife but that has been the thing<br>that has really helped you you said a<br>lot of interesting things so on the on<br>the reading and the for me it's also<br>audiobook side I do uh the same thing<br>and I've gotten much better at it which<br>is like you know I tune out mentally and<br>I you know I yeah there's you know read<br>a page and you don't understand anything<br>on the P you you didn't actually read it<br>and yeah you I I forced myself to just<br>uh reread it or relisten to in the audio<br>book which is much more common problem<br>for me now uh and forcing myself to<br>really pay attention cuz I I listen to<br>audiobooks often when I run and it's so<br>easy to just tune out yeah it's a skill<br>like I didn't realize how much of a<br>skill listening to an audiobook is<br>especially when there's other sensory<br>inputs like when you run so I have to<br>force myself to like really pay<br>attention to every single word and if I<br>don't like tune out and don't remember<br>what I just listened to in the past 30<br>seconds I force myself to relisten to it<br>and uh sometimes that means like five<br>times until like it's like punishing<br>myself to like you're going to listen to<br>this boring shit over and over until you<br>get good at that literal skill of<br>like zoom in and you're like yeah<br>there's people they're like doing stuff<br>there's nature doesn't matter you're<br>listening to every single word and<br>loading it in and trying to stay focused<br>even though there's just so many<br>distractions all around you yeah it's<br>definitely a learn skill and it takes a<br>lot of time and when I say you know oh I<br>was able to do from here to here I'm<br>speaking over the course of like 5 years<br>of doing this every day like it's not<br>some small there's no you could the nice<br>part about that decision though is you<br>can make that decision today you can<br>make it right now you're going to be<br>like from here on out I'll never make<br>that mistake again I will say I'm going<br>to read 50 pages I will sit down and<br>read 50 pages and when I get distracted<br>I'll go back to the last place I<br>remember and I'll start again and like<br>that's a decision you can make that's a<br>mature you know non-emotional decision<br>to make and you can do that it just may<br>be really painful for the first couple<br>years of making said decisions and then<br>it gets easier and then gets easier and<br>then it just it becomes more natural to<br>change yourself yeah and with with every<br>media with every platform I think it's<br>like a new<br>skill uh for me like using social media<br>has been that just like I end up like<br>Doom scrolling yeah too easily on<br>platforms so and one solution is not to<br>look at all which is kind of what I lean<br>on mostly these days but I feel like I<br>should be able to check just read H okay<br>feel a thing learn a thing and then put<br>it down yeah versus<br>like you this glazed look over your eye<br>and you're not really paying attention<br>you more and you're dead inside and you<br>feel horrible afterwards I don't<br>understand um the horrible afterwards is<br>real serious i' I've definitely I can<br>100% notice that I am a more anxious<br>person the more time I spend scrolling<br>yeah yeah I can just feel it it's like<br>something inside of me that's kind of I<br>don't know how to say it other than it<br>like wants to get out but I don't really<br>know what that is it's it's not anger<br>but it's not you know it's it's very<br>anxious it's like the opposite of the<br>feeling I have when I wake up in the<br>morning and I'm feeling good and I look<br>out in nature and like look at the Sun<br>and<br>just and it's like a bird chirping and<br>this kind of thing like scrolling<br>through social media even if it's like<br>super positive stuff or whatever it's<br>still not the same feeling as the bird<br>chirping bird chirping on Instagram is a<br>different bird chirping than in real<br>life like cuz bird chirping on Instagram<br>I'll start swiping until like there's<br>like Demons of different types fighting<br>inside my head and then I you know yeah<br>different anxiety insecurity whatever<br>the hell just the mixture of Chaos<br>versus the bird chirping in real life<br>that that's beautiful but again that's<br>the same thing is with with the audio<br>book it boils down to like man these<br>people that talk about meditation I<br>think that's probably they're on to<br>something cuz like the that's what<br>that's what it is is be able to like<br>Focus uh calmly and deliberately on a<br>thing whether it's reading or Audi book<br>or<br>existence when they sort of observe the<br>breath you're able to silent out<br>everything else remove everything else<br>from Focus yeah that's a skill I heard<br>it put really beautifully which is that<br>uh we in America really have<br>misunderstood Liberty because we<br>typically have Liberty as just the<br>freedom to do whatever you want and the<br>argument was that it's not the freedom<br>to do whatever you want it's the freedom<br>to be able to do what you will and how<br>often is what you you actually want to<br>do you don't do cuz you get trapped<br>doing something that you've convinced<br>yourself in this quick moment you want<br>to do and so it's like I want Liberty I<br>want the ability to control my energy<br>and to be able to like do the thing I<br>want to do not to get distracted and<br>destroyed in all the millions of<br>distractions and some of us get you know<br>handed a worse deck of cards some of us<br>get a better deck of cards but I don't<br>think there's anybody that doesn't<br>struggle with it in the technological<br>age yeah that's the skill well what can<br>you say to the the the skill of<br>achieving focus in programming like do<br>you do you have a process of how<br>you sit down and try to sort of approach<br>a problem so all the<br>different uh not just distractions but<br>the challenges of starting a project of<br>thinking through like the design how to<br>maintain like real Focus CU it's really<br>difficult intellectual Endeavor I guess<br>at this point I'm lucky uh but when I<br>first started I can remember that every<br>last part of programming I had to go<br>look up I had to go read I had side<br>quests at all time like every step was a<br>side quest why is my screen blinking<br>when I'm trying to render this thing out<br>oh I didn't know about double buffering<br>why is this happening how do I even<br>write to the screen how do you know like<br>everything was a question I had more<br>questions than answers and so I<br>constantly had this like the problem of<br>side quests and I find that to be a very<br>exhausting thing but as I learned my<br>instrument very very well I don't have<br>as many side quests I become more and<br>more able to just focus on the thing I<br>want to do and I find that to be<br>something that is just super super<br>useful so when I say I'm kind of Lucky<br>meaning that I've spent so much of my<br>life preparing for this moment that now<br>when I have the opportunity to do<br>something I can just do that thing and I<br>don't like I can be just on an airplane<br>and I can just program for hours I don't<br>have to look up a single thing I don't<br>have to do anything I don't even have to<br>test the code I can write a thousand<br>lines of code on an airplane and I'm<br>very confident that it's going to be 98%<br>pretty dang good<br>and I'm very happy about that because<br>that allows me just to be in the moment<br>solving the problem I'm trying to solve<br>then I have 100% of my brain power<br>solving a problem and this is why also<br>it's the same reason why I recommend<br>learning how to type and learning your<br>editor so well you don't even have to<br>think about the action because the<br>people that have to even if you just<br>look down that's still mental processing<br>power you have to spend looking at a<br>keyboard in which you already know where<br>the key is like you do you know at this<br>point if you've been typing for<br>thousands of hours you know where the<br>key is just just stop looking down<br>you'll learn really quickly and so it's<br>like this thing where it's like I'm not<br>going to spend all that time and all<br>that mental effort like looking up the<br>thing I'm going to just memorize you<br>know I'm just going to get it in me and<br>then I can go fast and it feels good and<br>so that's how I kind of defeat that it's<br>because now I get to do something where<br>it's like there's no more questions it's<br>now me just expressing myself into this<br>medium and it feels really good I'm sure<br>there's still like things that pull at<br>you like Curiosities distraction like I<br>wonder how you know uh anytime I guess<br>you have access to the internet you're<br>going to like get Twitter's a big one on<br>that one yeah you're going to get<br>curious about stuff yeah including I<br>guess you're speaking about everything<br>in the editor optimized but you're okay<br>you can always improve stuff you can<br>always find better sort plugins and<br>macros and oh let me you know what this<br>thing that took uh this paino I just<br>found this tiny paino let me spend the<br>next 5 days creating a plug-in for my<br>editor or whatever the fuck uh to uh<br>remove that one pain point when you<br>should have just kept going uh as<br>supposed to take in the side quest so I<br>have a rule yeah which is I do not edit<br>my RC other than some kind of<br>cataclysmic thing like someone updates a<br>plugin I didn't know they updated now<br>there's like a hard error in my editor<br>and I have to like move forward um but I<br>have a rule where I will edit my RC my<br>neovim RC or anything once a year<br>something that bothers me I I will write<br>it down I'll remember it I'll be like<br>okay I want to change that but I will<br>just not go back to it now every now and<br>then I I'll I'll break that rule if I<br>know like oh I want a new remap to be<br>able to do this one command and that<br>takes like literally 13 seconds like<br>copy paste do this b b done okay I have<br>this new remap it made perfect sense in<br>this situation but I don't go plug-in<br>exploring I don't try to solve every<br>problem I don't want a perfect editor<br>because that is a Pursuit that will<br>never stop I just go this is good good<br>breakpoint I won't do it again so I<br>spent last month I probably spent 100<br>hours just like editing every possible<br>thing I could about how I start up my<br>system MH and make I can have a computer<br>from Z to 60 in almost no time now<br>everything the way I exactly want it<br>neovim everything all perfectly set up<br>happy enough I'm not going to touch that<br>system again maybe I'll touch it next<br>year maybe I'll take a year off you know<br>it's just I'm fine with that I'm fine<br>with not being perfect all right 0 to 60<br>let's talk about the perfect<br>setup uh what's your uh perfect<br>programming setup keyboard operating<br>system humies screens chair all right I<br>like all these ID let's go so keyboard<br>you're using my favorite keyboard right<br>there the Kinesis Advantage uh save my<br>career beautiful keyboard uh concavity<br>and thumb clusters are just so important<br>because if you really think about it<br>especially if you're using query when<br>you're pressing the symbols like on a<br>standard key you're just doing this the<br>whole time backspace enter symbols like<br>you're just doing this and just screws<br>up your wrist constantly doing this and<br>this one you're constantly doing like<br>control and shift it's just as like<br>messing you up so it's just like right<br>here that's so much nicer in life so<br>keyboard most important I'd say get that<br>one done for people who don't know<br>Kinesis keyboard I I think the the thing<br>that you experience the most is exactly<br>the thing you just said now which is the<br>backspace is really easy to press yeah<br>versus what it is on normal keyboards so<br>backspace in general symbolizes like<br>you're deleting a thing<br>it symbolizes a mistake not symbolizes<br>it usually means a mistake and so uh not<br>only did you just make a mistake in what<br>you were typing you also have to take a<br>physically painful action annoying<br>action yeah to to to to fix that mistake<br>and for most of us we make a lot of<br>mistakes so uh Kinesis just makes it<br>Pleasant and fast and easy physically to<br>correct the mistake I that's probably<br>for me the number one reason of Kinesis<br>everything else yeah super plus with the<br>mackerels and the positioning the<br>concavity like you mentioned but there<br>mistakes are Pleasant yeah I'm on that<br>team that's why so that's why I love<br>that so that's I would say that's one of<br>the most important things the next thing<br>I find to be very very important is that<br>one monitor I'm a one monitor kind of<br>guy what really so when I program when I<br>do anything now when I stream I<br>obviously have a second computer that<br>runs the stream cuz you know I sometimes<br>crash my computer I have to restart it<br>whatever so I do have a second screen<br>there that that I put stuff up but most<br>of the time you'll notice that even when<br>I'm streaming uh you've been there I<br>have to physically switch to the<br>streaming chat channel for me to read it<br>and that's because I'm operating off of<br>one screen and so I have this whole<br>style in which I like to navigate<br>inspired by Starcraft is that I believe<br>in the press one key go where you want<br>to be mentality and so everything about<br>my setup is press one key so when I want<br>to go to Twitch chat alt two twitch chat<br>when I go want to go to my browser alt<br>one that's my browser alt three that's<br>where I go to my programming that's<br>power finger obviously a big middle<br>finger right there just Smash It Down uh<br>alt six is going to be gimp so my ganu<br>image manipulation program so if I want<br>to draw I go there when I used to have<br>slack it was all five if I have a spare<br>terminal where I need to run some extra<br>things that's alt four I had all these<br>kind of everything is perfectly mapped<br>out to single key and then when it comes<br>down to using say t-mo I have all my<br>terminals into one single terminal and<br>now I'm able to kind of switch between<br>there uh prefix one goes to my Vim<br>editor whatever project I'm in it's<br>always the first t-mo T tab if you will<br>I'm not sure they call it a session but<br>not sure how to describe it if you're<br>not familiar with t-mo a tab second one<br>is like my spare terminal third one is<br>my long running process terminal my<br>fourth one is a long running process<br>terminal so I have it all set up so<br>every project I go to automatically<br>spawns Session One Vim session two spare<br>terminal session three will also open it<br>so it's like everything's just r at Rock<br>m everything has been optimized to where<br>I do that if I want to go to a project<br>it's crlf in any terminal will bring up<br>a fuzzy find list of every one of my<br>folders on my operating system in which<br>I can go to just a couple keystrokes and<br>boom I'm in that one now and so it's<br>like very oriented to find where I need<br>to be as quickly as possible via<br>keyboard via keyboard then in Vim I<br>developed a plugin called Harpoon which<br>is I press one button and I can uh pin<br>one of the files to like a temporary<br>buffer I think a projectile is<br>potentially close to this in emac I<br>can't remember if projectile I think<br>projectile is closer to uh my sessioning<br>script anyways uh so now I can I have<br>four pinned files in which I can go to<br>any of those pinned files with just a<br>single keystroke and so now it's just<br>like cuz every time you develop a<br>feature usually you have like three<br>files you're kind of primarily working<br>in and that can fuzzy fine for the other<br>files and that's that but usually I just<br>have like these three power files and<br>I'm always swapping in between and so<br>it's like now everything is just I want<br>to go to the browser that's one press I<br>want to go to my workstation that's one<br>press I want to go to a specific folder<br>I need to change folders sometimes you<br>work between two different um projects<br>so in t-mo that's prefix capital L will<br>swap between your last two so I have<br>alternate projects I can even swap<br>between projects and pretty much one key<br>so it's just like d d d just trying to<br>optimize it so I don't think as much<br>because I think search fatigue is a<br>massive fail where you have to look for<br>like when I see people on a Mac do this<br>and then explode all the that anxiety<br>like why are youing your eyballs toar<br>what want to do like make it into aess<br>and never about it again ever you're<br>making me think a lot whether I can live<br>with your system whether it's better<br>because it feels better at least<br>intellectually feels better it may not<br>be great for some people there's a few<br>profound things you said which is like<br>really what<br>you're the the the number of Windows or<br>tasks you're switching between whether<br>it's programming the number of files<br>you're working on is small yeah any one<br>time at any one like space of like 20<br>minutes or something like that so okay<br>that's that's a profound truth sometimes<br>we think like oh I need the full freedom<br>to search but you don't you usually work<br>on a very small slice but I guess the<br>trade-off there like I always have three<br>monitors not not when I'm traveling but<br>my my happy place is three monitors it's<br>like do you really need all of them to<br>be present there so you're turning your<br>head now the the monitors I have is two<br>vertical ones okay which is just better<br>for certain kinds of content ver I mean<br>they're positioned vertically so you can<br>read you can use your eyes to scan<br>quickly interesting so I don't even do<br>that I even have it so zoomed in that I<br>probably only have like maybe 25 lines<br>of code at any one time on my 27 inch<br>monitor yeah I think that's<br>okay I think I feel fundamentally<br>constrained when I can't see more cuz<br>your your eyes are just good at jumping<br>like okay like you could like why not<br>search why not press a couple keystrokes<br>control U control D jump down by up and<br>up and down by half page because the ape<br>visual system was designed to like<br>you're loading in a lot of information<br>like what if every time you have to<br>investigate this table what's on this<br>table you have to press a<br>keystroke you you could develop the<br>skill set that integrates that<br>information but like it's really there<br>is an effective thing where if you have<br>a sheet of paper like this and I'm<br>looking at it my eyes will be able to uh<br>load in the structure of the<br>information the the topics of the<br>information like you just can do it<br>faster I think there's a big cost<br>because you you know it's an extra<br>monitor but there is some stuff that's<br>vertical when vertically positioned code<br>see code is an iffy one cuz code you<br>really you 25 lines at a time I think<br>you can do a<br>lot this is more for like articles and<br>especially with visual information in<br>them or documentation you can just jump<br>faster but I'm trying to as you were<br>speaking uh so eloquently I was like<br>wondering am I just<br>like deceiving myself that I need that<br>can I just keyboard shortcut ify<br>everything and just have everything on<br>one monitor that's something I should<br>probably try cuz I'm a big proponent of<br>just automating everything with the<br>keyboard because you could just move<br>really really fast you don't have to<br>think uh one of my you know cuz I also<br>do um creative stuff like uh whether<br>it's recording music or um video editing<br>it's it's hard you know some of these<br>programs don't make it super easy for<br>you on windows with auto hotkey you can<br>do quite a lot but still there's<br>limitations on how much you can do with<br>the keyboard so that's it really is a<br>pain has to have to use the mouse but<br>man you're really making me think it's<br>you know the even the text one with the<br>reading one I like fundamentally I think<br>I agree with you that you can you can<br>see a lot more and you can kind of look<br>up and down and see those two things and<br>probably In Articles or things like that<br>I could you know if there's like a graph<br>down here that's really big that take up<br>your whole screen plus text I could see<br>why that would be very beneficial to<br>zoom out to be able to have all that<br>information but for me I can only look<br>at like a square inch like really that's<br>all my eyes can actually focus on so<br>when I'm reading I'm here then I have to<br>like structurally try to pattern match<br>what I think the information looks like<br>then I have to start reading it so I'm<br>not exactly sure if I actually get any<br>real benefit of having a lot of stuff on<br>screen as opposed to I can relax my eyes<br>so much I don't even have to focus the<br>words are so big like I actually program<br>pretty zoomed in um my text is bigger<br>than this when I when I program and so<br>it's it's just that it's so comfortable<br>I don't even have to exert any effort to<br>read the code but you have to kind of<br>train your brain to know that you can<br>navigate in the like spatially using<br>keys yeah neovin by the way oh maybe it<br>has everything to do with neovim okay<br>all right and then neovim is obviously<br>the next big one I love neovim uh reason<br>being is that I think you can make all<br>the arguments you want about which<br>editor is the best I do not think you<br>can make an argument that Vim motions<br>aren't Superior here we go can you<br>explain Vim motions what is this so Neo<br>Vim is a old school editor Neo Vim it's<br>a modern take on old school editor yeah<br>and um<br>what's<br>E5 what like what does it take to work<br>with Neo Vim okay uh I thought you were<br>talking about a Vim motion there that's<br>how you know that you know that I know<br>but you know that Meme that's just like<br>hey Jarvis can I tell you about Vim<br>motions because they can't fit anything<br>else in their head because they only<br>have Vim motions you said el5 like<br>explain it like I'm five but in my head<br>it's like okay e is jump to the end of<br>the word L's one more like dude I'm so<br>like broke I'm like okay V MO whens um<br>yeah so you can think of it like this is<br>that Vim has a language to describe<br>movements in text MH because its primary<br>mode of operation is manipulating or<br>editing text so it is a well thought<br>through set of movements deleting<br>yanking pasting copying all that kind of<br>stuff that goes in motions that are<br>optimize for working with pretty much<br>code good example say you have three<br>lines of code you want to delete if<br>you're in vs code take your little<br>beautiful Mouse highlight those things<br>press the backspace that's lovely your<br>hand left the keyboard very simple to do<br>though it's very beginner friendly uh I<br>was a huge Vim hater by the way so I<br>just want you to know that before we go<br>into this I was probably the biggest Vim<br>hater if there was an a like Saul to<br>Apostle Paul I am like the Saul to<br>Apostle Paul of Vim just so you you see<br>how big the Gap was y or you can do<br>something that's like I don't know what<br>the vs code shortcut is but I'm sure<br>there's some keys you can press to<br>delete the current line you're on delete<br>delete delete right you can just do that<br>in Vim I can go dap delete around<br>paragraph all contiguous code in that<br>thing I'm going to delete so D then I<br>can choose my motion I want to take AP<br>around paragraph or maybe I want a d f<br>mean jump up to the next character that<br>matches the next character I'm going to<br>press so DF opening parentheses will<br>delete everything from your cursor up to<br>the first opening parentheses so you get<br>to describe your Motion in these little<br>keystrokes and as you get really good<br>you know you've seen people that can<br>Master for forite it's the same thing<br>with mastering Vim motions when you get<br>so good you no longer think about each<br>individual movement instead you're just<br>like get rid of the paragraph jump here<br>jump this highlight this yank this do<br>this you know it becomes so fast that<br>you can superiorly edit text at a very<br>fast rate and there comes a point where<br>when you know your language really well<br>you know the problem you're really<br>working on really well where editing<br>text and getting code out actually<br>becomes one of the many bottlenecks<br>people always talk about well most of<br>the time I think most of the time I'm<br>not thinking I'm programming I know what<br>I want to do do I want to go as fast as<br>possible cuz I've been just doing it for<br>so long and I'm so familiar with kind of<br>the general space that it becomes a huge<br>problem for me I cannot tell you how<br>many times that I've been purely<br>bottlenecked by the fact that I just<br>can't type fast enough I just need to<br>get the I just need to get it out of my<br>head onto the you know onto the text<br>editor and so that's why I think Vim<br>motions are superior in all aspects keep<br>your hands on the keyboard on the home<br>row and can manipulate text in very wide<br>and fast ways oh so this is not just<br>about writing text this is about<br>modifying text it's primarily about mod<br>ifying text yes and I'm sure that most<br>editors including emac including vs code<br>can do all those same things but there<br>is something they just don't encourage<br>you to discover those things yeah that's<br>like an important thing about a lot of<br>technologies that and L programming<br>languages that a lot of them can do a<br>lot of the stuff yeah but it's something<br>about whether it's the community or the<br>style of the language or anything like<br>this that encourages you to not be lazy<br>in the beginning and learn the fast way<br>to uh to edit text in in this particular<br>example yeah how to use the keyboard<br>that that's a fascinating sort of just<br>reality of how technology is used you<br>want to be encouraged to find the fast<br>thing as quickly as possible so that<br>long term it's efficient and fun to use<br>it takes a long time for dividends like<br>a long time but on top of that notice I<br>didn't say Vim I'm not saying go use Vim<br>I'm saying Vim motions um let me give<br>you one more example okay I'm a big fan<br>okay let's say you have a line that that<br>contains some some variable some<br>function you're calling something that<br>takes in a string and you need to do<br>that again so you you you would<br>typically copy that line you paste that<br>line below you'd go into the string and<br>You' change the string let's say it's<br>calling some sort of configuration you<br>need to call it three times with three<br>different configuring strings in Vim I<br>can I like to do shift V to highlight<br>the whole line then y some people do y y<br>but I don't like to do double ones I<br>like be able to do two different fingers<br>because you can do that way faster than<br>one finger twice it's just a little<br>optimization for me because you can't<br>press that as fast so anyways very<br>optimized in my Approach so I yank the<br>line past the line CI double quotes will<br>delete everything inside the first<br>occurring string then I can type the<br>string Escape save and so it's like so<br>optimized that I can just jump so fast<br>in between that whereas the copying and<br>pasting line is probably the same speed<br>but the navigating to the string<br>deleting what's currently in the string<br>and then you know like that's such a<br>fast motion in vim and I just do that<br>all the time to backtrack really dumb<br>question uh CI what's the difference<br>between typing the letters and using the<br>letters to navigate and that how do you<br>switch between the two modes okay so<br>insert mode means that you're just<br>putting in text Y and then uh normal<br>mode means that you're moving your<br>cursor and how do you switch between the<br>two uh Escape esape goes from insert<br>mode into normal mode and uh to go into<br>insert mode press I to take your current<br>cursor and go to the beginning a to go<br>to the end of the your cursor capital A<br>to go to the end of the line capital I<br>to go to the beginning line o to put a<br>new line below and then put your cursor<br>at the proper intented for the language<br>shift o to shift your current line down<br>and then put a new line in like you can<br>see there there's like a pressing escape<br>a lot yeah I mapped mine I do control c<br>control- c does the same thing except<br>for in one Edge case people hate that I<br>got used to it just due to the fact that<br>I was using intellig and I really hate<br>pressing the Escape key so I just got<br>used to pressing so that seems like a<br>essential thing to do if you're using<br>neovim to map escape to something cap<br>lock would be like your standard goto oh<br>yeah I map it too cool I got you yeah so<br>then then it's just really easy to press<br>and boom boom boom not a big deal at all<br>uh but yeah I think that if you're<br>willing to learn it the emotions are<br>superior but if you're not willing to<br>learn it then they're not Superior you<br>should just not do it right if you're<br>willing to endure pain it's good if<br>you're not it's it's actually way worse<br>it's aund times worse right so if you<br>like pay use new of him totally you're<br>totally now you get it if you like Joy<br>you use emac so oh oh sorry sorry did<br>emac ever get a good text editor I know<br>they're a great operating system but I<br>never caught up if they got a good text<br>editor operating system I I think you've<br>been miseducated my friend so at least<br>30 minutes on emac versus neovim is what<br>Reddit um requested have you actually<br>used emac in order to be able to talk so<br>much shit or no I used it for a year you<br>used it for a year yeah yeah Doom Max<br>space Max and regular emac but you don't<br>know lisp so you did you really use it I<br>I kind of hacked my way through kind of<br>like okay so this is how the configure<br>you know like you can kind of get your<br>way through and do all that so you<br>recommend to sort of mastering you of<br>him and really learn the depths of it<br>but emac is okay to just kind of use<br>before making a judgment I think I think<br>everybody you got me on that one yeah no<br>uh and what's new of been written is Lua<br>yeah so Lu would be the configuration<br>language but you have uh it's written in<br>C but you have Lua for and L is just a<br>dead simple language anyone can program<br>Lua I actually don't know why I think<br>it's because my love for lisp that I<br>went with emac I think you just choose a<br>path and you walk down that path mhm and<br>uh because there's just such a vibrant<br>intense battle between the two<br>communities you just start fighting just<br>because everybody else is fighting and<br>then one day you're like an old Warrior<br>like on a horse and you're wondering<br>what what was this all for<br>and uh I mean it's it's quite sad in all<br>seriousness that I haven't to this day<br>tried NE ofm it's uh I think because<br>there is a learning curve there's a<br>learning curve to a lot of these editors<br>yeah to really like to really learn it<br>to really learn it and I think there<br>this is some of the criticism of maybe<br>vs code or sublime or Adam but that it's<br>so easy to not learn it to just kind of<br>half-ass use it and there is is a big uh<br>benefit to having editors that like<br>force you to have some learning curve<br>where you like take the<br>art the the science the procedure of<br>editing seriously CU like you spend so<br>much time in it you might as well like<br>learn like how to use the the thing my<br>big takeaway really like what I'm trying<br>to say with all these words is that I<br>honestly don't actually think that the<br>editor obviously does not make the<br>programmer but I think it says a lot<br>about your character as a programmer if<br>if you don't know how to use your editor<br>well there's something about a person<br>who's willing to commit their life to<br>programming and spending<br>literally 50,000 hours doing an activity<br>over the course of their lifetime and<br>never take the time to learn their<br>editor through and through it just seems<br>strange like right you'd never see that<br>in another world where people would be<br>able to build something or do something<br>and just completely forget how these<br>things work and only just focus on one<br>part of like their craft and so to me<br>it's just like it doesn't matter how you<br>use it I want to see the person that<br>just knows how to use it and they know<br>how to use it well when there's a<br>problem they can say why the problem<br>exists and then go and fix the problem<br>to me that's like there you go you've<br>done it you now know your tool go forth<br>and Conquer with said tool especially<br>for tools you use a lot you have to look<br>at like your whole life your life<br>whatever if you're a developer or<br>anything like what is the thing you do a<br>lot meetings yeah<br>yeah I mean sorry keep going ask a<br>question like how can this be done a lot<br>better because every single day you do<br>this for hours a<br>day how many hours did you spend on<br>thinking how to do this better or<br>whether to do it at all in the case of<br>meetings uh that's the people<br>surprisingly just don't do this enough I<br>see this just to go back to Jiu-Jitsu<br>there's a lot of people that show up and<br>do jiujitsu or martial arts and they do<br>the same way over and over and over they<br>invest tremendous amount of energy and<br>they don't ask like how do I do it<br>differently to improve faster in the<br>case of ji- Jitsu or any kind of sport<br>same with practicing the piano or the<br>guitar they they just religiously put in<br>a lot of time and uh derive a lot of Joy<br>from getting better they don't enough<br>ask the meta question of like how can I<br>do this better and with editors it's<br>surprisingly how how often people do<br>just that yeah with typing it's<br>surprising how many people do just that<br>like you said they they like they're<br>pecking or looking down it's like the<br>the quality of life Improvement you can<br>have by learning to touch type by just<br>like typing without looking it's like<br>it's it's it's like immeasurable you're<br>bringing a lot of joy to your life<br>because all of us are typing a lot yeah<br>and uh yeah I mean uh the The Reason by<br>the way I I was extremely efficient with<br>emac I'm I'm sure you know all jokes<br>aside I it feels like<br>neovim has more room for the kind of<br>efficiency I've had with emac to be able<br>to move really fast as you described me<br>to edit there is a real Joy it's not<br>just efficiency it's a it's like um yeah<br>it's a freedom that you can get when you<br>get really good with an editor uh the<br>reason I chose to go with V code is it<br>it felt<br>like there's going to be uh an<br>acceleration of features to which neovim<br>or emac will not be able to catch up in<br>the and I don't mean in the next five<br>years I mean in the next 30 Years like<br>and it felt like I almost wanted to take<br>the pain of learning new editors<br>constantly and just switching and<br>learning that because I was getting so<br>comfortable in emx you know this is with<br>this kesis keyboard everything all the<br>shortcuts I know how to program and it<br>felt like this is not you know Neo Vim<br>will not be here in 50 years possibly<br>might be I don't know but it felt like<br>you want to learn these constant sort of<br>different Technologies now cursor examp<br>a great example of that I've primarily<br>am using cursor now I'll go back to vs<br>code and cursor the just the skill of<br>using AI is a real skill like you know<br>with from the shortcuts to the the<br>timing to the layout of the windows to<br>how I think about where when how to use<br>the AI that doesn't distract me that it<br>empowers me not just for the fuck of it<br>or for the fun of it for the actual<br>measure of productivity it's a skill and<br>I feel like I would<br>be stuck in local maxim of comfort if I<br>stayed with emac and maybe the same<br>should be true for for me with new ofm I<br>should I should try it seriously I'm<br>sure there's a plugin like a copilot<br>type of situation that you could set up<br>with new ofm I should uh possibly<br>consider that but like kser is doing a<br>lot of really fascinating stuff on the<br>ID side not just sort of generate<br>code and uh like edit that code manually<br>it's like continuously be able to<br>rewrite code it's like the idea of tab<br>tab tab tab move the cursor around but<br>also modify parts of code and do the<br>diff really nicely that whether it's<br>cursor or vs code that wins that battle<br>out with with with co-pilot I don't know<br>but like that feels like a fundamentally<br>different experience than the really<br>efficient joyful experience that you<br>just described and you're selling me on<br>this is<br>neovim that doesn't have an AI in the<br>picture obviously immediately but you<br>can yeah absolutely I would 100% agree<br>that cursor is seems like such a cool<br>product like I I actually think there's<br>like a lot of really neat things coming<br>down with all that and I could you know<br>I could change from neovim I don't use<br>neovim because I love neovim I use<br>neovim because I love the instrument I<br>play and so so it's like if cursor can<br>meet those needs I I could see myself<br>moving over I don't have a some sort of<br>Obsessed attachment with it I am curious<br>though that you know every time I use a<br>I think I just have skill issues I think<br>I'm just so riddled with skill issues<br>when it comes to using AI yeah I've yet<br>to be able to use it in a way that I<br>really love it yeah we we'll talk about<br>it but before then oh ball to sit on I<br>forgot to say that ball to sit on yeah<br>desk needs to be properly hided one<br>monitor I should be 2third way up the<br>screen uh I don't like to turn my head I<br>prefer my uh my hands in kind of like a<br>pistol neutral position and there you go<br>a ball to sit on yoga ball yoga ball<br>what's that about I just helps just<br>maintain good posture because when I<br>have something to lean against I do<br>this so you're for hours sitting without<br>wait what are you doing I sit on the<br>ball and then I bounce are is your back<br>leaning on a thing no what the fuck well<br>how else do you like the how else do you<br>you're the only person in the world<br>sitting on a yoga ball as you program<br>for hours you do realize this right it<br>feels great I mean I I the problem is is<br>whenever I get a back um I just slouch<br>and I find myself just getting<br>uncomfortable and I'm like why am I I'm<br>uncomfortable like my my shoulders are<br>kind of getting goofed up I just like I<br>I'm chicken necking like constantly like<br>you know it's just like but you're able<br>to keep your posture for hours on the<br>yoga Bowl yeah and so I can just do that<br>and then I find myself if I slouch I'm<br>like okay nope got to get back you know<br>incredible back muscles or what no I I<br>well I don't think it takes incredible<br>back muscles to keep posture remain<br>upright yeah I think that's a pretty<br>basic human function I I would not<br>consider myself a strong person yeah<br>basic human function I don't<br>know facts and<br>logic okay cool with uh one<br>screen neov with operating system Linux<br>uh just because I I want a good Window<br>Manager that's the whole press one<br>button bring up Chrome I just use I3 I'm<br>sure I could uh use something better<br>than I3 people always tell me all these<br>window managers are really great but I<br>just want I just have like those three<br>screens I switch between so it doesn't<br>really I don't really care what I use<br>just as long as I can press one button<br>and go yeah I'm the same so half and<br>half so half Linux the other half<br>windows with with Linux meaning uh WSL<br>what's that windows subsystem for Linux<br>weasel we<br>weasel see no there's got to be a better<br>one that's more positive weasel just<br>sounds seems right up Microsoft's alley<br>that seems perfect uh so people often<br>accuse me of being a shill for somebody<br>uh sometimes dictators if I'm a shill<br>for anybody it's for Windows there you<br>go I get paychecks every every week from<br>uh bought by Bill Gates well he's not M<br>Stu anymore Balmer developers developers<br>devel no I'm just joking I think um man<br>I need to try Mac I need to I need to<br>try I'm Sur surrounded I'm surrounded by<br>people with iPhones I use Android I use<br>Android yeah there you go see oh we're<br>losers together losers on a sinking<br>ship um okay so uh just to to stay on<br>you for a sec and uh to give love and a<br>shout out to your friend te he streams<br>by the way he's a streamer and I'm I<br>subscribed and I've been enjoying it my<br>allegiance is slowly shifting from you<br>to him it's um the quality is far<br>superior with him uh the the looks the<br>intelligence the skill set everything<br>just far superior no okay so he uh you<br>know you're making his<br>day all<br>right so uh he mentioned that he loves<br>neovin because it gives him the ability<br>to eliminate having to do things he<br>doesn't like that's just a nice way to<br>to<br>frame sort of what this this the<br>automation process that you<br>describe of automating away assigning<br>shortcuts to things that are painful so<br>that that that procedure I mean I wonder<br>if you agree with that fully agree we<br>have very similar mentalities when it<br>comes to usage of neovim why people<br>should use it all that kind of stuff and<br>how to even use it well he definitely<br>takes it probably to a further degree he<br>spends more time automating and all that<br>um I don't necessarily derive a lot of<br>Joy from getting the perfect setup<br>and so but a lot to learn from him he's<br>he's very very good at what he does he<br>is by far probably one of these he's 30<br>years old been programming for not too<br>many years and he is one of the most<br>talented Developers for sure it's very<br>shocking to see how smart someone can be<br>so uh people should check him out at te<br>ejor DV yep T DV his name his last name<br>is D de de oh not developer okay cool<br>yeah yeah so it's just TJ that's just<br>his name just spelled kind of fun what<br>do you love bottom wow how much did he<br>pay you to ask these questions thousands<br>of dollars just so many<br>doar I can't even count that many<br>dollars uh he is uh trust obviously<br>trust is the biggest thing especially in<br>the quote unquote streaming YouTube kind<br>of world if you will it's very easy to<br>find people that will want to like be a<br>part of stuff people tend to latch on to<br>things and it's very hard to find<br>someone that you can really really trust<br>and so he's just somebody whom I can<br>genuinely trust he'll always tell the<br>truth he's all he's all the right things<br>for a good friend in this kind of<br>endeavor so as a good friend he told me<br>um questions I could backstab you with I<br>hate him I forgot I forgot how much I<br>don't trust<br>him uh So speaking of Harpoon you<br>mentioned it um he said you know to to<br>ask you about uh<br>whether basically how many years or<br>decades it's going to take to transition<br>to harpoon to to actually release it<br>develop it so on can you describe what<br>Harpoon is and why you're seem to be<br>incapable of finishing a single project<br>okay that was a lovely framed question<br>so Harpoon 2 is actually done this is<br>what I did to avoid the swirl in the<br>thousands of questions I will inevitably<br>get I kept the master Branch as Harpoon<br>one and I have kept Harpoon 2 as Harpoon<br>2 branch and people that don't read the<br>read me to say that I just use Harpoon 2<br>now that's that's their fault uh<br>that's it I just don't want I I really<br>don't like answering hundreds of<br>questions about open source stuff I used<br>to love doing open source and all that<br>but I kind of got my soul crushed during<br>the falor years and so I I guess I'm<br>just kind of allergic to being a really<br>active maintainer um I build everything<br>just for me like Harpoon just literally<br>just buil for me it's just what I I<br>spent a three months trying to figure<br>out the most optimal navigation for<br>files mhm and that's what I came up with<br>so Harpoon um it's a take on Alternate<br>file if you're familiar with alternate<br>file<br>uh typically you'll have this in all<br>editors where you can go back to the<br>file you were just in and so that means<br>you can have effectively two files you<br>swap back and forth and you probably<br>used it a bunch really fast way to<br>navigate pretty nice thing to do um I<br>wanted something with I want alternate<br>file but like three of them or four of<br>them and so that's all Harpoon is is<br>just being able to pin a file and so I<br>have one button to press to go to a file<br>another for another another for another<br>and so I can have up to four so I just<br>had my four power fingers uh for dvorac<br>what is that that's htns so if I go<br>control htn or S it goes to one of the<br>four files and that's it that's all it<br>is and you could technically make it so<br>you can add in functions and be able to<br>execute things externally so you can<br>open up uh terminals you can send<br>requests off to servers you can do<br>anything you want with it I just have it<br>primarily designed for opening files<br>since you mentioned what keyboard layout<br>do you use you use dor I used dorak but<br>I used a custom version of Dvorak the<br>reason why I used it is in<br>2017 we are just having my second kid it<br>was Christmas and I having so much pain<br>in my arm and I'm sitting there freaking<br>out like oh my gosh is this the end of<br>my career am I done programming is this<br>all over and so I decided that I was<br>going to create my own keyboard layout<br>optimize to prevent the pain that I'm<br>experiencing so I used a Doric as the<br>base and then laid out the symbols in a<br>symmetrical reasonable way so that it's<br>opening closing opening closing opening<br>closing right and so it's and they all<br>are right here I actually have to hold<br>shift to press a number so symbols are<br>actually my first thing I get to press<br>and so very optimized for a um laptop<br>keyboard layout so I can use my laptop<br>in a very efficient nice way that's how<br>I got started on dvorac and all that I<br>wouldn't actually recommend it if you<br>because I didn't have a Kinesis at the<br>time I didn't even know Kinesis existed<br>at that time and so when I discovered<br>Kinesis in also 2017 that's when I was<br>like oh okay would you recommend Kinesis<br>to people I am technically sponsored by<br>Kinesis so uh people you know it's hard<br>for someone to believe someone that's<br>sponsored by it but I did use it before<br>I ever became sponsored they're the only<br>sponsor that I reached out to and said I<br>need a sponsorship from you you are the<br>key I'm going to use you either way you<br>don't you can say no but I really love<br>it and for the first three years of<br>using Kinesis they gave me free Kinesis<br>kinesi as my sponsorship<br>Ki yeah I'm always torn I tried to leave<br>so many times you can't it's too good<br>but see I have this absurd<br>situation of like traveling with<br>it I I relate<br>yeah I mean I'm literally you know going<br>to war zone in Ukraine have a Kinesis<br>keyboard a laptop and like just a few<br>other small things and that's it and<br>it's like is kinesis keyboard really<br>going to be 30% of volume that you're<br>bringing to a war zone you know looks<br>like the answer is yes yeah like do you<br>really derive that much<br>value um I think it's probably spiritual<br>or psychological for me it feels like<br>home it's just Comfort associated with<br>it yeah I try to leave and I love this<br>experience you just<br>are it's like a relationship you have<br>with the thing it is it's uh is it but<br>I'm trying to figure out if it's a toxic<br>relationship or not um I think it's<br>mostly love I think it's love like all<br>relationship there's some you know push<br>and pull complications but they say that<br>distance makes the heart grow fonder so<br>maybe sometimes the Kinesis keyboard<br>needs to stay at home and the laptop<br>keyboard can be the one so that your<br>heart grows even more fond and that<br>connection grow grows even deeper I<br>already miss it as you said so I don't<br>know I think it's coming coming along to<br>all the trips if it breaks down though<br>you know I was worried that Kinesis<br>would shut down as a company I'm like<br>what's the business model here who<br>actually uses his keyboards right but<br>apparently it's still going strong yeah<br>uh who uses these keyboards as you use<br>the keyboard like I have to take it with<br>me everywhere I wonder who uses these<br>keyboards yep I should<br>mention that one of the when I first<br>became a fan of yours I heard you talk<br>about coffee and terminal I still don't<br>by the way understand what you been<br>talking about I need to actually use it<br>but you are you run amongst many things<br>a coffee<br>company uh man this smells so good uh so<br>this one is dark mode dark roast whole<br>coffee beans there is uh seg<br>origin dash dash location there's a<br>bunch of stuff on there stuff on there<br>that's very Devy shop server web can you<br>legit order coffee V SSH so as of right<br>now it's the only way you can get the<br>coffee is by SSH that was kind of okay<br>so can I just orig origin story you yeah<br>yeah uh yeah right I was going to do<br>some kind of um command line command to<br>request or like Dash dashel or something<br>or like man<br>yeah man coffee okay so TJ and I again<br>say same te te TV about by the way very<br>amazing designs done by David Hill<br>they're very very good um so let me kind<br>of give the basic ideas like must have<br>been about a year a year and a half ago<br>TJ and I were talking like hey you know<br>every one of these people that have like<br>some sort of following some sort of<br>online presence they're always like<br>selling a thing but I got nothing to<br>sell I don't really want to do merch<br>I've never really enjoyed to doing merch<br>I just find that I don't know it's just<br>not as much fun for me don't want to<br>have a tequila I don't wanted tequila I<br>want something that and I also want<br>something that I really don't feel bad<br>about selling you know there's like a<br>lot of people that will go on the<br>internet and they'll show for a whole<br>bunch of products like oh okay try this<br>try this and this is why I've only ever<br>really done Kinesis is because it's like<br>well I can point to something that was<br>really bad my life I was very scared and<br>now it's not bad anymore so it's like<br>okay that one made sense but everything<br>else always has been you know it's<br>harder for me and so we just talked for<br>so long and and we love neovim so we're<br>just like what happen if we could do<br>something from neovim and we're kind of<br>like laughing about that like ordering<br>from neovim is just so ridiculous MH and<br>then at some point we're just like well<br>what wait a second and maybe we could do<br>like coffee like every developer loves<br>coffee maybe we could figure out this<br>coffee business and so I had of a good<br>friend named Dax uh th dxr Dax yeah Dax<br>uh he the most sassiest man alive<br>sassiest oh yeah he has a lot of sass<br>beard yep he has a<br>beard very very he does uh SST he does a<br>lot of stuff very very talented uh we'll<br>call him Dev Ops engineer he's more than<br>that but um very talented guy him and<br>another person named Adam dodev vegan by<br>the way great guy we make we take him to<br>Korean barbecue all the time he eats<br>nothing<br>um and Liz she has been super important<br>to the terminal coffee company I think<br>without her we would not have been able<br>to do what we have done and then also<br>David Hill designer he does uh uh<br>laravel he designs for laravel very<br>talented designer and so we all kind of<br>came together and we are just laughing<br>about how can we like could we do<br>something that's just ridiculous MH and<br>that's kind of what we came up with yeah<br>like there you go you just open the<br>website you actually you literally<br>cannot<br>order we we actually do not allow you to<br>order the website is uh something that<br>kind of looks like the terminal use<br>command below to order your delicious<br>whole coffee be SSH terminal. shop yeah<br>so you can only SSH into it so you have<br>to copy that command and throw it in<br>there if you want to add it in the<br>little terminal shop for your known host<br>you could do that how do you handle<br>payment uh through<br>stripe and so one of the things we'll be<br>adding a mobile checkout too where I'll<br>show a QR code in the terminal and you<br>can just like check out on your phone<br>but right now you enter your credentials<br>it goes to stripe via all terminal like<br>allal yeah SSH is obviously it stands<br>for secure shell it uses elliptical you<br>know uh Quantum safe algorithms to<br>ensure that your data is not being<br>intercepted yeah but does he use AI<br>I'm I'm pretty sure Dax uses AI so that<br>you said Quantum so it's I don't know<br>Quantum AI can this Fusion Quantum AI<br>can this even be a a company if it's not<br>using AI we have some crypto chains with<br>some Quantum AI That's you know powered<br>by Fusion so it's pretty it's pretty<br>wild anyway so yeah we just kind of came<br>together where we thought what is the mo<br>that was from the Mike Tyson fight all<br>right Mike it was literally that night<br>Mike Tyson kissed the reporter and then<br>walked out yeah without any uh close we<br>didn't an ad for somebody but nice we<br>decided to make a coffee shop and then<br>we thought instead of just making it<br>neovim what if we made<br>it from SSH because everybody has SSH<br>you have VSS code launch VSS code you<br>can order coffee from within VSS code<br>right because your little bottom<br>terminal that has access to SSH bada<br>bing bada boom it's kind of fun and so<br>we kind of<br>really I love this we just wanted to do<br>something where there's no level and<br>there's no world that makes me feel bad<br>about selling this and people buying it<br>it's good ethical coffee we we developed<br>the entire supply chain and everything<br>it's all packaged it's all Boutique it's<br>all really like it's pretty high-end<br>coffee it tastes really really good at<br>this point I don't like drinking other<br>coffee I get kind of upset about it cuz<br>it's not as good and so it's kind of<br>funny that I've I've fallen for my own<br>stuff I'm high on my own Supply pretty<br>hard right now uh I just got done<br>ordering 16 bags and gave it out to my<br>family to try to convince them but it's<br>just something where it's like you I<br>didn't sell you a software product<br>that's going to influence Ence your<br>startup that could potentially lead to<br>disaster I didn't convince you to do a<br>bunch of stuff that's going to change<br>your career I just said hey here's some<br>coffee and it just like it's it's like a<br>fun experience yeah it's fun everything<br>the humor around is great yeah uh people<br>should go to terminal. shop SSH<br>terminal. I'm speaking to people that<br>don't know what SSH is and there you can<br>read the command and then figure out how<br>to use ssh in order to I mean it's a<br>kind of documentation right on the<br>website<br>if you can't use SSH you probably should<br>just not worry about buying our coffee<br>like that's the whole well you can learn<br>you can learn you if you are active and<br>you're a computer person You' like to<br>launch the terminal and feel like a<br>hacker go for it we even have<br>subscriptions uh what I what I would<br>love to see this this is how it came up<br>I think on the on the curse of<br>conversation is that uh I would love it<br>if an AI<br>agent you know did this like uh<br>anthropic computer use or something like<br>that would actually took the action of<br>ordering the coffee was programming yeah<br>like hey order me some coffee and it<br>actually go off give me dark roast order<br>coffee and it could actually go through<br>the whole flow of ordering yeah the<br>whole float but even better if you<br>didn't ask it to order cough you asked<br>it to do something and as<br>a tangent as a side quest it did that<br>which is computer used does that right<br>they showed off that it it's able to go<br>to I think uh uh like Google for some<br>images take a pause and then continue<br>doing doing other stuff anyway yeah<br>super cool idea love it speaking of<br>which let's talk about AI all right<br>you've been both sort of positive and<br>negative on on the role of AI in in the<br>whole programming software engineering<br>experience as it stands today what do<br>you think uh what's your general view<br>about AI uh what is it effective at what<br>is it not so good at okay so my general<br>view is it it comes down to something<br>that's pretty simple which is that if<br>you're doing something in which is very<br>predictable AI is really nice when<br>you're doing something that is just not<br>predictable AI is not very nice to use<br>if you're using anything that's more<br>Cutting Edge AI will not be using it or<br>AI won't be very good at doing stuff<br>with it like it's it's not great at Zig<br>because Zig is just like say less<br>documented it's really great at<br>typescript uh I think there's a lot<br>of there's a lot of interesting things<br>that are going to come down through AI<br>that I think a lot people aren't really<br>prepared for or thinking through uh TJ<br>is kind of the Genesis of this idea but<br>the idea that U I think there's going to<br>be a lot of kind of Market manipulation<br>if you will through AI meaning like hey<br>you want to<br>research say best woodworking tools well<br>someone's going to be buying an adpot<br>someone's going to be buying premium tra<br>training data right they're the ones<br>that get the uh the big boost in the<br>llms but llms don't really have the<br>market as an advertisement because it's<br>not really directly an advertisement<br>they just had a more premium spot per se<br>in the training data a little bit extra<br>learning to it you know it's like<br>there's a lot of things about AI that I<br>I fear upcoming yeah uh a lot of it just<br>comes down to people not uh learning or<br>making the trade-off where productivity<br>is the only thing that matters and I<br>don't think productivity is the only<br>thing that matters if you want to build<br>something complex and difficult<br>productivity is not the only thing you<br>actually are going to have to do deep<br>learning and kind of pursue it beyond<br>the basics and so I see AI as kind of<br>like this really cool thing it it feels<br>like a magic trick I remember the first<br>time I used it I got Early Access to<br>GitHub co-pilot Nat in fact Nat fredman<br>saw my twitch clip of me asking GitHub<br>for it and he sent me early access<br>himself it was awesome and when I used<br>it it predicted an if statement correct<br>and that my mind was just absolutely<br>blown because I had nothing before then<br>and now it's just like first time ever<br>and I just remember thinking man this is<br>going to change programming so much and<br>then the more I used it the more I just<br>for me personally I kept introducing<br>bugs and I couldn't figure out why and<br>what I realized is that I kind of<br>developed I wasn't co-piloting well I<br>was autop piloting much better and my<br>ability to read code versus my ability<br>to critically think and write code<br>they're definitely different sets of<br>skill levels I don't consider as well<br>when I just read code as opposed to when<br>I write code and so I I struggled there<br>I do think that's a skill set yeah skill<br>issue for sure skill issue for people<br>who are not aware that's like a hashtag<br>thing sometimes use mockingly in this<br>case there's like a several layers<br>mockingly but also seriously yeah<br>meaning like the criticism is grounded<br>in the fact that you lack the skill<br>versus of some kind of fundamental truth<br>yes I think that uh that's the reason I<br>use actually copilot cursor a lot is for<br>developing the skill of editing AI so I<br>can just learn how to do that better and<br>better because I think as I do that<br>better and better I start to utilize AI<br>better at this time it is a bit of a<br>boilerplate code thing mhm uh but you<br>can do out of the box kind of Novel<br>design decisions or tricky design<br>decisions from<br>scratch but fill out stuff uh using uh<br>Ai and then just learn the skill of<br>modifying I personally just<br>it's more fun to program with AI even<br>when I delete a lot of the code it's<br>more fun it's uh less lonely it's more<br>it's uh what I imagine like PA<br>programming to be and I've never done it<br>but the it just feels like that uh<br>friction that you get when you're like<br>staring at an empty thing is not there<br>like empty function<br>empty uh empty class it's just<br>more fun less lonely and I do think that<br>a lot of the easier type of coding it<br>really helps with like interacting with<br>apis MH um basic things that I would<br>usually have to look up to stock<br>overflow for uh it's just really fast at<br>that like yeah as example just<br>interacting with the YouTube API uh the<br>Youtube API documentation is not very<br>good and you can just load it all in<br>there and ask it to generate a uh set of<br>functions that access the API do all<br>kinds of read and write operations and<br>it figures it all out and then you could<br>just well you do have to read you have<br>to read and check everything and you<br>start to develop the skill of<br>understanding where it misinterpreted<br>the task so you're what is that skill I<br>don't even know you have to kind of be<br>empathic about what the AI is what its<br>limitations are a lot of the times that<br>has to do with<br>um uh prompt engineering you have to<br>like at the same<br>time uh<br>understand what the AI is aware of like<br>what did you actually give it as data to<br>be able to generate the code a lot of<br>times we don't realize that we're not<br>giving it enough information so you have<br>to like actually okay okay all right you<br>have to like be empathic be like okay<br>these are the code the files it's aware<br>of this is the specifics of the question<br>you asked it like you have to like<br>imagine you're an<br>intern that doesn't know anything else<br>like often times we want to AI to like<br>figure out the things that's left un<br>unspoken but you you can't know those<br>things you have to like specify those<br>things and so you have to actually be<br>much more deliberate and rigorous in the<br>things you specify is to spell it out<br>and so I just have this like sea of<br>prompts that I have saved up and I'm<br>building these like library of different<br>templates for prompts and it's a mess<br>and I'm sure there's a lot of developers<br>that have this similar kind of mess so a<br>lot of it has to do long term with the<br>tooling that's going to improve that one<br>the systems are going to get much more<br>intelligent well you don't need the<br>nuance and two there's going to be the<br>tooling that allows you to specify those<br>things and load it in correctly and give<br>all the context that the system needs in<br>order to make the good decisions and<br>maybe the system asks you followup<br>questions wa here's things you didn't<br>make clear all that kind of stuff a lot<br>of that has to do with the interface<br>with the actual design of the tools like<br>we said with cursor it's going to keep<br>getting better and better and better so<br>my sense is<br>like uh developers in general should be<br>learning this to see<br>uh to not be left behind to see what how<br>that can be<br>used uh to Super as a superpower to to<br>boost their productivity their<br>effectiveness their Joy of programming<br>versus like uh be seen as a competitor<br>to them or something like that so but I<br>you know I for me<br>already uh it's been it's it's it's been<br>a big boost to productivity like actual<br>like if you measure the actual<br>how quickly you're able to get a thing<br>done MH it's been a big and measured not<br>across minutes and hours but days also<br>like sometimes there's things I have to<br>do that are not that important that I'll<br>just like out of procrastination will<br>push off and AI helps me actually get it<br>done like actually cuz like that thing<br>the empty page like I mentioned before<br>it helps me write the thing get it done<br>get it tested like ship the thing U<br>Maybe is just because it's just less<br>lonely to work with an AI I don't<br>know I don't know if any of that made<br>sense but it all made perfect sense I<br>really do like that phrase it makes it<br>less lonely I think there's something to<br>that that's kind of interesting having<br>just some level of interaction that's<br>not just like an LSP autocomplete yeah<br>like having something that's actually a<br>little bit more than just that where it<br>actually is kind of thinking through and<br>you can see a different thought and<br>you're like oh wow that's like that's a<br>way different approach than I would have<br>taken hey that's kind of cool I like<br>these kind of things and the thing is<br>I'm not like a AI negative person I I<br>can see why people really really like it<br>um I just haven't like I just every time<br>I I used co-pilot for from when Nat gave<br>me the uh access all the way up until<br>about 6 months ago like that's how I<br>used it for quite some time and I really<br>I really did enjoy the things I used out<br>of it it just never it kind of did the<br>opposite for me I felt like I was more<br>reviewing than writing and I felt like I<br>was<br>more kind of just letting things slide<br>where I just didn't really think too<br>heavily about stuff<br>and it just I wasn't as engaged and so<br>I'm like okay so something's kind of<br>wrong here and that's just like a me<br>personal thing so I I recognize that is<br>not how someone should approach these<br>things that's not a good reason for why<br>you should or should not use AI like I<br>just don't think that that's right<br>because I could probably correct that<br>and figure out a better way to do it<br>I've been meaning to have another AI<br>round and so I've been thinking about<br>like maybe I just need to spend like two<br>weeks in cursor and just like fully<br>Embrace what does it mean to be somebody<br>like this and and God what can I do with<br>this like these new po have they<br>improved to the point where they're<br>actually good and I mean for me cuz like<br>a lot of the decisions I make a lot of<br>the little functions I'm writing it's<br>not cuz I'm trying to write this<br>function to solve this problem it's<br>because I'm writing these functions or<br>this set not just to solve this problem<br>but because I know in about another<br>2,000 lines of code of building all<br>these other things I'm going to need to<br>start doing this next activity so it's<br>like I'm trying to like really try to<br>chess move myself into the exact things<br>that as I let things go faster I kind of<br>fall apart on that chess move and again<br>skill issue for on my behalf and I mean<br>it in the truest sense of the word where<br>it's like I'm making a critique because<br>I don't use it well enough the better<br>you are programming I don't know if this<br>is a general rule this is my anecdotal<br>data the better you are at programming<br>the less you want to use the AI the more<br>gets in the way like the good<br>programmers fair enough as far as I can<br>tell so like the more s beginner<br>programmers are much more happy to use<br>AI you know I when I use AI for basic<br>like for just like I I don't know if<br>there's a better term it's not boiler<br>plate but it's like pretty easy<br>programming and that kind of programming<br>is much easier to do like the sort of<br>the 10x not to use the memes of of<br>programmers that I know that are ultr<br>productive and brilliant people they<br>just they hate AI they're like this is<br>no nowhere close to what's needed so<br>that there's something to that I still<br>think they should be using AI just for<br>the learning yeah because it's GNA get<br>smarter it's going to get better<br>and it's the same thing it's like when<br>you when you super optimize neovim or<br>super optimize emac you may not discover<br>the new things that are in the pipeline<br>so it's it's always good to be sort of<br>training in that way let me ask you a<br>question here just kind of for my<br>understanding you talked about this idea<br>that you have all these kind of L LM<br>kind of prompts all like this big<br>backlog of messy L prompts that you kind<br>of have these templates for that you can<br>do various actions you probably you have<br>these strategies of making it explain<br>itself and then do the right thing right<br>like you have as far as I can tell<br>that's that's really built into to a lot<br>of people well then you make this phrase<br>We like but then at some point the<br>interface is going to get better and<br>maybe it can do a lot of these things<br>better where I won't need that then my<br>question is<br>well is anyone actually falling behind<br>for not using AI then because if the<br>interface is going to change so greatly<br>that all of your habits need to<br>fundamentally change and it will be able<br>to clarify and make all those statements<br>have I actually fallen behind at all or<br>will the next gen like actually just be<br>so different from the current one that<br>it's kind of like yeah you're you're<br>over there like actually doing punch<br>card AI right now I'm going to come in<br>at compiler time AI so different that<br>it's like what's a what's a punch card<br>uh so obviously open question it's a<br>fascinating one I personally think yes<br>you're you're falling behind not you but<br>could me could be me if you're not<br>playing with it you're falling behind<br>because the thing I'm doing with the<br>prompts is you're learning you're<br>building up like this intuition about<br>how AI<br>works you you're understanding like what<br>is it strengths and weaknesses not even<br>the current version but the next version<br>and so on like<br>what uh what does it mean to teach an AI<br>system about the world like what kind of<br>uh information does it need to make<br>effective decisions I think that does<br>transfer to smarter and smarter models<br>you'll need to<br>make uh less rigorous and specific in<br>details instruct over time but you still<br>have to have that kind of thing yeah I<br>think it's a skill of almost empathy<br>with an AI system because it doesn't<br>know the the uh you know what it's<br>missing it's missing like common sense<br>it's missing long-term memory a lot of<br>things when we talk to other humans they<br>have a basic common sense about reality<br>like and AI systems often lack that kind<br>of Common Sense and they also don't<br>remember things so you have to like<br>realize there's a constant blank uh<br>Blank Slate happening so it's almost<br>like a just a skill of talking to an AI<br>system that uh that I'm training and by<br>having to write all those prompts and<br>communicating back and forth to<br>understand what kind of prps work better<br>or not you build up that intuition and<br>also just raw the skill of reading<br>somebody else's code maybe for people<br>who work on large teams that's a skill<br>that's already developed for me not so<br>much so learning how to modify the code<br>that somebody else written is uh is a<br>real skill and also the other thing you<br>mentioned which is like considering<br>another perspective on a piece of code<br>is really nice but it is also a skill to<br>understand okay this is what you<br>did there's a skill to asking a question<br>about that code that's been<br>generated uh such that you can have a<br>conversation about the approach that was<br>taken I think there's just a lot of<br>subtle little skills involved in a<br>Cooperative endeav to code um kind of<br>like there was a real skill issue<br>between you and te when you guys did the<br>video of two idiots want keyboard right<br>uh people should go watch that video<br>where like you guys obviously sucked at<br>it yeah Co using that was pretty cool<br>which you guys did which is controlling<br>one newm interface from two different<br>keyboards yeah and then we each get an<br>allowance of certain characters or<br>emotions we could perform yeah and so<br>you both have to like communicate<br>together that that's a real skill I'm<br>sure you can get super like super<br>efficient with that yeah but it takes it<br>just takes time to learn that kind of<br>thing so yeah I think uh there's some<br>value to it but I think there's a<br>learning curve so I have so I I wanted I<br>do want one thing to be pretty clear is<br>that I actually use AI quite a bit I<br>just don't use it for programming and so<br>one thing I've been trying to get it to<br>is to be able to have like a long<br>interview or understand what twitch chat<br>is saying and become twitch chat and be<br>able to speak as if it is Twitch chat<br>try to like learn how to prompt it in<br>different ways and so I think those<br>things for me are just really fun I<br>tried to get it to learn how to play<br>Tower Defense I made a tower defense<br>game in Zig and then made it play Tower<br>Defense and then played uh Claude 3.5<br>against open AI Claude 3.5 would do<br>better during the day times and open AI<br>did better during the night times I<br>don't know why I don't I have no idea<br>what was going on there but just one<br>would just start winning and the other<br>one would start losing it just very<br>strange<br>and so it's just this you know I'm<br>learning to prompt well but I'm learning<br>to prompt in a very different ax I just<br>don't find it very useful yet in<br>programing programming and I should also<br>say that I'm using it uh<br>in yeah in every Walk of Life in every<br>context I use that same kind of<br>exploration about prompts and so on I'm<br>I'm using and learning I I think it<br>legit is a whole field in itself prompt<br>engineering and how to interact with AI<br>systems I think it's worth the<br>investment can you actually speak to<br>that cuz you I<br>saw you're you're basically pulling from<br>twitch<br>chat and having an llm<br>speak I didn't realize I thought you're<br>so you're not reading the exact chat<br>messages yeah you're you're doing kind<br>of some kind of summarization yeah so<br>what I I I try to go through like a I<br>end up making like eight queries off to<br>open AI where it's just like the first<br>thing is like I haven't have like a<br>default person ality hey you're Randall<br>the manager you're a software<br>engineering manager kind of explain<br>their position what they like what they<br>don't like and then be like these are<br>the list of thoughts you have in your<br>head and you need to talk to this person<br>and ask them a question like amazing<br>give me 10 of these responses that you<br>think are probably thoughts that you<br>have and you want to ask yeah you know<br>like make it kind of give you a list and<br>then be like okay then reprompt and be<br>like hey you're Randall you're this this<br>this this this this you have these 10<br>questions before you and now you need to<br>select one of them album and reword it<br>in a way that sounds more like you the<br>engineering manager you know and so you<br>like you know I'm constantly trying to<br>make it like iterate on itself as<br>opposed to just like one-shotting it and<br>I found if I iterate too much it becomes<br>like it loses the Val it like loses what<br>it was originally trying to ask if I<br>don't do it enough then it's just too<br>degenerate from twitch chat and so it's<br>like I I have a lot of improvement to do<br>with this idea just to<br>clarify you're feeding in twitch chat<br>these are the thoughts you're you're a<br>manager these are the thoughts you have<br>in your head pick out some of the most<br>profound thoughts effectively it's like<br>depending on what I wanted to do I'm<br>trying to work on a better system still<br>for Brant and so it's like how can I<br>give voice to Twitch Che can I make it<br>so that I can get create adversarial<br>characters against twitch chat or for<br>twitch chat can I incorporate YouTube<br>all that kind of stuff and like how do<br>you describe to an llm to roleplay into<br>its position and so you know just<br>thinking through those kind of things<br>and you know so maybe I am having some<br>prompt skills but just you know it's<br>just in the coding world yet sure one<br>day one day I'll get there I saw that<br>you were having like playing with<br>different voices there was like a sexy<br>that started off as a French voice and<br>then it turns out 11 Labs just cannot do<br>a French lady and when you do<br>multilingual French lady she<br>starts<br>talking you it's like what I tuned into<br>one of your streams what is<br>this and there's just this lady like<br>like in a in a sexualized way it became<br>too funny and so we call her not French<br>Stormy Daniels oh nice yeah but I want<br>to go back to the AI and and and some of<br>the aspects sure and so like my big<br>gripe with AI has nothing to do with its<br>capabilities it's exactly capable as it<br>should be capable because that's what<br>people programmed it as the things that<br>I really dislike is a there's a whole<br>group of people that are just like the<br>end is nigh AI is here you just need to<br>stop programming like I I cannot see I<br>cannot tell you even on like uh you<br>mentioned Peter levels earlier he made<br>some sort of tweet and one of the<br>person's responses was yeah no one in<br>this like in 2025 or whatever should be<br>acquiring hard skills you should rely on<br>everything for the AI effectively and<br>it's just like these are really damning<br>pieces of advice for young people like<br>young people are being told that you<br>should never become an expert in<br>anything you should always offload and<br>the problem is is that anyone worth any<br>of their salt will tell you that AI<br>though can produce code is going to get<br>it wrong in a huge number of cases and<br>as the code becomes bigger or more<br>complex or more input it's going to just<br>start kind of sloshing back and forth<br>between bugs and so if you don't have<br>those hard skills and you're not<br>ultimately the driver at the end of the<br>day like you're going to really find<br>some hard times and your ability to<br>progress will be directly bound to how<br>good the llms are so if you believe that<br>the llms will be vastly superior to<br>humans in the next year maybe that's a<br>good bet but if they aren't then your<br>skill ceiling is bound to whatever they<br>are and even beyond that there's just as<br>like a whole whole there's just like a<br>level of information problem which is<br>like can the thing actually navigate<br>larger like do we even have enough<br>compute power to be able to solve things<br>at at this real scale and even if we did<br>if everybody started using it right now<br>do we even have the compute power for<br>everybody to use it right now there's<br>like a lot of kind of bounding questions<br>there's privacy concerns and I just<br>don't want people to make the immediate<br>or what appears to be the obvious choice<br>where you don't need hard skills you<br>don't need these things our life is<br>already going to be we just need to only<br>think creatively it's like no I don't<br>think so I think these hard skills are<br>going to be around for quite some time<br>even with a massive Improvement in the<br>AI like you're going to really be needed<br>to step in regularly for quite some time<br>as far as I can tell but I also think<br>even on top of that just even acquiring<br>the heart skills or uh whether that<br>means programming from scratch for<br>example in the context of<br>programming uh that's going to make you<br>better at steering the AI mhm not just<br>correcting the AI but steering the AI I<br>think is some kind of if you know how a<br>computer works you can program python<br>better it's maybe counterintuitive but<br>you can if you know the low-level<br>abstractions like some intuition around<br>that uh you can steer the high level<br>abstractions better yeah that just seems<br>to be the case unless of course AI<br>becomes like truly super intelligent<br>like many levels above but it's very<br>unlikely in the short term and in the<br>long term it's still good as it gets<br>better better and better and better to<br>be able to steer to ride the wave of the<br>Improvement yeah I'm on that team very<br>much so a lot of people have written to<br>me I think a lot of developers<br>programmers are really<br>concerned about the future of their<br>profession in in the context of uh<br>quickly improving AI systems so do you<br>think AI will eventually replace<br>programmers the hard part about that<br>phrase is use the term eventually yeah<br>meaning do I think in 5 years 10 years a<br>100 years like what is that does that<br>term actually mean uh I think at some<br>point if we were able to scale if all<br>things continue at the current rate of<br>improvement there does come a point<br>where programming as a hard skill does<br>become unnecessary right at some<br>eventual Point way way down the road yes<br>I don't know what that point looks like<br>I don't know when it's going to happen I<br>don't even attempt to make predictions<br>about that but there are still some like<br>Leaps and Bounds we need to make<br>just I mean even just like societally<br>like there's plenty of companies that<br>don't even allow you to use AI right<br>like I mean there's just practical<br>problems that exist so that's like a<br>question I just try not to answer in the<br>direct sense there will come a day if<br>Humanity continues and all things<br>continue in a good positive direction<br>where a lot of skills will go out the<br>window due to immense Computing systems<br>so yeah I'll give you that one but it's<br>just like if I don't think it has<br>anything in the near term there's been<br>no computer Improvement up to this date<br>that did not result in more jobs yeah<br>absolutely I we should say that I think<br>it depends how you define programming<br>also because um you know when uh the<br>community uh moves from assembly to C<br>from C to I don't know uh Python and<br>JavaScript like that's Evolution that's<br>really painful for a lot of people who<br>are used to programming that lower level<br>language<br>uh so there's going to be a continuous<br>Evolution and maybe that means with with<br>AI there's going to be more and more<br>Evolution towards natural language as<br>part of the tool chain like being able<br>to learn how to write proper<br>prompts uh yeah that might you know CU<br>natural language is still a<br>language and in the long term it's<br>possible that a large percentage of<br>programming is natural language they're<br>probably still going to be some<br>percentage just not that's going to be<br>extremely structured language right now<br>I don't think we are anywhere near<br>natural language being possible because<br>it's ambiguous and I think what we'll<br>end up seeing as people push really hard<br>into this you're going to see some sort<br>of like pseudo which is going to be a<br>language for AIS in which you prompt<br>which is going to be less ambiguous<br>right people keep striving towards the<br>less ambiguous State and then at that<br>point you're just programming you're<br>just programming yet another Evolution<br>into a higher order language and perhaps<br>that is a future in which people will<br>have a more tur language I'm just not<br>sure how much more tur it can get um<br>yeah I mean all I see is that if you say<br>natural language can be used in the<br>pipeline you've just made that many more<br>people can become programmers which<br>means that much more software will<br>eventually be created which means<br>there's that much more software that<br>will need to be maintained and just<br>becomes a a real big snowballing effect<br>but you know there's just just people<br>who are programmers who are worried<br>about their jobs yeah not a complete<br>replacement but maybe a rapid of ution<br>what it means to be a programmer like<br>you mentioned if natural<br>language becomes a way that you can<br>communicate or you can<br>program that means uh the pool of people<br>who can uh get programming jobs changes<br>rapidly so they're really concerned to<br>some extent right um because no matter<br>how much no matter how much we want to<br>say how good AI is there comes a point<br>where there exists a bug there exists a<br>large piece of software in which to<br>describe the change<br>requires just like pages and pages of<br>description to the point where it is<br>significantly just faster or easier for<br>someone to just whip something out like<br>there there's definitely a balance there<br>it's not like a perfect tradeoff and so<br>I I still don't I think people need to<br>quit worrying and think about how they<br>can integrate it and try like prove it<br>to themselves do they actually make<br>themselves irrelevant and if you truly<br>make yourself irrelevant I would<br>challenge you that you're already like<br>you're just doing something that was<br>just slightly too complicated to<br>automate like if you're only writing<br>just straight up CR apps from back end<br>to front end and like simple table<br>displays like yeah maybe we just<br>couldn't quite automate that away and<br>now we just have something that can just<br>do that a little bit better so now<br>that's automated away but that's not<br>really programming that's almost like<br>building Legos at that point where the<br>Design's already set you just simply<br>have to move piece from bag into correct<br>position yeah uh is there something you<br>recommend How uh<br>um uh a developer programmer could avoid<br>a situation where<br>AI can automate them away I think that<br>the bigger the project you can manage<br>the bigger the thing you can build the<br>more understanding both down and up the<br>stack you can go the more value valuable<br>you become because if you understand how<br>to build something in the front end okay<br>well now you kick off some llm task of<br>some sort that's going to go off and<br>make a change to the front end okay<br>while it's doing that you can go and<br>kick off something in the CLI tool you<br>can go and you can go kick off something<br>somewhere else and as these things come<br>back with results you can review the<br>results make sure it's the way you want<br>it change it commit it go to the next<br>like you only become more you know as<br>you said in the end more productive if<br>we reach this state where it's truly<br>able to do that and I think there is<br>like a skill to working together with AI<br>which is why I'm kind of excited to<br>watch you keep trying to do it yeah it's<br>like we don't know how it fits exactly<br>but it feels like AI should<br>be a boost to<br>productivity and I I definitely think<br>it's a boost to just the joy of<br>programming I think there's a lot of<br>people yeah it's a job but it's also a<br>source of meaning a source of Joy like<br>programming is fun you're creating<br>something cool and also potentially that<br>a lot of people use there's this one<br>thing that just really frustrates me and<br>this is kind of going into the Devon<br>category which is that I want an intern<br>that cares yeah you you don't get that<br>out of an LM it does not care meaning<br>that I don't want it just to make a UI<br>for me that displays these icons like I<br>asked I wanted to care I want to think<br>about it I want it to present to me and<br>me be like oh yeah yeah that's great and<br>then me to make changes and then later<br>on it's like actually you know what I<br>really rethought about this and actually<br>it'd be way better if we change you know<br>like it doesn't actually care about the<br>craft you know but when you work with an<br>intern or you work with somebody else<br>they they care when they fact or<br>something they actually go over and go<br>ah yeah this is actually kind of bad I'm<br>going to come back to that they finish<br>this they go back over and they make<br>this better like they like actually care<br>about the thing itself it's a completely<br>different experience I just want<br>something that also cares that wants to<br>make the thing better not just simply<br>accomplish the task and I know I'm<br>asking way too much that's not you know<br>now we're getting into like blade<br>runnner level AI I just want something<br>that's it just feels like I'm missing<br>that where it's just like it will<br>complete the task to whatever level it<br>understood what I was prompting but it<br>just doesn't it doesn't actually care<br>about it I<br>mean there's so<br>many aspects to caring but s of the<br>trivial version of that is a kind of<br>restlessness where you want to keep<br>improving and I think that is very much<br>AI could do yeah where constantly just<br>ask itself can I make this better and if<br>it keeps doing that it probably is going<br>to take it to some ridiculous place so<br>actually it's it's also knowing when to<br>stop yeah uh I think developing um<br>something you can call taste which is<br>like trying working extremely hard<br>constantly improving until it just feels<br>right this is it and I think that is a<br>thing that AI is not good at it was just<br>like yes this is it I've iterated three<br>times and three was the that's it we're<br>now there and that I think ultimately<br>that is what humans are amazing at which<br>is<br>like knowing when something is right<br>like this is it this is especially at as<br>you understand as you develop taste in<br>the particular industry in the<br>particular context application knowing<br>like this is it yeah this the rounded<br>corners on this button that's exactly<br>that that's beautiful so it's just a<br>sense of beauty uh a sense of function<br>and and efficiency and so on yeah that<br>but that you know humans could do almost<br>like supervision of AI systems in that<br>context yeah yeah you've uh ranted about<br>Devon um just full of Rage<br>uh I mean first off the people that run<br>Deon are extremely nice I want that to<br>be understood I don't have some sort of<br>upsetness against them or anything like<br>that um second Devon is just it's it's<br>kind of like the full it's like the full<br>package when it comes to programming so<br>it's going to have you're going to give<br>it a task and a repo and it's going to<br>go through it's going to try to<br>understand the repo and the task make<br>the change to the repo by exploring it<br>then actually make a commit to GitHub<br>and explain what it did so that you can<br>have like you know so hopefully you have<br>this whole offline thing which is the<br>other part of um this AI part that I<br>actually really like where it's just<br>like go fix this thing then I can just<br>go and unbroken fix this one thing and<br>come back and go okay good enough merge<br>boom you know like I want that kind of<br>running being able to complete things I<br>think the ideal solution is that you can<br>start giving it small bugs and it goes<br>and fixes these bugs and you can just<br>come back to these backlog tickets that<br>no one ever does and it actually starts<br>going through these backlog tickets and<br>it's actually a really amazing<br>experience so I love the idea right I<br>think we can all agree that that sounds<br>great yeah but every time I've done it<br>and and I've I've asked it for many and<br>I I try to keep narrowing down the<br>problems the more narrow the problem the<br>better it does so if I'm like just add<br>One Singular icon and when it gets<br>clicked I want you to do this just just<br>console click me like just at least<br>create me an SVG and place it so it's<br>nicely placed the more narrow the task<br>the more likely it's to be successful MH<br>um there's like a certain level of<br>specifying where you specify too much it<br>just like can't do it if you specify too<br>little that just does weird things so<br>it's kind of like this very kind of fun<br>unique way you have to play the balance<br>game but so far every time I do these<br>things I always end up going gosh you<br>know what I should just get better at<br>tailwind and write it myself because I<br>always go back and I just rewrite it and<br>it's just like dang it what what am I<br>saving at the end I feel like I'm not<br>saving anything yet you know just like<br>this I want it so bad like I actually<br>want AI to be great because then I can<br>really go fast I mean I can go amazing<br>fast but then I always just go gosh I<br>should just learn Tailwind myself to<br>like the nth degree and just go fast<br>yeah we should also mention that<br>debugging this might be intuitive or<br>counterintuitive is AI is really bad at<br>yeah like that is one of the hardest it<br>actually makes you realize how special<br>humans are and how difficult the task of<br>debugging is obviously for trivial<br>debugging maybe can finded yeah bugs but<br>like that is the real artart of<br>programming is the bug is fine bugs<br>logical bugs like um extremely<br>complicated rare bugs edge cases mm he I<br>can assist but man the hard ones are<br>really require so much context so much<br>experience so much intuition from uh<br>again operating in a fog full of<br>uncertainty it's hard yeah uh of course<br>AI could maybe create like logs and do<br>traces and do some kind<br>of load in a huge amount of data that<br>humans can't yeah but ultimately that<br>just means it could be a better<br>assistant in debugging versus the actual<br>lead debugger yeah I mean it'd be great<br>if they could I mean the more it can do<br>that the better right cuz as far as I<br>can tell I mean correct me where I'm<br>wrong on this current state debugging is<br>really it looks at the code it looks at<br>the bug problem it just kind of tries to<br>text predict where it's most likely<br>accurate and then just tries to fix that<br>spot and so it's like it's likely this<br>spot you said admin panel it's slightly<br>off this this this it's probably this<br>location which could actually be a<br>really great way to do search right let<br>me do semantic searching point to me<br>where this is because maybe that is a<br>really great way to navigate large code<br>bases is like smart intelligent search<br>as opposed to trying to make it do the<br>thing ask it to just help you do the<br>thing in like pinpointing problems I<br>don't know i' love to see more of that<br>cuz that's for me is like the exciting<br>part and there's this really great<br>article by Creator or maintain of curl<br>it's the I and llm stands for<br>intelligence and he writes curl and<br>maintains curl curl has been inundated<br>with security problems and all this and<br>it's all from llms being like Oh I found<br>a security flaw uh here's the security<br>flaw details it out in the code and he's<br>just like okay how did you reproduce<br>that show me because if you look at the<br>code right here that's actually an<br>impossible situation you're speaking of<br>and it's just like going in these<br>circles and security right now is being<br>inundated these bug Bounty programs are<br>being inundated by L<br>submitted responses cuz they can't<br>actually you know analyze the code<br>Beyond just like basic text prediction<br>oh this is a stir copy stir copy is<br>commonly referred you know blah blah<br>blah blah boom there you go here's the<br>bug and it's just like no that's<br>actually impossible because the if<br>statement right beforehand leaves the<br>function if the string is too long so<br>it's like we don't even run into this<br>case it's impossible what you're saying<br>so the bugging is very interesting yeah<br>I mean that for me would be the big if<br>it can solve that not solve that but<br>improve that that would be huge whether<br>it's agents or just LMS integrated into<br>um into ID I think there's this whole<br>idea I call a a denial of attention I<br>think there's an entire attack Vector<br>that's going to be happening we're using<br>llms to generate fake bug reports fake<br>all these things to just actually uh<br>effectively to<br>demotivate and um hurt open source<br>maintainers uh poly kill was the first<br>bug that kind of had this experience is<br>this denial of attention where I active<br>malicious maintainer just hounded the<br>owner MH and then a white knight came<br>out and offered to buy this you know buy<br>some stuff from under them and when they<br>bought it they actually replaced it with<br>a malicious piece of code and then used<br>it so there's like this whole security<br>world that's developing around using<br>these in a very aggressive format I mean<br>it's a fascinating World we're entering<br>into but I do agree with you that humans<br>human developers would be a huge part of<br>that world this is not the job might<br>evolve<br>but it's going to be there if I can I<br>didn't really look at this page I<br>thought it would be cool to go over with<br>you this is again the Overflow my<br>favorite stack Overflow developer survey<br>talking about their sentiment and usage<br>of AI systems the general sentiment of<br>yes uh 61% say yes they use it and 25%<br>say no don't plan to so majority use it<br>majority have a favorable<br>sentiment over it favorable or very<br>favorable or indifferent that's like<br>looks like over 90% that's really<br>surprising that that many people just<br>have no plan in looking into AI like as<br>much as I don't like using it for coding<br>I hope one day I can use it more right<br>and so it's like I to me I'm always<br>looking for the next thing I'm just<br>surprised that people are that I guess<br>obstinate for it obviously the second<br>one the AI tool sentiment it must be<br>only the users who responded uh yes to<br>the top two of that first one just given<br>the amount of respondence I wonder if no<br>and don't plan to are people who have<br>tried it and quickly build up the<br>intuition like this really sucks yeah so<br>we you know it could be like experienced<br>programmers they're like no this is not<br>making me more<br>productive 81% agree that increasing<br>productivity is the biggest benefit that<br>the developers identify for AI tools<br>okay so this is what are the benefits<br>increased productivity speed up learning<br>greater efficiency improve accuracy in<br>coding make workload more manageable<br>improve collaborate where's the fun in<br>increased fun I would say that's that's<br>like Number One For Me Maybe speed up<br>learning is like a a subcategory of of<br>fun right if you're able to learn more<br>and be able to become better to me that<br>that sounds that sounds<br>good yeah I don't know it's different<br>cuz like productivity is part of fun too<br>I there is just the lightness um I mean<br>maybe improved collaboration all of<br>these M for sure there's I my time using<br>co-pilot C there was certainly a level<br>of wonder that would happen for quite<br>some time where it's just like it's just<br>amazing what it can do yeah I'm just<br>super impressed by what it can do even<br>though I don't use it like it's amazing<br>to me that we have something that can<br>even get that close uh in terms of<br>accuracy of AI tools only<br>2.7% highly trust I would say that you<br>have to be very green to think that you<br>should highly trust an AI output you<br>should be very skeptical yeah I don't<br>know where I stand probably somewhat<br>distrusted highly distrusted seems<br>aggressive it does seem a little like<br>you should definitely be in the somewhat<br>like you should always assume that<br>there's something wrong and then from<br>there you can go and and challenge it<br>and then uh estimation of whether AI can<br>handle complex tasks most people don't<br>think it can handle complex tasks I mean<br>it seems like people have a good sense<br>of what it's able to handle and not I<br>would argue that people don't have a<br>good grasp of what complex is in<br>programming sure yeah if you say right<br>to me you know right me quick sort some<br>people think quick sorts super complex<br>mhm but I would argue that that's<br>actually probably the simplest thing you<br>could ask an AI to do right things that<br>are so well documented it's going to do<br>a great job at that yeah probably high<br>level design decisions which people<br>don't even use AI for right now I guess<br>agents are supposed to be doing that<br>kind of stuff that's probably the most<br>difficult<br>thing or uh the most impactful<br>thing well the most difficult thing is<br>finding bugs yeah and tools next year<br>writing code and so on now this one the<br>ethics part I'm actually super curious<br>your take yeah on the ethics will we see<br>Europe laying down some new regulations<br>oh boy what about artists right what<br>about people that are really because the<br>difference between coding and artists is<br>very very simple if you gave me a sheet<br>of paper I could draw you a crab You' go<br>that's a crab yeah but you can't do that<br>with coding it's like it's right or it's<br>wrong there's not a variation of inter<br>for what a crab is it's like no that<br>statement's just you cannot make that<br>statement you know it's it's very<br>bounded in what it can express and I<br>could see why artist like that's a very<br>frustrating point and then who gets<br>rewarded for all that you know obviously<br>and then there's like the whole thing<br>with coding and licenses how much of it<br>is GPL licenses do you think they have<br>scraped and used as training data GPL<br>forces open source yeah what are you<br>going to do with that one like that<br>means your model might need to be open<br>source like open AI may have to get<br>forced open yeah all their previous<br>stuff if there's any hint of GPL yeah<br>that's a weird one that's a really weird<br>one because most of these models I think<br>are training on data they don't<br>technically have rights to be training<br>on yeah there's question there's an<br>unspoken it's a it's it's a real wild<br>west cuz like you could imagine that<br>what happen if you I always use Europe<br>because they tend to have like maybe the<br>most consumer protection uh laws out<br>there you could imagine what happen if a<br>law came down that said that if you used<br>a model that produced GPL potential code<br>you have to open source like how many<br>companies are going to be like oh my<br>gosh right like you have one year to get<br>rid of all code that was generated<br>that's potentially GPL Source from a<br>model like that could you could imagine<br>just a sheer Panic that's going to<br>happen it' be a fire sale of code so<br>given all that what can you give advice<br>to Young<br>programmers uh like this is another<br>question from Reddit the infinite wisdom<br>of Reddit what should a person in their<br>early 20s do to move forward in in the<br>tech<br>industry and uh this is an interesting<br>addition to the question and by doing it<br>will this be walking on someone else's<br>path I am going to try to answer that<br>question I guess the best I<br>can which I think that if you're<br>entering into the tech<br>world one of the hardest pieces of<br>advice that I took took a long time to<br>learn was I became enamored and addicted<br>obviously we talked about that program<br>for way too many hours um forgetting to<br>uh spend the time I needed with my wife<br>with my friends all that stuff like<br>totally wrapping myself up into one<br>activity I think though it made me who I<br>am was probably an unhealthy activity<br>and probably not a wise activity and so<br>the best advice I can give is that you<br>got to develop the love the skill the<br>desire for whether that's just only<br>using AI agents programming yourself<br>using Zig or programming JavaScript<br>whatever you know that flavor is that's<br>going to get you coming back every<br>single day getting the Reps in the gym<br>if you will for programming but also<br>knowing how to Value what is valuable<br>and not getting lost in the sauce where<br>you're just so stuck on trying to make<br>the next greatest startup that you<br>sacrifice your health you sacrifice your<br>relationships or even worse you<br>sacrifice your own morals to take<br>certain shortcuts that you probably<br>shouldn't be taking uh in life to be<br>able to achieve these things because you<br>know I'm sure there's hundreds of horror<br>stories you could hear where people<br>definitely shortcutted their morals for<br>you know monetary success yeah I mean<br>the golden<br>handcuffs uh Comfort can destroy the<br>soul in some<br>sense yeah so that's uh yeah I mean<br>that's really important to remember but<br>would you you know there's young people<br>kind of thinking do I even want to be a<br>programmer<br>now it seems like AI is getting better<br>and better and better at these<br>programming<br>uh if they were trying to make that<br>decision would you still say yeah if<br>this is something that fills you with<br>joy I still want my kids to learn how to<br>program if I can answer that if that can<br>if that's a good enough answer in the<br>sense that my kids are are decade<br>younger than a young person trying to<br>learn how to program right now and so if<br>I want you know I'm hoping that my kid<br>can run and build whatever he want in<br>Roblox I'm showing him chat jippy and be<br>like all right let's ask questions how<br>do we do this it's still extremely<br>confusing for him to do all these things<br>and so it's like let's do this I want<br>him to learn and be effective and maybe<br>one day he has to throw away all those<br>skills in 20 years but I bet you that<br>whatever skills he threw away or<br>whatever hard skills he had to throw<br>away an entirely New Field that none of<br>us have thought about just like if you<br>would have asked somebody in the 70s you<br>know about social networks they'd be<br>like what the heck are you even talking<br>about like things will exist in the<br>future that are going to be massively<br>different and crazy and exciting maybe<br>in virtual reality there you go maybe<br>all of us actually Don the LI would just<br>be building video games just<br>entertainment for all the uh Brave New<br>World of our world well I think I think<br>uh<br>entertainment is a kind of trivialized<br>version of what a video game could be<br>mhm it's like what what is the purpose<br>of life anyway I mean it could be it<br>could be a deeply fulfilling video game<br>it doesn't have to be just like dopamine<br>rush it could be educational could be<br>scary it could be uh uh<br>challenging forcing an evolution the<br>leap into an adventure that makes up a<br>um a fulfilling life that could be video<br>games who knows especially in virtual<br>reality I tend to uh that's the other<br>thing I I play a lot of video games<br>I I think I think there's a lot of room<br>to make video games deeply<br>fulfilling like there's a lot of space<br>where that can go I didn't know you<br>played a lot of video games cuz when I<br>asked you specifically should I play<br>World of Warcraft or do Advent of code<br>you're like Advent of code Advent of<br>code oh well that that might mean I've<br>never played World of Warcraft because<br>there's certain games I avoid fortnite<br>by the way I think was one of them<br>because I was worried become too<br>addicted yeah yeah so there's certain<br>games I just know I won't get super<br>addicted to like for example I'm<br>terrified of civilization like I have<br>never played a civs game because I'm<br>worried I'm worried uh<br>the dark path in my lead because there's<br>some games just really pull you in I'm<br>much better with uh that's why I play<br>Skyrim I can play these games uh or<br>balers gate and moderate my how much I<br>play and they could be like a lifelong<br>companion versus an addiction where I'm<br>like it's like sunrise and you're like<br>what's happening with my life and I find<br>myself naked behind a dumpster somewhere<br>just wondering what happened um yeah so<br>that's how I choose my video<br>you're not the first person who has<br>specifically called out civilization<br>yeah I've had more than one person also<br>very high up in the tech world be like<br>Civilization is my downfall if I get<br>near that game I'm done yep so I've<br>never even played the game now it makes<br>me be like dude I got to give this a try<br>that sounds crazy yeah and the new one<br>is actually supposed to be really really<br>good what were we talking about yes for<br>that same young developers there a<br>trajectory through<br>jobs that you could give advice on so<br>you started out with Schedulicity yeah<br>that was my first uh full-time when I<br>had the Government Contracting one<br>before that with that wasn't quite<br>full-time it was in C it was a lot of<br>fun and then building my own startup for<br>quite some time so if you count either<br>of those as full-time then those would<br>be the fulltime but schedu listi was the<br>official on the docks is so is there<br>some value to jumping around<br>like working one company and another to<br>try to figure out like what brings you<br>Joy I think there's a lot to that cuz um<br>not every job you're going to get is<br>going to is going to be great now your<br>first job you could get could make you<br>think you hate<br>programming it happened I did an<br>internship at a place I I I keep on like<br>surprising you with more kind of things<br>I did in the past did an internship at a<br>at fuck you just so many things it's<br>incredible at a place called like uh<br>total information management system<br>remember when I talked about that hours<br>ago about health care and that and<br>industrial shipping and all that it was<br>a c shop it was so bad that after I did<br>that I went and changed my major to<br>mechanical engineering for a semester in<br>college boy I thought I okay actually I<br>like computer science I hate programming<br>I so you know just because you've had a<br>job doesn't mean it's the it's going to<br>be the one and the thing is the here's<br>the best part though if you get a job<br>and you like it and you want to do it<br>and it's exciting you don't need the<br>change right I think a lot of people are<br>like oh I got to find the next thing<br>I've been here for two years like<br>there's kind of this like you got to<br>move around mindset I don't think you<br>have to move around I don't think it<br>hurts your career<br>because if anything you'll gain more<br>responsibility and you'll be able to<br>talk with way more Authority and the<br>next time you interview you're going to<br>be way more into like oh yeah I had to<br>get these X people and these X people to<br>be able to do all this stuff and it's<br>like you can talk with much more<br>Authority if you stay at a place longer<br>and that's nothing but benefits in my<br>book it's only if you stay at a place<br>because you're afraid or you don't want<br>to you know you already have something<br>that works for you and you just never<br>want to change and you're just like I<br>get to go in and just be completely<br>mindless I think if you go Mindless for<br>a couple years you'll find yourself<br>that's like the only real Danger<br>you just come out with nothing at all<br>yeah especially when you're younger<br>that's the whole point take take the<br>risk take the leap out to the next thing<br>to the next thing and not for money but<br>for just person like joy joy and money<br>could get at the end that's the best<br>part is when you don't strive for the<br>money sometimes the money just shows up<br>anyways yep and some of the what makes<br>life worth living is the people you work<br>with like a a good team some of it's<br>like not to be generic but you know<br>culture matters it's whatever makes<br>you uh happy like for example I just had<br>won't call out places but you know<br>there's certain companies where<br>everybody is very 9 to-5 and it's very<br>even if the work is exciting they're not<br>they don't work hard enough I would say<br>I'm one of those people that likes to go<br>all out like likes to be surrounded by<br>people who are like super passionate now<br>to be fair a lot of them don't have<br>families or don't yeah it's a<br>fascinating choice I I really don't want<br>to talk down on any choice like work<br>life balance or not I think both are<br>beautiful paths and like if you really<br>derive a lot of value from Joy from your<br>work going all in at least for some<br>stretch of your<br>life is a beautiful thing to do just all<br>out fullon passion sacrifice a lot of<br>social life all that kind of stuff I<br>don't know that could also be beautiful<br>there can be something very very<br>exciting about that in some sense<br>especially if you're building your own<br>thing<br>uh I could imagine that would be very<br>exciting like if I was Amazon Jeff<br>bezos's building Amazon one could<br>imagine that those early years were<br>probably very rough and the amount of<br>hours he probably put in were very very<br>rough uh but I will say that there's<br>this kind of unique aspect in our<br>culture where we kind of make this as an<br>equal trade-off between family or work<br>uh like oh you don't you do or you don't<br>have to have kids and my only kind of<br>real notion with that one is that you<br>will never know your capacity for love<br>until you have kids like you you just<br>don't know and some people are like oh<br>yeah but I like love my dog it's just<br>like I loveed my dogs too and then I had<br>kids and now my dogs are they're all<br>right like I like them yeah I could come<br>home and I pet Indie and I'm like Indie<br>and then I'm just like okay bye Indie<br>right like it's just I can't even<br>describe the difference between the two<br>yeah cuz they're not it's not even the<br>same and so it's very that trade off<br>you're making is no one can tell you<br>what it's like cuz there's a real<br>reality that right now and I'm sure I'm<br>100% positive this is with my wife as<br>well where if right now we got news that<br>said you have some medical procedure<br>where if we do this you will die but<br>your kid will live there's not a<br>question in my soul that I wouldn't do<br>that right if I was given if I could<br>look into the future and if I had to die<br>right now knowing that my kids would<br>have a better life they would be happier<br>they'd be more fulfilled and all those<br>things I guarantee you either my wife or<br>I would take that every single time it's<br>just like you will never be able to say<br>that about most things people will<br>jokingly say that until it's actually on<br>the line mhm but it's like with with<br>that you just have this ferociousness I<br>can break out and sweat thinking about<br>somebody fictionally pushing my kid to<br>the ground like like actually get you<br>know real adrenal responses flowing<br>through my body so it's just like such a<br>different world and it's hard to explain<br>and you could never have convinced me<br>when I was young that it'd be this big<br>yeah yeah yeah I thought I knew I didn't<br>know but to add on top of that some some<br>of the most successful people I know<br>some of the most productive people I<br>know have kids so like I don't know if<br>it's even a tradeoff like that love you<br>feel it seems to be a catalyst for like<br>to make sure you have less time but<br>you're going to use that time better to<br>be productive I would argue that I'm it<br>definitely changed a lot of my life and<br>my and how I approach problems and<br>everything in a very different way let<br>me ask some uh random questions from<br>Reddit on a scale of 1 to 10 how much do<br>you hate every product Microsoft has<br>ever created and why is it a 10 okay I<br>think we covered that we haven't<br>technically covered it uh there you go<br>all right go ahead go ahead okay the<br>only thing I'll say is that I don't like<br>that Microsoft pretends to be the good<br>guy yeah when what they really want is<br>to get you addicted to their products to<br>get you to use their products as much as<br>possible so they can extract as much<br>money out of you well in this world are<br>there really good guys that's a great<br>Point uh I would argue neovim is a great<br>guy they there's no way they can make<br>money um Justin Keys is the benevolent<br>dictator and thinks deeply about the<br>product and tries to make it the best as<br>possible whereas something like<br>Microsoft they they made vs code as a<br>loss<br>leader co-pilot's probably operating on<br>a loss leader these things are all<br>getting you so tied into GitHub remote<br>workspaces CI cop like you've become<br>this trapped in permanent person and if<br>that price Rises the switching cost is<br>so great at some point that you'll never<br>be able to switch that's my only fear is<br>that Microsoft was once accused of EE<br>and it feels like they're eeing again<br>yeah I'm nervous about criticizing a<br>good thing because you could see an<br>incentive to do that good thing like<br>Google creating all these services that<br>don't make money like Gmail for example<br>you can sort of sort of cynically say<br>like they're only doing that to tie you<br>into an ecosystem so they can like uh<br>basically keep you for life but also<br>it's awesome that they created Gmail<br>like yeah and they create an incredible<br>product right so I can side with you on<br>that one it is a good product F code is<br>a good product yeah don't put that on<br>the but was fine you know they they they<br>did a great job yeah so like it you know<br>there is going to be Financial<br>incentives behind some of these<br>companies and by the way me defending<br>not defending but saying positive things<br>about Microsoft is just so I could talk<br>shit to Prime but that's I love that by<br>the way yeah Linux is my first and last<br>love it definitely the spirit of Linux<br>and open source is a beautiful thing so<br>I I do think that when you have these<br>large<br>corporations even when they try to do<br>good often times the The Profit<br>imperative just takes over and they they<br>can they can corrupt themselves and<br>Microsoft has a long history of doing<br>just that to themselves yeah that said<br>they've done you know they have you<br>could say for cynical reasons because<br>they want to see seem like the good guy<br>amongst developers but they've done a<br>lot to support open source it's just<br>like same with meta they've meta has<br>done like insane amount yeah to support<br>open source you can say actually for<br>that one I don't even I don't know if I<br>can even make a financial or a cynical<br>case for why meta is open sourcing llama<br>and like these yeah that one's confusing<br>it just seems great maybe for hiring but<br>no I I think that's legit just an<br>ethical really powerful decision and<br>sometimes these<br>companies because they have a lot of<br>cash can make the right do the right<br>thing yeah it's a really positive way to<br>look at it and I think that's that's<br>really nice but we should always be<br>skeptical yeah I mean because at the end<br>of the day companies they're not good<br>they're not bad right they're they're<br>morally neutral it's the people that are<br>running them the decisions those people<br>make that are really where the bad or<br>the good comes from another question<br>asking if he knows how to milk a cow<br>I've already asked that the answer is no<br>oh no you don't know I've never milked a<br>cow never milked a cow almost been<br>killed by a cow but never milked a cow<br>did you ever ride a bull no all right uh<br>why male models okay so I can explain<br>that one mhm I will say something like I<br>really dislike The Color Purple because<br>the color purple makes me upset I don't<br>know just something very benign but then<br>someone right afterwards will be like<br>but why don't you like The Color Purple<br>right and it just be like it's just like<br>Derek Zoolander it's just like I get<br>done on on a five minute talk about it<br>and then the next question's like but<br>seriously why though it's just like why<br>male models yeah yeah so that's the<br>zoland reference when there's a long<br>explanation why male models and uh he he<br>agrees and then forgets y<br>uh uh what is<br>ligma you know I've died by ligma quite<br>a few times ligma so do you know the<br>origin story of ligma no so ninja famous<br>streamer someone got him with ligma said<br>like oh something like have you heard<br>about ligma and he was like no and he's<br>like oh Li my balls right and then after<br>that ninja got like so hurt<br>by getting had by that that he started<br>Banning anyone in chat who said the word<br>ligma or something like that so then it<br>be you know if you don't embrace the<br>meme yep you get destroyed so of course<br>gets destroyed and so then the whole<br>goal is that can people get me with<br>ligma TJ did ey ladies he's like oh did<br>you hear that e girls got renamed to ey<br>ladies and I just didn't even see it<br>coming and I was just like what and he's<br>like ey ladies nuts on your face and<br>then it's just like oh my gosh and then<br>a pirate software has also got me like<br>oh have you heard about Google SEMA<br>which SEMA is a real product by Google<br>and like oh yeah I've heard about this<br>what is this again he's like see my<br>balls right it's just like dang it how<br>do I so I've just had it happen live on<br>stream many many times I've died by<br>ligma the most please ask him about the<br>size of his dick okay so this is so<br>that's di that's dictionary in Python<br>who doesn't love dicks yeah that's a<br>great question just a dict party when<br>you use a python I love dicks that<br>should be a<br>t-shirt uh that's actually a hilarious<br>teacher but so on stack Overflow you can<br>ask any question you want and I decided<br>to craft a question one day on stack<br>Overflow that says how to measure your<br>dick in bites and then I proceeded to<br>really go to town and like explain all<br>the different things like well what<br>about the cost of the strings and the<br>references and you know like when you<br>really get both hands on your dick and<br>really go after it's like very hard done<br>under like really threw in some<br>innuendos the stack Overflow team<br>deleted the question and then someone<br>hand wrote me a uh an email explaining<br>why they deleted the question and<br>complimented me on how thoroughly and<br>thoughtful the question was just to W<br>just to weave in inuendos and that the<br>entire team was impressed but it's<br>inappropriate and it had to be deleted<br>and don't do it again or we're going to<br>ban your account and so it's like very<br>funny moment and so I was like oh that's<br>funny you know that happened uh two that<br>was about six years ago M last year I<br>was at a conference and there's a guy<br>wearing a stack overflow uh name tag and<br>I was like oh you work at stack Overflow<br>he's like oh yeah I do I'm like D I got<br>a story for you and he goes no wait a<br>second are you the dicked guy like that<br>was his only question was that I was<br>just like let's go I didn't even say<br>anything about me and he already knew<br>immediately I was the dick guy uh I<br>should say in all seriousness I think<br>I've had a bunch of conversations s of<br>in the python world where I would have<br>to mention the name of this data<br>structure and it makes me uncomfortable<br>every time you know it's a very<br>unfortunate short of a word di it's just<br>like when I go to the hardw store and<br>ask for cock yeah and there's always a<br>nice old lady and I ask her where to<br>find and it's very uncomfortable I triy<br>to pronounce it as hard as I can really<br>get that l in there like<br>call just to be clear and try to avoid<br>eye contact the whole time you said you<br>said that God was a big part was a big<br>part of your life can you speak to that<br>a little bit more who is God and what<br>effect what role do you play in your<br>life so I you know I I did talk about<br>that one important evening where I for<br>whatever reason gained my my conscious<br>that moment um so obviously for me that<br>I grew up with a life where I would<br>probably argue myself as a functional<br>atheist I went to church a handful of<br>times I can't quite really remember<br>actually going to church as a family in<br>any sort of sense so there wasn't like<br>some super strong tie or anything like<br>that to it like pretty much anyone else<br>growing up in America in the '90s you<br>had some sort of impact or intersection<br>with church at some point in your life<br>uh that was just a very normal thing I I<br>would probably say and so when that<br>happened it was a it was a fairly big<br>surprise for me I was you know I wasn't<br>necessarily going that direction or<br>deciding to do any of those things and<br>so for me it's it's obviously the the<br>turning point of my entire life uh I<br>would have I I cannot speak to who I<br>would be now now without that I can just<br>tell you that I wouldn't have had the<br>drive I probably would not have<br>completed college I would not have found<br>my wife or had my kids I wouldn't know<br>how to Value people I don't think<br>without that whole thing my value for<br>people would have been very very small<br>CU I would have continued just<br>objectifying in the way I was and then<br>probably the biggest thing is there's<br>this one verse I don't even know where<br>it's at it effectively says that we love<br>because he first loved us and so for me<br>it's like<br>I don't think I would have ever lived a<br>life that was happy without this and I<br>just didn't even know that that was an<br>option for me and I never really you<br>know it was a very tough set of years<br>for me and I was very very sad and just<br>always kind of just constantly looking<br>for something to fulfill me and so it's<br>like I didn't have any confidence I<br>didn't have any Joy I was I was I felt<br>very sad and so that was kind of this<br>moment<br>where for the first time ever I didn't<br>all of a sudden I just felt like I<br>didn't have to live up to a standard<br>right like my the standards have already<br>been paid for like everything's already<br>like that that's that's the free gift<br>that's that's the exchange and so it's<br>just like for the first time I didn't<br>have to be the cool guy I didn't have to<br>have all the right words I didn't have<br>to feel you know I didn't have to go on<br>The Conquest the sexual Conquest to find<br>validation like I didn't have to do any<br>of those things and it was exceptionally<br>liberating and and so who is God that's<br>more of like a catechism question<br>perhaps uh what is man who is God right<br>like those those are much much harder<br>questions um I believe that anytime you<br>Tred to get too deep into describing who<br>God is you typically fall into Christian<br>heresy mhm but for you he gave you a<br>chance to be happy yeah he gave me a<br>chance not just to be happy but also uh<br>made it so that for like the first time<br>I can I can actually feel forgiven I<br>guess in some sense and able to forgive<br>people that hurt me like for a long time<br>I I had this like weight I'd carry<br>around from like the things I hated<br>about high school and all that kind of<br>stuff and through that experience I just<br>wrote down every last person's name and<br>actually held them with me for quite<br>some time and this was the list of<br>people I I forgave and I read it a few<br>times cuz like I couldn't let myself be<br>angry or consumed by that kind of stuff<br>cuz like hate is so sticky right it it<br>sticks for a lifetime and there really<br>is only one Fe for hate which is<br>forgiveness like I just don't think you<br>can get rid of it without that and so I<br>just had choose to forgive these people<br>and to move on and it really kind of<br>freed me and I would never have thought<br>forgiveness as a means for that change<br>if I didn't first experience it<br>myself what's the role of Love In The<br>Human Condition to go to the<br>philosophical and what's been the role<br>of love in your<br>life it's very obvious that every person<br>wants or desires love uh my wife has<br>recently convinced me to watch Love is<br>Blind with her one time and you watch<br>the show and if you're not familiar with<br>it it's just feels like just a disaster<br>of an experiment to to just cause crazy<br>filming but anyways the idea is that if<br>you just don't see somebody you can fall<br>in love with somebody and want to marry<br>them after like 10 days or some very<br>small period of time<br>and what you really end up seeing is all<br>these people who are just desperate for<br>actually love and there's like some part<br>of it I always I told my wife it's like<br>love Gladiators we're watching people<br>battle it out for drama and really what<br>they want is love and it's like they're<br>fighting to the the death in love if you<br>will and it's this almost kind of sad<br>aspect to watch and so I think that it's<br>it's it's hard to call like what is its<br>role in The Human Experience because I<br>don't<br>think I think it's just something that<br>we all naturally not just want but need<br>and I don't think that you can really<br>progress and when I say the word love I<br>I would like to kind of narrow it down<br>maybe a bit more and I don't mean like<br>Aeros the Greek word like sexy love I<br>think that paternal and friendship love<br>are extremely important and I think<br>Agape like God love is also very<br>important agape love is the one that is<br>superior to them all but obviously<br>different and also you know co-ed with<br>the parental ones and all that and so<br>you kind of need this mixture of them<br>all and each one is different for each<br>reason and where it's applied and so I<br>don't<br>think I just don't see a world in<br>which is good of any kind without that<br>as like a very foundational piece right<br>because you know again not you know I<br>didn't I didn't come here trying to<br>quote any sort of sub scripture but it<br>says that it's not the nails that hung<br>them there it's love that's the reason<br>why these things happen and so it's if<br>forgiveness is the requirement to kind<br>of pay off hate in some sense then love<br>has to be the motivation for forgiveness<br>yeah that's uh the tragic aspect of life<br>I think we're all there's like a deep<br>loneliness in all of us and a<br>longing longing to be a part of this of<br>this bigger<br>thing and uh that longing is is is a<br>love and it has many names but yeah that<br>the love aspect of it is is the<br>beautiful aspect of life the tragedy is<br>the loneliness and the unfortunate<br>suffering that is a fundamental part of<br>life and uh the beautiful aspect is the<br>love<br>yeah uh which I think is a good time to<br>mention more Reddit the the the the<br>place for Everlasting positivity and<br>love uh somebody wrote uh please thank<br>him you uh for his Everlasting<br>positivity and give him a big hug for me<br>so uh I won't give you a big hug on<br>camera cuz I'm afraid I'll get a boner<br>and that will be very unfortunate hey<br>let's not bring dicks into this again<br>okay it's my favorite data structure<br>like I said I love dicks uh all kinds of<br>dicks ordered dicks unordered unordered<br>dicks I don't discriminate uh and<br>yeah uh but<br>just that to say like big thank you uh<br>for me like I listen to you a lot just<br>and I just really enjoy I've been going<br>through a lot of shit myself and just<br>the positivity even when you're building<br>the stupidest shit it's just the<br>positivity radiates from you and it you<br>inspire me to be a good person you<br>inspire me to build stuff so thank you<br>and I'm sure there's many many others<br>who listen to you for the same reason so<br>thank you for your positivity thank you<br>for uh being the light in many people's<br>lives thank you for talking to there<br>brother dang that was very very kind I<br>really do appreciate all those extremely<br>nice words even from Reddit that's very<br>surprising but yeah thank you I I mean I<br>know you know<br>that there's many people's lives and I'm<br>sure you've received the letters that<br>have been changed from from actions and<br>things you've said and things you've<br>done and<br>so it's one of the best parts about<br>doing this side is that you get a chance<br>to potentially improve somebody's life<br>you know and you getting to interview a<br>lot of people like there's a lot of<br>people that listened to Chris latner and<br>saw his excitement for Swift and<br>probably went and learned Swift and then<br>got really amazing jobs and it can be<br>all origined back to you and that<br>interview and so it's you know those are<br>amazing things and<br>so same goes back to you you've done a<br>lot of a lot of good stuff uh right back<br>at you brother thank you for talking<br>today thanks for listening to this<br>conversation with Michael pson AKA the<br>primagen to support this podcast please<br>check out our sponsors in the<br>description and now let me leave you<br>with some words from Paulo<br>coo when we strive to become better than<br>we are everything around us becomes<br>better too thank you for listening and<br>hope to see you next time - The following is a conversation<br>with Michael Paulson,<br>better known online as ThePrimeagen.<br>He is a programmer who has entertained<br>and inspired millions of people<br>to have fun building stuff<br>with software, whether you're a newbie<br>or a seasoned developer who<br>has been battling it out<br>in the software engineering<br>trenches for decades.<br>In short, ThePrimeagen<br>is a legendary programmer<br>and a great human being with<br>an inspiring roller coaster<br>of a life story.<br>This is the Lex Fridman Podcast.<br>To support it, please<br>check out our sponsors<br>in the description.<br>And now, dear friends,<br>here's ThePrimeagen.<br>What do you love most about programming?<br>What brings you joy when you program?<br>- I can tell you the first time<br>that I ever felt love in programming,<br>or felt that joy or that excitement-<br>- Sure.<br>- Which was in college.<br>It was the second class, data structures,<br>and the teacher that was<br>teaching, Ray Babcock,<br>he was talking about linked lists.<br>Now you have to learn Java<br>at Montana State University<br>when I went, and so he's<br>off there explaining<br>this whole linked list thing and all that,<br>and then he shows code.<br>And in the code it's<br>like abstract class node<br>or whatever it was, I<br>can't remember what it was.<br>And then it had a private member,<br>and that private member was of type node,<br>and I've never seen that before.<br>It is a class that is called node<br>with a member that is of itself.<br>And for the first time ever<br>I was like, "Oh my gosh."<br>Like there's no end.<br>There's no way to iterate.<br>This is not a set of 10 items.<br>This is a set of infinite items.<br>And so my mind kind of<br>exploded in that moment.<br>Like, there is actually...<br>What you can express is huge.<br>I can see what memory looks like.<br>I can see this hopping through space.<br>And I just remember<br>being just so blown away,<br>because up until that<br>point, everything was just,<br>all right, I have a list of 10 items.<br>I have a list of 20 items, right?<br>It was very rigid and small,<br>and the things I built were<br>really small and trivial,<br>and all of a sudden I felt<br>like I could build anything<br>in that one moment.<br>And it was so amazing.<br>I just remember sitting in class for,<br>I don't even remember<br>how long those classes were or anything,<br>but I just remember being just completely,<br>like profoundly impacted by this notion.<br>And so I just sat there and I watched,<br>and I had the exact same<br>experience in heaven's forbid<br>by a software engineering class,<br>when we talked about<br>the Decorator pattern,<br>where you can keep on<br>constructing these objects<br>in this recursive way.<br>Not that I think that's<br>actually a good idea to do,<br>but just watching that<br>and realizing there's<br>so many weird and unique<br>ways you can solve problems,<br>and you can just...<br>Anything your mind can think<br>of, you can just create that.<br>And I just remember<br>getting just so excited<br>about the possibility<br>that anything is possible.<br>- Yeah, let's wax philosophical<br>about a linked list.<br>It is pretty profound.<br>For people who don't know,<br>a node in a linked list<br>doesn't know anything<br>about the world it's in.<br>It only knows about the thing<br>it's linked to, its neighbor.<br>Maybe that's symbolic. It's a<br>metaphor for all of us humans.<br>There's billions of us on this planet<br>and we only know about<br>our local little network.<br>- Yeah.<br>- And it's kind of beautiful.<br>And you realize in that<br>little simple data structure,<br>you can construct<br>arbitrarily large systems,<br>and they're like roots<br>that go through memory.<br>And then of course,<br>that's where you get all<br>the programming languages<br>that allow you to dump junk into memory<br>and have memory leaks, and<br>therefore create infinite pain<br>as you try to figure out<br>where that unfreed memory is.<br>For me, yeah, probably...<br>It's so beautiful the way you put that.<br>Linked lists are indeed beautiful.<br>Recursion also for me,<br>when I finally wrapped my brain around<br>what it means to write<br>a recursive function.<br>- What was the thing? What<br>was one that taught you?<br>Because I think we all probably...<br>You probably did factorial,<br>where you just do a quick factorial of it.<br>It just doesn't hit home.<br>What was the thing that made it hit home?<br>- I don't remember the first. (chuckles)<br>- I remember my first.<br>How do you not remember<br>your first? It was magic.<br>- I've had so many that just...<br>- I mean, you are a Lisp guy.<br>You're probably pretty<br>used to the recursion.<br>- Yeah, all I remember is just surrounded<br>by sea of parentheses.<br>I mean that's really, probably, when I...<br>In high school, I think<br>it was either Java or C++.<br>Wow, how do I not remember that?<br>It must have been C++.<br>And then college it was,<br>the generic bullshit software<br>engineering classes were Java,<br>but then the renegades, the<br>cool kids, were all using Lisp.<br>That's when you're doing the AI,<br>the quote-unquote "AI" at<br>that time, that was Lisp.<br>If you want to write a chess<br>engine, you would use Lisp.<br>And so for me, probably the<br>moment I really fell in love<br>with programming was Lisp,<br>and writing Othello<br>programs and chess engines,<br>all kinds of engines that play a game,<br>and then I could play against that thing<br>and that thing would beat me.<br>The joy of being destroyed<br>by the thing you've created.<br>And oh, game of life<br>too. Cellular automata.<br>That's when I...<br>I built that, you know, all<br>kinds of programming languages.<br>That's less about programming languages<br>and more about the system you create.<br>And that just filled me<br>with infinite joy, having...<br>Now similar to the linked list situation,<br>creating a system where<br>each individual cell<br>only knows about its neighbors<br>and operates in very simple rules.<br>But when you take that system as a whole<br>and allow it to evolve over time,<br>you can create infinite complexity.<br>So I just...<br>Man, those are many pothead moments,<br>where I'm just looking at<br>the beautiful complexity<br>that can be created<br>with cellular automata.<br>That filled me with just<br>infinite joy, for sure.<br>But yeah, all I remember is parentheses.<br>So my first, memories<br>of my first are drowned<br>in a sea of parentheses.<br>- Oh man, mine is, I have...<br>Well, first off, mine was in Java,<br>so my first was a little bit more rigid,<br>kind of a corporate, you<br>know, a corporate experience.<br>- Yeah.<br>- But...<br>- Cold, meaningless.<br>- Cold. Yeah.<br>I was in a lab, everyone<br>was using CentOS at that...<br>Or CentOS or however you say.<br>I always called it<br>CentOS, the fresh maker.<br>- Yeah.<br>- And so it's just like<br>I'm in this very cold...<br>(Lex laughs)<br>- That's nice.<br>- Thank you.<br>- Yeah.<br>- I'm in this cold,<br>rigid environment with<br>my Microsoft keyboard,<br>programming away in Java.<br>And I still have just such,<br>this memory of despair,<br>because I love programming,<br>this was after the linked list,<br>and I cannot figure out recursion.<br>And so I go to the university<br>store and I buy a book<br>and it's Deitel and Deitel learn Java<br>and it has a section, Recursion,<br>so I open it up and I start reading it,<br>and it just doesn't hit home.<br>And I'm spiraling into this.<br>Like, maybe I'm not a programmer.<br>Maybe I'm not worthy enough to enter<br>into this circle of<br>people who can figure out<br>what the heck recursion means.<br>And Deitel and Deitel's,<br>I still remember this,<br>their exact phrase was,<br>"Every young budding developer<br>solves this recursion program,"<br>and it was the Tower of Hanoi.<br>And guess what?<br>I don't know if I can solve<br>the Tower of Hanoi to this day.<br>It's a very hard recursive problem.<br>And I just sat there and<br>thought, "Oh my gosh.<br>I'm not going to make it."<br>And I sat there in the<br>lab for 8 hours, 10 hours<br>doing these things, so worried.<br>It's the week of recursion, we<br>have to do a lab assignment.<br>I'm not going to be able to do it.<br>And I just remember being<br>genuinely worried about that.<br>And then, because I always...<br>My big problem was like,<br>okay, do factorial.<br>Why not just use a for loop?<br>Okay, what about Fibonacci sequence?<br>Why not use a for loop?<br>I don't understand. What's<br>the purpose of recursion?<br>I don't understand it,<br>yet it's so powerful. Why?<br>It looks like a really<br>complicated for loop.<br>And so I just could not understand it.<br>And then lab came that day and it was,<br>I'm gonna give you a 2D array<br>you have to read from a file.<br>This is what a starting<br>position looks like.<br>This is what an ending<br>position looks like.<br>This is what a wall looks like.<br>I want you to find me a<br>path through the maze.<br>So I just sat there like,<br>Okay, well, I guess I can just go up<br>and I can create a visited grid,<br>so I know not to visit<br>these places anymore.<br>And then all of a sudden<br>it just started clicking.<br>Like, well, wait a second.<br>I don't know the maze, but if I just go<br>up, right, down, and left,<br>and hop back every time<br>I've been to that square,<br>don't visit it, like, I can<br>just, it will just go forever.<br>And I realized in that moment,<br>I'm like, I actually understand recur...<br>I've understood recursion this whole time,<br>I just never had a problem<br>in which it actually made sense to use.<br>And that was my big downfall,<br>is that I was measuring my<br>understanding with the problems<br>that I had available, which<br>were just list traversal,<br>which is not a good use of recursion.<br>And so I just remember that freeing...<br>Oh, man. Recursion.<br>It was a great moment in my life.<br>- I mean it does require,<br>to be fair, a leap of faith,<br>because people will tell you,<br>those conformist, dogmatic,<br>Java instructors will tell you,<br>that this is important,<br>to understand recursion.<br>But it takes a leap of<br>faith that is something,<br>this is a different way<br>of looking at the world,<br>and it's a powerful way<br>of looking at the world.<br>Actually remembered when I...<br>Think I first...<br>I think I remember my first now.<br>- [ThePrimeagen] All right.<br>(Lex chuckles)<br>- I think it was dev first<br>search for one of the games.<br>Maybe Othello, something like that,<br>and for that implementing recursion.<br>Understand that you<br>can search trajectories<br>through the space of states<br>and do that recursively?<br>That was mind blowing.<br>Just imagining like...<br>- You can just see it all.<br>- The possibilities.<br>Yeah. Just like numbers flying.<br>It was like The Beautiful Mind.<br>And that's when I also<br>discovered conspiracy theories.<br>(Lex and ThePrimeagen chuckle)<br>That was...<br>And I just saw, I saw the truth.<br>Okay. Yeah.<br>So what were we talking about?<br>Oh, what was the most painful<br>aspect of programming for you?<br>What memories do you have<br>of deep, profound suffering<br>in terms of programming in the early days?<br>- I would say the biggest one<br>that I can really hold on to<br>had to be one of two experiences.<br>The first experience was<br>when I was at a place<br>called Schedulicity, and...<br>Am I not allowed to say the place-<br>- You're allowed.<br>There is...<br>- I'm not sure if they're<br>even operating still<br>at this point, but they're in-<br>- There was something funny<br>about the name. I'm sorry.<br>- Oh, Schedulicity? Yeah.<br>Actually, the name was so bad that<br>when you looked at their<br>paid-for Google ad terms<br>that they would make sure<br>that they're at the top of the list,<br>the spellings were just insane,<br>because no one knew how to<br>spell the word Schedulicity,<br>and so, it was just like this,<br>the Google optimizing for<br>that is just hilarious.<br>But okay, go back to the thing.<br>The thing that kills me<br>the most about programming,<br>what I actually considered the<br>worst aspect of programming,<br>is when you know everything.<br>And so when I was at this job,<br>it's just every single day I'd come in,<br>there were no surprises,<br>there was no questions.<br>I didn't understand the code<br>base, sure, that's fair.<br>I didn't understand all the<br>things about the code base.<br>But I knew I was gonna go in,<br>I was gonna generate some sort<br>of object from the database.<br>I was gonna take that<br>object from the database,<br>and I was just gonna map it over<br>and just display it on the webpage.<br>There's no creativity,<br>there's nothing to it.<br>It's very almost factory<br>line kind of work.<br>And that was a very difficult<br>moment for me, which is...<br>I didn't enjoy programming,<br>because I knew everything about it.<br>I already knew exactly what<br>I was gonna do that day.<br>I knew all the hurdles I<br>was gonna have to go over.<br>There was no unknown<br>unknowns, if you will.<br>It was just knowns at all times.<br>And it just, that is...<br>And for me, that is the<br>worst part about programming,<br>is when you already know the solution<br>and it's just a matter<br>of how fast you can type<br>and get it out from<br>your head to your hands.<br>- So the absence of uncertainty,<br>the absence of challenge, was the pain?<br>- Yeah.<br>- That's pretty profound, Prime.<br>- I'm more than just good<br>looks. I want you to know that.<br>(Lex and ThePrimeagen chuckles)<br>- It's a low bar.<br>What do you identify as?<br>I'm enjoying asking the general question.<br>- 38, male.<br>- Male.<br>- Husband of beautiful wife.<br>- Okay.<br>You stream about all kinds of programming,<br>but what kind of programmer are you?<br>Are you full-stack<br>developer, web programming?<br>And maybe can you lay out<br>all the different kinds of programming<br>and then place yourself in<br>that, in terms of your identity.<br>Sexual identity as well.<br>- Yeah, I can get it, we<br>can put it all in there.<br>- Okay.<br>- Plus, obviously those two<br>are very, very tightly coupled.<br>- I have seen you on the<br>border of sexually aroused<br>by certain languages.<br>I think you got real<br>excited about OCaml, or...<br>- OCaml. Let's go.<br>Thank you Dillon Mulroy.<br>- Okay, wow.<br>- Yeah.<br>- I did not expect that.<br>That escalated quickly. Anyway,<br>what do you identify as?<br>- Okay, so first let's do the previous<br>or the in-between question first,<br>which is the different archetypes.<br>I think that's a really<br>interesting kind of question,<br>because if you go on<br>Twitter or you're new,<br>your thoughts are probably<br>that there is just web programming,<br>and maybe there's some other stuff,<br>yeah, like game programming,<br>but you'd be like,<br>game programming in<br>JavaScript and on the web.<br>There's this very myopic view<br>of the programming world,<br>and I bet if you ask a<br>lot of people these days<br>what is the most popular<br>form of programming,<br>they'd probably say web.<br>If you said what contains<br>the most amount of repos,<br>how many percentage of repos<br>on GitHub are web-based,<br>they probably say 90% or some huge number.<br>But the reality is<br>that there's an entire<br>embedded robotics world.<br>You know, you're familiar<br>with the ML side of things.<br>There's networking, there's<br>gonna be just performance,<br>operating systems, compilers.<br>There's just huge amounts of variation<br>of all these different types<br>of programming verticals<br>that you can be.<br>And so we often talk about programming<br>in perspective of web, or<br>something that's pretty narrow,<br>and I think that's just a<br>social construct of Twitter<br>more than anything else,<br>that actually I don't believe<br>it's that representative<br>of the entire programming world out there.<br>And I think a lot of<br>programming's really, really fun.<br>There's some really great stuff.<br>Building your own language<br>is just a very fun experience to do.<br>Every programmer should just do that once,<br>just to have a completely<br>different perspective<br>on how things work in life.<br>But as far as what do I do,<br>I've always looked at<br>myself as a tools engineer.<br>So at my time, at my jobs, typically<br>I would start off on the<br>UI, and then they'd be like,<br>"Okay, well hey, we need<br>a library for this thing."<br>So then I'd be the one<br>writing the library.<br>So in 2012, 2013, I was<br>writing a UI library<br>for the web that can<br>behave just like an iPad,<br>so you can pinch and zoom on<br>it, but it's still a web page.<br>Because we didn't have any<br>of that stuff back then.<br>It was a canvas, had to do<br>all the matrices operations<br>and all that stuff to kind of...<br>- Nice.<br>- You know, it felt like<br>you're on an iPad, but it<br>actually wasn't on an iPad.<br>And this was iPad 2 by the way,<br>so this is a long time ago.<br>And so every single time I<br>got into a job it's like,<br>"Okay, hey, we need to do a library.<br>Hey, can you work on a build system?"<br>So back then there was no<br>Grunt, there was no gulp,<br>there was no any of those things,<br>so I had to hand roll my<br>own JavaScript build system.<br>And so I always fell into these<br>positions of building tools<br>for developers to be successful.<br>And I've always really<br>enjoyed that region.<br>So as I went on to say<br>Netflix, spent 10 years there,<br>I'd say the majority of my<br>10 years were building things<br>for developers to use<br>that they could be<br>successful at their job.<br>And so I've always really<br>enjoyed that aspect,<br>because your stakeholders and the people<br>that use your program<br>understand programming<br>and they're gonna say, "Hey, I need this."<br>And typically the thing that<br>they need, they actually want.<br>Whereas with people, people want stuff,<br>but what they actually need<br>versus what they actually want<br>often are this weird separation.<br>That's like the old Henry Ford quote,<br>"I just want a faster horse,"<br>and he's like, "No, what<br>you actually want is a car."<br>And so it's like, you<br>have to play this game<br>of trying to really figure it out,<br>whereas developers, it's like,<br>I know, you know what I'm<br>doing, I know what you want.<br>Let's figure it out together."<br>- That's actually, that gives you<br>a really nice big-picture view<br>of programming in general.<br>So I love the idea of just<br>starting at the interface,<br>like you need to pinch and<br>all that kind of stuff,<br>and then figure out the entire thing<br>that requires to make that happen,<br>including maybe the side quest tooling,<br>how to make it more<br>productive and efficient,<br>all that kind of stuff.<br>So the entirety of the<br>thing. That's really cool.<br>Okay, so that mean that<br>would be full stack?<br>By that general definition of<br>full stack, meaning like...<br>- [ThePrimeagen] Perhaps, yeah.<br>- Versus systems engineer,<br>like starting at the bottom<br>and trying to optimize a<br>certain kind of specific thing<br>without seeing the big picture<br>of what the resulting<br>interface would look like.<br>And a lot of people in web programming,<br>they never go beyond the<br>front-end of how a thing looks.<br>They kind of always assume<br>there'll be somebody,<br>some grunt in the shadows,<br>in the darkness of the basement,<br>that will implement the back end.<br>- Some Gilfoyle out there<br>will be doing the back end.<br>- Gilfoyle. Yeah.<br>- Yeah, I like to call<br>myself a generalist,<br>just to give some ideas.<br>At one point at Netflix I<br>built the WebSocket connection.<br>So for TVs, how WebSocket<br>works is code I just wrote.<br>And so I built the framing thing,<br>and before that I was<br>doing stuff with memory,<br>and before that I built a UI for a tool.<br>Right? I can just do the thing.<br>You just tell me the thing to do<br>and I'll just go do the<br>thing. I worry to...<br>I don't try to get super good<br>at one specific activity.<br>I don't want to be a Kubernetes engineer,<br>who's the world's greatest employer,<br>but if I had to go learn Kubernetes,<br>I'd go learn it and learn<br>how to deploy some things,<br>and then hopefully move<br>on to the next thing,<br>if that makes sense.<br>- I posted about the fact that<br>I'm talking to you on Reddit,<br>and there's a lot of wonderful questions.<br>Somebody mentioned that I<br>should ask you about DevOps.<br>Can you explain what DevOps is?<br>Is it a kind of special<br>ops of programmers,<br>is it SEAL Team Six of developers?<br>What's DevOps? Can you define?<br>Are you a DevOps engineer?<br>- Well, people keep telling<br>me DevOps isn't real.<br>There's actually, you<br>want platform engineers,<br>cloud engineers, infra engineers.<br>I just often think the easiest way,<br>if we're doing just<br>some basic nomenclature,<br>it's just DevOps are the<br>people that make sure<br>that when you launch a<br>service and all of that,<br>it doesn't just disappear, right?<br>It's all the backbone<br>of being able to operate<br>something at scale.<br>Like really don't, if you think about it,<br>if you're just writing<br>a mom-and-pa website,<br>people that do PHP that are<br>doing WordPress and all that,<br>they're going to build something,<br>they're going to hand<br>it off to, I don't know,<br>Linode, DigitalOcean, some company.<br>They don't really need a<br>really complicated build,<br>deployment, all this.<br>It's just someone with a simple website<br>so they can sell their goods.<br>And so they don't really need that.<br>And so that's kind of<br>how I think of a DevOps,<br>is when things need to scale,<br>that's kind of the person you hire.<br>- Yeah, those people are actually amazing.<br>- [ThePrimeagen] Yeah.<br>- The time I spent at Google,<br>it's like, oh, yeah, yeah,<br>there's all these fancy<br>machine learning people,<br>but the folks that are<br>running the infrastructure,<br>basically that make sure<br>that shit doesn't go down,<br>they're like wizards,<br>and they're essential.<br>- It's a very incredible vertical of job.<br>And obviously I'm using a<br>very broad term to describe,<br>I'm sure, like a bunch...<br>You know, because making<br>sure stuff doesn't go down,<br>you could also say that's an SRE, right?<br>Site reliability engineer.<br>Whatever, the ones that wear<br>the bomber jackets at Google.<br>And so when we say DevOps,<br>I think people get very particular<br>about terms specifically in this category.<br>They're like, "Well actually,<br>you're mentioning infrastructure engineer<br>versus site reliability engineer."<br>It's just like, "Okay, yes, I hear you,"<br>but generally when someone thinks DevOps,<br>they think somebody<br>that manages the servers<br>and their life cycles and the reliability.<br>There's DevOps.<br>Is it real? I'm not sure.<br>- [Lex] Okay.<br>- Did Vercel kill DevOps?<br>- Question mark?<br>- Question mark.<br>- Yeah. Wow, you're almost a journalist.<br>That's a headline.<br>Let's go back to the beginning.<br>- All right.<br>- Baby Prime.<br>So you mentioned Netflix.<br>You've...<br>- Oh, I worked at Netflix by the way.<br>- For people who don't<br>know who ThePrimeagen is,<br>he mentions the fact that<br>he has been very successful<br>and has worked at Netflix in<br>basically every other sentence.<br>- Correct. Almost as<br>much as I mention Neovim.<br>- Oh, great. Tell me more about Neovim.<br>No, please don't.<br>So, baby Prime. At the very beginning.<br>You've had one hell of a life,<br>and I think it's inspiring<br>to a lot of people.<br>you've come out of that to<br>become a successful programmer<br>and a person that inspires<br>a huge number of people<br>to get into programming, and<br>just to find success in life.<br>So maybe, I would love it if you laid out<br>just your whole life<br>journey from the beginning.<br>- So I guess if we're gonna<br>start with this whole journey,<br>I think it's probably best to start to<br>when I was about four or five years old.<br>That was the first time I was<br>ever exposed to pornography,<br>and it's kind of just earwormed me<br>for a large portion of my life.<br>And so I don't think there<br>was a day that didn't go by<br>from when I was a very<br>young lad all the way up<br>until I was twenty-some years old<br>where I didn't think about<br>porn on the daily basis.<br>And so it was just every<br>single day, even that young.<br>And so it was just a very<br>mind-consuming, time-consuming,<br>thought consuming thing that plagued me,<br>starting at a very young age.<br>When I was seven years old, my dad died.<br>That was kind of a really<br>tough period of life.<br>I still think about this time<br>that I went over to China,<br>and there's some rules that we were given,<br>and one of the rules was just like,<br>"Hey, don't talk about God,<br>and if you do, use the<br>word 'Dad' instead."<br>And I was just like, "Okay, Dad!"<br>It was the first time I<br>said that word in 17 years<br>or some long time.<br>"Daad." It was so weird<br>to say that phrase.<br>And I was just like, "Oh, that<br>was just the strangest thing<br>I've ever said in my entire lifetime."<br>It just felt so weird.<br>So, kind of rewind.<br>As I got older, obviously<br>was very good at computers,<br>good at accessing porn, of course,<br>played video games on the Internet.<br>Fun fun kind of side quest story.<br>I think the guy's name<br>is Lord Toc on Twitch.<br>I can't quite remember his name,<br>but he built this game<br>called Graal, G-R-A-A-L,<br>and Graal Online.<br>And when I was a young lad<br>it was just like Zelda,<br>except for it also had a level editor<br>and it had a C-like language,<br>and that's how I<br>discovered how to program,<br>is I looked at these<br>symbols and figured out<br>what they meant,<br>and then I was able to make<br>things happen in the game.<br>And that was like a,<br>that's my introduction into programming.<br>So thank you that guy,<br>whatever your Twitch name was.<br>But all right, so keep on going.<br>As I got older, I was super bad socially.<br>I was not a very great social person.<br>High school was brutal,<br>got made fun of a lot,<br>really didn't enjoy, I<br>wouldn't say had a great time<br>during high school.<br>Definitely felt very out of place<br>or offset or maybe misplaced, if you will.<br>I'm not sure what the right word is.<br>And so of course at that<br>point, I just always wanted to,<br>I wanted to be accepted,<br>to fit in and all that.<br>I did forget to say one side story.<br>After my dad died, my older brother,<br>he started getting into drugs,<br>and along with that he exposed me to pot,<br>so at eight years old I<br>was smoking some marijuana<br>for a while there, until maybe<br>11 or 12, and took a break,<br>and then again did a lot of that<br>as I got a little bit older, but...<br>So I got a lot of these<br>exposures fairly young.<br>16, 15 through 18, lot<br>of drinking and all that.<br>When I graduated, or as I<br>was graduating high school,<br>it's just like, I had<br>such sadness, if you will.<br>I was very sad about how everything went,<br>tried to commit suicide,<br>obviously it was a very poor attempt.<br>And I'm still here today. I'm<br>very happy about that aspect.<br>I'm glad that I didn't<br>follow through with anything,<br>had to go to the hospital and all that.<br>And when I was done, I just still remember<br>kind of coming out of the hospital,<br>and at that moment it's kind<br>of like something broke in you.<br>Have you ever read the book Wheel of Time?<br>It's 14,000 pages or something like that,<br>but right around page 12,000,<br>Rand has to intentionally kill<br>a girl, the main character.<br>And that's the moment he breaks,<br>and he gets into like Hard Rand,<br>Quindalor Rand, if you will,<br>for those that know Wheel of<br>Time will appreciate all that.<br>For those that don't, very<br>confusing, and I understand.<br>Not the Amazon movie show,<br>not that Wheel of Time.<br>So now that we go back onto it,<br>at that point it's just like<br>something kind of broke in me,<br>and I just didn't care anymore.<br>So all the social<br>awkwardness, if you will,<br>all that, just died away with me,<br>but also so did everything else.<br>And so I started using a bunch of drugs.<br>LSD, mushrooms, meth.<br>Did a bunch of meth, did<br>a bunch of that stuff,<br>and then went off to college<br>and continued to do a bunch of stuff.<br>I took too much acid to<br>where for quite a few years,<br>I had little squigglies<br>on the side of my eyes<br>whenever I'd walk by<br>high contrast objects.<br>And so it's just that whole period of life<br>was just kind of marked<br>by just poor decisions.<br>And then sometime when I<br>was about 19 years old,<br>somewhere in that range, I<br>just had this one evening<br>where I felt the very dramatic<br>and real presence of God.<br>And I kind of had this choice,<br>like Frodo, on a razor,<br>where it's like if I go either<br>way, I'm going to fall off,<br>and I need to change my life.<br>You get to make the choice now.<br>Do you want to do that or not?<br>And so I remember going, okay,<br>I do want to change my life.<br>I don't like this experience.<br>I don't like what I'm<br>living. I am still very sad,<br>I still feel very desperate.<br>I still feel all those things.<br>I'm just pretending to<br>be this other person.<br>And then I just went to sleep that night.<br>Nothing changed in my life.<br>Everything was still the way it was.<br>I woke up the next day, the same person,<br>and I was just like,<br>"Oh, that's just such a<br>strange, weird experience."<br>And I just went about my day.<br>And then I remember, I think that evening,<br>I looked at porn, and all of a sudden<br>I just had a conscious, just<br>this deep, profound shame.<br>And I was like, I've never<br>felt shame in my life.<br>I have no idea what's happening now.<br>And then all of a sudden<br>when I smoked pot,<br>I just felt deep shame.<br>And when I hurt somebody<br>or did something wrong,<br>all of a sudden, it's just<br>like I got a conscious<br>from that evening.<br>That's what my gift was, if you will.<br>And just at that point, I<br>didn't even have a choice.<br>I had to change my life,<br>because for whatever reason,<br>I've been changed in a moment.<br>And so from there I started<br>actually trying in school.<br>I always joke around that<br>I got 2.14 in high school.<br>I had a teacher hand<br>write me a note saying<br>I was the worst student she's ever had.<br>All that kind of stuff. I was<br>not a really great student.<br>And then in that moment it's just like,<br>"Okay, now life's changed,"<br>and I start trying to learn,<br>and I try to become a good student.<br>And it turns out it's really<br>hard. I was really bad.<br>I still got Cs.<br>I went and took pre-calculus<br>and failed pre-calculus,<br>and I'm like, "Oh my gosh, I<br>used to be the smart math guy,<br>and now I'm the idiot failing."<br>And so I'm just questioning<br>myself and all that,<br>and I spent hours upon<br>hours in a studying,<br>math learning center,<br>and then just at some point<br>years into this journey,<br>I'm like a year and a half into<br>this journey, at this point,<br>something clicks, and I go<br>from being the worst person<br>to just immediately becoming the best.<br>Everything after that is just,<br>I don't know what happened.<br>All of a sudden I was<br>the best person at math.<br>I started going into my<br>computer science classes.<br>I just really got everything.<br>Everything, at just years after trying,<br>just all of a sudden became easier.<br>And I'm not sure if it happened<br>over the course of weeks<br>or when the easier started, but<br>it was just first predicated<br>by just a huge amount of difficulty.<br>And then this is where I<br>started really desiring<br>and loving the process of learning,<br>was when things started getting easier<br>after all those years.<br>Because I just was motivated<br>by this desire to do something,<br>not thinking it was<br>going to get any easier,<br>and then all of a sudden it<br>just started getting easier,<br>and it was great.<br>And that's really where I guess I started<br>having the biggest parts of<br>my life change at that point.<br>I started really, really, really wanting<br>to never look at porn again,<br>because every single time just such shame,<br>and I really wanted to stop.<br>And that was by far the<br>hardest addiction to quit.<br>Smoking cigarettes was also a<br>really hard addiction to quit,<br>shockingly hard addiction to quit,<br>but porn by far was just<br>the worst of them all.<br>And then I think about 22,<br>I was finally done with all<br>kind of addictions, if you will,<br>and then for a year I<br>just worked in all that,<br>and I think right around,<br>maybe it was 21 and three<br>quarters, somewhere in that range,<br>I'm not really sure where I<br>stopped all the addictions part,<br>but, or at least the outwardly addictions.<br>And then at some point, six<br>months later, a year later,<br>met my beautiful wife.<br>Things just started falling<br>more and more into place.<br>I loved more and more<br>work. I loved programming.<br>I started programming 12 hours a day.<br>I watched the Social Network<br>movie, and after that,<br>I was just like, "I'm doing a startup."<br>And so that night I<br>started my first startup,<br>and I was just like, so...<br>It was in PHP by way.<br>- Nice.<br>- PHP, yeah, 5.2<br>or something like that.<br>It was great. Great times.<br>And I was just so motivated to do that,<br>and I would just program for...<br>Sometimes I'd program<br>for 24, 36 hours straight<br>, and just nonstop, that's all<br>I wanted to do at all points.<br>I think my wife got a little sick of me.<br>She would be like, "Can<br>you drop me off at school?"<br>And I'd be like, "No, I'm programming."<br>I was not a very nice...<br>You know, I didn't think<br>through things that well.<br>- Yeah.<br>- I was just so into it<br>and I just did it nonstop,<br>and that's kind of how I became me,<br>is that story, if that makes sense.<br>- Let's try to reverse<br>engineer some of the pain<br>and some of the triumph.<br>You made it sound easy at times.<br>Let's try to understand it better,<br>maybe when you were seven years old.<br>What do you think about the<br>pain you've experienced there,<br>losing your dad?<br>What do you think? What kind<br>of impact did it have on you?<br>What kind of memories do<br>you have at that time?<br>- The best way I can put it is<br>that I just never knew what a dad was.<br>I was young enough that<br>I could maybe repress<br>or just even have the capability<br>of remembering things long-term.<br>Because I know most people<br>don't remember a lot<br>from when they're young,<br>and so I'm not exactly sure.<br>I probably was at one of<br>the best possible ages,<br>if I'm going to lose a dad,<br>to lose a dad, you know?<br>If you're gonna lose<br>one, if you're 11 or 12,<br>it's a terrible age.<br>That's what my brother was,<br>and he fell into drug addiction<br>and never got back out.<br>So I just have more of a fuzziness<br>and just kind of a longing.<br>I just wish I had a dad.<br>- What impact did that have on<br>your evolution, on your life,<br>having that longing?<br>- I think that's why<br>I was so bad socially,<br>in the sense that I was<br>looking for approval, right?<br>I needed approval.<br>I think a lot of people<br>desire that approval<br>or that loving figure, and<br>I just didn't have that.<br>So I think I just looked for<br>it in everything else, right?<br>If I were to psychoanalyze my actions.<br>During the time, it's not like<br>I was actively thinking that,<br>but yeah, I just always<br>wanted something to fill in<br>whatever that was I felt.<br>- I think a lot of people<br>listening to this will resonate<br>with your experience in high school.<br>Being the outsider, being picked on,<br>struggling through a lot of<br>different complexities at home.<br>What advice would you give to them?<br>- The worst part about high<br>school is that you're surrounded<br>by a bunch of people your<br>age and it feels eternal.<br>- [Lex] Yeah.<br>- You don't think...<br>The people that are around you,<br>you feel like are the people<br>that will be there for<br>the rest of your life.<br>At least that's what I thought.<br>And I didn't really even realize this<br>until many years later,<br>that they are going to be<br>some of the least consequential<br>people in your life.<br>- [Lex] Yeah.<br>- Which is very shocking to think about,<br>especially if you're in it right now.<br>- Yeah.<br>- Right?<br>Right now they are everything<br>that your experience is,<br>your whole reality.<br>And then one day it all stops,<br>and then real life starts to begin.<br>- Yeah.<br>- That's such a shocking thing,<br>and if I could just tell myself that,<br>maybe I would have been a<br>bunch of different person.<br>- That's so beautifully put.<br>I mean, it is like a trial run.<br>You know at the beginning of video games,<br>there's a little tutorial?<br>That's what that is.<br>- [ThePrimeagen] Yeah.<br>- And actually that should<br>be a chance to try shit out,<br>to take risks, because<br>real life will begin with,<br>there is more consequences after that.<br>- Yeah.<br>- Here you can,<br>if you like a girl, ask her out.<br>Try, try shit.<br>If you get picked on, hit<br>that guy back. Try shit out.<br>- I'm not gonna condone<br>punching another person.<br>- I will. Beat the shit out of him,<br>and take some jiu-jitsu and<br>learn how to take him down.<br>And then that girl that<br>rejected you will be like,<br>"Hmm, maybe I'll give<br>that guy a second chance."<br>Be a bad motherfucker. It's<br>a chance to try stuff out.<br>This is a very motivational<br>speech for kicking ass.<br>- It is true.<br>I mean, there is something<br>very true about that,<br>that I think especially...<br>I mean, I have no idea<br>what the girls experience of<br>high school would be like,<br>but as a guy, there's definitely a lot of<br>like physical requirements in high school.<br>There's a lot of physical measurement,<br>at least where I grew up.<br>I think that might not be<br>true in all high schools,<br>but if they're filled with<br>boys, it's probably true.<br>And so it's just like,<br>yeah, it probably does<br>help to do those things,<br>to go to BJJ, to do any<br>of these activities.<br>Because even if you don't<br>ever kick someone's ass,<br>just having some level<br>of confidence in yourself<br>is probably a very valuable thing.<br>But just remembering that<br>this is such a short,<br>tiny moment in your life<br>is just like a huge help.<br>- I mean, the way you<br>phrased it is exactly right.<br>That's what it feels like.<br>That these are the people<br>that will be with you<br>for the rest of your life<br>and this is the whole world.<br>And so that means that there'll be<br>just tremendous amount of<br>impact if somebody picks on you<br>or if you fall somewhere<br>low in the hierarchy<br>and the status hierarchy<br>of this high school,<br>that means you'll be low<br>in the status hierarchy<br>of the world and you're fucked<br>for the rest of your life.<br>And that carries a<br>tremendous amount of weight.<br>It's just why psychologically<br>it's extremely difficult<br>to be...<br>I think it's understated<br>often by parents, by society,<br>how difficult it is to be a high schooler,<br>how difficult psychologically it is,<br>how it actually makes<br>sense that some people<br>would suffer from depression<br>and be on the verge of suicide;<br>is very, very difficult.<br>- Yeah, I think it's even...<br>People always say, "Back<br>in my day," blah blah blah.<br>I think it's genuinely harder<br>today than it's ever been<br>in the sense that when I was a kid,<br>there was a qualification to people.<br>Meaning, this is a cool<br>guy, this is not a cool guy.<br>Today, there's a quantification of people.<br>You have 32,514 people<br>following you, you have 12.<br>The people can visually...<br>They can inspect your exact social value<br>on whatever platform you're on.<br>And that has to be just so much harder.<br>And I can imagine that there's a lot of<br>just so much weight to put<br>on that, that it's just...<br>It feels probably way<br>worse and way more damning<br>to be uncool because<br>you have an exact number<br>of how uncool you are.<br>- Yeah. The challenge there.<br>And the task, the quest is to remember<br>that just because your<br>social circle on social media<br>and in high school thinks you're uncool,<br>it actually might mean you are cool.<br>And you need to find that cool and grow it<br>and let it flourish so<br>that when real life begins,<br>you can fucking come out of the gate<br>firing on all cylinders because-<br>- That's a great way to put it.<br>- I think if anything,<br>high school is really bad<br>at picking out the cool people.<br>Whatever the system, the<br>hierarchy that forms,<br>it's such a basic bitch hierarchy.<br>You're good at very generic<br>shit. That's how you rise.<br>- Your parents bought<br>you an expensive car.<br>- Expensive car, right?<br>- Just-<br>- Materialistic shit. Yeah, exactly.<br>- It's a greedy search.<br>See, they didn't have a proper search,<br>so they're just hitting that local optima.<br>- But the US, I mean, even<br>the objective function<br>for that greedy search is<br>just a really shitty one,<br>where those people that<br>win the game of high school<br>are very often not gonna be the people<br>that win the much more exciting,<br>beautiful game of life.<br>So do epic shit and try stuff out.<br>The weirdos are the ones<br>that are gonna succeed,<br>the weirdos in high school.<br>Probably because they also get bullied<br>and they get to be tormented<br>more psychologically<br>and get to explore their own mind<br>and think through what it<br>means to be a human being more.<br>Because if you're winning in high school,<br>you're not being challenged,<br>you're not self-reflecting,<br>you're not trying shit out.<br>So there is some degree to being tormented<br>as long as it doesn't break you.<br>The porn addiction, that's<br>another powerful one<br>that I think will probably<br>resonate with a lot of people.<br>And it's interesting that you say<br>that's one of the hardest<br>addictions to overcome.<br>- Let me say it this way,<br>some addictions have a<br>much bigger societal look<br>and porn is just not one of<br>them, which makes it super hard.<br>None of your friends are<br>going to cheer you on.<br>If you go on Twitter<br>and say, "I quit porn,"<br>they're going to be like,<br>"Well, that's good for<br>you but not everybody..."<br>No one makes that<br>argument with meth, right?<br>No one's gonna be like,<br>"Well, not everyone<br>has to quit meth, okay.<br>It's actually a fine industry<br>and people who are the ones producing it,<br>they're good also, right?"<br>No one's going to make<br>that kind of argument.<br>Whereas with porn, you're<br>going to have a whole thing<br>and friends are gonna think<br>you're dumb for doing it<br>or whatever.<br>It's like you have...<br>It's a much more difficult<br>one in just like that.<br>So it feels accepted.<br>- And I think it's also an<br>addiction you can practice,<br>participate in privately<br>and hide it from the world.<br>There's certain addictions<br>that are harder to hide<br>from the world for<br>prolonged periods of time.<br>And porn addiction is<br>probably one you can just have<br>for many years and then it can deepen.<br>That's probably a serious issue.<br>Boy, am I glad I grew<br>up before the internet<br>because porn is so accessible,<br>so easy to go deep into that addiction.<br>I mean, what can you speak about<br>what impact it had on your life?<br>Maybe some of the low points,<br>but also how to overcome it?<br>- I'd say as far as impact goes is that<br>you will have such a long<br>and broken look at women.<br>By the very, like I can...<br>Again, I'm only speaking<br>from a male's perspective,<br>that porn in its just most basic thing<br>is that you use another<br>person for your own desire<br>or your own want.<br>It's not something that is deeply needed.<br>There's no need for porn.<br>It's purely a want-based<br>activity or a lust,<br>however you want, whatever<br>word you can fill in there.<br>And it is purely an objectifying activity.<br>Someone else is on display<br>for your own enjoyment.<br>And so I think you carry this around.<br>I do think that the women that<br>I dated during high school<br>or the women after high<br>school and college,<br>I looked at them as a means to an end.<br>And I think porn greatly kind<br>of shifted that perspective<br>in my head that I did not give the value<br>that was desired to another person.<br>It really devalues<br>humanity just in general,<br>is my perspective of it.<br>And then it makes people into commodities.<br>And I don't think people are commodities.<br>I think everyone has value.<br>And so during that,<br>for me that's like the<br>great effect of porn,<br>is that it's just consumerism gone wild<br>or materialism maybe, you<br>could ask or argue, gone wild.<br>And it's extremely hard to<br>quit, just like you said,<br>because I can look at porn and<br>then I can go out to lunch.<br>No one's going to know. No<br>one's going to have any ideas.<br>It's a very private, it<br>can be very short session.<br>It doesn't have to be<br>something that takes...<br>You can't take acid then<br>go out to lunch, right?<br>Your whole day is going to<br>be a very different day.<br>And so it's very quick, easy, accessible.<br>And then obviously there's all<br>the science and statistics,<br>like men make worse decisions<br>for some period of time<br>after looking or being<br>exposed to sexualized images.<br>There's the whole dopamine effect<br>that's just like you constantly<br>need more and more dopamine.<br>That's why people<br>typically don't just watch<br>five minutes of porn and call it a day.<br>There's like the hundred tab joke<br>that's always made on the internet.<br>It's because it's just this<br>constant dopamine cycle<br>you're constantly doing.<br>And all that stuff is great to say.<br>And I'm sure statistics and<br>science and all that stuff<br>is really great arguments<br>for some amount of people.<br>But for me it just comes down to,<br>is it really a good thing to do?<br>Is it really actually something we want,<br>is to value people in such a profane<br>or just disregarding way?<br>I just really think it's<br>just bad for the soul.<br>Even if all the stats<br>said it was great for you,<br>I still say it's actually bad.<br>- Yeah, you have to look at<br>the long-term big picture,<br>psychological impact it<br>has on your relationships<br>with human beings in general.<br>That's my, more generally than just porn,<br>my problem with the quote,<br>unquote, sort of "manosphere",<br>is I think sleeping with<br>a bunch of women is great,<br>wonderful.<br>But the problem is,<br>making that the primary<br>objective of your life,<br>similar with porn,<br>is you devalue one of<br>the most awesome things,<br>which is intimacy.<br>That's true for deep friendship,<br>that's true for relationships.<br>And I think porn does that in its purest,<br>darkest form, which is:<br>the thing that matters is the sex,<br>not the deep connection<br>with another human being.<br>And I think, again,<br>going back to high school<br>and the manosphere, the objective function<br>if it's to get laid,<br>which helps with status<br>and confidence and all...<br>All that is wonderful, I think.<br>Again, can be an addiction.<br>But the thing that's even more<br>awesome for a lot of people<br>is a deep friendship or deep intimacy<br>with a romantic partner.<br>That's also fucking awesome,<br>and both of those are great.<br>- It's objectively better to have...<br>I would say that there's<br>no universe that exists<br>or there should be no<br>argument possible that exists<br>that a guy who has meaningless sex<br>has a better or a more<br>meaningful life than,<br>say, me and my wife who've<br>been together for 15 years.<br>We have a very...<br>I can depend on her in all circumstances.<br>Whereas if you live that other<br>life, it sure could be...<br>It could feel great, but<br>there's no meaning to it.<br>There's no actual real value to it.<br>- That's absolutely correct.<br>I do think that getting laid<br>can have a tremendous positive impact<br>on the confidence of a young man.<br>I think just there's a certain<br>number of sexual partners<br>from which you can collect a lot of data<br>and it can free you about,<br>like not to be so nervous<br>about the opposite sex,<br>not to be so nervous<br>about human interaction.<br>And that will allow you to<br>see the world more clearly<br>and to actually find that one partner<br>with whom you can be deeply intimate with.<br>Sometimes the nervousness around<br>like this societally constructed value<br>in getting laid can cloud your judgment.<br>And if you just release that<br>by getting laid a bunch of times,<br>then you could see the world clearly<br>that getting laid is not nearly<br>as important as you said,<br>as finding the right human,<br>including I should put in that pile,<br>not just a romantic partner,<br>but friendships, deep lasting friendships.<br>- Well, I mean I think you're right<br>that our society puts a lot<br>of emphasis on getting laid.<br>And I'm sure that's true<br>among any group of males<br>throughout any point in history.<br>I'm sure that's a very common joke<br>that's never actually<br>never stopped at any point.<br>So I'm sure that exists but...<br>And there's probably<br>some truth to the sense<br>that after you've...<br>Who was it? Jim Carrey.<br>"I hope that everyone can<br>get rich so they realize<br>that money solves none of your problems."<br>The realization that this<br>thing that society told you<br>is hyper important is actually<br>not the important part.<br>It is a very important...<br>It's a great sign that your<br>relationship is healthy.<br>Like if me and my wife<br>were to have no sex at all<br>for months on end, something's gone wrong,<br>which means what...<br>We are no longer on the same plane.<br>But it's not also a good identifier.<br>Just because you're having a lot of sex,<br>it doesn't mean you're<br>having a good relationship.<br>And so it's like a unique kind of...<br>I forget the right term here,<br>but it's a unique way at<br>looking at the problems.<br>And our society puts so much emphasis.<br>And maybe that's why<br>porn was so hard to quit,<br>but my guess is it's just<br>all the dopamine effect<br>that it is.<br>But for me, the most important part<br>and the thing that actually<br>has real reward is having that,<br>having just my wife.<br>I do not look at...<br>I desperately try not to<br>look at any other woman.<br>I'm hopefully not going to get caught...<br>Mark Zuckerberged at the<br>White House like that.<br>I don't look at porn.<br>My wife has complete confidence in me<br>that there is not going to be a situation<br>in which she has to question<br>me in any kind of sense.<br>And that builds a much<br>more deeply, I would argue,<br>a very deep relationship<br>because the trust is that much bigger.<br>I think the deepness of the relationship<br>is probably proportional<br>to the trust you have<br>in each other.<br>It's very hard to have a deep<br>relationship with no trust.<br>- Yeah, and a probably a prerequisite,<br>maybe a component of<br>trust is vulnerability<br>to where you take the<br>leap of being vulnerable<br>with another human being.<br>And that vulnerability when reciprocated<br>builds this really strong trust<br>and it's a beautiful thing, yeah.<br>I personally just, given my position,<br>that's even more challenging,<br>being vulnerable with the world<br>and there's a bunch of people out there<br>that want to hurt you for it,<br>but I think it's worthwhile<br>anyway to be vulnerable.<br>- It's always worth it.<br>The risk is always worth it in some sense.<br>Obviously, everyone has a different life<br>they have to filter through<br>their actions with, right?<br>Because the person that has no,<br>say, social following or anything,<br>their risk reward profile<br>could just be local impact,<br>which could be just as<br>damning or harming to them.<br>- And so it's always<br>worth the risk though,<br>in my personal opinion,<br>because finding my wife<br>has been obviously the most impactful<br>or changing thing in my life.<br>Or second most, I'd argue<br>that one night with God<br>would probably be the most impactful thing<br>that led to everything else,<br>but then the wife would be<br>the next most impactful.<br>I mean, I'm cleaning up<br>after myself and stuff now.<br>Changed man. I'm a changed man.<br>- Can we try to reverse engineer<br>that moment of you finding God.<br>What is it at 19?<br>Because it feels like that was a big leap<br>for you to escape the pain,<br>to escape the addiction or<br>the beginning of that journey.<br>What do you think happened there?<br>- I think it just felt like I just...<br>There was no line that I<br>wasn't willing to cross.<br>Everything was fine and just like...<br>It just all of a sudden,<br>just in that moment,<br>it's just like I had I guess<br>some sort of deep fear<br>and understanding like<br>I am going down a path.<br>Is this really the path<br>you want to go down?<br>And I don't know what the<br>result of that path would be<br>or anything like that.<br>I don't tend to speculate on<br>things I don't understand.<br>I just know that in that<br>moment I had the option<br>and I just chose...<br>I didn't want it anymore. Right?<br>It's kind of mixed in this whole thing<br>where it's just like I had no value.<br>I wrapped up all my meaning or value<br>in having sex or getting laid.<br>I had, you know...<br>All that stuff, all the<br>things we just talked about,<br>that was where all my worth was.<br>And that is just such a terrible<br>place to have your worth.<br>And it was just all came to a point.<br>And I can't tell you the day of the week,<br>I can't tell you anything<br>other than it was nighttime<br>and I was in South Hedges<br>in Montana State University,<br>go Bobcats, meowww...<br>That's about...<br>Yeah, that's the sign that<br>we do at football games.<br>Don't worry about it.<br>But that's all I can really tell you<br>because that night was<br>no more or less special<br>than some other night.<br>It's just the specialness was<br>I got at least a chance to make a choice.<br>- Because you find in that advice<br>that you can give to<br>others who are probably,<br>there's probably just an<br>endless amount of people<br>that are struggling with porn<br>addiction now, young people.<br>What advice could you give<br>to them? How to overcome it?<br>- For me to overcome it, I had to realize<br>that I was taking something<br>away from my future wife.<br>Some people would be like,<br>"Oh, well, once you get a<br>girlfriend then you can stop."<br>And it's just like,<br>no, because you never stopped the problem.<br>You don't stop a problem by replacing it.<br>And so I didn't have a girlfriend,<br>I didn't have all that.<br>I just realized that I<br>was truly taking away<br>from something from my future wife.<br>And I didn't even know my<br>current wife at that time.<br>She was not in the picture.<br>I'm not even sure if she was<br>at Montana State University<br>at that point.<br>And so it's just that's...<br>Once I made that realization,<br>I think it went from my head to my heart,<br>which they say is the greatest<br>distance in the universe.<br>I finally got it.<br>And that's really where things change.<br>The ability to say like<br>what's gonna help you change and all that,<br>I don't know if there's,<br>I don't think there's<br>silver bullets, right?<br>If someone could offer you a drug...<br>I forget who says this phrase,<br>but there's this really interesting phrase<br>that goes something like.<br>He was a very depressed man<br>and he was struggling with suicide<br>and he writes about this in this memoir.<br>And he goes to these doctors<br>and the doctors effectively say,<br>"Well, here's antidepressants,<br>it's gonna help you."<br>And he says that,<br>"Well, the problem was is<br>that scientists told me<br>that I could just touch my<br>brain and make myself happy,<br>and that's it.<br>They could reach in, they<br>could configure some stuff<br>and I'll be happy."<br>He's like, "For me, it was a<br>lot like going out into a field<br>and being able to take<br>a drug to see the rain.<br>I could look out, see the<br>rain, it would fall down,<br>it'd be silvery, it'd be beautiful,<br>but all the crop would still die<br>because there's not actually any rain.<br>I had to discover how to be happy myself."<br>And so for me, it's like the<br>reason why I looked at porn is<br>because I was unhappy.<br>I was trying to find meaning.<br>I was trying to find<br>value in something, right?<br>Something that was<br>supposed to finally give me<br>this ultimate satisfaction.<br>And it just does not, no matter how hard,<br>and no matter how much you think it will,<br>there is no escapade,<br>there is no pornography<br>that will ever give you<br>that satisfaction you're looking for.<br>That's the reason why it's addicting.<br>And that's my call to<br>why you shouldn't do it,<br>but how to get out of it, I<br>only got out of it by realizing.<br>- I think that's really<br>brilliantly described.<br>You knew that this thing<br>you're doing is preventing you<br>from finding your future wife<br>and future wife could<br>mean more even broadly,<br>this path to a flourishing,<br>to a beautiful life.<br>I think there's a lot of choices we make<br>that are just preventing<br>us from opening the door<br>to whatever future.<br>I think what's really<br>nice to do is to imagine,<br>just like we said with high school,<br>that there are a bunch<br>of trajectories in life<br>where you'll be truly happy<br>and you need to construct<br>your life in a way<br>where you have the chance<br>to travel down those paths.<br>And there's a bunch of addictions,<br>there's a bunch of choices<br>that prevent us from<br>traveling down those paths.<br>So just believe that you're<br>gonna have an awesome life<br>and remove from your life the things<br>that are preventing you<br>from walking down that path,<br>which is essentially what you did.<br>It's a leap of faith<br>that if you let go of porn,<br>that a better life is waiting<br>for you on the other end.<br>- Yeah.<br>I definitely can't say how long<br>it will take, a better life.<br>But for me, there's no way in the universe<br>I could have had the<br>relationship that I have<br>without first making those steps<br>because I couldn't value my wife<br>in the way that was<br>proper for who she was.<br>I would have valued her through the index<br>or the lens that I currently<br>was looking through, so.<br>- Got to ask.<br>So I've never done meth.<br>I've never done meth.<br>- That was a great segue by the way.<br>(Lex and ThePrimeagen chuckle)<br>- Oh, man. I don't know<br>what the fuck I'm doing,<br>honestly, with this interviewing thing.<br>But yeah, meth and LSD...<br>I did ayahuasca. I did<br>shrooms a bunch of times.<br>And this topic, I should<br>say that there's a lot of,<br>on Twitter and in the<br>tech community in general,<br>people speaking negatively about ayahuasca<br>and some positively.<br>I think it's such a roll of the dice.<br>I had incredible experiences,<br>but I don't think I want<br>to recommend it to anyone.<br>It's a risk, it's a serious risk.<br>It really is a roll of the dice<br>that you could meet your demons<br>and they could destroy you<br>or you can meet your<br>demons and let go of them.<br>Or you could have experiences<br>like I did, which is never...<br>Apparently I don't have demons.<br>I'm pretty sure they're<br>somewhere in the basement,<br>but I've never met them on drugs.<br>- I'm always really<br>happy. I'm a happy drunk.<br>I'm a super happy on<br>ayahuasca, just full of love.<br>I don't understand, I don't<br>understand where the demons are,<br>but that's my biochemistry,<br>whatever that is.<br>And for some others, one<br>trip could be amazing<br>and the next one could<br>just completely destroy you<br>and wreck your life.<br>So I don't know what the<br>recommendation from that is,<br>maybe avoid it, but then<br>all of us die and life...<br>I tend to lean into<br>adventure but drugs is...<br>If you fuck with the<br>biochemistry of your brain,<br>you can really destroy yourself in a way<br>that it's gonna torment you.<br>So I would generally recommend<br>that people avoid drugs<br>altogether, probably,<br>unless you're a crazy motherfucker.<br>Hunter S. Thompson.<br>- What an intro to this topic.<br>- [Lex] I'm sorry. What's meth like?<br>- That's a great intro.<br>I like...<br>You are very correct in<br>the sense that there is,<br>at least when it comes to hallucinogens,<br>there is a wild variance to<br>what you're going to experience.<br>And there is no guarantee, there's no...<br>Just because you buy the product,<br>it doesn't mean you're going<br>to have a good time, right?<br>There's a lot of...<br>Personally, I find that<br>stuff to be very...<br>I believe in the spiritual realm, right?<br>I believe demons and angels<br>exist. I believe God exists.<br>And that whole realm is like...<br>I don't know what it opens you up to,<br>but it's much, much different experience.<br>Now, some people will be like,<br>"Oh, it's just a bunch of<br>chemicals in your brain.<br>They all get mixed up.<br>LSD just takes all of your<br>pathways and they all go...<br>They all get kind of<br>scrambled up in your brain."<br>And it's just like, yeah,<br>the experiences are profound.<br>I had some really bizarre,<br>very cool, very awful...<br>I've had all the experiences in them all.<br>I can just tell you<br>that I personally always<br>say the same thing.<br>It's like, choices that I<br>made I can never take back.<br>I would never take that away from myself<br>because I don't know if<br>I would be who I am today<br>without all those<br>experiences going up to it.<br>But if you have not had that<br>experience, I'm on your team,<br>or at least partially on your<br>team, maybe more severely,<br>I don't think you need those experiences.<br>I don't think they're gonna...<br>You don't have to put<br>yourself through that<br>to make a good decisions or to realize<br>that people have value, right?<br>You don't have to do that.<br>So as far as what is meth<br>like? Meth is like...<br>If you've ever done cocaine,<br>cocaine starts off with like<br>a 15-minute dance party.<br>Just (beatboxing)<br>It's just so intense. It's so great.<br>And then it just followed<br>up with like a five hour,<br>just feeling wiggly, right?<br>I don't know how else to describe it.<br>Meth is like that<br>except for I didn't<br>get as much dance party<br>or any dance party, but instead I just got<br>that part for like 12 hours.<br>- Yeah.<br>- So did a lot of skateboarding,<br>did a lot of running<br>around, staying all night.<br>- Would you say it's a pleasant feeling<br>or is it more like an escape<br>from the loneliness of life?<br>Is it pleasant or negative<br>in the actual moment?<br>Not the consequences but in the moment.<br>- So I mean, this is just a<br>very interesting kind of area,<br>which is that not...<br>Universally, you can't say that.<br>Often you'll find that there's<br>kind of these two groups of drug addicts.<br>There's those that like the opioids<br>and those that like the uppers.<br>They typically don't like...<br>There's very few people in<br>the drug world that do both.<br>They're really just like find<br>their side and they go for it.<br>So is meth a thing that<br>everybody's gonna enjoy?<br>Well, categorically, as you can see,<br>and just how people<br>experience drug addiction, no.<br>But for me it's just I had a really...<br>It kind of feeds into the<br>ADHD nature of this...<br>Because you know you're<br>kind of high energy,<br>you're like always in the moment.<br>So it's just like you're in the moment,<br>but it's just like,<br>"Oh, I'm in the moment!"<br>Everything's just so intense!<br>You just want to really be in the moment.<br>And so it's just<br>experiencing that constantly.<br>And so was that great?<br>Well, some people...<br>My wife always tells me<br>this, being nervous or...<br>I forget, the anxiety of a situation<br>can also be the same thing as like thrill.<br>I forget the exact way.<br>She's probably super disappointed<br>that I messed this up.<br>But it's like you could<br>perceive those two experiences<br>in very different lights.<br>Some people get in front of<br>a crowd and it's thrilling.<br>Some people get in front of it<br>and it's just the worst<br>experience of their lifetime.<br>They would actually literally rather die,<br>which is a crazy thing to think about<br>than stand up and speak.<br>And so for me, meth was<br>that thrilling side,<br>but at the same time,<br>it still didn't quite give<br>me that thing I wanted,<br>whatever I was looking for.<br>I'd use it to help try<br>to get that thing I want,<br>but it was never giving<br>me that thing I wanted.<br>- Yeah. For me, I've had all<br>really wonderful experiences.<br>Do not recommend them.<br>But like with shroom-<br>- That's a YouTube policy by<br>the way that you have to say,<br>"By the way, do whatever you do,<br>do not do a illegal activity."<br>- I-<br>- But I had great experiences,<br>but whatever you do, don't do it.<br>- Mr. ThePrimeagen, I have no master.<br>I don't have YouTube or whatever.<br>I'll say whatever the fuck I want.<br>I'm just-<br>- But seriously, you do.<br>- No. No.<br>I don't give a shit about<br>YouTube or anybody, honestly.<br>I'm just careful about<br>the words I say because,<br>just because I had positive experiences,<br>I don't want young<br>people listening to this<br>think they should try the experience.<br>I think the much more powerful message is<br>that life is awesome even without that.<br>That's something I<br>definitely experiment with<br>on the alcohol side.<br>So for me, I'm an introvert.<br>I'm afraid of the world.<br>Social interaction fills me with anxiety.<br>Alcohol is definitely a thing<br>that helps with that sometimes,<br>but I think honestly it's<br>not even the alcohol,<br>it's like having to do something<br>while a person is talking to me.<br>I could just drink a liquid.<br>"Yeah. Mm-hmm." There's a social thing.<br>With a beer, it's like, "Yeah. Uh-huh.<br>Yeah, we're having fun."<br>And I think it's...<br>For me, it works the same as...<br>If the liquid actually looks like alcohol,<br>it does the same purpose<br>often because alcohol...<br>If you have a whiskey<br>or a beer looking thing,<br>it kind of sends a signal<br>that we should be having fun.<br>So we're socializing, right?<br>We're fucking getting crazy.<br>And then that mean...<br>You don't actually need the alcohol.<br>You can get fucking crazy<br>without the alcohol substance,<br>but there is some kind of social signaling<br>that happens when you<br>have a drink in your hand.<br>So I've been to get-togethers<br>where I'm not drinking,<br>but just doing a fake drink situation<br>and I can also have fun.<br>So I've been...<br>But that said, traveling across<br>the world, there are times<br>when you get to be able<br>to down a bottle of vodka.<br>That's very essential for my line of work,<br>but that's almost like<br>a cultural experience<br>versus a necessary component<br>of a successful social interaction<br>and one that brings you happiness.<br>So not drinking...<br>I think you can have<br>fun and not drink too.<br>So all of this...<br>Man, I'm so careful saying drugs have<br>had a good effect on my life<br>because I think for most people,<br>no, for majority of people,<br>they will in the long term<br>have a negative effect.<br>So I think if you were to<br>choose one or the other,<br>just no drugs and no drinking<br>means one day you can be<br>the President of the United States, kids.<br>And I should say...<br>Oh, man.<br>- That is his funniest line.<br>- That means Diet Coke-<br>Diet Coke is great.<br>- That's his funniest line, which is,<br>"You would hate me if I drank."<br>Which I just like...<br>To me, that tickles me<br>to no end. Just like,<br>"Oh my gosh, that is such a funny line."<br>- Self-awareness and humor<br>is wonderful there, but yeah.<br>- But I am on your team.<br>All of the reasons why I<br>used drugs and all that,<br>it's some level of escapism.<br>I'm sure that's like<br>would be the archetype<br>or the box I'd put that into<br>or the pursuit of trying to feel something<br>that cannot come from them.<br>It's like trying to find<br>meaning in your job.<br>You can find satisfaction in what you do.<br>That is a very good thing.<br>You can find satisfaction and be happy<br>with what you've created.<br>You can be thrilled by the experience,<br>but you cannot find...<br>I doubt you can find purpose.<br>Maybe some people in specific jobs.<br>This obviously have very broad<br>strokes, I'm painting with.<br>Like if you're an EMT and<br>you save someone's life,<br>maybe there can be purpose in<br>that whole experience, right?<br>So I'm not saying all things,<br>but as programming goes,<br>most programmers, you cannot<br>just simply find your purpose.<br>And same with drugs, you cannot find<br>that thing you're looking for,<br>but they are a very great distraction.<br>And then at some point<br>that distraction comes with a heavy cost.<br>I think Dr. Faust would<br>probably know the best<br>about the heavy cost, but it's<br>just you're making one trade<br>for another and at some<br>point the bill comes due<br>and that bill can be very, very large.<br>- The other moment you mentioned<br>that I think is really inspiring<br>is that you failed pre-calculus.<br>You really struggled in school.<br>You realize that school is really hard<br>and then eventually you're<br>able to sort of persevere<br>and, I don't know,<br>break through that wall of struggle.<br>Can you, by way of advice,<br>figure out what happened<br>and what kind of advice<br>you can give to people who are struggling?<br>- Yeah.<br>I'll paint it in a more clear picture,<br>or a very fast speed run of it is that<br>I took pre-calculus, failed.<br>I took pre-calculus again, failed,<br>took pre-calculus again and got a C.<br>So I took it three times.<br>Then I took Calc over<br>the summer, so Calc 1.<br>In that one at the end, the final...<br>The final was a two-hour final.<br>I finished it in 30 minutes<br>and that was the highest<br>score in all of the school.<br>And I proceeded to be the highest scorer<br>in all calculus and Diffy Q.<br>I was the only person out of 400 people<br>to finish the Diffy Q final.<br>And I got the highest grade.<br>And so I was like, I got really good.<br>So I somehow went from<br>really bad to really good.<br>And my only...<br>The thing that I did is that I had to win.<br>It was not a option.<br>It was not like, "Oh, this<br>would be really great."<br>It's like, "I will not graduate,<br>I will not finish my stuff<br>if I cannot do this."<br>And so every single day I got up,<br>I went to my however<br>many hour class it was.<br>Right after that,<br>I went straight to the<br>math learning center,<br>did those problems.<br>When I got home, I just got the book<br>and it had the odd answers in the back.<br>And I would try to walk<br>through the problems<br>over and over and over and over again<br>until I absolutely got it.<br>And it just became this<br>thing where it's just I...<br>Just simple rote memory took over<br>and the ability to just<br>effectively have the times table,<br>but for calculus, all stuck in my head.<br>Inverse trig substitution,<br>trig substitution,<br>doing Taylor and MaClaurin series.<br>All those things, kind of,<br>just over and over and<br>over and over again.<br>Eventually they became<br>easy. They became very easy.<br>It's just that I had to cram it in there.<br>And some people, you hear these stories,<br>whether they barely show up<br>to class and they get As,<br>I've never been that person.<br>I've always been the person<br>that has to sit down,<br>read through everything, and<br>I'm bad at abstract concepts.<br>I like the concrete into the abstract,<br>not the abstract into the concrete.<br>Very bad at talking about<br>things theoretically,<br>then trying to apply them.<br>But if I can do it once literally,<br>then it's really easy for<br>me to go into the abstract.<br>And so it's just like...<br>For me, it's just I had...<br>There's no substitute for the hours.<br>So if I were to give advice,<br>it's just that you have to<br>have time in the saddle.<br>Hour after hour will<br>make you slowly better.<br>And at first, it's crushing.<br>It's defeating and it's not<br>fun because you are bad at it.<br>But then at some point<br>you're just not bad at it<br>if you can just do it long enough,<br>and you'll start getting okay at it.<br>And then at some point you<br>might even get good at it.<br>And when you get good at<br>something, it feels amazing.<br>There's like an exploratory thing.<br>If you've ever played<br>a musical instrument,<br>you stop having to think about<br>all the little teeny things you have to do<br>to be able to play something correctly.<br>And you start thinking about<br>how you can explore that space.<br>It's like it's a completely<br>different problem.<br>And same with programming,<br>programming has an identical<br>kind of feel to it.<br>It's just like you'll cross that barrier<br>and it becomes magical<br>as opposed to a chore.<br>- Yeah, once you cross that barrier,<br>somehow other things become easier.<br>But then if you want to have<br>a truly successful life,<br>then you find the next barrier.<br>- Yeah.<br>- The next barrier.<br>Yeah, I've always been the same.<br>Everything's come really hard.<br>- Yeah, I've had no free lunches.<br>Everything's just been a lot<br>of, a lot of pain and struggle.<br>- I think somebody said<br>that, on this topic,<br>that you think work smarter not harder<br>is a phrase that you dislike.<br>Somebody on Reddit told me this.<br>- Yeah. I don't just dislike it.<br>I hate that phrase.<br>- Okay.<br>- Tell me about your<br>hatred. How do you feel?<br>- The reason why I dislike that is<br>that there is kind of a<br>hidden suggestion there,<br>which is that you already<br>know what smarter is,<br>so just do that.<br>That actually things should be easy.<br>You should just not have to try that hard.<br>You should just do the<br>quick, easy, obvious path<br>and boom, it's done.<br>It's like I've never experienced<br>that in anything I've done.<br>Everything is actually really hard<br>and most of the time I don't<br>even know what I'm doing,<br>so therefore I don't even<br>know what smart looks like.<br>And so for me, the only way I can learn<br>how to work smart is by<br>working very, very hard<br>and knowing that there's no shortcuts.<br>And then when I finally<br>figure out what smart is,<br>when I work smart and work hard,<br>it is that much better.<br>- I think there's a deep<br>profound truth to that.<br>- There's a lot of these phrases<br>that just drive me nuts in our society.<br>- But that one is...<br>Sorry, that one is really accepted<br>if you can just linger on it<br>because it really bothers me as well.<br>So one, which is a really<br>nice thing you said,<br>the presumption there<br>is things should be easy<br>and you're a failure if you<br>don't see the easy path.<br>That's kind of the implied thing.<br>- Just work smart, daug,<br>why are you putting in all those hours?<br>- And so it makes a lot<br>of people that struggle<br>feel like they're a failure<br>because I don't see it.<br>And then the choice they<br>have, I'll just go with the...<br>I'll just be lazy<br>and then maybe the profound<br>truth will come to me somehow.<br>And yeah, I don't think I've ever,<br>and I don't think I've met great engineers<br>that find the smart way<br>without the extremely hard work.<br>The annoying thing about<br>those great engineers<br>is then looking back,<br>they forget the hard work<br>because they remember all the joy<br>they now are experiencing<br>from all the efficient,<br>smart work they figured out how to do.<br>They forget...<br>So when they give advice<br>they give the stupid advice<br>of, well, just do it like the easy way.<br>And here's the easy way.<br>But no, no, no, no, no.<br>You have to put in the hours.<br>Musical instrument is a beautiful example<br>of guitar and piano.<br>I've put in, I don't know<br>how many thousands of hours.<br>And now when I'm explaining<br>stuff jiu-jitsu as well,<br>I sound like one of those people<br>just relax in jiu-jitsu.<br>By the way, just relax is<br>a really wonderful thing<br>for physical endeavors<br>like piano and so on.<br>But to learn how to relax your<br>hand, how to relax your mind,<br>your body and use<br>whatever the biomechanics of your body<br>to apply the correct kind of leverage<br>and the timing and all that,<br>that takes thousands of hours of learning.<br>Just to learn how to relax<br>takes a lot of really hard work.<br>In jiu-jitsu that takes many months<br>of getting your ass beat over and over<br>until you ride the bus home crying.<br>Your ego completely<br>shattered and destroyed.<br>And then a little element<br>is figured out late that<br>night or next morning.<br>And from the depression,<br>there's this little plant<br>that grows this flower of insight.<br>And you use that insight to<br>then get your ass kicked again<br>all next month and year.<br>And then you grow and grow and grow.<br>And from that you discover<br>how beautifully simple<br>jiu-jitsu is or Judo is,<br>just speaking for myself,<br>or piano or guitar.<br>And then yes, the profound truth<br>or the mastery of a skill feels simple<br>when you finally arrive to it,<br>but the path for most people<br>is going to be a hard one.<br>- I think I should make<br>an addendum to the phrase,<br>I think the phrase should<br>be "Work hard, get smart."<br>- Nice. That's a t-shirt.<br>- That's what it should be.<br>- Yeah, agreed.<br>Okay, that was a tangent of a tangent.<br>- Can I say one more<br>phrase, cultural phrase<br>that I absolutely hate?<br>- [Lex] Yes.<br>- "The journey is better<br>than the destination."<br>Everyone's heard this.<br>Just take one second to<br>apply what that means.<br>That means forever starting from now,<br>you are only going towards<br>a place that's worse.<br>(Lex laughs)<br>Right? That literally is what it means.<br>- Powww.<br>- Enjoy the journey,<br>celebrate the destination,<br>that should be what it would be but no.<br>People say these phrases,<br>they're everywhere.<br>There's these very shallow phrases<br>that have no logical bounds to them.<br>You're just like, what does that,<br>why would the journey ever be<br>better than the destination?<br>I think this might even<br>be a C.S. Lewis quote<br>is that C.S. Lewis was like,<br>nope, this is terrible.<br>The journey is not in fact<br>better than the destination.<br>- I love the demotivational posters.<br>"Progress, moving forward is<br>better than moving backwards<br>even if you're still going nowhere."<br>There's a lot-<br>(ThePrimeagen chuckles)<br>- I feel that one so<br>much being in California<br>for a few years, that is painful.<br>- [Lex] Positivity, if it<br>doesn't break you today,<br>don't worry, it will try again tomorrow.<br>It's just a lot of really great posters.<br>- I didn't even know this was a thing.<br>- [Lex] This is a thing.<br>- Oh my gosh, I want that.<br>- Yeah.<br>- Hey. Hi, this is ThePrimeagen.<br>One thing that I forgot to<br>mention in this podcast,<br>which feels just so foolish<br>to me for forgetting,<br>is just what a big role<br>my mom played in my life.<br>She had to work 18 hours<br>a day after my dad died.<br>She really made her<br>house be able to survive.<br>I always looked up to her and<br>I always thought her amazing.<br>And she really was the reason why<br>when I decided to get my<br>butt kicked back in gear,<br>she's just someone who I looked to<br>as an internal inspiration<br>for me to continuing,<br>to keep on going because I<br>really wanted to make her proud.<br>And all those years of<br>just high energy effort,<br>I really wanted to make sure that she knew<br>that I was just so dang<br>appreciative for it.<br>So hey, I just wanted to say thank you.<br>Love you, mom.<br>- For people who don't<br>know, you worked in Netflix.<br>- By the way.<br>- By the way.<br>Now, how did you go from there,<br>from the hardship that we mentioned,<br>from the struggle, from<br>the addictions and so on<br>to a place where you were working<br>at this incredible engineering company<br>and building cool shit there?<br>So tell the Netflix story.<br>- Yeah, so I kind of alluded to it earlier<br>that I wanted to do my own startup so for,<br>I forget how long it was, one or two years<br>or two and a half years, built a startup.<br>PHP, jQuery,<br>everyone's favorite<br>languages all put together.<br>You can solve math stuff with jQuery.<br>So I just was totally into<br>just non-stop doing that.<br>This is the height of Stack Overflow.<br>I was asking really dumb<br>questions on Stack Overflow<br>like what is more pythonic?<br>And then you get a bunch of up votes<br>and try to steal a bunch of karma away,<br>all the fun stuff to do.<br>Good times.<br>And I was just so into it breathing<br>and I just breathe it in, breathe it out,<br>and that's what I do all day every day.<br>And so it's just like non-stop<br>building of a startup.<br>Ultimately that startup failed<br>and so I had to go get a real job.<br>- Can you say what the startup was?<br>- It is so wild thinking<br>about it in the past.<br>Before I tell you what it is,<br>I want to tell one quick<br>thing about my dad.<br>My dad in the early '90s, like '91, '92,<br>was building kind of a phone card company<br>where you'd be able to<br>pre-purchase long-distance minutes.<br>Now, if you remember the '90s<br>at about what '97, '98, '99,<br>10-10-220, all those different<br>things down the center,<br>all those companies<br>where you can pre-purchase<br>long-distance minutes<br>kind of came out and were very, very big.<br>And so my dad was six<br>years early to that notion<br>and ultimately his startup failed.<br>But he was just really early to something<br>that would catch on really, really big<br>specifically in the<br>telecommunication space.<br>Me as I grew up and did my own startup,<br>I did a startup where was<br>text message marketing.<br>This was in 2010 where you could receive,<br>say texts about various<br>deals, all that kind of stuff.<br>And of course, 10 years later<br>now you don't stop receiving texts<br>and text message<br>marketing is all the rage.<br>And so I also, much like my father<br>had a startup in the telemarketing space<br>in which was just like<br>a half decade too early.<br>- So is it fair to say<br>you're almost always ahead of your time,<br>that you're a visionary of sorts?<br>- No, in fact, I am not ahead of my time.<br>I just got, some would say I<br>got unlucky on that situation.<br>But it seems so obvious to me<br>at that time when I was doing it,<br>80% of phones were dumb phones.<br>Most people had flip phones.<br>When I went and sold Via Text,<br>is what the name was of<br>that specific product.<br>And we had the short code via text too,<br>so it was pretty clever, six digits.<br>When I went out and sold it,<br>I only had a flip phone during that time.<br>I didn't even have a smartphone<br>because they were kind of<br>untenable for a lot of people.<br>So it's kind of just wild<br>times to think about.<br>But then after that, obviously<br>had to get a real job.<br>We were living in an apartment<br>right next to campus,<br>Bozeman, Montana.<br>And the guy below us must've<br>been on some amount of drugs.<br>He threatened to kill us several times,<br>would just scream and just<br>lose his marbles all the time.<br>Very unhinged man, angry<br>downstairs man is what we call him.<br>One time my wife dropped<br>a battery, double A.<br>Okay, so we're not talking<br>about a B battery or D battery.<br>We're just talking about a double A,<br>drop it, pa, land on the ground,<br>"I'm going to kill you."<br>Like crazy, absolutely<br>unhinged behavior down there.<br>So I had to go get a real job,<br>we needed to move out of there.<br>We were gonna start our life.<br>And so I worked at a<br>small place Schedulicity,<br>which I kind of talked<br>about the boredom there.<br>Got to go to a place called WebFilings<br>where I'm working just<br>tons and tons of hours.<br>During all that time I'm still trying<br>to figure out startups.<br>Did one where you could<br>pre-wish your friend's birthday messages,<br>and then it would automatically send it<br>via Facebook beforehand.<br>We called it Greet Feed.<br>It was pretty clever.<br>Nonetheless, I say all that story<br>because everything that I<br>was doing was exploring,<br>building, finishing things, working,<br>learning about corporate life,<br>learning how to communicate<br>in corporate life,<br>being able to be successful at a job,<br>learning about a bunch of<br>technologies that we're about.<br>And one of the big<br>technologies during that day,<br>specifically 2013 was RxJS,<br>if you remember that one, RxJS,<br>that's a link from C-sharp<br>kind of ported over to JavaScript.<br>- And for people who don't know,<br>I guess C-sharp, what<br>is its closest neighbor?<br>Java, is Java-<br>- They obviously just took Java<br>and ripped it off at one point,<br>but now it's such a dynamic,<br>interesting language<br>that it seems like it<br>could be a really cool<br>bounds of practical versus not practical.<br>It's just I'm not really<br>into wearing pleated pants<br>and programming at a Microsoft house, so.<br>- Is pleated pants a requirement?<br>- [ThePrimeagen] I think so.<br>- Okay.<br>- We'll get back to this.<br>Can we just get back-<br>- All right.<br>- Triggering me here.<br>- WebFilings.<br>- So anyways, WebFilings was that's<br>where I had to do all the<br>matrices stuff and build systems<br>and just kind of all that.<br>And it really pushed me<br>because they also wanted<br>me to do 60 hours a week.<br>It was not very healthy work-life balance.<br>It was very hard work.<br>And kind of that really hard work<br>going to cutting edge stuff,<br>really understanding the world,<br>really made it so that I was able to<br>just be able to talk about<br>stuff very commandingly<br>because we had to build<br>really complex state machines<br>for the UI for what we're building.<br>And so when I went and<br>started getting a LinkedIn<br>and all that, inevitably<br>just due to the fact<br>that I've touched all these technologies<br>and I had some sort of paper trail saying,<br>I've touched these<br>technologies or Microsoft.<br>Dang it, Lex.<br>- Pleated pants.<br>- Pleated pants reached out.<br>No, Netflix reached out and said,<br>"Hey, I see you've done<br>RxJS. We do a lot of it.<br>You want to come and interview with us?"<br>And I was always told that<br>you should never reject<br>kind of a handwritten personal<br>invitation to interview.<br>This was way before bots and even the bots<br>were pretty obvious to<br>tell they were bots.<br>This was a manager at<br>Netflix, Jeff Wagner,<br>first manager ever.<br>And he just wrote a really<br>nice note and just like,<br>"Hey, I see you're doing<br>a lot of these things.<br>We really need help with JavaScript.<br>I would love for you to come interview.<br>We're even using a lot of RxJS<br>if you're interested in that."<br>And so I was like, all right,<br>I can come and I'll interview.<br>And lo and behold, interview went on<br>and I called my wife I think<br>halfway through the interview<br>and I was just like<br>defeated, absolutely crushed<br>because I said...<br>And she might remember this but I said,<br>"We now have to make a decision.<br>Are we actually going to<br>move to California or not?"<br>Because I already knew I<br>had the job at that point.<br>I was just knocking them out of the park.<br>I was doing a great job on that.<br>And so I just knew for a fact,<br>I'm getting a job at Netflix.<br>There's this thing that people<br>always get so freaked out<br>about when it comes to<br>interviews and all that.<br>And I luckily somehow avoided this.<br>I don't get test anxiety,<br>I don't get any of that<br>because when I go into these situations,<br>my only goal is to show<br>the things I already know.<br>And so it's like I walked<br>into this situation,<br>I've been preparing for<br>this 80 hours a week<br>for the last five years.<br>So just walk in and I'm just<br>showing the things I know.<br>And it was perfectly fitting<br>for Netflix at that time period<br>in the 2013, early JavaScript<br>days on television.<br>And so it was just awesome,<br>just worked out perfectly.<br>Got hired there.<br>- So we're in California with Netflix.<br>This is San Francisco.<br>- Los Gatos.<br>So if you're familiar, so<br>classic symbol people do<br>which is this is San Francisco, Oakland,<br>San Jose, Los Gatos is<br>just like a little bit,<br>kind of a little bit below,<br>little bit south of San Jose,<br>same mega contiguous city.<br>- Yellowstone is in Montana,<br>Yellowstone, the show.<br>- Yeah, yeah.<br>- Yeah.<br>So is it basically like that,<br>Kevin Costner riding on a horse?<br>Were you riding on a horse to campus?<br>- No, but I love those stereotypes.<br>Actually to be completely<br>fair, when I was 15 years old,<br>I was driving around on<br>what is now a very busy populated street<br>shooting gophers out the<br>window of our car with a 22.<br>So it's like Montana was a different place<br>at one point than it is today.<br>And there's plenty of parts of Montana<br>that's still very rural,<br>still kind of more of that old world.<br>So yeah, a little bit, you know,<br>you can get whatever<br>you want from Montana.<br>As far as culturally goes,<br>I'm not really sure the best<br>way to put the difference<br>between California and Montana.<br>It's just different expectations.<br>One thing I can really<br>appreciate about California,<br>or at least when I say California,<br>I mean the Silicon Valley.<br>Because obviously LA<br>and the Silicon Valley,<br>very different attitudes,<br>very different mindsets.<br>You can't really compare one to the other.<br>One thing I can say that's<br>really positive about the valley<br>is that everybody is<br>operating on this idea<br>of trying to build or create something,<br>and there's an energy to<br>it that's very exciting.<br>You meet somebody and they have a startup<br>and they're working on the startup.<br>And it's very exciting.<br>And there's a lot of<br>negative aspects to that,<br>and we can all agree that our entire life<br>being commercialized has<br>probably not been that great.<br>But the kind of the<br>experience of being there<br>and everyone's excited to build something,<br>it's a really cool experience.<br>- Yeah, it's great. It's really great.<br>The excitement, the energy.<br>- Yeah, Montana doesn't have that.<br>- I have an admiration,<br>a romantic admiration<br>for the shows like Yellowstone<br>being out on nature.<br>It's beautiful. I like riding horses.<br>Somebody also said...<br>Reddit is full of wisdom about you.<br>Some of it could be fake news,<br>but something about horses<br>and this kind of thing.<br>You like horses, you like riding horses?<br>- We have horses on...<br>Our neighbor had much more hilly land<br>and one of the horses broke its leg,<br>so they had to put it down.<br>And so we just said, "Hey,<br>we are on much flatter land.<br>You can just have your<br>horses in our property."<br>And so we just have horses<br>that run around on our...<br>- What about milking cows?<br>Somebody asked about cattle and cow.<br>- So I've only had open cows.<br>If you don't know, cow means girl,<br>open means that, hey, they've<br>tried to get the cow pregnant.<br>The cow did not get pregnant first try.<br>And so they're calling that gene,<br>they're getting rid of that gene.<br>The open cow is gonna<br>now go out to pasture,<br>pasture for the year and then get turned<br>into delicious T-bone<br>steaks and various things.<br>And so we would house<br>open cows on our property.<br>So no, there's no milking of open cows.<br>- [Lex] Okay.<br>- They'd be very upset if<br>you tried to milk an open cow<br>because they're not milking cows.<br>You have to get that cow pregnant.<br>And then once you get it pregnant,<br>you have to kind of put it<br>into this permanent state<br>of milking and all that.<br>And it's a little bit more<br>complicated than say what we did,<br>which was just cows on eating grass<br>and I didn't have to touch them.<br>- Okay, well, that's wonderful.<br>- Reddit is not a great<br>place for wisdom about me.<br>They're gonna give you<br>the craziest answers.<br>- We'll return to Reddit time<br>and time again, my friend.<br>So yeah, you took the leap into Netflix.<br>So what was that like?<br>- It was, you know...<br>This is one of those things<br>where when you talk about it,<br>people love to trivialize this<br>because it's like, oh,<br>you're taking a leap of faith<br>by going into a FANG company.<br>And in 2013, sounds super risky.<br>My wife was 36 weeks pregnant.<br>We had to travel to a place<br>where we knew not a soul.<br>We were about to have our first kid.<br>We didn't even have a doctor.<br>If you don't know what having a baby does,<br>you kind of want a<br>relationship with a doctor.<br>There's a whole thing that goes on there.<br>So it was a really hard<br>and great experience.<br>So I went to a job in<br>which their culture deck...<br>So during this time, this<br>is where Netflix still had<br>kind of that old generation X feel to it.<br>Their culture deck was<br>hire fast, fire fast.<br>It was very in your face about like,<br>"Hey, this is how we operate.<br>You don't meet the<br>standards, we kick you out."<br>So it's like I'm leaving a place<br>where it's more secure to go<br>to a place I don't know anybody,<br>to a job that's bold in its<br>claims about firing everybody<br>with a wife that's just<br>about to have a baby.<br>And I'm from Montana and<br>every Montanan's born<br>with a natural dislike of California.<br>So there's all these things<br>kind of flowing into it<br>where it's just going to be like,<br>wow, this is a very intense experience.<br>And it was hard for sure.<br>It wasn't just some easy simple experience<br>that we were just like, oh,<br>well, I work now at FANG.<br>We had to kind of work through that.<br>Having a kid was very difficult.<br>Our first kid was very difficult.<br>Not having any family<br>around to ever help you<br>took a much larger toll on<br>my wife than me, for sure.<br>- What was the technical<br>learning curve for you?<br>You showed up in your<br>plaid pants, dressed up?<br>- [ThePrimeagen] Yeah.<br>- What did you have to<br>learn about the Stack?<br>Because Netflix, I imagine<br>is this incredible infrastructure.<br>It has to deliver just<br>a huge amount of data.<br>I'm just blown away by Netflix<br>but also YouTube.<br>These companies that have to deliver,<br>serve a huge amount of bits.<br>Netflix has it easiest.<br>Out of all the companies Netflix by...<br>Even though you could say<br>maybe we beat YouTube in view<br>hours, I'm not sure if we do,<br>but let's just pretend Netflix has<br>5X more view hours than YouTube.<br>Whatever it is, Netflix has a<br>fundamentally easier problem<br>than all other companies.<br>And let's get back to that.<br>I'm gonna first tell you about the Stack,<br>but I'll tell you why it has a<br>fundamentally easier problem.<br>So when I first got there,<br>they gave me my PlayStation three.<br>My boss said, "Go learn some code.<br>Come back to me in a couple of days<br>and tell me what you've learned.<br>And then I'm going to start<br>giving you bugs to fix."<br>- Wait, wait, PlayStation three,<br>what are you talking about?<br>- Well, I was on the TV team.<br>I had to go plug in a PlayStation<br>and start launching programs<br>onto the PlayStation three<br>and figure out how to work<br>Netflix on a television device.<br>- Oh, so you have<br>different kinds of devices.<br>Why PlayStation three, is other different-<br>- It's just 2013. That's what you have.<br>- Any devices that plug into the TV?<br>Okay, cool.<br>- Yeah, not as many TVs had Netflix,<br>let alone what they<br>called their Darwin app,<br>which is their new application.<br>So if you bought a<br>VIZIO earlier that year,<br>you'd get their older one there.<br>It's called Plus UI. You<br>get their older version.<br>And so not many had the newer version.<br>We no longer supported Plus<br>or we never actively developed on Plus,<br>we only did stuff on Darwin.<br>And so I had to learn that whole stack,<br>the backend or the middle<br>end, the middle layer<br>between the actual<br>back-end and the front-end<br>was written in Groovy.<br>And as I went around, Groovy is<br>if you're not familiar with Jenkins,<br>then you've probably never<br>interacted with Groovy.<br>But Groovy is a JVM language.<br>It's a very interesting language,<br>but here's how it got started at Netflix.<br>- Oh, it's Apache.<br>Apache Groovy is a<br>powerful object-oriented<br>programming language that runs<br>on the Java virtual<br>machine released in 2007.<br>It has evolved to become<br>a versatile language<br>that combines both static and<br>dynamic typing capabilities.<br>- All right, so the AI<br>is kind of lying to you.<br>Groovy is not a powerful great language.<br>That statement makes it seem<br>way cooler than it actually is.<br>You'll meet one out of 100<br>people that have touched Groovy<br>that said, "Oh yeah, Groovy's great."<br>The other 99 will be<br>like, "Heavens forbid,<br>you ever have to touch that language."<br>So when I got there, nobody,<br>not a single soul at Netflix,<br>those 40-some engineers had any idea<br>how Groovy pretty much worked.<br>Somehow people just hacked<br>together these scripts<br>and put them all on there and it worked.<br>And this was before there<br>was a Groovy RX port.<br>We wrote our own version called WX.<br>It was a nightmare,<br>observables, all these things.<br>I remember one time they told me that,<br>"Oh yeah, with RX it's really easy.<br>You just say what you need to do.<br>It maps out and boom, boom, boom,<br>everything will run and all that."<br>And I was like, "Oh wow, really?"<br>So all I did was go like<br>observable.sleep one<br>because I just wanted to see it sleep<br>and then do the next thing.<br>And it turns out when<br>a thread sleeps itself,<br>no thread can wake it up.<br>And I just turned off all of staging<br>because I ran it like 10 times.<br>Like, oh, it's not responding.<br>Oh, it's not responding.<br>Oh, now it's not even coming back.<br>Broke all of staging for everybody.<br>So no developer could work<br>for the rest of the afternoon<br>because I locked up all the instances<br>because it turns out no, it<br>was in fact not multi-threaded.<br>Every assumption we've been told is a lie.<br>No one had any idea what they were doing.<br>It was a wild time.<br>And so I just simply naturally gravitated<br>towards that because I'm<br>good at print off debugging.<br>I'm good at doing those things.<br>So I was like, yeah, I'll<br>just figure this out here.<br>I will do this.<br>So I had the rewrite how<br>we do the data structure<br>on the front-end for the TV<br>from what is called a LoLoMo,<br>list of list of movies into LoLoRoMo,<br>which is a list of list of<br>recommendation objects for movie.<br>Why would we need to do<br>that? Think about this.<br>You have two lists, one has<br>Live Free Die Hard, Bruce Willis<br>because you love Bruce Willis.<br>The other one has Live Free Die Hard<br>because you want tough<br>men doing tough jobs.<br>Well, during those days<br>we'd only have one way<br>we could show evidence why you wanted it.<br>So we couldn't say,<br>"Oh, because you liked this other movie."<br>You'd go to that one<br>and say the same thing.<br>So we had to add one level of indirection<br>where we could decorate the video<br>with the recommendation information.<br>- Okay, so you can abstract away<br>into the space of recommendation<br>versus the space of movies directly.<br>- Yeah, so you can't hang it off the video<br>because obviously then it would<br>be the same for everything<br>that shows that same video.<br>- [Lex] That's amazing.<br>- I had to do all this<br>and I wrote it in Groovy,<br>and I just did it-<br>- Such a funny name.<br>- And people were like,<br>"How did you write this in Groovy?"<br>And I was just like, "Well,<br>I read the language reference<br>for a day and then programmed it."<br>Well, what do you mean?<br>It was a very radical<br>language, shall we say.<br>And so I just simply became the person<br>that knew these things,<br>so they just give me more<br>and more jobs with that.<br>And so that's kind of how I excelled,<br>being the person that was<br>willing to do the thing<br>that no one else was.<br>- Yeah. Can you actually speak<br>to the print off debugging.<br>You walk into a system<br>and there's a lot of systems<br>in the world like this.<br>Twitter was like this,<br>when Elon acquired Twitter<br>and the rolls in and there's<br>this old junky code base<br>that's just like a giant mess,<br>and you have to basically<br>do print off debugging.<br>What's the process of<br>going into a code base<br>and figuring out what the fuck?<br>Well, how does this<br>work? What are the flaws?<br>What are the assumptions?<br>You have to reverse engineer<br>what all these other engineers<br>did in the past and the mess<br>across the space of months and years,<br>and you have to figure out<br>how all that works in<br>order to make improvements.<br>- The reason why...<br>I've always just been good<br>at print off debugging<br>because one of my first kind<br>of side quest jobs that I got<br>was writing robots for the government<br>when I was still at school.<br>And so I'd kind of do this contractually<br>for so many hours a week.<br>And my boss, Hunter Lloyd,<br>great professor by the way,<br>he just said, "Hey, here's your<br>computer, here's the robot,<br>here's how you plug it in.<br>Here's how you run the code.<br>Can you write the flash<br>driver, the ethernet driver.<br>Can you write the planetary pancake motor?<br>Here's some manuals, I'm missing some.<br>Just figure it out, I'll be back."<br>So that was government work for me.<br>So I was like, okay, I'll<br>figure all these things out.<br>And I figured them all out<br>and the only way to really get<br>anything out of the machine<br>was to print.<br>And so it's like I had<br>to become really good<br>at printing my way through problems.<br>And so that kind of became<br>this skill I guess I adopted<br>is that I can just kind of print off debug<br>my way through a lot of these problems.<br>Obviously I'm not a game developer,<br>probably a different world<br>probably should use...<br>I think John Carmack was on here<br>and talked to how great the<br>debugger is, different world.<br>Because when I was at Netflix,<br>there's machines that<br>exist somewhere on AWS,<br>I'm not logged into them.<br>I don't even know how to log into them.<br>I'm not even sure if I have<br>credentials to log into them.<br>They run once somewhere<br>and I have to figure out<br>what happened and why it's happening.<br>So it's like I'm gonna become...<br>This is what I've trained for.<br>I'm a print off debugging champion.<br>So it's just like I could<br>just run through these things<br>really quickly and figure out<br>why they're happening the<br>way they're happening.<br>- You're a special human.<br>I think that's an<br>incredible skill set to have<br>to be able to drop in into any code base,<br>drop into any situation,<br>and do print off debugging.<br>Meaning you're in a dark room<br>and you're feeling around that room<br>to try to figure out what the room is.<br>- Well, I had the code<br>so it's like I can kind of<br>blueprint what's happening.<br>I don't understand the<br>services or anything,<br>but you can start guessing pretty quick<br>as to what's going wrong.<br>- Right, but then the print side of that<br>helps you confirm your intuitions,<br>test your intuitions and build<br>up more and more information.<br>And then you start to<br>accumulate this bigger picture<br>from that, what the edge cases are<br>that break the system and not.<br>I think that just that kind of space,<br>that kind of situation is intimidating<br>for a lot of engineers.<br>They break down at that point.<br>I think it really is a powerful thing<br>to be able to come into a code base,<br>that's generally a skillset of like,<br>very few of us start from scratch.<br>- [ThePrimeagen] Yeah.<br>- And actually this is<br>the fundamental problem<br>of web development and in<br>general where they're like,<br>I don't know what's going on.<br>I'm going to write my<br>own thing from scratch.<br>As opposed to actually<br>doing print off debugging<br>on the space of languages,<br>on the space of problems,<br>because there's a lot of wisdom<br>and solved problems<br>already in this code base.<br>It's a much more important<br>skillset to understand,<br>to learn from the mistakes<br>and the wisdom of the past,<br>of the ancestors that came before<br>and build on them as<br>opposed to throw it all out<br>and start from scratch.<br>This is something obviously you see a lot<br>with a JavaScript framework that comes out<br>and you won every single day.<br>- I have a very great story about that,<br>that this is what I think<br>has shaped me the most<br>about my perspective of other devs.<br>There's this dev and he<br>always just wrote things<br>in just what I thought was<br>such a bizarre and weird way,<br>and this had to do with Falcor.<br>So our data fetching library for Netflix.<br>This would run on mobile. So<br>I had to write in Objective-C.<br>It had to run on television<br>and it had to also run on web.<br>So it ran on everything.<br>And me and one other<br>person were responsible<br>for this thing working.<br>And the request side<br>where we'd have to de-dupe the information<br>that we already have, the<br>requests that were pending<br>and the new data. So I<br>had to figure all that out<br>based on what someone's requesting,<br>and then just only<br>optimally request the stuff<br>that we don't have.<br>He wrote in such a goofy<br>way and I'm thinking,<br>man, this guy is just...<br>What a goofball.<br>So I delete it all and I<br>start writing and I'm like,<br>look at how much nicer this is.<br>It's looking so good.<br>I'm like, ooh, there's that one edge case.<br>Okay, I can see why he<br>wrote it this one way.<br>That's not a big deal though.<br>The rest of my code's really great.<br>By the end of it, I'm like, I<br>literally almost line for line<br>just reproduced what he already wrote.<br>It's slightly different towards my style,<br>but I just wrote the same code.<br>I'm like, I'm an idiot.<br>I am the idiot in this situation<br>because it was already a solved problem.<br>I just didn't take the<br>time to learn what he did.<br>Instead, I relearned what he did<br>by rewriting the entire thing.<br>- I think that's a skill set<br>that is extremely important<br>for people to learn.<br>I see that in myself.<br>That's a constant struggle for myself.<br>When facing a code base, for example,<br>but this applies generally in life,<br>where somebody did a lot<br>of work to do a thing,<br>you should invest a huge amount of time<br>and get really good at<br>figuring out what they did,<br>why they did it.<br>Do a lot of print off debugging<br>to understand what they did.<br>It's a much more efficient way<br>to understand a problem deeply<br>than to start from scratch.<br>Even though there's a constant temptation<br>to start from scratch, because<br>starting from scratch is fun.<br>You do get the puzzle solved<br>and all that kind of stuff.<br>It's just not going to<br>be the right thing to do.<br>Usually pain is the right thing to do,<br>and it is for most people painful<br>to understand other people's code bases.<br>- I highly recommend starting from scratch<br>if you want to understand a concept.<br>You don't know how an HTTP server works,<br>create a TCP socket,<br>learn how to parse HTTP.<br>It'll become very easy and you'll go,<br>this is the reason why<br>whenever I get a request,<br>I have to await the text.<br>I now understand why the text is<br>for whatever reason not there.<br>I get it. I now understand it.<br>And so you kind of gain<br>these new perspectives<br>just by simply parsing something out.<br>- All right. Back to the wisdom of Reddit.<br>Apparently there are memes and legends<br>about your programming arc in Netflix.<br>This Falcor system you mentioned,<br>somebody, I think it was Teej,<br>how do you pronounce his name by the way?<br>- [ThePrimeagen] Teej.<br>- Okay, Teej.<br>- TJ would be his name,<br>but we call it Teej or Telescopic Johnson.<br>- Oh wow, so many names.<br>DDoS, distributed denial<br>of service attacks,<br>you apparently were able<br>to accomplish the simplified<br>version of that of just DoS.<br>That's a legend.<br>So you basically broke<br>down the system somehow.<br>- Yeah. Yeah.<br>- Can you tell the story of that?<br>- I'd be glad to.<br>So this Falcor, so there's<br>this Falcor business,<br>and I kind of, I did discover<br>the bug before anybody else<br>and I did report it to<br>security and it was so bad.<br>It actually got its own name,<br>Repulsive Grizzly Attack,<br>and they even give<br>examples of how to do it.<br>Effectively what it means<br>is that there is a request<br>that targets both memory<br>and CPU and will destroy.<br>There you go.<br>Look, how Netflix...<br>The next one down was the article<br>that was actually written.<br>I don't get mentioned, which<br>is a little bit upsetting<br>considering I was the<br>one that discovered it<br>and told everybody how bad it was.<br>Anyways, and had the right to<br>fix for it or the first fix.<br>So this is how it works,<br>is that you can do<br>something pretty similar,<br>I believe with GraphQL as well.<br>It has the same kind of danger.<br>Any of these kinds of RPC request as much<br>or as little of the data as<br>you would like frameworks,<br>are vulnerable to this kind of attack.<br>So with Falcor, what you<br>do is you give it an array.<br>That's an array is called a path,<br>and that's the path to the data.<br>But sometimes you don't<br>want to have to write out,<br>I want movie, I want row zero<br>or list zero or row<br>zero column zero title.<br>I want row zero column zero description.<br>You don't want to have<br>to write out all that.<br>So instead you could just be like,<br>I want rows zero through 10,<br>columns zero through 10,<br>titles and descriptions.<br>So you can write in a very<br>compact, nice little format<br>and it'll give you all that data.<br>It'll go to the server.<br>The server will fill that<br>all in and give it to you.<br>Oh, dang it, list three, it<br>only had three videos in it.<br>So what happens when I try<br>to re-request the data?<br>Well, I need a way to be<br>able to tell my system<br>that you'd have requested the data<br>and there's nothing there.<br>So call this like a boxed value.<br>So it's gonna be like<br>type, something, value,<br>there's nothing there.<br>We've already requested it<br>and there's nothing there.<br>It's like a sentinel value,<br>if you will, a boxed value.<br>And we have this little<br>special flag weed pass<br>called materialize.<br>Meaning that when you ask for a path,<br>we will make sure we fill it out<br>so we don't accidentally erase anything.<br>And at the very end we'll say okay,<br>the thing does, the request you've made<br>has already been made and<br>there's nothing there.<br>Well, what happens if I<br>request rows 0 through 10,000<br>columns through 10,000,<br>one more item through 10,000<br>and then a whole bunch of properties<br>and then ask it to materialize?<br>Well, I'm about to go create<br>billions of objects in the JVM,<br>and what happens to the machine?<br>It stops running.<br>And then if we try to JSON...<br>Even if it could create a 'em all,<br>we then ask it that JSON serialize,<br>it's not gonna do it.<br>It's impossible.<br>And so that was the attack vector,<br>is a simple wild loop would've taken down<br>and held down Netflix<br>for a very long time.<br>Because one request would<br>kill one machine on AWS.<br>And so that means it would<br>just turn it all off.<br>And this was on the website?<br>This was on TV, this was on mobile.<br>This was profound.<br>And here's the worst part, it<br>was in production for years<br>so we couldn't even roll it back.<br>There was no like,<br>"Oh crap, let's just roll<br>back to two weeks ago<br>and we'll fix forward and figure out."<br>No, it's like we could roll back to 2011.<br>That's our option is 2011 and that's it.<br>So we had to figure out a<br>way forward and all that.<br>And so it was like...<br>The amount of problems<br>that would've happened<br>if someone would've<br>discovered this is unstatable.<br>- Just to be clear, the infrastructure<br>that's serving the videos would shut down.<br>- Yeah, the UI, you couldn't<br>perform any actions in the UI.<br>You surprisingly could still stream video<br>but you would never be able<br>to get to a video to stream.<br>Because every action you would take<br>would be completely shut down.<br>And so it wasn't a DDoS<br>because you didn't need a<br>bunch of computers to try<br>to overwhelm the system by<br>making a bunch of requests,<br>one request, one machine.<br>If we had 50 machines serving<br>the millions of requests,<br>it'd only take 50 requests<br>to shut down the entire UI.<br>- Isn't it possible to do DoS or DDoS<br>on basically any software system.<br>Like defending against all the, you know,<br>closing all those attack factors<br>is probably really difficult.<br>If you take any sufficiently<br>complicated software system,<br>there's probably so many<br>ways to overwhelm it.<br>- Yeah, I mean, this is<br>why people use CloudFlare.<br>I think DHH said it best, which<br>is like, we have our website<br>and we have a strong<br>bodyguard on the outside.<br>So CloudFlare has a bunch<br>of utilities all built in.<br>Because obviously this<br>is why everyone hates<br>all these Bluetooth devices<br>that connect to the internet<br>because they just turn into attack vectors<br>where people use those to<br>DoS or DDoS other sites.<br>And so you don't need<br>something sophisticated,<br>you just need a bunch<br>of requests to come in<br>and you can take down websites.<br>And so that's why these<br>fronts are really good<br>at discovering where these problems are.<br>But DoS is a bit different,<br>because it doesn't have to be overwhelming<br>by using resources with a<br>whole bunch of requests.<br>It really just means simply<br>that there's a denial of service attack.<br>One of them could be there's<br>a RegEx attack that existed<br>where CloudFlare actually did it to itself<br>and shut itself down,<br>which is there's a RegEx expansion attack<br>where given the right RegEx,<br>if you know someone's<br>running a specific RegEx,<br>you can actually provide<br>input that is maximally bad<br>and that thing goes to super processing.<br>It takes 10 seconds to<br>process a single request,<br>then you only need to<br>make hundreds of requests<br>and you shut down the whole service.<br>It's not like you need<br>some giant machinery<br>to make one trillion requests.<br>You only need just some small amount<br>to completely destroy a service.<br>And so there's...<br>The web is an extremely<br>difficult place to do it correct.<br>- This is super fascinating.<br>I do also wonder how many ultra competent,<br>what is it, black hat hackers there are,<br>versus the good guys versus the bad guys.<br>How many bad guys there are<br>and what is the average...<br>What is the distribution of<br>skillset on the bad guy side<br>that are constantly trying to attack?<br>- I assume there's probably a huge number<br>of just really simple ones,<br>script kitties, right?<br>Just people trying to just do things.<br>And then there's a huge<br>amount of social engineering<br>that just goes in where hacking's<br>done, not with a computer<br>but just by one of the classic ones.<br>Kevin Mitnick had this<br>one in his book which was,<br>you'd call up somebody<br>pretending to be like,<br>"Charlene, we're doing some auditing<br>and I think your pin's<br>out of date on file.<br>Is it 2323, still?"<br>And they're like, "No, it's 4747."<br>You're like, "Oh, thanks Sharon."<br>Boom. You just hacked him, right?<br>The classic. People love<br>correcting bad information.<br>This is like a standard.<br>So there's all these ways people hack.<br>And so my assumption is<br>that there are really<br>great white hat hackers,<br>there's really great black hat hackers.<br>But the vulnerability space,<br>the harp, the thing is that<br>discovering a vulnerability<br>and you don't let anyone know,<br>the white hat hacker still has<br>to make that same discovery.<br>And that's where I think the real thing is<br>that black hat hacking in some sense<br>has a fundamentally easier job<br>or at least a job in which<br>they can take advantage of<br>for much longer periods of time.<br>One's the process of discovering<br>who's breaking the system.<br>The other one's trying to figure out<br>how to break the system.<br>And it seems like most<br>software is held together<br>by toothpicks and glue<br>and there is a lot of<br>dangers in every piece.<br>- And also the social engineering aspect,<br>that's a real attack vector.<br>I think that's the attack<br>vector that will do<br>in the longterm the most<br>damage in the world.<br>Especially as AI tooling<br>becomes easier and easier<br>to convince people at scale,<br>sort of do that email Grandma.<br>I think that's a really<br>serious attack vector,<br>like human psychology and all that.<br>I assume whenever there's<br>a girl that approaches me,<br>it's some kind of social<br>engineering project,<br>some attack vector, some<br>intelligence agency.<br>In fact, I'm pretty sure-<br>- We're back to A<br>Beautiful Mind, aren't we?<br>- Beautiful Mind? Yeah.<br>I have a whiteboard upstairs<br>that I calculate everything,<br>everybody's trajectory and move.<br>- You're not wrong though<br>with the attack vector,<br>especially in the day of AI.<br>One thing that I don't<br>think a lot of people<br>are talking about as we<br>integrate more and more AI<br>is that prompt injection<br>is an extremely hard<br>thing to defend against<br>because it's not really clear<br>how you defend against it.<br>If it's just a, at the end of the day<br>word calculator make word come out.<br>If you can figure out the<br>proper word calculator input,<br>it might just break its bounds<br>and start doing something<br>it's not supposed to do.<br>And there's a whole future word.<br>There's all these products<br>that are going to be vulnerable<br>to things they never thought about.<br>It's one thing where<br>you forget an edge case<br>while you're programming.<br>Now you have to guess what<br>people might be able to think of<br>making something that has access<br>to a system be able to do.<br>And you don't have a<br>way to reason about it.<br>Its reasoning came from<br>Reddit, and other words<br>that it's read and how<br>to put things together.<br>This is a very...<br>It's a massive space<br>that's gonna be happening.<br>It's why I'm personally thinking<br>don't give too many powers yet.<br>We don't know the attacks<br>that are about to happen.<br>- Yeah, the more power we<br>give to software systems,<br>the more damage they can do.<br>That certainly is the case.<br>But the more awesome they could do,<br>and that's the knife's<br>edge that we all walk along<br>as a human civilization<br>together, hand in hand.<br>Will we flourish or destroy<br>ourselves? Question mark.<br>Folks on Reddit, the good folks on Reddit,<br>demanded that I ask you about<br>the time you broke production.<br>Is this related to Falcor?<br>Did you break production?<br>Is this fake news?<br>- I've broke production<br>quite a few times.<br>I've broken productions<br>for so many stupid reasons.<br>One time I broke production<br>because I came up in the PHP.<br>And PHP Static means static<br>for the lifetime of the PHP<br>and PHP was the lifetime<br>of every request, right?<br>That's why PHP was so inefficient<br>was that every request<br>was its own instance,<br>and therefore static memory<br>was for the lifetime.<br>I guess I never put that together.<br>And so I had some objects<br>that I made static<br>because I was like, oh I just need this<br>for the lifetime of the request.<br>And lo and behold, those weren't lifetime.<br>A whole bunch of bad data<br>got all over the place.<br>People were showing up saying they were<br>from all these different countries<br>and everything was all<br>wrong because I just...<br>Whoopsie-daisies. I just made<br>a whole conundrum with that.<br>So that was one time I did it.<br>Another time is I took down,<br>if you were on the homepage<br>on the website waiting<br>for Lady Gaga's video to come out<br>and you were watching<br>the countdown go down,<br>if it reached zero,<br>the billboard would freeze<br>and it wouldn't work.<br>If you refreshed it, it would work.<br>But the reveal, (chuckles)<br>the big reveal, I screwed that up<br>and my boss got real upset<br>and so did other people<br>in Hollywood got upset about that one.<br>That was like a, "My bad.<br>Sorry, Jeff Wagner, again."<br>I remember that one. I<br>remember that one specifically.<br>One time I released a bug<br>where again on the billboard,<br>if you pressed add to my list,<br>I accidentally programmed<br>in an infinite loop,<br>and your whole webpage would just freeze.<br>- Are some of these bugs<br>difficult to discover<br>until you started-<br>- That one seems really<br>easy looking back at it.<br>- [Lex] Infinite loop? Yeah.<br>- And we actually, during<br>those days we had manual QA<br>that are supposed to<br>go through everything.<br>So I didn't feel as bad<br>because my manual QA<br>counterpart also missed it.<br>We all missed it. But<br>it was just so simple.<br>Just press that button, boom.<br>It just completely freezes the website.<br>- Polluting the code with global variables<br>that are holding values,<br>SPHP I think allows you to do,<br>that's a tricky one to discover,<br>because you rely on it,<br>then there could be somebody<br>else assigns a value to it.<br>- Yeah, it's a data race everywhere.<br>And I just didn't understand...<br>In my head static was like,<br>"Oh, this is for the life."<br>I was just so locked into<br>the PHP world at that time<br>that I just made just such a,<br>looking back on it's so obvious.<br>But during the time, it's hard.<br>- So in general, pushing to production,<br>I talked to Pieter Levels about this.<br>He, I mean, obvious he's operating<br>as mostly a solo developer, but<br>he often on the website said<br>thousands, not, hundreds<br>of thousands of people use.<br>He often ships to production,<br>pushes to production,<br>meaning just no testing,<br>just like push to fix.<br>What are the pros and<br>cons of that approach<br>in general to you?<br>What do you think?<br>- It's obviously much easier<br>the smaller your organization is.<br>I think no one would argue that sentiment.<br>If it's just you working<br>on a singular project,<br>it is obviously much easier<br>for you to push directly<br>to production because you<br>are the only one working.<br>You know all the ins and outs<br>and if something were to<br>break, you would discover it.<br>So to me that makes sense.<br>I think the way he operates<br>is perfect for what he does.<br>You couldn't take what he does<br>and move it to say Microsoft<br>or Netflix or Google because<br>that would obviously...<br>It would just be a disaster,<br>just due to the amount of people<br>all pushing to production.<br>And so I personally love that.<br>I think that you have to gauge<br>both the application you're<br>building and its complexity<br>and what you're pushing,<br>and how many people are working on it.<br>I think those all go<br>into how you can do that.<br>Because not all applications<br>are created equal either.<br>That application I was making<br>was zooming and scrolling<br>where we had all of our own everything.<br>It was a very deep heavy logic app,<br>and that was regardless<br>of what was happening<br>on the website, most of<br>the code was library code.<br>And that becomes way harder<br>if you don't have a good<br>test suite and stuff to run<br>before you push it out.<br>Because when you squeeze that ball,<br>different things come popping<br>out in different areas.<br>And that's a very harder problem than say<br>if you're doing more of a heavy visual one<br>because a heavy visual one,<br>you're affecting just this<br>one area's visual stuff<br>and you can test it and<br>that's normally the end of it.<br>Whereas, you know...<br>So it depends on the<br>coupling and everything.<br>So I love his approach by the way.<br>I have such mad respect for<br>anyone that operates that way<br>because I think is a great<br>way, it just is so good<br>because it breaks this notion<br>that tech Twitter has that,<br>oh, well, you have to use<br>all these expensive services,<br>you need to use all these things<br>because if you don't use all this stuff,<br>if you're not using the<br>latest version of React,<br>if you're not using the<br>latest version of this,<br>you're simply not going<br>to make it as a startup.<br>It's impossible.<br>And it's just like, no,<br>no, that's not software.<br>Most of software isn't the new stuff.<br>Most of software is old crappy software<br>that someone has to maintain,<br>and it actually is really, really great<br>and has lots of really hard problems.<br>And if you look at it differently,<br>it's actually fantastic.<br>- For people who don't<br>know his tech stack,<br>in terms of web development<br>is PHP, jQuery and SQL.<br>- Yeah, all great stuff.<br>I'm just surprised he still uses jQuery<br>just given the fact that at<br>this point on the modern web,<br>everything is, I mean, you<br>have document query selector<br>and ad event listener click, right?<br>It pretty much has<br>everything you already need.<br>It had DOM content load,<br>all the reasons I used<br>jQuery back in the day was<br>adding a click on a button was hard.<br>You had to deal with IE7, IE8, IE9.<br>Those are hard differences.<br>Whereas now, it's just so easy.<br>I'm just surprised it's even that.<br>- That's definitely a trade-off I have,<br>I still use the exact same stack,<br>PHP, jQuery and different flavors of SQL.<br>But the question there is,<br>you keep using jQuery<br>because you can get the<br>job done really fast<br>and there's no significant<br>performance hit that you detect.<br>So like why swish to something else?<br>But it's always probably,<br>as we'll talk about,<br>good to explore and to learn.<br>- Not all tools are great<br>at solving all problems.<br>And so what you think is really...<br>The problem is you run<br>into this trade off,<br>which is you have some tool belt<br>that you're very adept with,<br>you know all the ins and outs.<br>There's no unknown unknowns,<br>but there's no surprises in this.<br>You know what you're building,<br>you know what you're getting into.<br>You will go through and you'll<br>be able to solve the problem.<br>But if you ever use a different language<br>or a different experience,<br>you can find that some things are able<br>to represent states way easier,<br>in a way more efficient way.<br>And you can solve problems<br>really efficiently<br>in some versus the other.<br>And so it's like, if<br>you don't take the time<br>to explore as well, you<br>could be missing out<br>on something that makes you twice as good<br>on this one specific problem like subset.<br>And so I value being able<br>to look at all problems.<br>And so I don't want to<br>get stuck on one thing,<br>though, I see why people do,<br>which is for the efficiency sake.<br>- Let's just return to the<br>infrastructure of the platform<br>of Netflix and, speak more generally,<br>Netflix, Twitch, YouTube.<br>Anytime I use any of these<br>services, I'm just blown away<br>by the infrastructure it<br>takes to deliver this service.<br>YouTube and Twitch are<br>unique, versus Netflix<br>where the creators can roll in<br>themselves and upload stuff.<br>So on the consumption side,<br>YouTube has over 100 billion views a day,<br>over one billion hours watch time.<br>But on the creator side,<br>one million hours of videos<br>are uploaded every day.<br>One million hours.<br>It's like you have to service both<br>and you have to deliver everything.<br>It's just incredible to me.<br>Can you maybe speak to your own intuition,<br>just zooming out on it,<br>what it takes to deliver<br>that kind of infrastructure?<br>- For me, the thing that<br>I find vastly complicated<br>and I can't imagine the engineering hours,<br>is how do you even create<br>an edge in that situation?<br>And what I mean by an edge,<br>when people say this phrase,<br>if you're unexperienced,<br>an edge is where you deliver data.<br>You want that edge to be<br>as close to the customer<br>as possible because that's<br>where the data lives.<br>And then the communication<br>between the customer<br>and what you're doing<br>is really, really small.<br>Obviously the speed of light adds up,<br>the amount of hops adds<br>up, the amount of services<br>that you have to remotely call adds up.<br>They all add up and they<br>all add inefficiencies<br>to the system.<br>So something like YouTube,<br>they want to be able to serve that data<br>as quick as possible, but<br>their data changes constantly<br>and relevance is almost directly tied<br>with the newness of the item.<br>So it's like how do you<br>even cache these things out?<br>How are you doing this?<br>So they must have such an<br>incredible caching network<br>that I can't even...<br>I can't even fathom what<br>it takes to do that.<br>That just to me is just so impressive.<br>A million view hours in how<br>many different resolutions<br>with how much data?<br>What is a million view hours?<br>Is it 4K million view<br>hours, along with 1080p,<br>along with 720p, along with 1440p?<br>That number is an insane number.<br>- Actually, it is brilliant what you said,<br>which is for YouTube often the new thing<br>is extremely important<br>to show to everybody.<br>And so, you can't rely on caching<br>or trivial kind of caching.<br>- Yeah.<br>- You have to deliver<br>the new thing as quickly as possible.<br>Yeah, I mean, it's incredible.<br>So there's the entire system,<br>the recommendation system<br>that knows each individual<br>human watching YouTube<br>and it has to integrate<br>into that the new thing,<br>while also caching this incredible cluster<br>of possible videos that you're<br>potentially interested in.<br>And integrate into that ads<br>in the case of YouTube and so on.<br>- It's a really tough problem<br>because you have to think<br>what is the cash hit rate on this?<br>Because the problem now<br>actually comes down to space,<br>space actually becomes a real problem.<br>How many hundreds of<br>petabytes do they have<br>that they have for like,<br>"Okay, what do we cache<br>and where do we cache this?"<br>The number, I think in<br>the terms of gigabytes<br>or maybe megabytes, they<br>have to think in probably<br>versions of bytes I don't<br>even know the name for right?<br>It's such a different problem<br>and that's why I said Netflix.<br>Netflix has a much easier<br>job when it comes to caching.<br>So if you've never looked<br>it up, it's called OCA<br>and that we know what<br>videos we're releasing,<br>we know what videos are<br>hot in specific areas.<br>It's a very limited set.<br>We're not going to all of a sudden get,<br>"Oopsies, we got a<br>million new view hours."<br>We don't even have to worry<br>about that as a problem.<br>So it's like, "Okay, we know<br>Stranger Things season five's<br>about to drop, we're gonna<br>pre-cash Stranger Things<br>season five in every<br>single OCA across the world<br>because that thing's<br>about to get hammered."<br>And so it's like it's able to do<br>such a different decision-making<br>than what you have to do<br>with something like YouTube.<br>And then Twitch is even more wild<br>because now you're<br>actually ingesting video<br>and trying to make it go out<br>all at the exact same time<br>for all video and you have<br>to transform that video<br>from whatever format and<br>whatever the bit rate is<br>into something that's more efficient<br>in the system like that.<br>Hats off to Twitch engineering,<br>because that's some serious work.<br>- And here's some asshole, Lex,<br>coming out and tweeting<br>about YouTube features.<br>So like, (chuckles)<br>Listen...<br>- You're not wrong on the<br>features you asked for, though.<br>- I think this is an engineering problem<br>of how do you allow fast<br>iteration and addition of features<br>that shouldn't have to be integrated<br>or impact the whole code base.<br>So at the edges of the code base improve<br>on certain features,<br>without having to consult<br>the mothership of the code.<br>- It's the large team, right?<br>That's the fundamental problem.<br>When you get into YouTube size,<br>there is the team/organization<br>that deals with data warehousing.<br>There's the team/organization<br>that deals with delivery.<br>There's a team/organization<br>that's like the middle layer,<br>how you even...<br>They're gonna be like<br>the little micro-surfaces<br>to talk to these places.<br>Then you have this front-end engine...<br>So for a small feature, you<br>have to get middle team,<br>you have to get back-end team,<br>you have to get all these things.<br>Quick example, Netflix.<br>Are you familiar with the<br>dystopian, Black Mirror?<br>- Yeah.<br>- Okay. Season one, episode one.<br>Do you know season one, episode one?<br>Everyone who watches Black Mirror<br>typically knows this episode.<br>- Okay, yeah. I don't remember what it is.<br>- Forgive my language,<br>but they call it the pig-fucker episode.<br>- Oh yeah, of course.<br>- [ThePrimeagen] Once<br>you've seen the episode,<br>you will then know this episode.<br>Well, when Netflix adopted<br>it, I got pulled into a room,<br>there's like a VP, a<br>VP, a product designer,<br>a VP, and they said,<br>hey, we're about to release<br>our own version of Black Mirror,<br>season three, I think at that time.<br>We need episode one, season one<br>to not be the first thing people see.<br>So let's just reverse the season order.<br>That required me...<br>I had like 20 engineers<br>I had to gather together<br>to be able to have this happen.<br>And that's just the<br>problem of big companies<br>is that eventually every little thing<br>has to become its own team.<br>And so even small...<br>There's no such thing as a small feature.<br>- Reversing the order of the dropdown<br>that selects the seasons is a meeting<br>with a bunch of VPs and engineers.<br>That's really interesting.<br>- Yeah.<br>- There's got to be a<br>way to accelerate that.<br>The natural scaling of a<br>company and the bureaucracy<br>that grows, yes, slows that down.<br>But just having seen Elon work a lot,<br>his teams are able to<br>still keep it very fast,<br>even as the company grows.<br>There's got to be a process to doing that,<br>especially for,<br>yeah, for the pig-fucker episode.<br>I don't know where that's<br>in the priority list,<br>but for important things like that,<br>you should be able to do that quickly.<br>I don't know. Can you speak<br>to how would you do that?<br>- Well, I can tell first how it was done.<br>Remember, so at a place like<br>Netflix, there would be...<br>I think that at that point it's called,<br>a product called Dexter.<br>I can't remember.<br>There's our actual<br>movie metadata warehouse<br>that's gonna be highly<br>integrated with Hollywood,<br>that's gonna be, where that<br>side is able to manage all that.<br>So I'm like, "Hey, you need<br>the ability to mark things<br>that need to be reversed<br>because we're gonna<br>run into this a bunch."<br>And we did.<br>We ran into quite a few topical shows<br>that all need to be reversed and all that.<br>And so it's like,<br>"We need to be able to<br>reverse episode numbers,<br>season numbers.<br>We need to be able to hide<br>season or episode numbers."<br>Like in the case of the<br>Chelsea Handler Show,<br>it was like a daily show, so it's like<br>you don't need episode numbers,<br>you just need the latest one.<br>And so there's this whole<br>problem that exists.<br>And so it's like, okay,<br>you need to work on that<br>for your UI over there,<br>then you need to be<br>able to store that data.<br>Then we need to be able<br>to go to the people<br>that can actually get the<br>video data out of that<br>and provide it to our service layer.<br>I need to go talk to<br>them and convince them<br>they need to be able to<br>give me the new methods<br>and everything to do that.<br>Then I need to be able<br>to go write the methods<br>to get it down, and then<br>I need to go to the UI<br>and make that accessible.<br>Now I need to go to the website people,<br>I need to go to the mobile people,<br>I need to go to the TV people.<br>And so it's like...<br>- Yeah.<br>- You can see this thing like snowballing.<br>And for us, the big thing that<br>Netflix did that was so well<br>is after I met with these<br>people that were high level,<br>I was the captain. "I'm the captain now."<br>So I went to all these teams and said,<br>"Hey manager, I need an engineer.<br>We need to get this done within<br>the next couple of months<br>because we got Black Mirror coming out."<br>So she would go, "Okay, here you go."<br>The map team, I need someone to help me<br>with being able to get data<br>out of the LoLoMo for this.<br>And so it's like, "All right,<br>you're working with this engineering."<br>I'd go to the BMS team,<br>"Okay, I need this engineer."<br>I'd go to the billboard<br>team, "I need this engineer."<br>I go to all these little places<br>to get all these little pieces of data.<br>And then I was the captain, I was like,<br>"You're working on<br>this, you're doing this,<br>you're doing this, you're<br>doing this, I'm doing this.<br>Let's go."<br>And so it's like that worked.<br>And we were able to go pretty<br>fast for a big company.<br>And the fact that it required 20 engineers<br>to do such a simple task,<br>we were able to do it in,<br>gosh, I'd say about three<br>weeks worth of effort.<br>But that was still...<br>I thought that was amazing, comparatively,<br>to how many people move.<br>- Well, because you have the<br>freedom of the agency to do it.<br>You said the captain of the<br>ship. That's really powerful.<br>For big companies, that's a risk.<br>Because you can fuck it up.<br>You might not see the bigger<br>context legally or any,<br>the bigger context of the<br>impact on the industry<br>or all the contracts<br>that are made, all that.<br>So it's a risk, it's a risk,<br>but it's a risk you have to keep taking.<br>And then when you fuck up, you fix,<br>and then maybe pay the cost<br>legally for that, whatever.<br>But the long term, that risk pays off<br>because you're going to<br>keep creating a better<br>and better product, evolving<br>where the industry is going,<br>constantly innovating ahead<br>of where the industry is going<br>and so on.<br>Yeah.<br>- And not only that, I think one thing<br>that is just so important is that,<br>yes, the product will get better,<br>but the people that you hire<br>and the people that you<br>keep around are better<br>because they're the<br>ones that show maturity.<br>They're the ones that can just...<br>You give them something and<br>they can rally the troops<br>and make something happen.<br>That's a very great<br>group of people to hire.<br>And so you also naturally<br>select out great engineers<br>that aren't just simply good at coding,<br>they're good at coding and<br>they're good at explaining<br>and they're good at<br>convincing, and they're good...<br>And you have to create<br>a very lean audience<br>that can move fast.<br>- And I think for great<br>engineers, having to wait<br>for like, "Okay, let's schedule<br>a meeting for next Wednesday<br>with the VPs and..."<br>That destroys their soul.<br>And they either don't<br>want to contribute anymore<br>or they leave the companies<br>or they just tune out<br>and take the golden handcuffs<br>and just buy a nice house<br>and focus on a family.<br>- And I feel like I<br>would die under that...<br>Honestly, that is my death sentence is<br>where it's just that<br>there's no reason to try,<br>there's no reason to do anything.<br>I'm just gonna go in there,<br>effectively zombie through<br>my day and call it...<br>I don't want to live like that.<br>I want to feel like I'm<br>trying to do something.<br>- I should also mention on top of that,<br>so you've brilliantly laid out<br>how incredible the challenge<br>that Netflix has to solve.<br>On top of that with YouTube,<br>the metadata thing,<br>because users are able to<br>upload video and there's an API<br>where they can upload automatically<br>and change all this kind<br>of stuff automatically.<br>Every one of those things<br>is an attack vector,<br>as we mentioned.<br>That's something they<br>have to consider seriously<br>on the engineering side.<br>And on the legal side,<br>they can get into trouble<br>all kinds of ways.<br>So they have to consider all<br>of that, which is fascinating.<br>- The legal side is obvious,<br>but it's not really like...<br>I would never have initially<br>thought someone would,<br>say, upload images that you're<br>not allowed to own or have.<br>But that guarantee you that happens.<br>Then you have the whole kid side, right?<br>I think about when you mark<br>something as kid-friendly,<br>how many times have they snuck porn<br>into a Taylor Swift video or whatever?<br>That was like a few years back,<br>there was that whole<br>Taylor Swift or whatever.<br>I forget what it was, I<br>thought it was Taylor Swift.<br>But there'd be these mock videos<br>that'd come up and then, boom.<br>It's like, that is such an awful problem<br>and I'm so happy that is not a problem<br>I have to try to figure out.<br>- Yep. Okay.<br>So yes, YouTube and Twitch and Netflix<br>are doing an incredible job.<br>You eventually chose,<br>the madman you are, to leave Netflix<br>and to start on a new journey<br>of being a wolf pack of<br>one, start streaming.<br>What was that? What was the story of that?<br>- So I was streaming for<br>almost seven years now.<br>It started actually at Netflix.<br>We did a charity, Extra Life,<br>shout out to Extra Life for<br>starting my streaming career,<br>effectively is just you stream<br>and whatever money you raise,<br>it goes to Kids with Cancer research.<br>They are a great charity in the sense<br>that they take no overhead<br>and they raise their own donations<br>for their website and everything.<br>And so it's a very great,<br>straightforward charity.<br>Really love what they've done.<br>It was super cool because<br>I live in South Dakota now,<br>but I actually could<br>choose a hospital directly<br>where the money goes to.<br>So there's a direct impact from A to B.<br>So it's a pretty cool organization.<br>And so my friend, Guy Cirino, Nice Try Guy<br>is what I like to call him,<br>he was probably the<br>single greatest engineer<br>I've ever met in my lifetime.<br>And he was just like, "Hey, come do this.<br>We're going to all do<br>this." So I played Fortnite.<br>And so before I did that, I was like,<br>oh, I better learn how to stream first.<br>I better get affiliated so<br>I can take subscriptions.<br>And then if anyone<br>gives me a subscription,<br>I'll also pay that forward.<br>So June 2018 or something like that,<br>I start, I start streaming<br>and I start streaming some Fortnite.<br>End up getting affiliated,<br>end up doing the whole extra life thing.<br>I end up really enjoying it.<br>I'm like, "This is a lot of fun."<br>I'm playing Fortnite at that point. Okay?<br>So mind you, I'm a Fortnite<br>streamer at that point,<br>and I start really enjoying it.<br>I keep doing it and then one day I decide<br>I'm gonna do some programming.<br>Because I really love Vim<br>and I think I'm fast at Vim,<br>and maybe people think<br>programming is kinda cool.<br>Because there was no<br>really programming section<br>at that point.<br>And I did it.<br>I had like 30 people show<br>up, which was just...<br>And it felt like incredible<br>numbers at that point.<br>So I was like, "Oh my gosh,<br>there's like 30 people<br>watching me program."<br>And so it just kept on going<br>and it kept on happening<br>and it just kept on growing.<br>And I did it for year after year.<br>I would do my job, I would come home,<br>I'd eat dinner with the kiddos,<br>I would read them Lord of the Rings<br>and the Hobbit during that time,<br>I'd read to them for a half an<br>hour, then I'd set that down.<br>And then three nights<br>a week I would program<br>until like 2:00 in the<br>morning or play video games<br>until 2:00 in the morning streaming<br>and building up this whole side thing.<br>And I did this for a long, long time,<br>and then eventually it just<br>kept working out so well<br>and I started making YouTube videos.<br>And then that started getting better.<br>And it was just a long, long<br>grind until April of last year.<br>I went to the Streamer Awards<br>and I got to announce<br>the programming category<br>and Pirate SoftwareOne.<br>It was awesome. It was a great time.<br>And during that time he<br>gave me a challenge coin<br>and just said, "You just got to go for it.<br>Just go full time."<br>And so I just sat there and<br>my wife can attest to it.<br>It was like an emotional turmoil thing<br>and it just took a lot of,<br>it was pretty awful because I didn't...<br>Netflix is very safe option.<br>It was both very fun. It was challenging.<br>I liked a lot of the people worked with<br>It was overall a really great thing.<br>I had a really great boss,<br>really appreciated him.<br>I still have text him now and<br>then he's really great guy.<br>So it's just like I'm<br>leaving all these things<br>for something that's unsure.<br>And the reality is that<br>streaming and all these things,<br>you know, people love you one day,<br>they could hate you the next day.<br>There's all this stuff that goes into<br>being on the public side.<br>And I had Netflix as the backing,<br>so it's like if public hated<br>me the next day I'd be like,<br>deuces, I'm out.<br>I don't care.<br>Now it's like, now I'm<br>gonna do this as a job.<br>And so there's a whole huge<br>turmoil to this whole thing<br>that I kind of went through it.<br>And eventually I just said,<br>okay, I'm gonna make this.<br>It resonated with me<br>when I first made the<br>decision to join Netflix.<br>I'm getting older.<br>There's not a lot of chances<br>to do something unusual.<br>Those chances go down<br>constantly as you get older.<br>This might be the last<br>crazy thing I get to do.<br>Let's just try it.<br>So in April I went full-time<br>and I guess I haven't looked back.<br>I'm only not even a year into<br>doing this as a full-time gig.<br>And it's just been a lot of fun.<br>And the biggest thing is just<br>being able to really explore<br>and do these things on stream<br>where people really enjoy<br>watching and engaging.<br>It's been a great, hard, fun,<br>amazing, difficult experience.<br>- It's a really inspiring leap.<br>It's a really hard one<br>to take for many reasons,<br>like you outlined, but<br>also the loneliness of it,<br>I think it's a pretty lonely pursuit.<br>- It is. Yeah.<br>- Just you and the camera and the audience<br>and the ups and downs of that.<br>And there's not really a team.<br>- I do have one lucky thing<br>I'd say that, my editor, Flip,<br>shout out Flip.<br>- Flip, shout out.<br>- He said it would<br>mean the world to him if<br>I said, "Shout out, Flip."<br>- I love you, Flip.<br>- I love you, Flip.<br>- We all love you.<br>- Oh, man.<br>He had, as he would say, he<br>had nothing going for him.<br>He had a really hard growing up.<br>A lot of rough life decisions<br>have gone into his life<br>and he's crawling back out of it.<br>And he just said, "Hey, I'll<br>edit full-time for you."<br>So I just said, "All right, like 50/50,<br>whatever I make on YouTube, you get.<br>We're gonna do this together."<br>And we did that for years,<br>making $0 a month pretty much.<br>And so it's just like that<br>was an incredible jump<br>and now we get to work together.<br>So I do get that one team aspect<br>that I think is really nice.<br>But it's not like it was at Netflix<br>where I could hear about<br>stuff people are building,<br>I don't have a team, I don't<br>have product or cycles,<br>I don't have a manager that<br>I have to try to make happy.<br>It's just like...<br>It is very lonely.<br>And I don't think a lot of people realize<br>how lonely it actually can be.<br>- Yeah, so combine that loneliness with,<br>in my case, I don't know<br>how many people attack you.<br>- I have a shockingly low<br>amount of attack rate,<br>I feel like.<br>- Yeah, people generally...<br>I mean it's sometimes fun sort of teasing,<br>that kind of thing, but<br>it's mostly just really...<br>You give so much love to the world<br>and inspire so many people,<br>even when you're making<br>fun of stuff, yeah.<br>But with me taking the loneliness of it<br>combined with just really<br>intense attacks, it's tough.<br>It can be rough. Psychologically,<br>really a tough journey.<br>You miss working with a team,<br>just from even a software<br>engineering side,<br>where you can share<br>code or talk over code?<br>- [ThePrimeagen] Yeah.<br>- Or the collaborative aspect of it?<br>- Yeah, multiple things there.<br>One, hey, we love you Lex,<br>so don't let the things get you down.<br>- Thank you. Thank you.<br>I love you too.<br>- Thank you. Hey, little<br>bonding moment here going on.<br>But one thing I really miss-<br>- Not in a sexual way, just to be clear.<br>- The tension is a little tense here.<br>- I'm getting uncomfortable.<br>Yeah. Anyway, team.<br>- It's just the one thing<br>I really miss is just,<br>even when I hated how people did it,<br>just seeing how other<br>people solved things,<br>it's really amazing just<br>the raw creative power<br>so many people have, and<br>just being like, oh, wow,<br>I would've never done it this way.<br>Crazy, right? Wow, this is awesome.<br>And then you kind of<br>internally process this<br>and you're like, oh, I<br>now have a new little tool<br>in my tool belt.<br>Because at some point it's<br>really hard to find a mentor<br>when you're first, young<br>and you're just starting out programming.<br>I mean, anyone with a<br>couple years of experience<br>will be not just a little<br>bit better than you,<br>but infinitely better than you.<br>It feels like crazy how<br>much better people are.<br>And so you have to get mentors<br>and you learn from people.<br>And then as you get better,<br>that amount of availability<br>gets really small.<br>And so it's something<br>that I really do miss is<br>kind of that forced hard<br>problem solving together.<br>- I think there's also a<br>skill to mining the wisdom<br>from other people.<br>I generally try to approach<br>even junior people, young folks.<br>It's just mentally, at least<br>for me, it works as a hack<br>to assume they're the<br>smartest person in the world,<br>way smarter than me.<br>And so I take every single word they say<br>as potential wisdom,<br>and that helps me sort of mine<br>for potential wisdom there.<br>Because it's so easy once<br>you get older to judge,<br>to be like, yeah, okay, okay.<br>I've been through that. I<br>remember feeling like that.<br>I remember thinking that.<br>That's incorrect, whatever.<br>But just kind of assume that I don't know<br>what the fuck I'm doing, and<br>the other person is this sage.<br>And in that kind of interaction,<br>I think you could actually learn a lot.<br>And my favorite interactions<br>is when we both think that way.<br>So from there, I think that's a catalyst<br>for a great, great<br>collaboration and interaction.<br>- It just also makes<br>everything much nicer.<br>It really stinks to work with someone<br>that's combative and negative.<br>I don't mind combativeness<br>if it's like I'm trying to figure out<br>what's best to do right<br>now, versus combativeness<br>just because you're a negative person<br>and things have to be<br>this one particular way,<br>because if they're not<br>this one particular way,<br>it's the end of the world.<br>And that's actually really<br>hard for me to work with.<br>- What's the origin story<br>of ThePrimeagen name?<br>- The origin story of<br>ThePrimeagen name was,<br>are you familiar with a<br>video game called Turok?<br>Nintendo 64.<br>- Yeah<br>- So Turok had Turok I<br>and then Turok II.<br>Turok II was a brutally hard game.<br>This is back when first-person shooters,<br>they would only give you a<br>certain amount of health,<br>and you had to go discover<br>health and get that health.<br>And you had to beat the whole game<br>without effectively dying.<br>That's an old, that's like<br>the first version right there.<br>That's like Turok I and Turok II.<br>- Turok is a renowned first-person<br>shooter video game series<br>featuring dinosaurs,<br>action, and sci-fi elements.<br>The franchise has evolved significantly<br>since its inception in 1997.<br>- There you go.<br>So in 1998, there, you<br>can see it right there.<br>- Turok II, Seed of Evil followed in 1998<br>featuring larger levels,<br>more challenging puzzles,<br>and deadlier enemies.<br>- The notable difficulty,<br>it was very, very, very difficult.<br>So I spent, when I got it,<br>it came in a black cartridge,<br>not like your standard gray Nintendo 64,<br>the black cartridge.<br>Badass game.<br>And I got it and I put it in and I played,<br>and I played every day for 10 hours a day,<br>for a month straight.<br>And I beat it.<br>And it was such an<br>incredible, great experience.<br>And the last leader of Turok<br>II is called the Primeagen.<br>And so when I was a kid,<br>when you're in fifth grade,<br>that's super cool,<br>named after the bad guy.<br>And so for a long time<br>on any internet thing,<br>like Graal Online that<br>I mentioned earlier,<br>the name was ThePrimeagen.<br>It was great.<br>And then I became an adult<br>eventually, and it's just like,<br>okay, I'm an adult. My name's<br>Michael Paulson underscore.<br>And that's what I was on the internet<br>for a long time was that.<br>And I remember it was like 2017,<br>2018, somewhere in there.<br>I remember just how bad the<br>tech world had kind of become.<br>It was just like this<br>super pretentious place,<br>tons of dick measuring,<br>just everything that just was the worst.<br>Ken Wheeler got canceled<br>over playing the Circle game.<br>It was just like,<br>it is so hard to describe to<br>people that weren't there,<br>but it was just the worst place to be.<br>Tech was extremely unfun.<br>It was extremely awful.<br>Everything was just so, it wasn't academic<br>because it was research.<br>It was like we're building<br>the most sophisticated things,<br>and this is for the smart people<br>and everyone else is the dumb people.<br>Don't worry. We'll design for you, dummy.<br>We'll show you how to make<br>the perfect architecture.<br>And I remember changing my Twitter handle<br>because I got so upset<br>and just went back to my video game name.<br>I was like, I want things to be fun.<br>I want this to stop.<br>And so when I started streaming tech,<br>my goal became to destroy<br>whatever that tech mentality was,<br>because it includes nobody.<br>Everyone thinks that<br>they're the smart people<br>and they design for the dummies.<br>And it's just like, no, I<br>want tech to be this place<br>where people feel like they<br>can be creative, and excited,<br>and actually build something.<br>And if you're new, it's okay to be dumb<br>and ask dumb questions.<br>Learn from your dumbness.<br>No one's expecting you to be<br>smart. Pick whatever you want.<br>Actually do something and have fun<br>and build your crazy ideas.<br>Oh, you're going to reinvent<br>the wheel, reinvent the wheel,<br>understand what you're<br>doing, learn it really good,<br>and interact and stuff.<br>And it was just so different<br>than what was out there.<br>And the name...<br>Arnold Schwarzenegger talks<br>about this thing where,<br>when he first started acting,<br>his name was the thing that people hated.<br>As he once said, you have a strange voice,<br>you have a strange body, and your name,<br>your name's unpronounceable.<br>No one's going to Schneitzinfinitzel,<br>no one's going to remember that.<br>- Yeah.<br>- And he said,<br>but now the name is the strong part.<br>And for me, I've always felt akin to that,<br>though my name's not nearly as cool,<br>nor am I as popular as Arnold,<br>nor am I as tough or<br>good-looking or successful.<br>But nonetheless, it's just the name<br>represented this counterculture<br>movement within myself,<br>in which I just hated what was there<br>and I wanted to defeat it.<br>And so this has been the thing.<br>And now people remember me so well<br>because of how weird my name is.<br>And so it's just like for whatever reason,<br>it became its own thing.<br>And so that's the...<br>Now I would never change it,<br>and back then I would never change it<br>because it was my rage<br>against the machine moment,<br>if you will.<br>- Yeah, I love that as a symbol of rage<br>against the machine<br>and the rage being fun.<br>- Yeah.<br>I just want people to be<br>creative and have fun again.<br>It's okay.<br>- What about the mustache?<br>It's an epic mustache.<br>It's an epic stash. It<br>has a life of its own.<br>Is there an origin story<br>or did you guys discover<br>each other at some point?<br>Or did it emerge from the darkness<br>of the struggle that is your life,<br>or where does it come from?<br>- Well, the original mustache is<br>that it was no-shave November<br>back before it became Movember.<br>It was no-shave November back in the day.<br>And after no-shave November,<br>you had all this hair.<br>And so what's the natural<br>thing you got to do?<br>You got to sport a<br>mustache for a day. Right?<br>So whenever I'd forget to<br>not shave for a long time,<br>and then I'd let it start<br>growing out really big,<br>I just go, oh, this is kind of funny.<br>I'll have a mustache.<br>So one day when I was streaming,<br>it's just one of those<br>times I just didn't shave,<br>and then I started just letting it go,<br>and then I got kind of a beard,<br>and then I just had a mustache.<br>When I did it, people were just like,<br>yeah, it's mustache time. And<br>I was just like, heck yeah,<br>it feels like a lifestyle decision.<br>This is the fun times.<br>And so all of a sudden<br>it was just exciting<br>to have a mustache.<br>And I shaved it off and<br>I was like, oh, okay.<br>But then part of me is like<br>there's this weird energy<br>that comes from just having a mustache.<br>So I was like, I'm going back.<br>Told my wife, forgive her.<br>She was very not as<br>thrilled about my decisions<br>to have a mustache long-term,<br>but I just decided to have it back<br>and it was the right thing.<br>It's always been the energy<br>that I had was the mustache.<br>It was always been there.<br>It just never was visible<br>until later on it feels like.<br>- Yeah, we're chatting offline<br>how one of the components<br>of a successful relationship<br>is sacrifice and your wife was<br>willing to take the sacrifice<br>of allowing you to have a mustache.<br>- I clearly was not willing to<br>sacrifice not having one. So.<br>- You do this incredible thing<br>where you tried a bunch of<br>different programming languages<br>when you stream.<br>You have like...<br>You go all out on certain<br>programming languages<br>like Rust and then go and<br>then try to pick a new one,<br>but also are experimenting constantly.<br>So maybe one question I<br>could ask is about learning.<br>What's your approach to learning<br>a new programming language,<br>and maybe what's your advice<br>on learning a new programming language<br>when you begin that journey?<br>- So I've kind of done a<br>bunch of different ways<br>to go through this learning process,<br>and I've tried a lot of different ones.<br>Something that is obviously successful<br>is just start building something.<br>Just put your hands on the keyboard,<br>especially if you already<br>know how to program.<br>You're like, okay, I'm now using Zig.<br>How do I do a main function<br>so I can just run the program?<br>Okay, now I know how to build.<br>Okay, how do I do an if<br>statement? What does it look like?<br>Okay, how do I declare my own functions?<br>How do I do modules, right?<br>You just kind of Google your<br>way through it, if you will,<br>to get to the end product<br>and build something.<br>It's a great way to do things<br>because I find that repetition,<br>rote learning is obviously<br>the best way to do this.<br>You have to kind of go over it a bunch<br>and you can definitely get out<br>and build a lot of stuff with that.<br>I like that initial kind<br>of get used to things.<br>But on top of it, I find<br>that, by doing that,<br>you also fall into traps.<br>You kind of Google and<br>you try to solve a problem<br>in the language based on all<br>of your previous experience.<br>And so you don't have what<br>makes that language special.<br>You have what all the other<br>languages make special.<br>And so you end up kind of<br>not really being able to<br>use it very effectively,<br>but you can certainly kind of learn it<br>and get kind of good at it.<br>And so the second approach<br>I've been doing lately,<br>and this has been inspired<br>by the creator of Ghosty,<br>Mitchell Hashimoto, is to just start<br>by reading the language<br>reference, the whole thing.<br>And so lately I've been<br>just kind of going through<br>and just reading the entire<br>manual for these languages.<br>Like Zig, I'm almost done with that one.<br>It's like 8 to 10 hours of<br>just sitting down reading,<br>and I'll whip out my<br>computer and kind of practice<br>a couple of the things<br>from the actual docs,<br>and that way I can learn all the things.<br>So then when I start building<br>again, I'll remember,<br>okay, I know there's a thing over here,<br>let me go reread about it<br>because now I have it<br>indexed in my brain somewhere<br>that will remember.<br>And so I don't think there's<br>a right or wrong way.<br>I mean at the end of the<br>day, the right way is always<br>that you have to build<br>something eventually.<br>You cannot just read about it.<br>You have to put your<br>hands on the keyboard,<br>you have to build something out.<br>And then once you do that,<br>that's where you really discover<br>what makes it painful<br>or what makes it great.<br>And if you don't have the breadth<br>of what the language offers,<br>you just may make it painful<br>by simply being bad at it.<br>- Where exactly are you reading this-<br>- [ThePrimeagen] Language reference.<br>- The language reference.<br>- [ThePrimeagen] So it just goes through<br>every feature top to bottom.<br>- That's a lot. Yeah.<br>- [ThePrimeagen] Every way it's described,<br>all the different things.<br>I think Zig's is, it's a decent size,<br>but it's not just simply read the words.<br>You want to internalize<br>each concept as well.<br>So it takes a long time.<br>So I'm a slow reader.<br>- So you're building, in AI<br>terms, like a background model.<br>'Cause I don't think you<br>can just start building<br>once you're done reading<br>because you probably forgot<br>how to do a for loop.<br>You kind of forget the specifics.<br>You just are building<br>up the design choices,<br>the set of features available,<br>what are the strengths and weaknesses,<br>all that kind of stuff.<br>And then you start building.<br>That's really interesting.<br>Probably not the thing you would recommend<br>to a junior developer,<br>somebody who's just starting out at first.<br>- If you don't know<br>what an if statement is,<br>that's not a good way to learn.<br>To me, the best way to learn then is<br>really hands on the keyboard<br>and building extremely simple things,<br>and slowly growing in complexity.<br>Because understanding<br>what a class and methods<br>and instances versus the blueprint,<br>which is the class versus functions<br>versus modules versus all that stuff.<br>That just takes time to learn.<br>And so that's a completely<br>different style of learning.<br>- I wonder because for<br>me, learning right now,<br>AI is a huge help, but I already<br>have a lot of experience.<br>I wonder, if you're starting from scratch,<br>whether that's a good idea.<br>But I still think it's<br>probably a really good idea,<br>but basically generate some code using AI<br>and figure out what it's doing<br>by playing with different parts.<br>Maybe can you comment on that aspect,<br>like the use of AI as part<br>of the learning process?<br>- This is where I have both<br>the hopeful and the doomer take<br>at the exact same time.<br>- Yeah.<br>- And it's the same thing<br>with Google or Stack Overflow,<br>it's all the same kind of take,<br>which is it's just making<br>things more democratized<br>in some sense.<br>I get to ask questions<br>in probably the most personal possible way<br>with my own voice, in my own words,<br>and it's able to produce out answers<br>and hopefully help guide me.<br>Now, regardless of just say the errors<br>and the incorrectness of<br>it, ultimately just using it<br>as a learning tool and<br>being able to just formulate<br>and read answers in your own voice,<br>I think is super powerful.<br>And I think it's super amazing.<br>But the part that I think<br>is gonna be really difficult<br>is that we don't value<br>remembering things anymore as a society.<br>Since the internet came about,<br>I can just look that up.<br>I can just look that up.<br>You don't need to memorize<br>your times tables. Right?<br>You can just use a calculator.<br>You can just do all that.<br>I remember I just was<br>sitting on the airplane<br>and I watched someone do the<br>world's most simple addition<br>and subtraction like 10<br>times on their phone.<br>And why are you not just...<br>You should already know,<br>you should be able to do these things.<br>And I realized that we kind<br>of offload our brains, right?<br>Oh, I don't need to know these things<br>because I can look them up.<br>And that's not a bad answer in some sense.<br>I can understand that.<br>I don't need them to<br>remember every last thing,<br>but then it also makes me realize<br>that you kind of develop<br>this learned helplessness,<br>that a new error comes up.<br>I'll just ask the AI.<br>AI says, oh, okay, I got to<br>fix this line. I fix the line.<br>You didn't actually learn anything.<br>You kind of just used it as a quick means<br>to get something out and move on.<br>And so you sacrifice knowledge for speed,<br>which is a great thing in some...<br>We have to make those trade-offs<br>all the time in engineering.<br>Sometimes you have to move fast<br>at the sacrifice of knowledge,<br>and I'm totally on board for that,<br>but I worry that what we'll create<br>is an entire generation<br>of incompetent programmers<br>who can do some amount of things well,<br>but anything that is unique, bespoke,<br>or requires some extra<br>like little elbow grease,<br>might become very difficult.<br>It might cause a whole chasm<br>where juniors remain juniors forever.<br>And I don't want to see that.<br>I want to see people grow.<br>I want to see people<br>actually be able to take this<br>as a craftsmanship thing.<br>And so that's both my hope and my worry<br>is that AI think can do both really.<br>If you could ask whatever<br>question you want<br>and you don't have to rely on, say, a book<br>to give you that exact answer.<br>And if the book just said it wrong<br>and you can't understand<br>it, it's just like,<br>sorry, you don't get<br>to learn what this is.<br>Like recursion for me, I<br>spent way too much time<br>until someone gave me the right problem<br>to understand recursion.<br>You could imagine AI could<br>have solved that for me<br>way faster because it could<br>have gave me the right problem<br>and walked me through much better.<br>But what happened if I just<br>always have recursion solved<br>by them and not actually learn it myself?<br>- So if I ask AI to generate<br>code to do a certain thing,<br>actually a large percentage of time,<br>most of what AI generates is<br>going to be correct for me,<br>but some percent of time<br>it's not, fundamentally not.<br>And for me to recognize the<br>difference between those two,<br>I think it takes a lot of experience.<br>I think to learn that skill of knowing,<br>no, no, no, a different<br>new out of the box solution<br>is needed here than the<br>one you're providing.<br>You're missing the point.<br>That's a skill, and how do you learn that?<br>You learn that by building from scratch.<br>So both are probably really necessary.<br>But I think as a first step<br>of learning how to program,<br>it's pretty nice to generate a function,<br>to generate for loops and<br>all that kind of stuff,<br>and then just fuck with the<br>different lines and modify them<br>to try to adjust the<br>behavior of the program,<br>and from the way the behavior<br>of the program adjusts<br>or bugs are created, you<br>learn about the syntax<br>of the language, the<br>behavior of the language,<br>all that kind of stuff.<br>So I think it's a super<br>powerful way to learn.<br>But yeah, you need to<br>also write from scratch.<br>- At some point you have to<br>take off the training wheels,<br>because I think what<br>you're really spotting<br>is the difference between<br>reading and writing code.<br>I can read a lot of languages very well.<br>I can see what's happening.<br>I can understand it,<br>but I would not be very<br>good at writing it.<br>I can understand a lot of things about C++<br>and I can read it, but I'm just not that<br>because I just don't, I<br>haven't done it in so long.<br>I can't remember where all<br>the semicolons, and colons<br>and you do public and private,<br>and how should you do naming conventions?<br>All those things kind of add all together,<br>and then you're just like, oh,<br>I'm really bad at writing it,<br>though I can read it.<br>And so there's a skill gap chasm<br>that exists between those two.<br>- All right. Well, let me talk<br>about the various languages.<br>The cheesy, ridiculous question<br>of what's the best programming language?<br>Let's say, what's the<br>best programming language<br>that everybody should learn?<br>Maybe let's go with the top five.<br>I'm gonna pull up the Stack<br>Overflow developer survey,<br>because I think we have....<br>- Yeah, those are...<br>- You don't like them?<br>- You gotta remember, because<br>I mean, you're a data guy.<br>You know about biases and data.<br>What does Stack Overflow<br>naturally bias towards?<br>- Well, they have the different slices<br>of professional developers,<br>junior developers,<br>they have different slices.<br>Okay, what is the bias?<br>- I hear you, but who fills<br>out a Stack Overflow survey?<br>Someone who participates<br>on Stack Overflow.<br>Who's participating on Stack Overflow?<br>Largely very, very new people,<br>and that one guy that<br>loves answering questions.<br>And so I'm not sure if Stack Overflow<br>is a great place to get data.<br>It could be a very biased set of data.<br>- Is it really only new people?<br>- I mean that's who's<br>using Stack Overflow.<br>- All right. Most popular technologies.<br>On this...<br>- JavaScript, HTML, Python, SQL.<br>- SQL is the more general kind of...<br>I'm sure they're not doing the individual<br>sort of flavors of SQL.<br>By the way, pronounce SQL versus SQL?<br>- It's SQL.<br>- SQL? You SQL?<br>- SQL, I think is the correct way.<br>- SQL.<br>- I did SQL because I<br>didn't know the audience.<br>I don't know if they can handle the truth,<br>which is its SQL<br>- The squeal of joy, squeal...<br>- SQLite, MySQL, PostgreSQL.<br>- By the way, I had a lot of joy<br>from earlier saying<br>pig-fucker, for some reason.<br>- It's such a dig...<br>I mean, can you believe<br>- I had so fun to say-<br>- that was a real conversation that I had?<br>- Yeah, that was.<br>TypeScript, BAS,<br>Java, C Sharp, C++, C-PHP.<br>- It largely kind of aligns<br>with the world you'd expect,<br>but Assembly, why is Assembly<br>more popular than Ruby?<br>Who's writing just Assembly by...<br>No one writes Assembly by hand<br>other than maybe that one<br>guy that's developing TLS 1.3<br>and hand rolling a cryptography algorithm<br>to be the fastest possible algorithm.<br>- Yeah. Assembly is a weird one.<br>Maybe people write it maybe in school,<br>but even in school now<br>for a operating systems<br>course or something like that,<br>or system engineering.<br>I don't know if they<br>write Assembly anymore.<br>I don't think so anyway.<br>- And Swift and Ruby being<br>less popular than Assembly<br>seems ridiculous.<br>But nonetheless, okay, so<br>you get my ideas behind that,<br>but as far as top five languages go,<br>that's probably too broad<br>because you could just name so many.<br>I think you should<br>probably archetype it by<br>what do you want to do?<br>So if you want to get<br>into game development,<br>perhaps C Sharp, C++<br>could be good choices.<br>Or JavaScript and doing Canvas games,<br>I could see that also working.<br>But you're limited by<br>doing JavaScript obviously,<br>because you can't do as much<br>because the language is just<br>not fast enough to do as much.<br>So it's like a good thing to remember.<br>If you're gonna be doing backend stuff,<br>if you want a job, if<br>you're looking for a job,<br>maybe C Sharp slash Java, or JavaScript,<br>or Go would be great choices.<br>If you're looking to do embedded,<br>you probably want to do C, C++,<br>like that would probably be a good choice.<br>And so you kinda have to...<br>I think you have to first determine<br>what do you really want to get out.<br>- If you're just curious<br>about programming,<br>which I talked to a lot of people who are,<br>yeah, you can consider jobs,<br>but basically their question is,<br>okay, what's the first<br>language I should learn,<br>and maybe what are the several<br>languages I should explore?<br>- Can I say something<br>that's gonna make a lot of people angry?<br>- Yeah, sure.<br>- I think the first<br>language people should learn<br>if they have no idea about<br>anything is JavaScript.<br>- Yeah. Why would that make people angry?<br>- Oh, because people just, first off,<br>I'm not supposed to say<br>anything nice about JavaScript.<br>- Yeah, usually that's the meme,<br>that you hate JavaScript, right?<br>- Yeah. No, JavaScript's<br>a beautiful language.<br>And it has a lot of things<br>that are very great for it,<br>and one of them is that<br>you can express anything<br>with very little effort.<br>And so someone that's new,<br>I think it's really great<br>to be able to draw a box and move a box.<br>That's great. You get to see it visually.<br>I think that's one thing<br>that's really great<br>about JavaScript is that you can do that.<br>Then you can go, okay, I want<br>to learn about the backend.<br>I want to make a request now.<br>You can write a quick backend in it.<br>Now you're starting to get familiar<br>with programming a little bit.<br>I can save this to a database.<br>I can bring it down.<br>I can put it on a screen and<br>I can animate it all around,<br>and I can even put it on a<br>canvas and render it in 2D or 3D.<br>So it's like there's so much<br>variety of what you can do<br>with JavaScript.<br>It's a great way to get<br>introduced into programming.<br>But then at some point you have to go,<br>okay, I now need to learn<br>more about this whole thing.<br>- I mean, yeah, just like<br>you said, you can make games,<br>you can do front end,<br>backend for web development.<br>- You can even do embedded.<br>They actually have...<br>Like there's Wes Bos is<br>building his Roomba or something<br>and programming it with<br>JavaScript and React,<br>which is just the world's worst language<br>to choose for embed,<br>but you can still do it.<br>- Also, we mentioned sort<br>of in terms of applications,<br>anything that relates to<br>data or machine learning,<br>Python is the sort of the leader there,<br>so that's a great one.<br>- It seems like Python, CUDA stuff and C++<br>would be a dynamite in that,<br>because a lot of these<br>Python libraries are assumed<br>you're just smuggling in C++<br>underneath the hood or C.<br>- Okay, so JavaScript. I'll say Python.<br>- Python's a great one too.<br>You can get quite far with it,<br>but you can't write the front end.<br>What happened if you love the front end?<br>What happened if you really<br>just want to design things<br>and you just didn't know that?<br>- Well, it's okay. So<br>for that, JavaScript.<br>- But Python's a good choice<br>because you can't do the ML stuff<br>in JavaScript nearly as easy.<br>- Do we count HTML and CSS<br>as programming languages?<br>- I think there's some<br>technical definition that it is.<br>If you use this certain<br>amalgamation of CSS plus HTML,<br>it actually has, it can be<br>a Turing complete language.<br>But I mean for practical purposes, no.<br>HTML is not a language.<br>For me, yes, the Turing<br>test is a good one,<br>but for those that are just<br>not wanting to be as academic,<br>if I can't write a function<br>and an if statement,<br>I don't feel like that's...<br>If I can't loop, if, and function,<br>I don't feel like that's a good,<br>that's a programming language.<br>- Although modern HTML<br>has a lot of features.<br>- It's crazy how much it has,<br>but it's more of a specification<br>than anything else.<br>I specify it to be a pop-up.<br>I specify it to have this<br>kind of accessibility,<br>this kind of look.<br>Under these conditions look like this,<br>transform like this, move down here.<br>- I don't know.<br>I kind of like these popular<br>programming languages<br>in this list.<br>I like JavaScript.<br>- You like Bash?<br>- Oh, yeah. I like Bash a lot. Yeah. Why?<br>- Okay, Bash is kind of one<br>of those ones where it's like,<br>do you really like it?<br>I like it up until I need an array.<br>- Oh, as a programming language, just no,<br>but I like the command line.<br>- Okay.<br>- Do you like Bash? No, nobody likes Bash.<br>(Lex and ThePrimeagen laugh)<br>Do you mean-<br>- Someone is so offended right now.<br>- It means do you use it a lot? Yes.<br>I mean, it's good to learn, right?<br>It is good to-<br>- It is.<br>- Be comfortable in the command line<br>because it's a bit of a superpower.<br>It's like, I think I<br>follow on Twitter, FFmpeg.<br>- Great account.<br>(Lex chuckles)<br>- There's certain Twitter<br>accounts that are just legit.<br>And I think FFmpeg,<br>they have all these sort of parameters<br>that you can add on the command line,<br>that it's like one of<br>those cryptic languages<br>that only very few wizards understand.<br>But once you begin to slowly understand,<br>and I'm only at the very<br>sort of beginning stage<br>of that journey to mastery,<br>the powers you gain at every step,<br>it grows exponentially, it feels like.<br>I mean, FFmpeg is just this incredible,<br>what would you call a library system?<br>There's just the people behind them<br>must be just brilliant masterminds<br>because they have to work<br>with all these codecs,<br>with all these containers,<br>with all the mysteries of<br>the media codec universe<br>they're masters of.<br>And they understand compression,<br>which is another super fascinating<br>technical set of problems<br>that, I don't know, just<br>FFmpeg just fills me with joy<br>that it exists.<br>But you need kind of Bash type comfort,<br>command line comfort, to work with it<br>to really unlock its power, yeah.<br>- I think FFmpeg is probably<br>one of the most consequential<br>libraries of our day,<br>and the Twitter account is so unhinged.<br>It is the most amazing thing to see<br>because I think FFmpeg does<br>not get the love it deserves.<br>Every single application, OBS,<br>probably FFmpeg underneath the hood.<br>Everything, FFmpeg underneath the hood,<br>and yet they do not get<br>the love they deserve.<br>I just love it. I just<br>think they're the best.<br>- Yeah, I would say JavaScript, HTML, CSS,<br>Python, SQL, I mean that is SQL,<br>SQL is a programming language.<br>It's an incredibly sophisticated<br>programming language. Yeah?<br>- SQL is interesting.<br>I believe you can classify<br>it as a programming language.<br>It does have, if.<br>You have case statements<br>and it's pretty crazy<br>what you can do with it.<br>- You could do functions,<br>you can do all that stuff.<br>You shouldn't.<br>- Yeah, for stored procedures,<br>that's how you make your life hell.<br>I will say that all the<br>top languages right there,<br>none of them are strict<br>static typed languages.<br>And so even TypeScript,<br>I don't like this any.<br>And so for people that are learning,<br>doing something that's much<br>more strict would be great.<br>Something like Go, Rust,<br>I mean even C Sharp, C++.<br>Anything that kind of changes<br>your perspective of types<br>I think is really helpful<br>to kind of go through.<br>They're not getting nearly as much love<br>on this most popular language list,<br>but I think they're very fantastic.<br>- All right, well, if I<br>put a gun to your head,<br>top five languages, let's list them out.<br>There's a bright-eyed<br>20-year-old asking you,<br>what are the top languages,<br>five languages to learn?<br>- If I were to pick five languages<br>that I think people<br>should learn, or at least,<br>let's restate it this way,<br>I'm gonna say a couple languages<br>and you should at least<br>explore some of them.<br>I think you should<br>explore a loosey language,<br>so Python slash JavaScript,<br>where there is truly only one<br>type, which is a boxed value,<br>which is a multivariate, different types<br>underneath the hood.<br>- What did you call it? A loosey language?<br>- A loosey-goosey language.<br>It's a dynamic language,<br>and so I think it's really good<br>to explore one of those too.<br>So I'd put Python or<br>JavaScript right there.<br>Even Lua, throw Lua in the bunch.<br>I think you should<br>explore a strict language,<br>so I'd do something like Rust, Go.<br>I think those are both<br>really, really great.<br>- C++?<br>- You can do C++.<br>You can do some type erasure in C++.<br>You can do it with Go as<br>well, but for the most part<br>it's a great language to do that in.<br>It can get a little wild.<br>New C++ seems great.<br>Everyone keeps telling<br>me new C++ is great.<br>It has every feature you've ever wanted<br>and all the features you don't want.<br>- Yeah, exactly.<br>I mean there's smart pointers,<br>there's dumb pointers,<br>there's all kinds of pointers.<br>There's no memory leaks.<br>That's not an issue.<br>- Foot guns, face guns, soft beds.<br>There's everything in there.<br>- Unless you like memory leaks,<br>it has that too if you want<br>that kind of thing. It's great.<br>- Okay. How about this one?<br>Languages that I actually<br>want to really learn,<br>that at least sit in my curiosity bank.<br>There's three languages,<br>which is going to be Swift, Elixir, OCaml,<br>and then I'm going to throw Odin in there,<br>just because Ginger Bill is great.<br>But Elixir and OCaml,<br>I don't have a strong functional language<br>underneath my belt.<br>That's something that<br>I just genuinely lack.<br>- Yeah, I've heard incredible<br>things about Elixir,<br>about Odin, about OCaml.<br>Obviously, I'm a person, as<br>you know, who loves Lisp.<br>- [ThePrimeagen] I have never done Lisp.<br>Lisp could be in that<br>category too, just, or Closure<br>I think at this point is what<br>everyone tells you to use.<br>- So in the case of Lisp,<br>I don't want to speak<br>negatively about Lisp,<br>but it's important about modern community,<br>what the community looks like.<br>It seems like there's<br>an excited, maybe small,<br>but an excited community<br>around Elixir, Odin, and OCaml,<br>so that helps.<br>Because then you can post shit<br>on Twitter that you're like,<br>I accomplished this.<br>People get excited and it's<br>nice. It's a good feeling.<br>- You can post something on Twitter<br>and you'll get a thousand likes<br>if you do something cool on Elixir,<br>which is that's a pretty<br>big amount of people<br>to like a post for such a niche topic.<br>Programming's already<br>a pretty small topic.<br>Then you get into functional program.<br>That's a small topic in a small topic.<br>- Yeah. I don't get that much.<br>If I post something about Emacs,<br>I'll get crickets if I<br>post something about...<br>If I proudly use Neovim,<br>there'd be a lot of people like, good job.<br>- Because it is the best editor.<br>- Yeah, maybe it's just hype.<br>- Come back to the Civil War, Lex.<br>- Yeah, sometimes you have to sacrifice<br>and go from the superior<br>editor that is Emacs<br>and choose Neovim just to be popular.<br>You sacrifice integrity and values<br>and quality for just popularity.<br>It's a choice you made.<br>- Absolutely.<br>I love how you put it.<br>- Okay. Anyway, what<br>were we talking about?<br>I like how you're doing this<br>in bunches. That's great.<br>- Right now, my kind of side honeys<br>that I'm exploring-<br>- Side honey?<br>- Yeah, side honeys.<br>They're not my mainstay.<br>Right now Go's kind of my favorite one<br>to build a web app in.<br>If I'm gonna build some sort of backend<br>with a lot of complicated<br>logic, Go's just so convenient.<br>But I get really<br>frustrated with its ability<br>to express everything that I need.<br>If you have a list, a heterogeneous list,<br>a list that contains two types,<br>Go's just really not that fun to use.<br>And I could see, so the ones<br>I'm exploring is Jai or J,<br>or the language as Jonathan<br>Blow says, and Zig.<br>And both of them have<br>a lot of power to them.<br>They're both very interesting.<br>They definitely have foot guns in them.<br>They're definitely more, they<br>don't take it easy on you.<br>Zig seems like it's a<br>really amazing language,<br>and so does Jai.<br>They're both very cool.<br>- Yeah. Actually, I saw Dave<br>Plummer's testing of close<br>to 100 languages for speed,<br>and Zig came out on top.<br>- Yeah. That was a mistake.<br>I mean, when I say mistake,<br>nothing against Dave Plummer.<br>He's an extremely talented engineer.<br>It's just that Zig, C, C++,<br>all those languages<br>that were being tested,<br>they're all LLVM backends, right?<br>That's the one that<br>actually turns the thing<br>into the executable part.<br>And if there's a variation in speed,<br>it just means in one language<br>you didn't quite express<br>what you are supposed to correctly.<br>There's the language ball test<br>that's been bouncing around on Twitter.<br>Zig was like sixth or seventh below<br>I forget what language it is.<br>I played around with the example,<br>added the word "no alias" to the argument,<br>which means that the piece of memory<br>that's coming into this function,<br>there's no global pointers,<br>there's nothing to it,<br>and so the compiler can make<br>these really cool optimizations.<br>And I made it faster than the C version.<br>So it just means that it's<br>just not correctly specified<br>is all that means.<br>- Yeah, but it's still exciting.<br>To me, the competition between Zig, Rust,<br>and C++ is really interesting.<br>Part of it's for speed.<br>Part of it's how easy it is<br>to write performant code.<br>- I'll say something that's...<br>The reason why I think<br>Zig is so interesting<br>comparatively to say C or Rust.<br>C is the ultimate language.<br>It can do anything, you<br>have pre-process or macros.<br>You can do quite a bit with it,<br>but it's also really difficult.<br>And it's also really simple<br>and you can learn it.<br>So it's kind of its own unique beast.<br>And when you get really good<br>at C, C is a magical language<br>and people are really great at it<br>and people speak very highly of it.<br>Rust is like this ultra safe language.<br>What you can do in C, you just<br>can't even express in Rust.<br>Rust is gonna be the safe<br>man that holds you at night,<br>keeping you warm, right?<br>It's gonna be just the greatest.<br>But somewhere in the middle<br>lies Zig. Zig has optionals.<br>If you're not familiar with optionals,<br>that just simply means there's<br>a value here or there's not,<br>but you first have to check<br>that before you can use it.<br>So it prevents that whole null pointer<br>dereferencing segfault problem.<br>And that's not available<br>in C, just by default,<br>you have to kind of build that thing in.<br>It is the only option in Rust,<br>but Zig says, "Hey, if you have a pointer,<br>you can't express it as null<br>unless if you market that it can be null."<br>There's ways around it,<br>there's other types of pointers<br>and stuff like that that can do that.<br>But for the most part,<br>Zig will give you safety<br>for the most part.<br>So it's like a little bit<br>of safety, but more like C.<br>So it kind of gives you<br>everything you want in that region<br>where you can express<br>safe code and unsafe code.<br>It's very easy to write. It's very pretty.<br>Or at least the idea<br>behind it is very pretty.<br>The language itself is bland, but.<br>- Wow, there's beauty in everything-<br>- Yeah.<br>- Prime.<br>You've programmed in Rust a lot.<br>What do you love about Rust?<br>What are the strengths?<br>What are the weaknesses?<br>Maybe you can speak<br>about memory management<br>that you already mentioned,<br>the challenge of memory management<br>that several of these languages address,<br>but yeah, what do you love about Rust?<br>- What I love about Rust,<br>I love the ability to free the memory<br>that you're using is<br>directly tied to the stack.<br>So whenever you create something,<br>there's a stack variable<br>or there's some amount of stack memory,<br>whether it's a pointer off to the heap,<br>a pointer and a length.<br>So some amount of memory on the stack<br>and then some memory on the heap<br>because a string is not all on the stack,<br>it's some on the heap, some on the stack.<br>And when that stack<br>variable goes out of scope<br>and gets cleaned up, it also<br>cleans up what's on the heap.<br>So it kind of simplifies<br>this whole idea of,<br>whoops, I forgot to free my memory.<br>It just does it for you.<br>- So it's not a garbage collector,<br>which will do it sometime later.<br>It's not like C where you<br>have to call it yourself,<br>it's somewhere in between.<br>Now, there's a lot of<br>strategies people use,<br>arenas and all that that<br>make that C part much easier.<br>I'm just not even mentioning it,<br>but it just makes it a lot easier.<br>But Rust does that really beautifully<br>and it's just like a<br>really cool idea about it<br>and I really like that.<br>And the second thing that<br>I think Rust does really,<br>is such a good thing is<br>that mutability of something<br>is you have to specify it.<br>So you don't just create a<br>variable and then mutate it.<br>You have to say this<br>is not only a variable,<br>it's a mutable variable.<br>And I think that just<br>makes code really readable<br>and really understandable.<br>Because anything that does not have<br>the word mute next to it,<br>you know for a fact it cannot change.<br>There's some rules around that,<br>but you get the general idea.<br>- Unlike most programming languages,<br>you have to explicitly state<br>that this is going to be changed.<br>- [ThePrimeagen] Yeah.<br>- Yeah. That's really interesting.<br>I mean it's safe, it's trying to be,<br>and the safety might<br>be, create limitations.<br>Let us consult the AI overlords.<br>Rust is a blazing fast<br>memory efficient systems<br>programming language that<br>emphasizes performance,<br>type safety and concurrency.<br>The language enforces memory safety<br>without using a garbage<br>collector, as you said,<br>instead utilizing the unique,<br>quote, "borrow checker"<br>that tracks object<br>lifetimes at compile time.<br>This prevents common programming<br>errors like null point<br>or dereferencing and memory<br>leaks and so on, yeah.<br>So you've also spoken<br>about metaprogramming.<br>Which of these languages do you like<br>for the metaprogramming?<br>I love metaprogramming in<br>C++, but it's a giant mess.<br>At least when I program<br>C++ 17 standard, I believe,<br>it's just a mess,<br>especially a mess to debug.<br>- Yeah, I would consider myself<br>kind of a metaprogramming newbie.<br>I have only solved some<br>amount of problems with it.<br>That's kind of like what this year is for,<br>is for me to really, I want to see<br>where the ends can go in that.<br>So I don't have a strong<br>opinion on this one.<br>Zig, one thing I really like about Zig<br>is that the metaprogramming<br>is also the language itself.<br>So you don't have to,<br>there's not an alternative.<br>So with Rust there's an alternative.<br>When you create a macro, you<br>have to do the macro syntax.<br>With Zig, it's just, it is the thing,<br>you just program it and<br>you add the word comp time<br>if you want it to be a compile time only.<br>So you can create the<br>list of prime numbers<br>at compile time in Zig,<br>which is kind of an<br>interesting, unique thing.<br>So you have code that<br>executes at compile time<br>and then you can take advantage<br>of the result of it at runtime.<br>So neat, right?<br>That's how I'd look at it.<br>But again, I haven't used it to the point<br>where I feel like I can super<br>authoritatively talk about it.<br>- You have been undecided,<br>what language are you going for this year?<br>- I'm gonna keep Go as my mainstay,<br>my two side honeys, Jai and Zig.<br>I'm going to explore and try<br>to build out a service in them<br>that can do a bunch of<br>talking to, say, ChatGPT<br>and ElevenLabs and send<br>stuff down to client<br>and work with web sockets.<br>And I want to make sure<br>that, I just want to see<br>how do they perform in this realm.<br>And I may be using the<br>language incorrectly,<br>like Jai, it's not really been<br>designed for the web world.<br>I just got done writing the<br>ability to read Twitch Chat<br>and it required me to do Berkeley sockets.<br>So if you're unfamiliar<br>with Berkeley sockets,<br>it's like the old way of doing<br>it, it's how you do it in C.<br>So you have to kind of go<br>through the whole nine yards<br>of creating your own connection.<br>I had to create my own connection,<br>I have to read from the socket,<br>then I have to parse<br>out all the IRC, right?<br>You have to kind of build it from scratch.<br>There's not like a new TCP<br>connection to this server.<br>You have to be like,<br>"I'm creating a socket."<br>You're gonna be of the IPv4 family<br>and TCP and you're gonna do, you know,<br>I'm gonna now have to take your address<br>and go look up your address<br>with DNS, get that address back<br>and then connect to a TCP.<br>So it's a lot more manual still.<br>It's a lot more raw in<br>that area, but it's fun.<br>- What are some epic projects<br>you've built on stream<br>that jump to memory?<br>- My most favorite...<br>Sorry for interrupting you.<br>So I'm really jazzed right now.<br>- Let's go.<br>- Okay. So jazzed.<br>- Jazz hands.<br>- My most favorite project<br>was the one I did last year.<br>Someone built a Doom ASCII port.<br>So you could play Doom with ASCII.<br>So that means you could<br>play it in your terminal.<br>Very, very fun, very excite.<br>So I made a Go program that<br>could spawn out the Doom ASCII,<br>then I took that Doom ASCII<br>and I sent it to the browser<br>so that people could play<br>Doom ASCII in the browser,<br>but then I made it so that Twitch chat<br>could control that instance of Doom ASCII<br>by piping in Twitch chat,<br>taking the average of the<br>movements over so much time<br>and replaying it as if<br>it was a controller.<br>And I had Twitch chat beat<br>level one by spamming it.<br>But the fun part was<br>I used a bunch of fun encoding techniques.<br>I used quad trees to be<br>able to take smaller amounts<br>to use run length in coding.<br>Tried to create my own<br>compression algorithm<br>because if you're sending<br>out a bunch of ASCII stuff,<br>it's still pretty expensive<br>because you have to represent<br>color, color's not cheap.<br>On top of it you have to<br>represent what does it look like?<br>What does the ASCII look like?<br>Well, I realized there's all<br>these fun techniques you can do<br>for compression like the shape<br>of the ASCII you send down<br>in a lot of these engines are<br>actually just proportional<br>to the lumosity of that pixel.<br>So you'd use an eight to represent<br>or a pound sign to represent white,<br>but black, you're gonna<br>want to do a period<br>or a comma or a bar, something smaller.<br>So it's like I then developed all these<br>different compression algorithms<br>that turn a bunch of data,<br>which would take, I forget<br>how much it would take.<br>It'd take gigabytes upon gigabytes<br>to be able to send out<br>to thousands of people<br>to all see the same<br>image at the same time,<br>to all be able to interact<br>with Doom at the same time.<br>I turned it from gigabytes into kilobytes<br>by just trying to figure out<br>how to make it as small as<br>possible and send it all out.<br>It was super fun.<br>Absolutely had a great time.<br>- So you're actually sending<br>it to all the people in chat.<br>So where's that pipeline,<br>how chat is able to<br>control the Doom thing?<br>- Twitch chat.<br>Yeah, so they would<br>go, people would spam W<br>and if you said W, it would<br>hold down W for 150 milliseconds<br>if the majority of people<br>during that time period said W.<br>- Nice. Okay.<br>And how are they getting the input<br>of where you are on screen?<br>- So originally I was gonna<br>send that through Twitch,<br>but Twitch is like five seconds behind,<br>so that's why I piped it out to a website<br>- Ahhh.<br>- so everybody could see<br>from my computer to the website<br>and typical lag was right<br>around 70 milliseconds.<br>So it's like they could<br>mostly see what was happening<br>in that short period of time.<br>It was pretty exciting.<br>So we had 1,000 people,<br>or I had somewhere between<br>1,000 to 1,400 people<br>smashing Ws and pressing<br>F to fire and turning<br>and we killed some zombies.<br>We blew up the barrel at<br>the very end of level one<br>to kill the Imp.<br>- How are you getting the<br>Ws from the Twitch chat?<br>Is there an API?<br>- I was using IRC, so<br>just a little TCP socket<br>and then you just parse out IRC.<br>- Okay. And there's very little lag there.<br>Okay.<br>- Yeah, I think it's a couple<br>hundred milliseconds though.<br>It's enough that it actually<br>made it a little bit difficult<br>because people would often overturn<br>and then go forward and miss the door<br>and then they had to go back and...<br>- That's awesome.<br>- It was awesome.<br>So that was my favorite I<br>think project of all time<br>just because I never got<br>to do a lot of encoding.<br>Encoding's kind of like,<br>what do you normally do?<br>Okay, I need to send something down.<br>I don't know, gzip it,<br>server will just do it.<br>Server just does the right thing.<br>I don't need to think about it.<br>So instead it's like I think about it,<br>I'm gonna send the right thing.<br>- Yeah, you have to think<br>about the compression. Yeah.<br>And there you go.<br>That's some more love towards FFmpeg<br>because they have to<br>think about that a lot.<br>- Ultimately inspired by<br>FFmpeg and their awesomeness.<br>- So can you speak to just<br>the chat community in general?<br>A big part of what you do<br>in terms of streaming is the humans<br>that are communicating with you live.<br>Can you talk to the<br>different chat communities?<br>First of all, which is<br>the best chat community,<br>YouTube, Twitch, or X?<br>- This is where I feel bad for YouTube,<br>because I do think it's<br>technically the worst,<br>but it's not YouTube's fault.<br>And let me kind of explain why.<br>- And then I will<br>explain why you're wrong.<br>But go ahead. YouTube is great.<br>- I know you love YouTube<br>but let explain why,<br>is that when you go on Twitch,<br>you go to anyone's channel,<br>they have this cultural<br>human centipede thing<br>that's happening where<br>as the memes flow in,<br>all of Twitch reacts and<br>morphs to all those memes.<br>So every channel you go<br>to has this same culture.<br>There's a lot of similar<br>emotes and everything,<br>so it's very tight-knit.<br>So when I stream, I get all the same jokes<br>that you would pretty much see if you saw,<br>I don't know, Sodapoppin<br>or some big streamer,<br>Asmongold, whoever,<br>Portahteh software streaming.<br>All the same memes would all flow<br>through the exact same kind of pipe.<br>And so it's a very<br>holistic kind of community.<br>So every time you're making jokes,<br>you're making jokes that are in the ether.<br>Twitter kind of has that too.<br>Tech Twitter kind of has a set of jokes<br>and so you can kind of see it.<br>The problem with Twitter chat is<br>that there's just nobody there right now.<br>Typically just to put it into perspective,<br>I have somewhere between,<br>somewhere between like 1,500<br>to 3,000 people on Twitch,<br>somewhere between 800 to 2,000 on YouTube,<br>and like 50 people on Twitter.<br>So the difference is massive.<br>But Twitter has that same<br>thing that's developing<br>where there's memes that are<br>constantly flowing through it.<br>And so they're very highly connected.<br>YouTube just doesn't seem to have that.<br>They're just a bunch of people<br>and people go to YouTube<br>for various reasons.<br>I'm going to YouTube to learn.<br>So they come in and they want to learn.<br>So they're not on the meme train,<br>they're not in this<br>cultural zeitgeist train.<br>They're just like, "But why<br>would you use this if statement<br>when a switch statement in<br>this one particular case?"<br>And you're just like, well, that's not<br>what I'm trying to do here.<br>- Yeah, you want to captain the meme train<br>or you want to ride on the meme train.<br>- Yeah, or you just want to be able<br>to create a culture on your chat<br>because your chat's<br>gonna be some variation<br>of that kind of zeitgeist<br>that's flowing through Twitch.<br>And it kind of is very<br>contiguous between X and Twitch.<br>It just feels really out<br>of sync with YouTube.<br>And then YouTube<br>particularly does a bad job.<br>And some people would argue a<br>good job because you can swim.<br>Swim being, you can actually change<br>what timestamp you're at.<br>So all of a sudden you'll be like,<br>oh yeah, something about<br>driving to soccer in my minivan.<br>And then 20 minutes later<br>you'll be talking about Zig<br>and then someone's like,<br>"I personally use whatever<br>to drive to soccer."<br>And you're like, "What<br>are we talking about?"<br>So YouTube is a very<br>disjointed chat as well<br>because it depends on where<br>they're at within the video.<br>Swim comes from Netflix,<br>by the way, call it swim.<br>- The term?<br>- Yeah, people said swim.<br>- Oh, so you're, okay.<br>- Swimming through the...<br>- Yeah. So you're not<br>just making up the term.<br>Thank you. Wow.<br>- Yeah, but it's probably made up<br>and probably only 10<br>people said it at Netflix,<br>so no one's gonna know it<br>and they're gonna be like,<br>"Yeah, right. That doesn't<br>happen on Netflix."<br>- So going back to projects,<br>what projects on stream or in general?<br>- No, you need to answer why<br>YouTube chat's the best chat.<br>- Well, you kind of convinced me.<br>Okay, why YouTube is the best chat.<br>Well, I think I'm just a hater.<br>That's basically what it boils down to<br>and I'm just talking shit.<br>- Love it.<br>- And I'm probably just<br>from the outside shooting in<br>because Twitch is such<br>a fun culture of memes.<br>And so it's just fun to<br>shoot from the outside<br>to egg the house of Twitch.<br>And then I just sit back on my lawn chair<br>with the small YouTube<br>community just talking shit.<br>No, you're absolutely right.<br>There's a real sense of<br>community that Twitch can form.<br>But I just like the openness of YouTube.<br>It's just better at opening to the world.<br>It's more accessible,<br>it's easier to share.<br>It's just a more established<br>platform, that's all.<br>- Fully on that team.<br>- For the open world.<br>I can send it to people<br>that don't usually watch<br>video game streaming<br>or that kind of stuff.<br>- Yeah. If you send a<br>Twitch link, they're like,<br>"I don't like video games."<br>And you're like, "Well<br>actually it's not video games."<br>That talk happens every<br>single time you mention Twitch<br>because Twitch does have a perspective<br>about it that YouTube does not.<br>- I was just on Joe Rogan's<br>podcast and I think it came up,<br>he asked something like,<br>"Is Twitch still a thing?"<br>So that just gives you an example.<br>And then Jamie said,<br>"Yeah, yeah, it's<br>definitely still a thing.<br>It's still growing and so on."<br>And so yeah, there's just<br>a big slice of humans<br>that don't participate<br>in the Twitch sphere.<br>Yeah, I just like talking shit so yeah.<br>- That's a beautiful answer.<br>- But it's cool that you<br>sort of make it accessible<br>on all these different platforms.<br>And I have high hopes for X, but yeah,<br>it's feature-wise still has<br>a lot of growing up to do.<br>- And just why do people use X?<br>You typically are going there<br>for a text-based interaction<br>you want to look through.<br>So I also think they just<br>have a user expectation change<br>that needs to happen.<br>And that just takes a while.<br>That's gonna take a little<br>bit before people get to it.<br>I think their idea of audio<br>first is a great first step<br>where people can listen to it<br>and have the phone away maybe.<br>There's a lot of changes<br>that have to happen<br>before X can be successful in that.<br>- I mean, X has this<br>incredible comment section<br>just like Reddit, right?<br>So it's like...<br>- You said incredible. That's not Reddit.<br>Comment section, correct.<br>- Comment, yeah.<br>Incredibly dynamic and<br>vibrant even if it's...<br>Yeah. What is the technological platform?<br>How does the interface and the technology<br>shape the discourse?<br>It's fascinating<br>because X has a different<br>style than Reddit,<br>different style than Facebook,<br>different style than Instagram.<br>It's interesting.<br>And all those common sections<br>are different technologically,<br>like how the sorting is done,<br>how easy it is to sort of<br>build a community around it?<br>Because YouTube is not really a community.<br>Every single video on YouTube<br>has its own mini community.<br>You're all talking on just that one video.<br>But you can't jump across.<br>- There's not like,<br>"Hey Bill, hey George."<br>There's no crosstalk that<br>happens in multiple videos.<br>- Yeah. But the community is awesome.<br>I love community.<br>I love the feeling of community<br>and I guess that's what<br>Twitch really provides.<br>- YouTube also does have it though.<br>They have an aggregate community.<br>There's a lot of fun comments<br>and all that on the videos<br>and a lot of thumbs up and<br>then you see the fun discourse<br>that happens and it's<br>like that's the community,<br>it's just only a certain slice sees it.<br>- I think that's even more so<br>on YouTube for live-streaming.<br>All the same folks show<br>up and they talk shit,<br>they celebrate, the meme train arrives.<br>- Yeah.<br>- Okay. So now, what projects<br>shape you as a programmer?<br>Whether the ones you streamed or offline.<br>- For me, I don't know<br>if there's a one project I can point to,<br>but I can point to a specific<br>spot where I think it happens<br>and where I think you<br>can learn a lot from.<br>Any small program you<br>write will be somewhere<br>between 1,000 to 5,000 lines of code<br>I consider a pretty dang small project.<br>You can correlate this to any feature<br>within a larger system as well.<br>A specific feature on a website<br>could be a thousand lines,<br>a couple thousand lines.<br>- There's a point in which<br>all of your choices add up.<br>And I typically find that<br>right around 5 to 10,000 lines of code.<br>The choices you've made<br>either weigh you down<br>or kind of free you up.<br>And so it's right in that,<br>that I feel like I learned the most is<br>because I love getting to<br>that point in a project<br>or in some small part of the code base<br>because at that point I get to test, A,<br>how good were my initial<br>gut decisions about<br>how I designed the software,<br>but B, now I need to<br>go back and think about<br>how am I going to do testing across this<br>in a more effective way?<br>How can I scale this out<br>to 20,000 lines of code?<br>How can I do all these things<br>with what I've got or do I<br>need to kind of rethink it?<br>And I find that that's really<br>where the best learning<br>happens is that everybody<br>has probably a different<br>number that exists,<br>and as you go to each one of these numbers<br>or how well or holistic you<br>want your project to be,<br>I think that you'll come<br>up with different numbers.<br>And I think that number<br>should just get bigger<br>as you get more experienced.<br>Because there's projects that<br>are a million lines of code,<br>but they're most certainly<br>not holistic, right?<br>Every part of the code base is some age<br>at some capsule of time with<br>some sort of programming style.<br>Some is more functional,<br>more class-based, more,<br>God help your soul if it's<br>pre-processor macros in C++.<br>There's all these different<br>kind of things you'll find<br>throughout time.<br>And so that's why I try to<br>think about it as the feature<br>or the thing you're working on.<br>It's usually about 5,000 lines is<br>where I find that things get kind of,<br>did I make good or bad decisions?<br>And that's where I do all<br>my learning is, right,<br>on that phase. I'm trying<br>to get it to the point<br>where I should be able<br>to shoot from the hip<br>and do 20,000 lines and<br>not be upset about it.<br>- So first of all,<br>just enjoying the thing<br>you create part, yeah.<br>About there you can sit back and see<br>all the parts dancing together.<br>For me, also debugging,<br>you get to see the choices<br>you make materialize<br>as like how easy it is to debug.<br>I'm a big proponent,<br>I think you've mentioned this in the past,<br>I put asserts everywhere.<br>- No. You are the reason why I do that.<br>You were like the first one.<br>Keep on going, sorry.<br>- Really? Okay.<br>So for me, one of the joys,<br>whether it's try catch box,<br>whether it's assert, whether<br>it's with the testing,<br>I get to see the payoff<br>of all the minefield of asserts<br>I've laid out before me in my kingdom<br>by how quickly I can debug<br>a system as it grows larger.<br>And I can first of all discover errors<br>before they become real bugs<br>and also how quickly I<br>can solve those errors.<br>And that brings me joy.<br>For me, a lot of the joys of programming<br>is creating powerful systems<br>that don't break down,<br>that work correctly,<br>that work correctly in<br>majority of the cases.<br>And there, sort of the<br>stress testing the system<br>and getting all of the signals<br>from that system that<br>everything is working correctly<br>is something that fills me with joy<br>and makes sure that the<br>system actually works.<br>So yeah, that, I don't know if<br>it's 5, 10,000 lines of code,<br>if it's Java or C++ it's<br>millions lines of code.<br>But yeah, in Python,<br>yeah, I would say 10,000 lines of code.<br>That's when you first<br>get to see the magic.<br>But anyway, you were saying?<br>- Okay, so you and John Carmack<br>had a conversation about asserts.<br>- Yes.<br>- You talked about this idea<br>of putting asserts everywhere<br>that effectively crash the program<br>when you have some state in your program<br>that should not be represented<br>and you have made this choice actively.<br>And so I've never done that before.<br>And I know this is like an old technique<br>and I obviously must be too young<br>or too dumb to know that<br>this was a thing people did.<br>I grew up in Java and I<br>think that's probably why<br>I didn't run into this.<br>So I saw that and I was like,<br>I'm curious about how to use asserts more.<br>And then I ran into a person named Joran.<br>He's the CEO and creator of TigerBeetle.<br>It's like the world's fastest,<br>greatest financial database.<br>And it was spawned out of a company<br>that needed to do a bunch<br>of financial transactions.<br>And it's written in<br>Zig and what they do is<br>they do deterministic simulation testing<br>and they just use NASA's kind of guarantee<br>for creating really great software.<br>So don't use U size,<br>specify your exact size of<br>int you expect everywhere.<br>All these kind of things<br>they do to be very specific.<br>And one of them is that every function<br>should contain two asserts.<br>Whether it's positive space<br>like these things should<br>happen or negative space,<br>like this pointer should never be null.<br>You're programming into things<br>that should never happen.<br>Normally, you would<br>just never specify that.<br>You'd never think about that.<br>So every single function<br>everywhere has all these asserts<br>and these asserts run both<br>in production and in testing.<br>They're always on.<br>And then they take<br>deterministic simulation testing<br>and run like 200 years<br>of just random data,<br>just complete slop<br>going through the system<br>and seeing how far it goes.<br>And when an assert happens,<br>they're like, here's the<br>input that caused it,<br>here's every last little<br>bit that happened,<br>and now you can identify<br>where this went wrong.<br>And it was so cool.<br>So between you, John Carmack and Joran,<br>that's where I got like,<br>okay, I got to really...<br>And NASA, I'll throw NASA a bone as well.<br>NASA can join in on that one.<br>I was like, okay, I want to<br>try this. And I did try it. I<br>built this big reverse proxy<br>for me trying to do some<br>game development stuff.<br>And I just went ham on the asserts.<br>And then I built the whole<br>simulation testing thing<br>that could do everything<br>deterministically.<br>So even the result of requests<br>would all come in specific orders.<br>And I found a bunch of bugs<br>that I just would never have found.<br>And then I did it for a game I was making.<br>I found some bugs where<br>my cursor went off-screen,<br>it would cause all<br>these different problems<br>because I just never tested them.<br>And it's super fun<br>and it's like a really<br>great way to program.<br>- Yeah, I think it's a<br>skillset you grow over time.<br>It's not just that you have<br>to specify the preconditions,<br>everything that has to be true,<br>it's also adding things that are like,<br>you might not even think about.<br>You have to sort of anticipate<br>really weird things.<br>And if you add asserts,<br>especially in complicated functions<br>or in complicated classes that<br>are able to catch really weird things,<br>that's going to save you so many headaches<br>and it's going to help you<br>learn about your own code.<br>This is one of the things,<br>I think it was Jonathan Blow<br>that either in conversation with you<br>or was it in a presentation,<br>he said that when he's<br>starting in a project,<br>he usually doesn't know<br>how to implement it,<br>how it's going to work.<br>And I think he was saying<br>that he wants a programming language.<br>This might have been a<br>criticism of C++, I'm not sure,<br>where he wants a programming language<br>that makes it as painless<br>as possible for him<br>to not know what he's doing,<br>how he's going to implement it,<br>and to quickly get to a place<br>where he figures it out.<br>I think there's a fundamental<br>part of programming is<br>building stuff while not really knowing<br>what the next thing you're doing is.<br>You kind of have a loose<br>design, maybe a strict design,<br>but really you're solving<br>puzzles that are not...<br>It is a dark room in a fundamental sense.<br>And there you have to anticipate<br>the kind of weirdnesses<br>that might emerge while not<br>really knowing everything.<br>Just this full fog, fog of war.<br>And there that's a real<br>skill to anticipate<br>the kind of issues that might arise<br>and put a asserts on top of them.<br>And it's also like spiritually, for me,<br>been a really nice way<br>of programming a building<br>of living life as having<br>very strict asserts<br>that say, "You're gonna fix<br>this problem if it ever arises.<br>You can't just look the other way."<br>This idea of treating warnings as errors.<br>Make sure your code compiles<br>without any warnings.<br>That was a big leap for me.<br>It's like, but there's so many of them<br>and it's not really that important.<br>It's like, no, no, no warnings.<br>Make sure you treat every single problem,<br>even fuzzy problems seriously,<br>because that's actually<br>long-term is going to create code<br>that's much easier to work with,<br>much more fun to work with,<br>much more robust, resilient<br>to all kinds of weirdnesses,<br>all that kind of stuff.<br>So it's a different way<br>of approaching coding,<br>probably more NASA-like<br>versus web programming style.<br>But yeah, it has made<br>programming for me personally,<br>much more fun<br>because one of the most painful<br>things about programming<br>is creating when you get past<br>10,000, 20,000 lines of code<br>and you have to find a bug.<br>And that bug can take hours,<br>it could take days to find,<br>and that's torture.<br>- Yeah, when your system<br>gets sufficiently large,<br>some of these bugs are just,<br>they are very difficult.<br>Bless anyone's soul that's working<br>on million line code<br>bases, because it does.<br>I can't tell you how many<br>times I've spent multiple days<br>just trying to figure out<br>the root cause of the bug.<br>Not even the fix.<br>Just like why does this<br>happen? And that's hard.<br>So I love that.<br>I just love the asserts<br>because I'm not good at them,<br>I can see it's definitely a skill<br>that I don't put into practice constantly,<br>which means it's just not like<br>a muscle memory type thing.<br>And so it's just one of<br>those things I just love.<br>It's such a fascinating<br>way to approach a problem,<br>because I would've never thought,<br>you know what I'm gonna do?<br>If I'm wrong, I'm gonna crash this thing<br>and I'm gonna crash it right here<br>because I should never be wrong.<br>But instead you're like,<br>"Oh, actually that makes perfect sense.<br>I should crash this thing.<br>I've done something terribly wrong here.<br>Why would this ever exist?"<br>And then you're like,<br>"This is gonna solve a<br>whole class of problems."<br>- Yeah, and especially<br>if it's in production,<br>it's like, well a user's<br>going to see this crash.<br>It's like, yeah, well you should minimize<br>the number of times any<br>user ever sees the crash,<br>not by having a nice blue<br>screen or whatever the fuck,<br>but actually stopping everything.<br>And that's going to create<br>an incentive for you<br>to never have that happen.<br>You're actually going to put in the time<br>to make sure it never happens.<br>- And the nice part is<br>with the web and all that,<br>you can always pop up something and say,<br>"Hey, things have gone very, very wrong<br>or unable to recover."<br>You can give them a nice<br>message and then log it off<br>so you can see it, and then measure<br>how often are you doing it.<br>I understand that there's<br>a bit of interestingness<br>to a web project like do you<br>want to always crash a server?<br>There's a bit of a gamble<br>if you release a bad version<br>and you crash all your servers constantly.<br>That's a pain you're<br>going to have to accept.<br>- I think this is more<br>applicable for single systems<br>like robots and so on.<br>You have struggled with ADHD.<br>I think a lot of people<br>are really inspired<br>by the fact that you're able<br>to be productive and flourish<br>while having ADHD.<br>How'd you overcome it?<br>- Well, there's a lot of<br>things that ADHD affects<br>and so<br>I'll start with some<br>of the easiest things,<br>because there's directly applicable,<br>then these kind of collateral<br>damage applicable things<br>that happen.<br>So one thing that has<br>really helped me with ADHD<br>is maturity.<br>I think that's just a thing<br>that everyone needs more of.<br>Meaning that I found<br>myself getting so wiggly<br>and so out of control when I<br>would try to sit down and read,<br>and I just couldn't handle it.<br>I just felt like I'd read a<br>page and didn't read anything.<br>The part of me that just went,<br>"Oh man, gosh, I just can't even do this."<br>I had to just simply quit<br>listening to it and said,<br>"Nope, I'm rereading this page."<br>I remember reading some pages in college<br>like 18 times in a row, just<br>like I'm going to force myself<br>to just do this the correct way.<br>And so there's an aspect of<br>maturity that really helps,<br>no matter what, I will do<br>the thing I'm going to do<br>and I'm going to do it well<br>and maybe it takes me a<br>lot longer and that's okay.<br>That's not the point of it.<br>It's that I'm doing it<br>and that's the point.<br>And so that's one thing that<br>I think just generally helps.<br>And ADHD, no ADHD,<br>the resilience, emotional resilience<br>is just a really important<br>aspect that just helps.<br>And so I think that has been a large part<br>that really helps me.<br>There's things that I still<br>obviously struggle with.<br>It's clear where I'm really bad at stuff,<br>and<br>just trying to think through<br>all the different things<br>that I'm bad at.<br>There's more things I'm<br>bad at than I'm good at.<br>And so programming obviously has something<br>that just allows me to remain focused<br>and it's like a strength of mine.<br>And so I started off<br>where I could just do it for a little bit<br>and then just through kind<br>of that emotional resilience,<br>I was able to start<br>doing it more and more.<br>And so now I can just do it<br>for like 10, 12, 15 hours<br>at a time and I absolutely love it.<br>And so it's become kind of like a joy.<br>It's like playing a musical<br>instrument. I'm really into it.<br>But then if it came down to,<br>"Hey, you need to go<br>schedule your own dentistry<br>and go do all these other things<br>or make sure the kids have<br>this type of stuff ready<br>for the meals you need to<br>pack throughout the week.<br>I'm historically very bad at that<br>and will probably continue<br>to be very bad at that.<br>And so I must say that one of the reasons<br>why I excel so much is<br>because I also have a wife<br>who is so good to me<br>and she helps clear out a<br>lot of the things in my life<br>that cause a lot of me<br>kind of getting snowballed<br>into a weird spot<br>where I'm just distracted<br>getting nothing done.<br>And so she's really helped me.<br>So it would be foolish of me to claim<br>that I've defeated the ADHD by myself,<br>but instead I find that the places<br>that I can really control<br>I've done a very good job at,<br>and the things that I obviously<br>need to do much better at,<br>my wife has helped me a whole bunch.<br>And so I've kind of cheated.<br>Maybe I found a cheat code, a loving wife.<br>But that has been the thing<br>that has really helped.<br>- You said a lot of interesting things.<br>So on the reading and for<br>me it's also audiobook side,<br>I do the same thing and I've<br>gotten much better at it,<br>which is I tune out mentally<br>and I read a page<br>and you don't understand<br>anything on the page.<br>You didn't actually read it.<br>And yeah, I forced<br>myself to just reread it<br>or re-listen to an audiobook,<br>which is a much more<br>common problem for me now,<br>and forcing myself to<br>really pay attention.<br>Because I listen to<br>audiobooks often when I run<br>and it's so easy to just tune out.<br>It's a skill.<br>I didn't realize how much of a skill<br>listening to an audiobook is,<br>especially when there's<br>other sensory inputs<br>like when you run.<br>So I have to force myself<br>to really pay attention<br>to every single word.<br>And if I don't, like tune<br>out and don't remember<br>what I just listened to<br>in the past 30 seconds,<br>I force myself to re-listen to it.<br>And sometimes that means five times<br>until, it's like punishing myself to like,<br>"You're gonna listen to this<br>boring shit over and over<br>until you get good at that<br>little skill of like zoom in."<br>And you're like, yeah, there's people,<br>they're doing stuff, there's<br>nature, it doesn't matter.<br>You're listening to every<br>single word and loading it in<br>and trying to stay focused,<br>even there's just so many<br>distractions all around you, yeah.<br>- It's definitely a learned skill<br>and it takes a lot of time.<br>And when I say, "Oh, I was<br>able to do from here to here,"<br>I'm speaking over the<br>course of like five years<br>of doing this every day.<br>It's not some small...<br>There's no...<br>The nice part about<br>that decision though is<br>you can make that decision today.<br>You can make it right now.<br>You're going to be<br>like, "From here on out,<br>I'll never make that mistake again.<br>I will say I'm going to read 50 pages,<br>I will sit down and read 50 pages,<br>and when I get distracted<br>I'll go back to the last place I remember<br>and I'll start again."<br>And like that's a decision you can make.<br>That's a mature, non-emotional<br>decision to make.<br>And you can do that, it<br>just may be really painful<br>for the first couple years<br>of making said decisions.<br>And then it gets easier<br>and then it gets easier,<br>and then it becomes more<br>natural to change yourself.<br>- Yeah, and with every<br>medium, with every platform,<br>I think it's like a new skill.<br>For me, like using social<br>media has been that,<br>just like I end up like doom scrolling<br>too easily on platforms.<br>And one solution is not to look at all,<br>which is kind of what I<br>lean on mostly these days,<br>but I feel like I should be able to check,<br>just read, okay, feel a thing,<br>learn a thing, and then put it down,<br>versus you have this<br>glazed look over your eye<br>and you're not really<br>paying attention anymore<br>and you're dead inside and<br>you feel horrible afterwards.<br>I don't understand.<br>- The horrible afterwards is real serious.<br>I've definitely...<br>I can 100% notice that I<br>am a more anxious person<br>the more time I spend scrolling.<br>- Yeah, yeah.<br>- I can just feel it.<br>It's like something inside<br>of me that's kind of...<br>I don't know how to say it<br>other than it like wants to get out<br>but I don't really know what that is.<br>It's not anger, but it's not...<br>It's very anxious.<br>- It's like the opposite<br>of the feeling I have<br>when I wake up in the<br>morning and I'm feeling good,<br>and I look out in nature<br>and look at the sun<br>and just, and there's like a bird chirping<br>and this kind of thing.<br>Scrolling through social media,<br>even if it's like super<br>positive stuff or whatever,<br>it's still not the same<br>feeling as the bird chirping.<br>Bird chirping on Instagram<br>is a different bird<br>chirping than in real life,<br>'cause bird chirping on<br>Instagram, I'll start swiping<br>until there's demons of different types<br>fighting inside my head<br>and then different anxiety,<br>insecurity, whatever the hell.<br>Just the mixture of chaos<br>versus the bird chirping in real life.<br>That is beautiful.<br>But again, that's the same<br>thing as with the audiobook.<br>It boils down to...<br>Man, these people that<br>talk about meditation,<br>I think that's probably...<br>They're onto something,<br>because that's what it<br>is be able to like focus<br>calmly and deliberately on a thing,<br>whether it's reading or<br>audiobook or existence.<br>When they sort of observe the breath,<br>you're able to silent out everything else<br>and remove everything else from focus.<br>Yeah. That's a skill.<br>That's a skill.<br>- I heard it put really<br>beautifully, which is that<br>we in America really have<br>misunderstood liberty<br>because we typically have liberty<br>as just the freedom to<br>do whatever you want.<br>And the argument was<br>that it's not the freedom<br>to do whatever you want,<br>it's the freedom to be<br>able to do what you will.<br>And how often is what you<br>actually want to do, you don't do<br>because you get trapped doing something<br>that you've convinced yourself<br>in this quick moment you want to do?<br>And so it's like, "I want liberty.<br>I want the ability to control my energy<br>and to be able to do<br>the thing I want to do,<br>not to get distracted and destroyed<br>in all the millions of distractions."<br>And some of us get handed<br>a worse deck of cards,<br>some of us get a better deck of cards,<br>but I don't think there's anybody<br>that doesn't struggle with<br>it in the technological age.<br>- Yeah, and that's the skill.<br>What can you say to the<br>skill of achieving focus<br>in programming?<br>Do you have a process of how you sit down<br>and try to sort of approach a problem?<br>So, all the different,<br>not just distractions<br>but the challenges of starting a project,<br>of thinking through the design,<br>how to maintain real focus,<br>because it's really difficult<br>intellectual endeavor.<br>- At this point I'm lucky,<br>but when I first started I can remember<br>that every last part of programming,<br>I had to go look up, I had to go read,<br>I had side quests at all time.<br>Every step was a side quest.<br>Why is my screen blinking<br>when I'm trying to render this thing out?<br>Oh, I didn't know about double buffering.<br>Why is this happening?<br>How do I even write to the screen?<br>How do I...<br>Everything was a question.<br>I had more questions than answers.<br>And so I constantly had<br>the problem of side quests,<br>and I find that to be a<br>very exhausting thing.<br>But as I learned my<br>instrument very, very well,<br>I don't have as many side quests.<br>I become more and more able to just focus<br>on the thing I want to do.<br>And I find that to be something<br>that is just super, super useful.<br>So, when I say I'm kind of lucky,<br>meaning that I've spent so much of my life<br>preparing for this moment<br>that now when I have the<br>opportunity to do something,<br>I can just do that thing and I don't...<br>Like I can be just on an airplane<br>and I can just program for hours.<br>I don't have to look up a single thing.<br>I don't have to do anything.<br>I don't even have to test the code.<br>I can write 1,000 lines<br>of code on an airplane<br>and I'm very confident<br>that it's gonna be 98% pretty dang good.<br>And I'm very happy about that<br>because that allows me<br>just to be in the moment<br>solving the problem I'm trying to solve.<br>Then I have 100% of my brain<br>power solving a problem.<br>And this is why I also...<br>It's the same reason why I recommend<br>learning how to type and<br>learning your editor so well<br>you don't even have to<br>think about the action<br>because the people that have to...<br>Even if you just look down,<br>that's still mental processing power<br>you have to spend looking at a keyboard<br>in which you already<br>know where the key is.<br>You do.<br>At this point, if you've been<br>typing for thousands of hours,<br>you know where the key is,<br>just stop looking down,<br>you'll learn really quickly.<br>And so it's like this<br>thing where it's like,<br>"I'm not gonna spend all that time<br>and all that mental effort<br>looking up the thing.<br>I'm gonna just memorize...<br>I'm just gonna get it in<br>me, and then I can go fast."<br>And it feels good.<br>And so that's how I'd<br>kind of defeat that is<br>because now I get to do something<br>where it's like there's no more questions.<br>It's now me just expressing myself<br>into this medium and it feels really good.<br>- I'm sure there's still<br>like things that pull at you,<br>like curiosities, distractions, like,<br>"Ooh, I wonder how..."<br>Anytime you have access to the internet,<br>you're gonna get like-<br>- Twitter's a big one on that one. Yeah.<br>- You're gonna get curious about stuff,<br>including, I guess you're<br>speaking about everything<br>in the editors optimize,<br>but, okay, you can always improve stuff.<br>You can always find<br>better plugins and macros<br>and, "Oh, let me... You know what,<br>this thing that took this pain point,<br>I just found this tiny pain point,<br>let me spend the next five<br>days creating a plugin<br>for my editor or whatever the fuck<br>to remove that one pain point,"<br>when you should have just kept going<br>as opposed to taking side quests.<br>- So, I have a rule which<br>is I do not edit my RC<br>other than some kind of cataclysmic thing,<br>like someone updates a plugin,<br>I didn't know they updated it<br>and now there's like a<br>hard error in my editor<br>and I have to move forward.<br>But I have a rule where I will edit my RC,<br>my Neovim RC or anything once a year.<br>Something that bothers<br>me, I'll write it down,<br>I'll remember it. I'll be like,<br>"Okay, I want to change that,"<br>but I will just not go back to it.<br>Now, every now and then I'll<br>break that rule if I know,<br>if like, "Oh, I want a new remap<br>to be able to do this one command<br>and that takes literally 13<br>seconds, like copy paste,<br>do this, bop-bop-bop, done.<br>Okay, I have this new remap,<br>it made perfect sense in this situation,<br>but I don't go plug-in exploring.<br>I don't try to solve every problem.<br>I don't want a perfect editor<br>because that is a pursuit<br>that will never stop.<br>I just go, "This is good, good breakpoint,<br>I won't do it again."<br>So, last month I probably<br>spent a hundred hours<br>just editing every possible thing I could<br>about how I start up my system and make...<br>I can have a computer from zero<br>to 60 in almost no time now<br>everything the way I exactly want it,<br>Neovim and everything<br>all perfectly set up.<br>Happy enough, I'm not going<br>to touch that system again.<br>Maybe I'll touch it next year.<br>Maybe I'll take a year off.<br>It's just I'm fine with that.<br>I'm fine with not being perfect.<br>- All right, zero to 60, let's<br>talk about the perfect setup.<br>What's your perfect programming setup,<br>keyboard operating system,<br>how many screens, chair?<br>- All right, I like all these.<br>- IDE, let's go.<br>- So, keyboard,<br>you're using my favorite<br>keyboard right there,<br>the Kinesis Advantage.<br>Saved my career. Beautiful keyboard.<br>Concavity and thumb clusters<br>are just so important<br>because if you really think about it,<br>especially if you're using qwerty,<br>when you're pressing the<br>symbols on a standard keyboard,<br>you're just doing this the whole time:<br>Backspace, Enter, symbols.<br>You're just doing this,<br>and it just screws up your<br>wrist constantly doing this.<br>And this when you're constantly<br>doing like Ctrl and Shift.<br>And it just is like messing you up,<br>so it's just like right here.<br>That's so much nicer in life.<br>So, keyboard most important, I'd say.<br>Get that one done.<br>- For people who don't<br>know, Kinesis keyboard,<br>I think the thing that<br>you experience the most<br>is exactly the thing you just said now,<br>which is the backspace<br>is really easy to press<br>versus what it is on normal keyboards.<br>So, backspace in general<br>symbolizes you're deleting a thing,<br>it symbolizes a mistake.<br>Not symbolizes, it<br>usually means a mistake.<br>And so not only did<br>you just make a mistake<br>in what you were typing,<br>you also have to take a<br>physically painful action,<br>annoying action to fix that mistake.<br>And for most of us, we<br>make a lot of mistakes,<br>so Kinesis just makes it pleasant and fast<br>and easy physically to<br>correct the mistake.<br>That's probably for me the<br>number one reason of Kinesis.<br>Everything else, yeah,<br>super plus with the macros<br>and the positioning, the<br>concavity like you mentioned,<br>but their mistakes are pleasant.<br>- Yeah. I am on that team,<br>so that's why I love that.<br>I would say that's one of<br>the most important things.<br>The next thing that I find<br>to be very, very important<br>is that one monitor.<br>I'm a one monitor kind of guy.<br>- What? Really?<br>- So, when I program,<br>when I do anything...<br>Now, when I stream, I obviously<br>have a second computer<br>that runs the stream because<br>I sometimes crash my computer,<br>I have to restart or whatever.<br>So, I do have a second screen<br>there that I put stuff up,<br>but most of the time you'll notice<br>that even when I'm<br>streaming, you've been there,<br>I have to physically switch<br>to the streaming chat channel<br>for me to read it, and that's<br>because I'm operating off of one screen.<br>And so I have this whole style<br>in which I like to navigate,<br>inspired by StarCraft,<br>is that I believe in the press one key,<br>go where you want to be mentality.<br>And so everything about<br>my setup is press one key.<br>So, when I want to go to Twitch<br>chat, Alt+2, Twitch chat.<br>When I want to go to my browser, Alt+1.<br>That's my browser.<br>Alt+3, that's where I<br>go to my programming.<br>That's power finger, obviously.<br>The big middle finger right<br>there, just smash it down.<br>Alt+6 is going to be gimp,<br>so my GNU image manipulation program,<br>so if I want to draw, I go there.<br>When I used to have Slack, it was Alt+5.<br>If I have a spare terminal<br>where I need to run some<br>extra things, that's Alt+4.<br>I had all these kind of...<br>Everything is perfectly<br>mapped out to single-key.<br>And then when it comes<br>down to using, say, Tmux,<br>I have all my terminals<br>into one single terminal.<br>And now I'm able to kind<br>of switch between there.<br>Prefix one goes to my Vim editor.<br>Whatever project I'm in, it's<br>always the first Tmux tab,<br>if you will.<br>I'm not sure... They call it<br>a session, but I'm not sure<br>how to describe it if you're<br>not familiar with Tmux.<br>A tab.<br>Second one is like my spare terminal,<br>third one is my long-running<br>process terminal,<br>my fourth one is a<br>long-running process terminal.<br>So, I have it all set up,<br>so every project I go to<br>automatically spawns session one: Vim,<br>session two: spare terminal,<br>session three will also open it,<br>so it's like, brrrrr,<br>everything's just ready to rock.<br>Everything has been<br>optimized to where I do that.<br>If I want to go to a project, it's Ctrl+F,<br>and any terminal will<br>bring up a fuzzy find list<br>of every one of my folders<br>on my operating system<br>in which I can go to with<br>just a couple keystrokes<br>and, boom, I'm in that one now.<br>And so it's very oriented to find<br>where I need to be as quickly as possible.<br>- Via keyboard.<br>- Via keyboard.<br>Then in Vim I developed<br>a plugin called Harpoon,<br>which is I press one button<br>and I can pin one of the files<br>to like a temporary buffer.<br>I think Projectile is potentially<br>close to this in Emacs.<br>I can't remember if Projectile...<br>I think Projectile is closer<br>to my sessionizing script.<br>Anyways, so now I have four pinned files<br>in which I can go to any<br>of those pinned files<br>with just a single keystroke.<br>And so now it's just like...<br>Because every time you develop a feature,<br>usually you have like three files<br>you're kind of primarily working in.<br>And I can fuzzy find for the<br>other files and that's that,<br>but usually I just have<br>like these three power files<br>that I'm always swapping in between.<br>And so it's like now everything is just,<br>"I want go to the<br>browser." That's one press.<br>"I want to go to my<br>workstation." That's one press.<br>"I want to go to a specific folder,<br>I need to change folders."<br>Sometimes you work between<br>two different projects,<br>so in Tmux that's prefix,<br>capital L will swap between your last two.<br>So, I have alternate projects,<br>so I can even swap between<br>projects in pretty much one key.<br>So, it's just like do-do-do,<br>just trying to optimize it,<br>so I don't think as much,<br>because I think search<br>fatigue is a massive fail<br>where you have to look for it.<br>When I see people on a Mac do this<br>and then explode all the different ones,<br>that gives me anxiety.<br>I'm like, "Why are you using your eyeballs<br>to search for what you want to do?"<br>Make it into a key press<br>and never think about it again, ever.<br>- You're making me think a lot<br>whether I can live with your system,<br>whether it's better<br>because it feels better.<br>- It at least intellectually feels better.<br>It may not be great for some people.<br>- Well, there's a few<br>profound things you said,<br>which is like really what,<br>the number of windows or tasks<br>you're switching between,<br>whether it's programming,<br>the number of files you're working on,<br>it's small at any one time,<br>at any one space of 20 minutes<br>or something like that.<br>So, okay, that's a profound truth.<br>Sometimes we think like,<br>"Oh I need the full freedom to search,"<br>but you don't.<br>You usually work on a very small slice.<br>But I guess the trade-off there...<br>I always have three monitors,<br>not when I'm traveling,<br>but my happy place is three monitors.<br>It's like, do you really need all of them<br>to be present there?<br>So, you're turning your head.<br>Now, the monitors I have<br>is two vertical ones,<br>which is just better for<br>certain kinds of content.<br>They're positioned<br>vertically, so you can read.<br>You can use your eyes to scan quickly.<br>- Interesting. So, I don't even do that.<br>I even have it so zoomed in<br>that I probably only have<br>like maybe 25 lines of code<br>at any one time on my 27-inch monitor.<br>- Yeah, I think that's...<br>I think I feel fundamentally constrained<br>when I can't see more<br>because your eyes are<br>just good at jumping.<br>Like, okay.<br>Like you could...<br>- Why not search? Why not<br>press a couple of keystrokes?<br>Ctrl+U, Ctrl+D, jump up<br>and down by a half page.<br>- Because the ape visual<br>system was designed to...<br>You're loading a lot of information.<br>If every time you have to<br>investigate this table,<br>what's on this table, you<br>have to press a keystroke,<br>you could develop the skillset<br>that integrates that<br>information but it's really...<br>There is an effective thing<br>where if you have a<br>sheet of paper like this<br>and I'm looking at it,<br>my eyes will be able to load in<br>the structure of the information,<br>the topics of the information.<br>You just can do it faster, I think.<br>There's a big cost because<br>it's an extra monitor,<br>but there is some stuff that's vertical<br>when vertically positioned.<br>See, code is an iffy one code<br>because code, you really,<br>25 lines at a time, I<br>think you can do a lot.<br>This is more for like articles<br>and especially with<br>visual information in them<br>or documentation, you<br>can just jump faster.<br>But I'm trying to...<br>As you were speaking so eloquently,<br>I was like wondering,<br>"Am I just like deceiving<br>myself that I need that?<br>Can I just keyboard<br>shortcut-ify everything<br>and just have everything on one monitor?"<br>That's something I should probably try<br>because I'm a big proponent<br>of just automating<br>everything with the keyboard<br>because you can just<br>move really, really fast,<br>and you don't have to think.<br>Because I also do creative stuff,<br>whether it's recording<br>music or video editing.<br>It's hard...<br>Some of these programs still<br>make it super easy for you.<br>On Windows, with AutoHotkey<br>you can do quite a lot,<br>but still there's limitations on<br>how much you can do with the keyboard.<br>So, it really is a pain in the<br>ass to have to use the mouse,<br>but, man, you're really making me think.<br>- Even the text one, the reading one,<br>fundamentally I think I agree with you,<br>that you can see a lot more<br>and you can kind of look up and down,<br>and see those two things.<br>And probably in articles<br>or things like that,<br>if there's a graph down<br>here that's really big<br>that take up your whole screen plus text,<br>I could see why that would be<br>very beneficial to zoom out,<br>to be able to have all that information,<br>but for me, I can only<br>look at like a square inch.<br>Really, that's all my eyes<br>can actually focus on.<br>So, when I'm reading, I'm right here.<br>Then I have to structurally<br>try to pattern match<br>what I think the information looks like.<br>Then I have to start reading it.<br>So, I'm not exactly sure if I<br>actually get any real benefit<br>of having a lot of stuff on screen,<br>as opposed to I can relax my eyes so much<br>I don't even have to focus.<br>The words are so big. I actually<br>program pretty zoomed in.<br>My text is bigger than<br>this when I program,<br>and so it's just that it's so comfortable,<br>I don't even have to exert<br>any effort to read the code.<br>- But you have to kind of<br>train your brain to know<br>that you can navigate<br>spatially using keys.<br>- Yeah, Neovim by the way.<br>- Oh, maybe it has everything<br>to do with Neovim. Okay.<br>- All right. And then Neovim<br>is obviously the next big one.<br>I love Neovim.<br>Reason being is that I think<br>you can make all the arguments<br>that you want about<br>which editor is the best.<br>I do not think you can make an argument<br>that Vim motions aren't superior.<br>- Here we go. Can you explain Vim motions?<br>What is this?<br>So, Neovim.<br>Vim is an old school editor.<br>Neovim-<br>- It's a modern take on<br>an old school editor.<br>- Yeah. And what's ELI5?<br>What does it take to work with Neovim?<br>- Oh, okay.<br>I thought you were talking<br>about a Vim motion there.<br>That's how...<br>I know, but you know that<br>meme that's just like,<br>"Hey, Jarvis, can I tell<br>you about Vim motions?"<br>Because they can't fit<br>anything else in their head<br>because they only have Vim motions.<br>You said EL5, explain it like I'm five,<br>but in my head it's like,<br>"Okay, E is jump to the end of the word,<br>L is the one more..."<br>Dude, I'm so broken that I'm<br>like, "Okay, Vim motion,"<br>when I hear letters.<br>Yeah, so, you can think<br>of it like this is that<br>Vim has a language to<br>describe movements in text<br>because its primary mode of<br>operation is manipulating<br>or editing text.<br>So, it is a well-thought<br>through set of movements,<br>deleting, yanking, pasting,<br>copying, all that kind<br>of stuff that goes in,<br>motions that are optimized for working<br>with pretty much code.<br>A good example, say you<br>have three lines of code<br>you want to delete.<br>If you're in VS Code, take<br>your little beautiful mouse,<br>highlight those things,<br>press the backspace.<br>That's lovely. Your<br>hand left the keyboard.<br>Very simple to do though.<br>It's very beginner friendly.<br>I was a huge Vim hater, by the way,<br>so I just want you to know<br>that before we go into this.<br>I was probably the biggest Vim hater.<br>If there was Saul to Apostle Paul,<br>I am like the Saul to Apostle Paul of Vim,<br>just so you can see how big the gap was.<br>Or you can do something that's like...<br>I don't know what the VS Code shortcut is,<br>but I'm sure there's<br>some keys you can press<br>to delete the current line you're on.<br>Delete, delete, delete,<br>you can just do that.<br>In Vim, I can go DAP,<br>delete around paragraph.<br>All contiguous code in that thing.<br>I'm going to delete, so D,<br>then I can choose my<br>motion I want to take,<br>AP, around paragraph.<br>Or maybe I want to DF, meaning<br>jump up to the next character<br>that matches the next<br>character I'm going to press.<br>So, DF opening parenthesis<br>will delete everything<br>from your cursor up to the<br>first opening parenthesis.<br>So, you get to describe your motion<br>in these little keystrokes.<br>And as you get really good...<br>You've seen people that<br>can master Fortnite,<br>it's the same thing with<br>mastering Vim motions.<br>When you get so good, you no longer think<br>about each individual movement,<br>and instead you're just like,<br>"Get rid of the paragraph,<br>jump here, jump this, highlight<br>this, yank this, do this,"<br>it becomes so fast that you<br>can superiorly edit text<br>at a very fast rate.<br>And there comes a point<br>when you know your language really well,<br>you know the problem you're<br>really working on really well,<br>where editing text and getting code out<br>actually becomes one of<br>the many bottlenecks.<br>People always talk about, "Well,<br>most of the time I think."<br>Most of the time I'm not<br>thinking, I'm programming.<br>I know what I want to do, I<br>want to go as fast as possible<br>because I've been just<br>doing it for so long<br>and I'm so familiar with the general space<br>that it becomes a huge problem for me.<br>I cannot tell you how many times<br>that I've been purely<br>bottlenecked by the fact<br>that I just can't type fast enough<br>and I just need to get it out of my head<br>onto the text editor.<br>And so that's why I think<br>Vim motions are superior<br>in all aspects.<br>Keep your hands on the<br>keyboard, on the home row,<br>and it can manipulate text<br>in very wide and fast ways.<br>- Oh, so, this is not<br>just about writing text,<br>this is about modifying text.<br>It's primarily about modifying text.<br>- Yes.<br>- And I'm sure<br>that most editors including Emacs,<br>including VS Code can do<br>all those same things,<br>but there is something...<br>They just don't encourage<br>you to discover those things.<br>That's like an important thing<br>about a lot of technologies<br>and programming languages<br>that a lot of them can<br>do a lot of the stuff,<br>but it's something about<br>whether it's the community<br>or the style of the language<br>or anything like this<br>that encourages you to not<br>be lazy in the beginning<br>and learn the fast way to edit text,<br>in this particular example,<br>how to use the keyboard.<br>That's a fascinating just reality<br>of how technology is used.<br>You want to be encouraged<br>to find the fast thing<br>as quickly as possible so that long term<br>it's efficient and fun to use the thing.<br>- It takes a long time for<br>dividends, like a long time,<br>but on top of that,<br>notice I didn't say Vim.<br>I'm not saying, "Go use Vim,"<br>I'm saying, "Vim motions."<br>Let me give you one more<br>example. I'm a big fan.<br>Let's say you have a line<br>that contains some variable,<br>some function you're calling something<br>that takes in a string. And<br>you need to do that again,<br>so you would typically copy that line,<br>you'd paste that line below,<br>you'd go into the string<br>and you'd change the string.<br>Let's say it's calling<br>some sort of configuration,<br>you need to call it three times<br>with three different configuring strings.<br>In Vim, I like to do shift-V<br>to highlight the whole line,<br>and then Y.<br>Some people do YY, but I<br>don't like to do double ones.<br>I like to be able to do<br>two different fingers<br>because you can do that way<br>faster than one finger twice.<br>It's just a little optimization for me<br>because you can't press that as fast.<br>So, anyways, I'm very<br>optimized in my approach,<br>so I yank the line, paste the line.<br>CI double-quotes will delete everything<br>inside the first occurring string.<br>Then I can type the string, escape, save.<br>And so it's like so optimized<br>that I can just jump so<br>fast in between that,<br>whereas the copying and pasting line<br>is probably the same speed,<br>but the navigating to the string,<br>deleting what's currently<br>in the string, and then...<br>That's such a fast motion in Vim,<br>and I just do that all the time.<br>- To backtrack, really dumb question,<br>CI, what's the difference<br>between typing the letters<br>and using the letters<br>to navigate and edit?<br>How do you switch between the two modes?<br>- Okay, so insert mode means<br>that you're just putting in text,<br>and then normal mode means<br>that you're moving your cursor.<br>- [Lex] And how do you<br>switch between the two?<br>- Escape. Escape goes from<br>insert mode into normal mode.<br>And to go into insert mode press I<br>to take your current cursor<br>and go to the beginning,<br>A to go to the end of the year Cursor,<br>capital A to go to the end of the line,<br>capital I to go to the beginning of line,<br>O to put a new line below<br>and then put your cursor<br>at the proper intended for the language,<br>Shift+O to shift your current line down,<br>and then put a new line in.<br>You can see, there's a lot-<br>- So, you're pressing Escape a lot.<br>- Yeah, I mapped mine. I do Ctrl+C.<br>Ctrl+C does the same thing<br>except for in one edge case.<br>People hate that.<br>I got used to it just due to the fact<br>that I was using IntelliJ,<br>and I really hate pressing the Escape key,<br>so I just got used to pressing escapee.<br>- That seems like an essential thing to do<br>if you're using Neovim to<br>map escape to something.<br>- Cap lock would be your standard go-to.<br>- Oh yeah, I map it too.<br>Cool. I got you. I got you.<br>- Yeah, so then it's just<br>really easy to press it,<br>and boom, boom, boom,<br>not a big deal at all.<br>But yeah, I think that if<br>you're willing to learn it,<br>Vim motions are superior,<br>but if you're not willing to learn it,<br>then they're not superior.<br>You should just not do it.<br>If you're willing to<br>endure pain, it's good.<br>If you're not, it's actually way worse.<br>It's 100 worse.<br>- Right, so if you like<br>pain, you use Neovim.<br>Totally. I understand.<br>- You're totally on-board.<br>- 100%.<br>- See, now you get it.<br>- If you like joy, you use Emacs.<br>- Sorry, sorry, did Emacs<br>ever get a good text editor?<br>I know they're a great operating system,<br>but I never caught up if<br>they got a good text editor.<br>- Operating system?<br>I think you've been miseducated my friend.<br>So, at least 30 minutes<br>on Emacs versus Neovim<br>is what Reddit requested.<br>Have you actually used Emacs<br>in order to be able to<br>talk so much shit or no?<br>- I used it for a year.<br>- You used it for a year?<br>- Yeah, yeah. Doom Emacs,<br>Spacemacs and regular Emacs.<br>- But you don't even know<br>Lisp, so did you really use it?<br>- I kind of hacked my<br>way through kind of like,<br>"Okay, so this is how to configure..."<br>You can kind of get your<br>way through and do all that.<br>- So, you recommend to mastering Neovim<br>and really learn the depths of it,<br>but Emacs is okay to just kind of use<br>before making a judgment.<br>I think everybody...<br>- You got me on that one?<br>- Yeah, no, and what's<br>Neovim written? It's Lua?<br>- Yeah, so Lua would be<br>the configuration language,<br>but you have...<br>It's written in C, but you have Lua 4.<br>And Lua is just a dead simple language.<br>Anyone can program Lua.<br>- I actually don't know why...<br>I think it's because my love for Lisp<br>that I went with Emacs.<br>I think you just choose a path<br>and you walk down that path.<br>And because there's just such a vibrant,<br>intense battle between<br>the two communities,<br>you just start fighting<br>just because everybody else is fighting.<br>And then one day you're<br>an old warrior on a horse,<br>and you're wondering,<br>"What was this all for?"<br>And it's quite sad,<br>in all seriousness,<br>that I haven't to this day tried Neovim.<br>I think because there is a learning curve.<br>There's a learning curve<br>to a lot of these editors.<br>- Yeah. To really learn it.<br>- To really learn it.<br>And I think this is some of the criticism<br>of maybe VS Code or Sublime or Atom<br>that it's so easy to not learn it,<br>to just kind of halfass use it.<br>And there is a big<br>benefit to having editors<br>that force you to have<br>some learning curve,<br>where you take the art,<br>the science, the procedure<br>of editing seriously.<br>Because you spend so much time in it,<br>you might as well learn<br>how to use the thing.<br>- My big takeaway really,<br>what I'm trying to say<br>with all these words is<br>that I honestly don't<br>actually think that...<br>The editor obviously does<br>not make the programmer,<br>but I think it says a<br>lot about your character<br>as a programmer if you don't know<br>how to use your editor well.<br>There's something about a person<br>who's willing to commit<br>their life to programming,<br>and spending literally 50,000 hours<br>doing an activity over the<br>course of their lifetime,<br>and never take the time<br>to learn their editor<br>through and through.<br>It just seems strange.<br>You'd never see that in another world,<br>where people would be<br>able to build something<br>or do something and just completely forget<br>how these things work,<br>and only just focus on<br>one part of their craft.<br>And so, to me, it's just<br>like it doesn't matter<br>how you use it, I want to see the person<br>that just knows how to use it,<br>and they know how to use it well.<br>When there's a problem, they<br>can say why the problem exists,<br>and then go and fix the problem.<br>To me, that's like, There<br>you go. You've done it.<br>You now know your tool, go forth<br>and conquer with said tool.<br>- Especially for tools you use a lot.<br>(ThePrimeagen chuckles)<br>You have to look at your whole<br>life, your life, whatever,<br>if you're a developer or anything,<br>what is the thing you do a lot?<br>- Meetings.<br>- Yeah, yeah.<br>- Sorry. Keep going, keep going.<br>- Ask a question like: how<br>can this be done a lot better?<br>Because every single day you do this<br>for hours a day,<br>how many hours did you spend on thinking<br>how to do this better or<br>whether to do it at all,<br>in the case of meetings?<br>People surprisingly just<br>don't do this enough.<br>I see this, just to go back to jujitsu,<br>there's a lot of people that show up<br>and do jujitsu or martial arts,<br>and they do it the same way<br>over and over and over,<br>and they invest tremendous<br>amount of energy.<br>And they don't ask like,<br>"How do I do it differently<br>to improve faster?"<br>In the case of jujitsu<br>or any kind of sport,<br>same with practicing<br>the piano or the guitar,<br>they just religiously put in a lot of time<br>and derive a lot of joy<br>from getting better.<br>They don't enough ask the<br>meta question of like,<br>"How can I do this better?"<br>And with editors, it's surprisingly<br>how often people do just that.<br>With typing, it's surprising<br>how many people do just that.<br>Like you said, they're<br>pecking or looking down.<br>It's like the quality of<br>life improvement you can have<br>by learning to touch type,<br>by just like typing without looking.<br>It's immeasurable.<br>You're bringing a lot of joy to your life<br>because all of us are typing a lot.<br>And the reason, by the way,<br>I was extremely efficient with Emacs.<br>I'm sure you know, all jokes aside,<br>it feels like Neovim has more room<br>for the kind of efficiency<br>I've had with Emacs<br>to be able to move really fast<br>as you described me to edit.<br>There is a real joy.<br>It's not just efficiency,<br>it's a freedom that you can get<br>when you get really good with an editor.<br>The reason I chose to go<br>with VS Code is it felt like<br>there's going to be an<br>acceleration of features<br>to which Neovim or Emacs<br>will not be able to catch up, in the...<br>And I don't mean in the next five years,<br>I mean in the next 30 years.<br>And it felt like I almost<br>wanted to take the pain<br>of learning new editors constantly<br>and just switching and learning that,<br>because I was getting<br>so comfortable in Emacs,<br>with this Kinesis keyboard,<br>everything, all the shortcuts,<br>I know how to program, and<br>it felt like this is not...<br>Neovim will not be here in 50 years.<br>Possibly might be, I don't know,<br>but it felt like you want to learn<br>these constant different technologies.<br>Cursor is a great example of that.<br>I primarily am using Cursor now.<br>I go back between VS Code and Cursor.<br>Just the skill of using<br>AI is a real skill,<br>from the shortcuts to the timing<br>to the layout of the<br>windows to how I think about<br>where, when and how to use the<br>AI that doesn't distract me,<br>that it empowers me,<br>not just for the fuck of<br>it or for the fun of it,<br>for the actual measure of productivity.<br>It's a skill.<br>And I feel like I would be stuck<br>in a local maximum of comfort<br>if I stayed with Emacs.<br>And maybe the same should<br>be true for me with Neovim.<br>I should try it seriously.<br>I'm sure there's a plugin, like<br>a copilot type of situation<br>that you could set up with Neovim.<br>I should possibly consider that.<br>But Cursor is doing a lot<br>of really fascinating stuff<br>on the IDE side, not just<br>sort of generate code<br>and edit that code manually,<br>it's like continuously<br>be able to rewrite code.<br>It's the idea of tab, tab, tab, tab,<br>move the Cursor around, but<br>also modify parts of code<br>and do the diff really nicely,<br>that whether it's Cursor or VS Code<br>that wins that battle out<br>with Copilot, I don't know.<br>But that feels like a<br>fundamentally different experience<br>than the really efficient,<br>joyful experience<br>that you just described<br>in your selling me on this is Neovim.<br>That doesn't have an AI in the picture,<br>obviously immediately, but<br>you can, yeah, absolutely.<br>- I would 100% agree that<br>Cursor seems like such a cool product.<br>I actually think there's a<br>lot of really neat things<br>coming down with all of that.<br>And I could change from Neovim.<br>I don't use Neovim because I love Neovim,<br>I use Neovim because I<br>love the instrument I play.<br>And so it's like if Cursor<br>can meet those needs,<br>I could see myself moving over.<br>I don't have some sort of<br>obsessed attachment with it.<br>I am curious though that<br>every time I use AI...<br>I think I just have skill issues.<br>I think I'm just so<br>riddled with skill issues<br>when it comes to using AI, I<br>have yet to be able to use it<br>in a way that I really love it.<br>- We'll talk about it, but before then-<br>- Oh, ball to sit on. I forgot<br>to say that, ball to sit on.<br>Desk needs to be properly heighted.<br>One monitor. Eyes should be<br>two-thirds way up the screen.<br>I don't like to turn my head.<br>I prefer my hands in a<br>pistol neutral position.<br>And there we go.<br>- A ball to sit on. Yoga ball.<br>- Yoga ball.<br>- What's that about?<br>- It just helps just<br>maintain good posture,<br>because when I have something<br>to lean against, I do this.<br>- You're for hours sitting without...<br>Wait, what are you doing?<br>- I sit on the ball, and then I bounce.<br>- Is your back leaning on a thing?<br>- No.<br>- What the fuck?<br>- Well, how else do you-<br>- You're the only person in the<br>world sitting on a yoga ball<br>as you program for hours.<br>You do realize this, right?<br>- It feels great.<br>The problem is whenever I<br>get a back, I just slouch<br>and I find myself just<br>getting uncomfortable.<br>And I'm like, "I'm uncomfortable."<br>My shoulders are getting goofed up.<br>I'm chicken necking constantly.<br>It's just like...<br>- But you're able to keep your posture<br>for hours on the yoga ball?<br>- Yeah. And so I can just do that.<br>And then I find myself, if I slouch,<br>I'm like, "Okay, Nope. Got to get back.<br>- Do you have incredible<br>back muscles or what?<br>- No, well, I don't think<br>it takes incredible back muscles to-<br>- Keep posture.<br>- remain upright.<br>Yeah, I think that's a<br>pretty basic human function.<br>I would not consider<br>myself a strong person.<br>- Yeah. Basic human function.<br>I don't know.<br>- [ThePrimeagen] Facts and logic.<br>- Okay, cool. With one screen.<br>Neovim. What operating system?<br>- Linux, just because I<br>want a good window manager.<br>That's the whole press one<br>button, bring up Chrome.<br>I just use i3.<br>I'm sure I could use<br>something better than i3.<br>People always tell me<br>all these window managers<br>are really great.<br>But I just have those three<br>screens I switch between,<br>so it doesn't really... I<br>don't really care what I use,<br>just long as I can<br>press one button and go.<br>- Yeah, I'm the same, so half and half.<br>Half Linux, the other<br>half Windows with Linux,<br>meaning WSL.<br>What's that? Windows Subsystem for Linux.<br>- Weasel.<br>- Weasel.<br>See, no, there's got to be a better one<br>that's more positive.<br>Weasel just sounds-<br>- Seems right up Microsoft's<br>alley. That seems perfect.<br>- People often accuse me of<br>being a shill for somebody,<br>sometimes dictators.<br>If I'm a shill for<br>anybody, it's for Windows.<br>There you go.<br>I get paychecks every week from-<br>- Dang. Bought by Bill Gates.<br>- Well, he's not Microsoft anymore.<br>- [ThePrimeagen] I know.<br>- Developers, developers,<br>develop. No, I'm just joking.<br>I think, man, I need to try Mac.<br>I need to try.<br>I'm surrounded by people with iPhones.<br>I use Android.<br>- I use the Android.<br>- Yeah. There you go.<br>See? Oh.<br>- We're losers together.<br>- Losers on a sinking ship.<br>Okay, just to stay on Neovim for a sec<br>and to give love and a<br>shout-out to your friend, Teej.<br>- [ThePrimeagen] He Streams, by the way.<br>- He's a streamer. And I subscribed.<br>And I've been enjoying it.<br>My allegiance is slowly<br>shifting from you to him.<br>The quality is far superior with him,<br>the looks, the intelligence, the skillset,<br>everything, just far superior.<br>No. Okay, so he...<br>- You know you're making his day.<br>(Lex laughs)<br>- All right.<br>He mentioned that he loves Neovim<br>because it gives him<br>the ability to eliminate<br>having to do things he doesn't like.<br>That's just a nice way to frame<br>what this automation process<br>that you described of automating a way,<br>assigning shortcuts to<br>things that are painful,<br>that procedure.<br>I wonder if you agree with that.<br>- Fully agree.<br>We have very similar mentalities<br>when it comes to usage of<br>Neovim, why people should use it,<br>all that kind of stuff, and<br>how to even use it well.<br>He definitely takes it<br>probably to a further degree.<br>He spends more time<br>automating and all that.<br>I don't necessarily derive a lot of joy<br>from getting the perfect setup.<br>But a lot to learn from.<br>He's very, very good at what he does.<br>He is by far probably one of these...<br>He's 30 years old, been<br>programming for not too many years,<br>and he is one of the most<br>talented developers for sure.<br>It's very shocking to see<br>how smart someone can be.<br>- People should check him out at teej_dv.<br>- Yep.<br>- Teej.<br>- DV, is last name is DeVries. DeVries.<br>- Oh, it's not developer. Okay, cool.<br>- Yeah, yeah, it's just TJ.<br>That's just his name just spelled fun.<br>- All right, Teej. What<br>do you love about him?<br>- Wow. How much did he pay<br>you to ask these questions?<br>- Thousands of dollars.<br>- Just so many dollars.<br>- Thousands.<br>I can't even count that many dollars.<br>- Trust, obviously trust is<br>the biggest thing, especially<br>in the, quote, unquote,<br>"streaming" YouTube world,<br>if you will.<br>It's very easy to find people<br>that will want to be a part of stuff.<br>People tend to latch onto<br>things, and it's very hard<br>to find someone that you<br>can really, really trust.<br>And so he's just somebody<br>whom I can genuinely trust.<br>He will always tell the truth.<br>He's all the right<br>things for a good friend<br>in this kind of endeavor.<br>- As a good friend, he told me<br>questions I could backstab you with.<br>- Okay, I hate him. I forgot<br>how much I don't trust him.<br>- Speaking of a harpoon, you mentioned it.<br>He said to ask you<br>basically how many years or<br>decades it's going to take<br>to transition to Harpoon<br>2 to actually release it,<br>develop it, and so on.<br>Can you describe what Harpoon is<br>and why your seem to be incapable<br>of finishing a single project?<br>- That was a lovely framed question.<br>Harpoon 2 is actually done.<br>This is what I did: To avoid the swirl<br>in the thousands of questions<br>I will inevitably get,<br>I kept the master branch as Harpoon 1,<br>and I've kept Harpoon<br>2 as Harpoon 2 branch.<br>And people that don't<br>read the read me to say<br>that I just use Harpoon 2<br>now, that's their fault.<br>That's it.<br>I really don't like answering<br>hundreds of questions<br>about open source stuff.<br>I used to love doing<br>open source and all that,<br>but I got my soul crushed<br>during the Falcor years,<br>and so I guess I'm just allergic<br>to being a really active maintainer.<br>I build everything just for me.<br>Harpoon's just literally<br>just built for me.<br>I spent three months trying to figure out<br>the most optimal navigation for files,<br>and that's what I came up with.<br>Harpoon, it's a take on alternate file.<br>If you're familiar with<br>the alternate file,<br>typically you'll have this in all editors<br>where you can go back to<br>the file you were just in.<br>And so that means you can<br>have effectively two files<br>you swap back and forth in.<br>You've probably used it a bunch;<br>really fast way to navigate.<br>Pretty nice thing to do.<br>I want alternate file, but<br>three of them or four of them,<br>and so that's all Harpoon is<br>is just being able to pin a file.<br>And so I have one button<br>to press to go to a file,<br>another for another, another for another.<br>And so I can have up to four.<br>I just had my four power fingers.<br>For Dvorak, what is that? That's HTNS.<br>If I go Ctrl H, T, N, or S,<br>it goes to one of the four files.<br>And that's it. That's all it is.<br>And you can technically make<br>it so you can add in functions<br>and be able to execute things externally.<br>You can open up terminals,<br>you can send requests off to servers.<br>You can do anything you want with it,<br>I just have it primarily<br>designed for opening files.<br>- Since you mentioned it, what<br>keyboard layout do you use?<br>You use Dvorak?<br>- I use Dvorak, but I used<br>a custom version of Dvorak.<br>The reason why I used it is in 2017,<br>we are just having my second kid,<br>it was Christmas and I'm<br>having so much pain in my arm<br>and I'm sitting there freaking out like,<br>"Oh my gosh, is this the end of my career?<br>Am I done programming? Is this all over?"<br>And so I decided that I was going<br>to create my own keyboard layout optimized<br>to prevent the pain that I'm experiencing,<br>so I used to Dvorak as the base<br>and then laid out the<br>symbols in a symmetrical,<br>reasonable way so that<br>it's opening, closing,<br>opening, closing, opening, closing.<br>And they all are right here.<br>I actually have to hold<br>shift to press a number.<br>Symbols are actually my<br>first thing I get to press.<br>And so it's very optimized<br>for a laptop keyboard layout<br>so I can use my laptop in<br>a very efficient, nice way.<br>That's how I got started<br>on Dvorak and all that.<br>I wouldn't actually recommend it<br>because I didn't have<br>a Kinesis at the time.<br>I didn't even know Kinesis<br>existed at that time.<br>And so when I discovered<br>Kinesis in also 2017,<br>that's when I was like, "Oh, okay."<br>- Would you recommend Kinesis to people?<br>- I'm technically sponsored by Kinesis,<br>so it's hard for someone<br>to believe someone<br>that's sponsored by it.<br>But I did use it before<br>I ever became sponsored.<br>They're the only sponsor that<br>I reached out to and said,<br>"I need a sponsorship from you.<br>I'm going to use you either way.<br>You can say no, but I really love it."<br>And for the first three<br>years of using Kinesis,<br>they gave me free Kinesises,<br>Kenisi, as my sponsorship.<br>- Kenisi. Yeah, I'm always torn.<br>I tried to leave so many times.<br>- You can't. It's too good.<br>- But, see, I have this absurd situation<br>of traveling with it.<br>- I relate. (chuckles)<br>- Yeah. I'm literally going<br>to the war zone in Ukraine.<br>I have a Kinesis keyboard, (chuckles)<br>a laptop, and just a few other<br>small things and that's it.<br>And it's like is Kinesis<br>keyboard really going to be 30%<br>of volume that you're<br>bringing to a war zone?<br>- Looks like the answer is yes.<br>- Yeah. Do you really<br>derive that much value?<br>I think it's probably spiritual<br>or psychological for me.<br>It feels like home.<br>There's comfort associated with it.<br>I try to leave.<br>- I love this experience.<br>It's like a relationship<br>you have with the thing.<br>- It is.<br>But I'm trying to figure out<br>if it's a toxic relationship or not.<br>I think it's mostly<br>love. I think it's love.<br>Like all relationship, there's some<br>push and pull complications, but-<br>- They say that distance<br>makes the heart grow fonder,<br>so maybe sometimes the Kinesis keyboard<br>needs to stay at home and the<br>laptop keyboard can be the one<br>so that your heart grows even more fond<br>and that connection grows even deeper.<br>- I already miss it as you<br>say it, so I don't know.<br>I think it's coming<br>along to all the trips.<br>If it breaks down, though...<br>I was worried that Kinesis<br>was shut down as a company.<br>I'm like, what's the business model here?<br>Who actually uses these keyboards?<br>But apparently they're still going strong.<br>- Yeah. Who uses these keyboards?<br>As you use the keyboard<br>"I have to take it with me everywhere."<br>I wonder who uses these keyboards.<br>- Yeah. Yep.<br>I should mention that one of the things<br>when I first became a fan of yours,<br>I heard you talk about coffee and term...<br>I still don't, by the way, understand<br>what you're even talking about.<br>I need to actually use it.<br>But you run, amongst many<br>things, a coffee company.<br>Man, this smells so good.<br>This one is dark mode, dark<br>roast, whole coffee beans.<br>There is seg origin, dash,<br>dash location. Brazil.<br>- Yeah, there's a bunch of stuff on there.<br>- Stuff on there that's very devy.<br>Shop, server, web.<br>Can you legit, as such,<br>order coffee via SSH?<br>- As of right now,<br>it's the only way you can<br>get the coffee is via SSH.<br>Okay, can I just origin, origin story you?<br>- Yeah, yeah. Yeah, right.<br>I was going to do some<br>kind of command line.<br>Command to request or dash<br>dash help or something or-<br>- Command coffee?<br>- Command coffee.<br>- Okay, TJ and I, again,<br>same Teej, Teej TV, about...<br>By the way, very amazing<br>designs done by David Hill.<br>They're very, very good.<br>Let me give the basic ideas.<br>It must've been about<br>a year and a half ago,<br>TJ and I were talking like,<br>"Hey, every one of these people<br>that have some sort of following,<br>some sort of online presence,<br>they're always selling a thing,"<br>but I got nothing to sell.<br>I don't really want to do merch.<br>I've never really enjoyed doing merch.<br>I just find that, I don't know,<br>it's just not as much fun for me.<br>- Don't want to have a tequila?<br>- I don't want a tequila.<br>I want something that-<br>- Like The Rock.<br>- And I also want something<br>that I really don't<br>feel bad about selling.<br>There's a lot of people<br>that will go on the internet<br>and they'll shill for a<br>whole bunch of products like,<br>"Oh, okay, try this, try this."<br>And this is why I've only<br>ever really done Kinesis is<br>because it's like, well,<br>I can point to something<br>that was really bad in my<br>life, I was very scared,<br>and now it's not bad anymore.<br>It's like, okay, that one made sense.<br>But everything else always has<br>been... It's harder for me.<br>And so we just talked for<br>so long, and we love Neovim,<br>so we're just like,<br>"Why haven't we could do<br>something from Neovim?"<br>And we're laughing about that,<br>ordering from Neovim<br>is just so ridiculous.<br>And then at some point, we're just like,<br>"Well, wait a second.<br>And maybe we could do coffee.<br>Every developer loves coffee.<br>Maybe we could figure out<br>this coffee business."<br>And so I had a good<br>friend named Dax, THDXR.<br>Dax, yeah, Dax. The<br>most sassiest man alive.<br>- Sassiest?<br>- Oh yeah, he has a lot of sass.<br>- Beard?<br>- Yep, he has a beard.<br>He does SST. He does a lot of stuff.<br>Very, very talented. We'll<br>call him DevOps engineer.<br>He's more than that.<br>But very talented guy.<br>Him and another person named<br>Adamdotdev, vegan, by the way,<br>great guy. We take him to<br>Korean barbecue all the time.<br>He eats nothing.<br>- That's great.<br>- And Liz, she has been super important<br>to the terminal coffee company.<br>I think without her, we would<br>not have been able to do<br>what we have done.<br>And then also David Hill,<br>designer, he does Laravel.<br>He designs for Laravel.<br>Very talented designer.<br>And so we all came together.<br>And we were just laughing<br>about how could we do something<br>that's just ridiculous? And<br>that's what we came up with.<br>Yeah, there you go. You<br>just open the website.<br>You literally cannot order.<br>We actually do not allow you to order.<br>- The website is something<br>that looks like the terminal.<br>Use command below to order your<br>delicious whole coffee bean.<br>SSH terminal.shop.<br>- Yeah. You can only SSH into it.<br>You have to copy that command<br>and throw it in there.<br>If you want to add in<br>the little terminal shop<br>for your known hosts, you could do that.<br>- How do you handle payment?<br>- Through Stripe.<br>And so one of the things, we'll<br>be adding a mobile checkout<br>to where I'll show a<br>QR code in the terminal<br>and you can just check out<br>on your phone, but right now,<br>you enter in your credentials,<br>it goes to Stripe.<br>- [Lex] Via all terminal, like SSH.<br>- Yeah, SSH, obviously it<br>stands for Secure Shell.<br>It uses elliptical quantum safe algorithms<br>to ensure that your data's<br>not being intercepted.<br>- Yeah, but does he use AI?<br>- I'm pretty sure Dax uses AI.<br>- Quantum AI?<br>- Can this-<br>- Fusion quantum AI?<br>- Can this even be a company<br>if it's not using AI?<br>- We have some crypto<br>chains with some quantum AI<br>that's powered by Fusion,<br>- Great.<br>- so it's pretty wild.<br>Anyway, yeah, we just came<br>together where we thought,<br>what is the...<br>That was from the Mike Tyson fight.<br>It was literally that night<br>Mike Tyson kissed the reporter<br>and then walked out without any clothes.<br>We did an ad for somebody.<br>- Nice.<br>- But we decided<br>to make a coffee shop, and then we thought<br>instead of just making it Neovim,<br>what if we made it from SSH?<br>Because everybody has<br>SSH. You have VS Code.<br>Launch VS Code. You can order<br>coffee from within VS Code.<br>Because your little bottom<br>terminal that has access to SSH,<br>bada bing, bada boom.<br>It's fun, and so we really-<br>- I love this.<br>- We just wanted to do<br>something where there's no<br>level and there's no world<br>that makes me feel bad about selling this<br>and people buying it.<br>It's good, ethical coffee.<br>We developed the entire<br>supply chain and everything.<br>It's all packaged, it's all boutique.<br>It's pretty high-end coffee.<br>It tastes really, really good.<br>- At this point, I don't<br>like drinking other coffee.<br>I get upset about it<br>because it's not as good.<br>And so it's funny that I've<br>fallen for my own stuff.<br>I'm high on my own supply<br>pretty hard right now.<br>I just got done ordering 16 bags<br>and gave it out to my family<br>to try to convince them.<br>But it's just something where it's like<br>I didn't sell you a software product<br>that's going to influence your startup<br>that could potentially lead to disaster,<br>I didn't convince you<br>to do a bunch of stuff<br>that's going to change<br>your career, I just said,<br>"Hey, here's some coffee."<br>And it's like a fun experience.<br>- Yeah, it's fun, everything.<br>The humor on it is great.<br>People should go to terminal.shop.<br>- SSH terminal.shop.<br>- I'm speaking to people<br>that don't know what SSH is.<br>And there, you can read the command<br>and then figure out how<br>to use SSH in order to...<br>It's a kind of documentation, right?<br>- Yeah.<br>- On the website.<br>- If you can't use SSH,<br>you probably should just not<br>worry about buying our coffee.<br>Like that's the-<br>- You can learn.<br>- You can learn.<br>If you're active and<br>you're a computer person,<br>you'd like to launch the terminal<br>and feel like a hacker, go for it.<br>We even have subscriptions.<br>- What I would love to see...<br>This is how it came up I think<br>on the cursor conversation,<br>is that I would love it<br>if an AI agent did this,<br>like Anthropos computer<br>use or something like that,<br>actually took the action<br>of ordering the coffee<br>while it was programming.<br>- Yeah, like, "Hey, order me some coffee,"<br>and it actually go off.<br>"Give me dark roast." Order coffee.<br>It could actually go through<br>the whole flow of order.<br>- Yeah, the whole flow.<br>But even better, if you<br>didn't ask it to order coffee,<br>you asked it to do something,<br>and as a tangent, as a<br>side quest it did that.<br>Which is computer use does that.<br>They showed off that it's<br>able to go to I think Google<br>for some images, take a pause,<br>and then continue doing other stuff.<br>Anyway, yeah, super cool idea. Love it.<br>Speaking of which, let's talk AI.<br>- All right.<br>- You've been both positive<br>and negative on the role of AI<br>in the whole programming<br>software engineering experience.<br>As it stands today, what do you think?<br>What's your general view about AI?<br>What is it effective at?<br>What is it not so good at?<br>- Okay, my general view is<br>it comes down to something<br>that's pretty simple,<br>which is that if you're doing something<br>in which is very predictable,<br>AI is really nice.<br>When you're doing something<br>that is just not predictable,<br>AI is not very nice to use.<br>If you're using anything<br>that's more cutting edge,<br>AI will not be using it,<br>or AI won't be very good<br>at doing stuff with it.<br>It's not great at Zig because Zig is just,<br>say, less documented. It's<br>really great at TypeScript.<br>I think there's a lot<br>of interesting things<br>that are going to come down through AI<br>that I think a lot of people<br>aren't really prepared for<br>or thinking through.<br>TJ's the genesis of this<br>idea, but the idea that<br>I think there's going to be<br>a lot of market manipulation,<br>if you will, through AI.<br>Meaning, hey, you want to research,<br>say, best woodworking tools.<br>Someone's going to be buying an ad spot.<br>Someone's going to be buying<br>premium training data.<br>They're the ones that get<br>the big boosts in the LLMs.<br>But LLMs don't really have<br>to market as an advertisement<br>because it's not really<br>directly an advertisement,<br>they just had a more premium spot, per se,<br>in the training data; a little<br>bit extra learning to it.<br>It's like there's a lot of things about AI<br>that I fear upcoming.<br>A lot of it just comes<br>down to people not learning<br>or making the trade-off<br>where productivity is the<br>only thing that matters.<br>And I don't think productivity<br>is the only thing that matters.<br>If you want to build something<br>complex and difficult,<br>productivity is not the only thing.<br>You actually are going to<br>have to do deep learning<br>and pursue it beyond the basics.<br>And so I see AI as this really cool thing.<br>It feels like a magic trick.<br>I remember the first time I used it,<br>I got early access to GitHub Copilot.<br>In fact, Nat Friedman<br>saw my Twitch clip of me<br>asking GitHub for it, and he<br>sent me early access himself.<br>It was awesome.<br>And when I used it, it predicted<br>an if statement correct<br>and my mind was just absolutely blown<br>because I had nothing before then,<br>and now it's just like first time ever.<br>And I just remember thinking, man,<br>this is going to change<br>programming so much.<br>And then the more I used<br>it, the more I just...<br>For me personally, I<br>kept introducing bugs,<br>and I couldn't figure out why.<br>And what I realized is that I developed<br>I wasn't copiloting well, I<br>was autopiloting much better.<br>And my ability to read code<br>versus my ability to critically<br>think and write code,<br>they're definitely different<br>sets of skill levels.<br>I don't consider as well<br>when I just read code<br>as opposed to what I write code.<br>And so I struggled there.<br>- I do think that's a skill set.<br>- [ThePrimeagen] Yeah.<br>Skill issue for sure.<br>- Skill issue.<br>For people who are not<br>aware, that's a hashtag thing<br>sometimes used mockingly in this case.<br>There's several layers<br>mockingly, but also seriously,<br>meaning the criticism<br>is grounded in the fact<br>that you lack the skill<br>versus some kind of fundamental truth.<br>Yes.<br>- Yes.<br>- I think that that's the reason<br>I use actually Copilot cursor a lot<br>is for developing the skill of editing AI<br>so I can just learn how to<br>do that better and better.<br>Because I think as I do<br>that better and better,<br>I start to utilize AI better.<br>At this time, it is a bit<br>of a boilerplate code thing,<br>but you can do out of the<br>box novel design decisions<br>or tricky design decisions from scratch<br>but fill out stuff using AI<br>and then just learn<br>the skill of modifying.<br>I personally just...<br>It's more fun to program with AI.<br>Even when I delete a lot<br>of the code, it's more fun.<br>It's less lonely.<br>It's what I imagine<br>pair programming to be.<br>And I've never done it,<br>but it just feels like<br>that friction that you get<br>when you're staring at an<br>empty thing is not there.<br>Empty function, empty class,<br>it's just more fun, less lonely.<br>And I do think that a lot of<br>the easier type of coding,<br>it really helps with like<br>interacting with APIs,<br>basic things that I would<br>usually have to look up<br>to stack overflow for.<br>It's just really fast at that.<br>As example, just interacting<br>with the YouTube API.<br>The YouTube API documentation<br>is not very good.<br>And you can just load it all in there<br>and ask it to generate a set of functions<br>that access the API, all kinds<br>of read and write operations,<br>and it figures it all out.<br>Well, you do have to read.<br>You have to read and check everything.<br>And you start to develop<br>the skill of understanding<br>where it misinterpreted the task.<br>What is that skill?<br>I don't even know.<br>You have to be empathic<br>about what the AI, what<br>its limitations are.<br>A lot of the times that has<br>to do with prompt engineering.<br>You have to at the same time understand<br>what the AI is aware of.<br>What did you actually give it as data<br>to be able to generate the code?<br>A lot of times, we don't realize<br>that we're not giving<br>it enough information.<br>- Yeah.<br>- So you've to like...<br>Okay, okay, all right.<br>You have to be empathic.<br>Be like, okay, these are<br>the files it's aware of.<br>This is the specifics of<br>the question you asked it.<br>You have to imagine you're an intern<br>that doesn't know anything else.<br>Oftentimes, we want the AI<br>to just figure out the things<br>that's left unspoken.<br>But you can't know those things,<br>you have to specify those things.<br>And so you have to actually<br>be much more deliberate<br>and rigorous in the things you<br>specify, is to spell it out.<br>And so I just have this sea of<br>prompts that I have saved up,<br>and I'm building these<br>library of different templates<br>for prompts and it's a mess.<br>And I'm sure there's a lot of developers<br>that have this similar kind of mess.<br>A lot of it has to do<br>long-term with the tooling<br>that's going to improve that.<br>One, the systems are going<br>to get much more intelligent<br>when you don't need the nuance.<br>And two, there's going to be the tooling<br>that allows you to specify those things<br>and load it in correctly<br>and give all the context<br>that the system needs in order<br>to make the good decisions.<br>And maybe the system asks<br>you follow up questions with,<br>"Here's things you didn't make clear,"<br>all that kind of stuff.<br>A lot of that has to<br>do with the interface,<br>with the actual design of the tools.<br>Like we said with Cursor,<br>it's going to keep getting<br>better and better and better.<br>My sense is developers in<br>general should be learning this<br>to not be left behind,<br>to see how that can be<br>used as a superpower<br>to boost their productivity,<br>their effectiveness,<br>their joy of programming<br>versus be seen as a competitor to them<br>or something like that.<br>But for me already,<br>it's been a big boost to productivity.<br>If you measure the actual<br>how quickly you're able<br>to get a thing done,<br>it's been a big...<br>And measured not across minutes<br>and hours but days also.<br>Sometimes there's things I have to do<br>that are not that important<br>that I'll just out of<br>procrastination will push off.<br>- I know that.<br>- And AI helps me<br>actually get it done,<br>because that thing, the empty page,<br>like I mentioned before,<br>it helps me write the thing, get it done,<br>get it tested, ship the thing.<br>Maybe it's just because<br>it's just less lonely<br>to work with an AI.<br>I don't know.<br>I don't know if any of<br>that made sense, but-<br>- It all made perfect sense.<br>I really do like that phrase,<br>it makes it less lonely.<br>I think there's something<br>to that that's interesting<br>having just some level of interaction<br>that's not just like an LSP autocomplete,<br>having something that's<br>actually a little bit more<br>than just that where it<br>actually is thinking through<br>and you can see a different<br>thought and you're like,<br>"Oh wow, that's a way different approach<br>than I would've taken.<br>Hey, that's cool. I<br>like these kind things."<br>And the thing is that I'm<br>not a AI negative person.<br>I can see why people<br>really, really like it.<br>I used Copilot from when<br>Nat gave me the access<br>all the way up until about six months ago.<br>I used it for quite some time.<br>And I really did enjoy the<br>things I used out of it.<br>It did the opposite for me.<br>I felt like I was more<br>reviewing than writing<br>and I felt like I was more<br>just letting things slide<br>where I just didn't really<br>think too heavily about stuff.<br>And just I wasn't as engaged.<br>And so I'm like, "Okay,<br>something's kind wrong here."<br>And that's just a me personal thing.<br>I recognize that is not<br>how someone should approach these things.<br>That's not a good reason for<br>why you should or should not use AI.<br>I just don't think that that's right.<br>I could probably correct that<br>and figure out a better way to do it.<br>I've been meaning to<br>have another AI round,<br>and so I've been thinking about<br>maybe I just need to<br>spend two weeks in Cursor<br>and just fully embrace what does it mean<br>to be somebody like this?<br>And what can I do with these new powers?<br>Have they improved to the point<br>where they're actually good?<br>And for me, because a lot<br>of the decisions I make,<br>a lot of the little functions<br>I'm writing, it's not<br>because trying to write this<br>function to solve this problem,<br>it's because I'm writing<br>these functions or this set<br>not just to solve this problem<br>but because I know in<br>about another 2,000 lines<br>of code of building<br>all these other things,<br>I'm going to need to start<br>doing this next activity.<br>It's like I'm trying to really<br>try to chess move myself<br>into the exact things that,<br>as I let things go faster,<br>I kind of fall apart on that chess move.<br>And again, skill issues for on my behalf.<br>And I mean it in the<br>truest sense of the word<br>where it's like I'm making a critique<br>because I don't use it well enough.<br>- The better you're at programming...<br>I don't know if this is a general rule,<br>this is my anecdote data.<br>The better you're programming,<br>the less you want to use the<br>AI, the more gets in the way.<br>Like the good programmers...<br>- It's fair enough, as far as I can tell.<br>- The more beginner<br>programmers are much more happy<br>to use AI.<br>When I use AI, it's for basic for just...<br>I don't know if there's a better term.<br>It's not boilerplate, but<br>it's pretty easy programming.<br>And that kind of programming<br>is much easier to do.<br>The 10X, not to use the meme,<br>programmers that I know<br>that are ultra productive<br>and brilliant people, they hate AI.<br>They're like, "This is nowhere<br>close to what's needed."<br>There's something to that.<br>I still think they should be<br>using AI just for the learning<br>because it's going to get<br>smarter, it's going to get better.<br>It's the same thing,<br>it's like when you super optimize Neovim<br>or super optimize Emacs,<br>you may not discover new things<br>that are in the pipeline,<br>so it's always good to<br>be training in that way.<br>- Let me ask you a question<br>here just for my understanding.<br>You talked about this idea<br>that you have all these LLM prompts,<br>all this big backlog of messy LLM prompts<br>that you have these templates for<br>that you can do various actions.<br>You have these strategies of<br>making itself explain itself<br>and then do the right thing.<br>As far as I can tell,<br>that's really built into a lot of people.<br>Well, then you make this<br>phrase where you're like,<br>but then at some point, the<br>interface is gonna get better,<br>and maybe it can do a lot<br>of these things better<br>where I won't need that.<br>Then my question is,<br>well, is anyone actually falling behind<br>for not using AI then?<br>Because if the interface is<br>going to change so greatly<br>that all of your habits<br>need to fundamentally change<br>and it will be able to clarify<br>and make all those statements,<br>have I actually fallen behind at all?<br>Or will the next gen<br>actually just be so different<br>from the current one that it's like, yeah,<br>you're over there actually<br>doing punch card AI right now.<br>I'm going to come in at compiler time AI,<br>so different that it's<br>like what's a punch card?<br>- Obviously open question.<br>It's a fascinating one.<br>I personally think, yes,<br>you're falling behind.<br>Not you,<br>but if you're not-<br>- It could be me.<br>it could be me.<br>- not playing with it,<br>you're falling behind<br>because the thing I'm<br>doing with the prompts<br>is you're learning,<br>you're building up this<br>intuition about how AI works.<br>You're understanding what is<br>its strengths and weaknesses?<br>Not even the current version,<br>but the next version and so on.<br>What does it mean to teach<br>an AI system about the world?<br>What kind of information does it need<br>to make effective decisions?<br>I think that does transfer to<br>smarter and smarter models.<br>You'll need to make less rigorous<br>and specific in details<br>instructions over time,<br>but you still have to<br>have that kind of thing.<br>I think it's a skill of almost<br>empathy with an AI system<br>because it doesn't know...<br>You know what it's missing?<br>It's missing common sense.<br>It's missing long-term memory.<br>A lot of things, when<br>we talk to other humans,<br>they have a basic common<br>sense about reality,<br>and AI systems often lack<br>that kind of common sense.<br>And they also don't remember things.<br>You have to realize<br>there's a constant blank slate happening.<br>It's almost just a skill<br>of talking to an AI system<br>that I'm training.<br>And by having to write all those prompts<br>and communicating back and forth<br>to understand what kind of<br>prompts work better or not,<br>you build up that intuition.<br>And also just raw the skill of<br>reading somebody else's code.<br>Maybe for people who work on large teams,<br>that's a skill that's already developed.<br>For me, not so much,<br>so learning how to modify the code<br>that somebody else<br>written is a real skill.<br>And also, the other thing you mentioned,<br>which is considering another perspective<br>on a piece of code is really nice,<br>but it is also a skill to understand,<br>okay, this is what you did.<br>There's a skill to asking<br>a question that code<br>that's been generated such that<br>you can have a conversation<br>about the approach that was taken.<br>I think there's just a lot of<br>subtle, little skills involved<br>in a cooperative endeavor to code,<br>kind of like there was a real skill issue<br>between you and Teej when<br>you guys did the video<br>of two idiots, one keyboard.<br>People should go watch that video,<br>where you guys obviously sucked at it.<br>- Yeah, co-using.<br>- That was pretty cool,<br>which you guys did,<br>which is controlling one Neovim interface<br>from two different keyboards.<br>- Yeah, and then we each get an allowance<br>of certain characters or<br>motions we could perform.<br>- Yeah. And so you both had<br>to communicate together.<br>That's a real skill.<br>I'm sure you can get<br>super efficient with that,<br>but it just takes time to<br>learn that kind of thing.<br>So yeah, I think there's some value to it,<br>but I think there's a learning curve.<br>- I do want one thing to be pretty clear<br>is that I actually use AI quite a bit.<br>I just don't use it for programming.<br>And so one thing I've been<br>trying to get it to is<br>to be able to have a long interview<br>or understand what Twitch Chat is saying<br>and become Twitch chat<br>and be able to speak<br>as if it is Twitch chat.<br>Try to learn how to prompt<br>it in different ways.<br>And so I think those things<br>for me are just really fun.<br>I tried to get it to learn<br>how to play tower defense.<br>I made a tower defense game in Zig<br>and then made it play tower defense,<br>and then played a Claude<br>3.5 against OpenAI.<br>Claude 3.5 would do better<br>during the daytimes,<br>and OpenAI did better<br>during the nighttimes.<br>I don't know why, I have no<br>idea what was going on there,<br>but one would just start winning<br>and the other one would start losing.<br>It was just very strange.<br>And so it's just this, I'm<br>learning to prompt well,<br>but I'm learning to prompt<br>in a very different axis.<br>I just don't find it very useful yet<br>in programming.<br>- In programming.<br>And I should also say that I'm using it<br>in every walk of life, in every context.<br>I use that same kind of exploration<br>about prompts and so on,<br>I'm using and learning.<br>I think it legit is a<br>whole field in itself.<br>- Yeah.<br>- Prompt engineering<br>and how to interact with AI systems,<br>I think it's worth the investment.<br>Can you actually speak to that?<br>Because I saw you're basically pulling<br>from Twitch chat and having an LLM speak.<br>I didn't realize, I thought you're,<br>you're not reading the<br>exact chat messages.<br>- Yeah.<br>- You're doing kind of,<br>some kind of summarization?<br>- Yeah, so I try to go like a....<br>I ended up making like<br>eight queries off to OpenAI<br>where it's just like<br>the first thing is like<br>I have it have it like<br>a default personality.<br>"Hey, you're Randall, the manager,<br>you're a software engineering manager."<br>Kind of explain their<br>position, what they like,<br>what they don't like, and then be like,<br>"These are the list of<br>thoughts you have in your head<br>and you need to talk to this person<br>and ask them a question."<br>- This is amazing.<br>- "Give me 10<br>of these responses that you<br>think are probably thoughts<br>that you have and you want to ask."<br>Make it kind of give you a<br>list and then be like, "Okay."<br>Then re-prompt and be<br>like, "Hey, you're Randall,<br>you're this, this, this, this, this.<br>You have these 10 questions before you<br>and now you need to select one of them<br>and reword it in a way<br>that sounds more like you,<br>the engineering manager."<br>And I'm constantly trying<br>to make it iterate on itself<br>as opposed to just one-shotting it.<br>And I found if I iterate too much,<br>it loses what it was<br>originally trying to ask<br>if I don't do it enough<br>and it's just too<br>degenerate from Twitch chat.<br>And so it's like I have<br>a lot of improvement<br>to do with this idea-<br>- Just to clarify,<br>you're feeding in Twitch chat,<br>these are the thoughts.<br>You're a manager,<br>these are the thoughts<br>you have in your head,<br>pick out some of the<br>most profound thoughts?<br>- Effectively. It's like<br>depending on what I want it to do.<br>I'm trying to work on a<br>better system still for it.<br>- [Lex] Kind of brilliant.<br>- And so it's like, how can<br>I give voice to Twitch chat?<br>Can I make it so that I can<br>create adversarial characters<br>against Twitch chat or for Twitch chat?<br>Can I incorporate YouTube?<br>All that kind of stuff.<br>And how do you describe to an LLM<br>to role-play into its position?<br>And so just thinking through<br>those kinds of things.<br>So maybe I am having some prompt skills,<br>but it's just not in the coding world yet.<br>- Sure.<br>- One day I'll get there.<br>- I saw that you were playing<br>with different voices.<br>There was like a sexy voice?<br>- That started off as a French voice-<br>- French voice?<br>- and then it turns out<br>ElevenLabs just cannot do a French lady.<br>And when you do multilingual French lady,<br>she starts talking.<br>It's like, "What? What is this?"<br>- I tuned into one of your streams<br>and there's this lady<br>in a sexualized way.<br>- It became too funny.<br>And so we call her Not<br>French Stormy Daniels.<br>- Oh, nice.<br>- Yeah.<br>But I want to go back to the<br>AI and some of the aspects.<br>- [Lex] Sure.<br>- And so my big gripe with AI<br>has nothing to do with its capabilities.<br>It's exactly capable,<br>as it should be capable,<br>because that's what<br>people programmed it as.<br>The things that I really dislike is,<br>A, there's a whole group of<br>people that are just like,<br>"The end is nigh.<br>AI is here, you just need<br>to stop programming."<br>I cannot tell you, even you<br>mentioned Pieter Levels earlier,<br>he made some sort of tweet<br>and one of the person's responses was,<br>"No one in 2025 or whatever<br>should be acquiring hard skills.<br>You should rely on everything<br>for the AI effectively."<br>And it's just like these are<br>really damning pieces of advice<br>for young people.<br>Young people are being told<br>that you should never become<br>an expert in anything,<br>you should always offload.<br>And the problem is that<br>anyone worth any of their salt<br>will tell you that AI,<br>though can produce code,<br>is going to get it wrong<br>in a huge number of cases.<br>And as the code becomes<br>bigger or more complex<br>or more input, it's going to just start<br>kind of sloshing back<br>and forth between bugs.<br>And so if you don't have those hard skills<br>and you're not ultimately the<br>driver at the end of the day,<br>you're going to really<br>find some hard times,<br>and your ability to progress<br>will be directly bound<br>to how good the LLMs are.<br>So if you believe that the<br>LLMs will be vastly superior<br>to humans in the next year,<br>maybe that's a good bet.<br>But if they aren't,<br>then your skill ceiling<br>is bound to whatever they are.<br>And even beyond that,<br>there's just a level of<br>information problem, which is like,<br>Can the thing actually navigate larger...<br>Do we even have enough compute power<br>to be able to solve<br>things at this real scale?<br>And even if we did, if everybody<br>started using it right now,<br>"Do we even have the compute power<br>for everybody to use it right now?<br>There's a lot of kind<br>of bounding questions,<br>there's privacy concerns,<br>and I just don't want people<br>to make the immediate,<br>or what appears to be the obvious choice,<br>where you don't need hard skills,<br>you don't need these things.<br>Our life is already gonna be...<br>We just need to only think creatively.<br>It's like, no, I don't think so.<br>I think these hard skills<br>are going to be around<br>for quite some time<br>even with a massive improvement in the AI,<br>you're going to really be<br>needed to step in regularly<br>for quite some time as far as I can tell.<br>- But I also think even on top of that,<br>just even acquiring the hard<br>skills or whether that means,<br>programming from scratch, for example,<br>in the context of programming,<br>that's going to make you<br>better at steering the AI,<br>not just correcting the<br>AI, but steering the AI.<br>I think there is some kind of,<br>if you know how a computer works,<br>you can program Python better.<br>It's maybe counterintuitive,<br>but if you know the<br>low level abstractions,<br>some intuition around that,<br>you can steer the high<br>level abstractions better.<br>- Yeah.<br>- But that just seems<br>to be the case.<br>Unless of course AI becomes<br>like truly super intelligent<br>like many levels above,<br>but it's very unlikely in the short term.<br>And in the long term it's still good<br>as it gets better and better and better<br>to be able to ride the<br>wave of the improvement.<br>- Yeah, I'm on that team very much so.<br>- A lot of people have written to me,<br>I think a lot of developers,<br>programmers are really concerned<br>about the future of their profession<br>in the context of quickly<br>improving AI systems.<br>So do you think AI will<br>eventually replace programmers?<br>- The hard part about that phrase is<br>you use the term eventually,<br>meaning do I think in five<br>years, 10 years, a hundred years?<br>What does that term actually mean?<br>I think at some point<br>if we are able to scale,<br>if all things continue at the<br>current rate of improvement,<br>there does come a point where programming<br>as a hard skill does become unnecessary.<br>At some eventual point,<br>way, way down the road, yes.<br>I don't know what that point looks like.<br>I don't know when it's going to happen.<br>I don't even attempt to<br>make predictions about that.<br>But there are still some leaps<br>and bounds we need to make.<br>I mean even just societally,<br>there's plenty of companies<br>that don't even allow you to use AI.<br>I mean, there's just<br>practical problems that exist.<br>So that's a question I<br>just try not to answer<br>in the direct sense.<br>There will come a day<br>if humanity continues<br>and all things continue in<br>a good positive direction,<br>where a lot of skills<br>will go out the window<br>due to immense computing systems.<br>So, yeah, I'll give you that one.<br>But it's just like if I<br>don't think it has anything<br>in the near term, there's<br>been no computer improvement<br>up to this date that did<br>not result in more jobs.<br>- Yeah, absolutely.<br>I would say that I think it depends<br>how you define programming also,<br>because when the community<br>moves from assembly to C, from C to,<br>I don't know, Python and JavaScript,<br>that's evolution.<br>That's really painful for a lot of people<br>who are used to programming<br>that lower-level language,<br>so there's going to be<br>a continuous evolution.<br>And maybe that means with AI,<br>there's going to be<br>more and more evolution<br>towards natural language<br>as part of the tool chain<br>like being able to learn<br>how to write proper prompts.<br>Yeah, because natural<br>language is still a language.<br>And in the long term, it's possible<br>that a large percentage of<br>programming is natural language.<br>There are probably still going to be<br>some percentage that's not,<br>that's going to be extremely<br>structured language.<br>- Right now, I don't think we are<br>anywhere near natural<br>language being possible<br>because it's ambiguous.<br>And I think what we'll end up seeing<br>as people push really hard into this,<br>you're going to see some<br>sort of pseudo-lang,<br>which is going to be a language<br>for AIs in which you prompt,<br>which is going to be less ambiguous.<br>People keep striving towards<br>the less ambiguous state.<br>And at that point you're just programming<br>or just programming yet another evolution<br>into a higher order language.<br>And perhaps that is a future<br>in which people will have<br>a more terse language.<br>I'm just not sure how much<br>more terse it can get.<br>I mean, all I see is that<br>if you say natural language<br>can be used in the pipeline,<br>you've just made that many more people<br>can become programmers, which<br>means that much more software<br>will eventually be created,<br>which means there's<br>that much more software<br>that will need to be maintained,<br>and just becomes a real<br>big snowballing effect.<br>- But there's just people<br>who are programmers<br>who are worried about their jobs.<br>Not a complete replacement,<br>but maybe a rapid evolution<br>of what it means to be a programmer.<br>Like you mentioned, if<br>natural language becomes a way<br>that you can communicate<br>or you can program,<br>that means the pool of people<br>who can get programming<br>jobs changes rapidly,<br>so they're really concerned.<br>- And to some extent,<br>because no matter how much we<br>want to say how good AI is,<br>there comes a point<br>where there exists a bug,<br>there exists a large piece of software<br>in which to describe the change<br>requires just pages and<br>pages of description<br>to the point where it is<br>significantly just faster or easier<br>for someone to just whip something out.<br>There's definitely a balance there,<br>it's not like a perfect trade-off.<br>And so I think people<br>need to quit worrying<br>and think about how they<br>can integrate it and try,<br>like prove it to themselves.<br>Do they actually make<br>themselves irrelevant?<br>- And if you truly make<br>yourself irrelevant,<br>I would challenge you that you're already,<br>you're just doing something<br>that was just slightly too<br>complicated to automate.<br>If you're only writing<br>just straight up crud apps<br>from backend to front end<br>and simple table displays,<br>yeah, maybe we just couldn't<br>quite automate that away<br>and now we just have something<br>that can just do that a little bit better,<br>so now that's automated away,<br>but that's not really programming.<br>That's almost like building<br>Legos at that point,<br>where the designs are already set,<br>you just simply have<br>to move piece from bag<br>into correct position.<br>- Yeah.<br>Is there something you recommend<br>how a developer or programmer<br>could avoid the situation<br>where AI can automate them away?<br>- I think that the bigger<br>the project you can manage,<br>the bigger the thing you can<br>build, the more understanding<br>both down and up the stack you can go,<br>the more valuable you become.<br>Because if you understand<br>how to build something<br>in the front end,<br>okay, well, now you kick off<br>some LLM task of some sort,<br>that's going to go off and<br>make a change to the front end.<br>Okay, while it's doing that,<br>you can go and kick off<br>something in the CLI tool,<br>you can go and you can go kick<br>off something somewhere else.<br>And as these things<br>come back with results,<br>you can review the results,<br>make sure it's the way you want it,<br>change it, commit it, go to the next.<br>You only become more,<br>as you said in the end,<br>more productive if we reach this state<br>where it's truly able to do that.<br>- I think there is like a skill<br>to working together with AI,<br>which is why I'm kind of excited<br>to watch you keep trying to do it.<br>- [ThePrimeagen] Yeah.<br>- It's like we don't<br>know how it fits exactly,<br>but it feels like AI should<br>be a boost to productivity.<br>And I definitely think it's a boost<br>to just the joy of programming.<br>I think there's a lot of people,<br>yeah, it's a job, but it's<br>also a source of meaning,<br>a source of joy.<br>Programming is fun, you're<br>creating something cool,<br>and also potentially<br>that a lot of people use.<br>- There's this one thing that<br>just really frustrates me,<br>and this is kind of going<br>into the Devin category,<br>which is that I want an intern that cares.<br>- [Lex] Yeah.<br>- You don't get that out of<br>an LLM. It does not care.<br>Meaning that I don't want<br>it just to make a UI for me<br>that displays these icons like<br>I asked, I want it to care,<br>I want it to think about it,<br>I want it to present to me<br>and me being like, "Oh<br>yeah, yeah, that's great."<br>And then me to make changes.<br>And then later on it's like,<br>"Actually, I really rethought about this<br>and actually it'd be way<br>better if we change..."<br>It doesn't actually care about the craft.<br>But when you work with an intern<br>or you work with somebody else, they care.<br>When they factor something,<br>they actually go over and go,<br>"Oh yeah, this is actually kind of bad.<br>I'm going to come back to that."<br>They finish this, they go back over here<br>and they make this even better.<br>They actually care about the thing itself.<br>It's a completely different experience.<br>I just want something that also cares<br>that wants to make the thing better,<br>not just simply accomplish the task.<br>And I know I'm asking way<br>too much that's not...<br>Now we're getting into<br>Blade Runner's level AI.<br>I just want something that<br>it just feels like I'm missing that,<br>where it's just like it<br>will complete the task<br>to whatever level it understood<br>what I was prompting,<br>but it doesn't actually care about it.<br>- I mean, there's so<br>many aspects to caring<br>versus the trivial version of<br>that is a kind of restlessness<br>where you want to keep improving,<br>and I think that is very much AI could do,<br>where it constantly just ask itself,<br>"Can I make this better?"<br>And if it keeps doing that,<br>it probably is going to take<br>it to some ridiculous place,<br>so actually it's also<br>knowing when to stop.<br>I think developing something<br>you can call taste,<br>which is like trying,<br>working extremely hard,<br>constantly improving<br>until it just feels right.<br>This is it.<br>And I think that is a thing<br>that AI is not good at<br>where it's just like, "Yes, this is it."<br>- I've had write iterated<br>three times and three was the-<br>- Yeah, that's it. We're now there.<br>And I think ultimately that<br>is what humans are amazing at,<br>which is like knowing<br>when something is right<br>like, "This is it."<br>Especially as you understand,<br>as you develop taste in<br>a particular industry,<br>in a particular context<br>application, knowing like,<br>This is it. Yeah.<br>The rounded corners on this<br>button, that's exactly that.<br>That's beautiful.<br>So it's just a sense of<br>beauty, a sense of function,<br>and efficiency, and so on.<br>Yeah, but humans could do<br>almost like supervision of<br>AI systems in that context.<br>- Yeah.<br>- Yeah. You've ranted about<br>Devin just full of rage.<br>- I mean, first off,<br>the people that run<br>Devin are extremely nice.<br>I want that to be understood.<br>I don't have some sort of upsetness<br>against them or anything like that.<br>Second, Devin, it's like the full package<br>when it comes to programming.<br>So it's going to have, you're<br>going to give it a task<br>and a repo, and it's going to go through,<br>it's going to try to understand<br>the repo and the task,<br>make the change to the<br>repo by exploring it,<br>then actually make a commit to GitHub<br>and explain what it did, so<br>that you can have like...<br>So hopefully you have<br>this whole offline thing,<br>which is the other part of this AI part<br>that I actually really<br>like, where it's just like,<br>"Go fix this thing."<br>Then I can just go and<br>unbroke and fix this one thing<br>and come back and go, "Okay,<br>good enough, merge, boom."<br>I want that kind of running,<br>being able to complete things.<br>I think the ideal solution is that<br>you can start giving it small bugs<br>and it goes and fixes these<br>bugs and you can just come back<br>to these backlog tickets<br>that no one ever does,<br>and it actually starts going<br>through these backlog tickets,<br>and it's actually a<br>really amazing experience.<br>So I love the idea.<br>I think we can all agree<br>that that sounds great,<br>but every time I've done it<br>and I've asked it for many<br>and I try to keep narrowing<br>down the problems,<br>the more narrow the<br>problem, the better it does.<br>So if I'm like, just<br>add one singular icon.<br>And when it gets clicked,<br>I want you to do this<br>just console, click me.<br>At least create me an SVG<br>and place it so it's nicely placed.<br>The more narrow the task,<br>the more likely it's to be successful.<br>There's like a certain level of specifying<br>where if you specify too much,<br>it just like can't do it.<br>If you specify too little,<br>it just does weird things.<br>So it's kind of like<br>this very kind of fun,<br>unique way you have to<br>play the balance game.<br>But so far, every time I do these things,<br>I always end up going,<br>"Gosh, I should just<br>get better at Tailwind<br>and write it myself,"<br>because I always go back<br>and I just rewrite it,<br>and then it's just like,<br>"Dang it. What am I saving at the end?"<br>I feel like I'm not saving anything yet.<br>And it's just like this,<br>"I want it so bad."<br>I actually want AI to be great<br>because then I can really go fast.<br>I mean, I can go amazing fast,<br>but then I always just go,<br>"Gosh, I should have just<br>learned Tailwind myself<br>to like the nth degree and just go fast."<br>- Yeah, we should also<br>mention that debugging,<br>this might be intuitive<br>or counterintuitive,<br>AI is really bad at.<br>- Yeah.<br>- Like that is<br>one of the hardest...<br>It actually makes you realize<br>how special humans are<br>and how difficult the<br>task of debugging is.<br>Obviously, for trivial debugging,<br>maybe you can find bugs,<br>but that is the real art of programming<br>is finding bugs, logical bugs,<br>extremely complicated<br>rare bugs, edge cases.<br>AI can assist, but man,<br>the hard ones really<br>require so much context,<br>so much experience, so<br>much intuition from,<br>again, operating in a<br>fog full of uncertainty.<br>It's hard.<br>- Yeah.<br>- Of course AI could maybe create logs<br>and do traces and do some kind of<br>loading a huge amount of<br>data that humans can't,<br>but ultimately that just means<br>it could be a better<br>assistant in debugging<br>versus the actual lead debugger.<br>- Yeah. I mean, it'd<br>be great if they could.<br>I mean, the more it can<br>do that, the better,<br>because as far as I can tell,<br>correct me where I'm wrong on this,<br>current state debugging is<br>really, it looks at the code,<br>it looks at the bug problem,<br>it just kind of tries to text-predict<br>where it's most likely accurate,<br>and then just tries to fix that spot.<br>And so it's like it's likely this spot,<br>you said admin panel, it's<br>slightly off, this, this, this.<br>It's probably this location,<br>which could actually be a<br>really great way to do search,<br>let me do semantic searching,<br>point to me where this is,<br>because maybe that is a really great way<br>to navigate large code bases.<br>It's like smart intelligent search.<br>As opposed to trying to<br>make it do the thing,<br>ask it to just help you do the thing<br>in pinpointing problems.<br>I'd love to see more of that,<br>because that's for me is<br>like the exciting part.<br>And there's this really great article<br>by creator or maintainer of curl,<br>it's the I in the LLM<br>stands for intelligence.<br>And he writes curl and maintains Curl.<br>Curl has been inundated with<br>security problems and all this,<br>and it's all from LLMs being like,<br>"Oh, I found a security flaw.<br>Here's the security flaw,"<br>details it out in the code.<br>And he's just like,<br>"Okay, how did you<br>reproduce that? Show me,"<br>because if you look at<br>the code right here,<br>that's actually an impossible<br>situation you're speaking of.<br>And it's just like going in these circles<br>and security right now is being inundated,<br>these bug bounty programs<br>are being inundated<br>by LLM-submitted responses<br>because they can't<br>actually analyze the code<br>beyond just like basic text prediction.<br>"Oh, this is a stir copy.<br>Stir copy is commonly referred,<br>blah, blah, blah, blah.<br>Boom, there you go. Here's the bug."<br>And it's just like, "No,<br>that's actually impossible<br>because the if statement right beforehand<br>leaves the function if<br>the string is too long,<br>so it's like we don't<br>even run into this case.<br>It's impossible what you're saying."<br>So debugging is very interesting.<br>- Yeah, I mean, that<br>for me would be the big,<br>if it can solve that, not<br>solve that, but improve that,<br>that would be huge, whether it's agents<br>or just LLMs integrated into IDE.<br>- I think there's this whole idea,<br>I call it a denial of attention.<br>I think there's an entire attack vector<br>that's going to be happening.<br>We're using LLMs to<br>generate fake bug reports,<br>fake all these things to<br>just actually effectively<br>to demotivate<br>and hurt open source maintainers.<br>Polykill was the first bug that<br>kind of had this experience,<br>is this denial of attention<br>where an active malicious<br>maintainer just hounded the owner.<br>And then a white knight came out<br>and offered to buy some<br>stuff from under them.<br>And when they bought it,<br>they actually replaced it<br>with a malicious piece<br>of code and then used it.<br>So there's this whole security world<br>that's developing around using these<br>in a very aggressive format.<br>- I mean, it's a fascinating<br>world we're entering into,<br>but I do agree with you<br>that human developers will<br>be a huge part of that world.<br>- Yeah.<br>- That the job might evolve,<br>but it's going to be there.<br>If I can, I didn't<br>really look at this page,<br>I thought it would be<br>cool to go over with you.<br>This is, again, the-<br>- Stack overflow, my favorite.<br>- Stack Overflow Developer Survey,<br>talking about their sentiment<br>and usage of AI systems.<br>The general sentiment of, yes,<br>61% say yes, they use it<br>and 25% say no, don't plan to.<br>So majority use it,<br>majority have a favorable<br>sentiment over it,<br>favorable or very<br>favorable or indifferent.<br>That's like looks like over 90%.<br>- That's really surprising that<br>that many people just have<br>no plan in looking into AI.<br>As much as I don't like<br>using it for coding,<br>I hope one day I can use it more.<br>And so it's like, to me,<br>I'm always looking for the next thing.<br>I'm just surprised that people are, that,<br>I guess obstinate for it.<br>Obviously, the second one,<br>the AI tool sentiment,<br>it must be only the users who responded<br>to the top two of that first one<br>just given the amount of respondents.<br>- [Lex] I wonder if no and<br>don't plan to are people<br>who have tried it and quickly<br>built up the intuition like,<br>"This really sucks."<br>- Yeah.<br>- So it could be<br>like experienced programmers.<br>They're like, "No, this is not<br>making me more productive."<br>81% agree that increasing productivity<br>is the biggest benefit that<br>the developers identify<br>for AI tools.<br>Okay, so this is, what are the benefits?<br>Increased productivity, speed up learning,<br>greater efficiency,<br>improve accuracy in coding,<br>make workload more manageable,<br>improve collaborate.<br>Where's the fun, increased fun?<br>I would say that's like number one for me.<br>- Maybe speed up learning is<br>like a subcategory of fun.<br>If you're able to learn more<br>and be able to become better.<br>To me, that sounds good.<br>- [Lex] I don't know.<br>It's different because<br>productivity is part of fun too.<br>There is just a lightness.<br>I mean, maybe improved collaboration,<br>all of these elements for sure.<br>- My time using Copilot,<br>there was certainly a level of wonder<br>that would happen for quite some time<br>where it's just like, it's<br>just amazing what it can do.<br>- Yeah.<br>- I'm just super impressed<br>by what it can do, even<br>though I don't use it.<br>It's amazing to me that we have something<br>that can even get that close.<br>- [Lex] In terms of accuracy of AI tools,<br>only 2.7% highly trust.<br>- [ThePrimeagen] I would say<br>that you have to be very green<br>to think that you should<br>highly trust an AI output.<br>You should be very skeptical.<br>- [Lex] Yeah, I don't know where I stand.<br>Probably somewhat distrust.<br>Highly distrust seems aggressive.<br>- It does seem a little, true.<br>You definitely be in the somewhat like...<br>You should always assume<br>that there's something wrong,<br>and then from there you<br>can go and challenge it.<br>- [Lex] And then estimation<br>of whether AI can handle complex tasks,<br>most people don't think it<br>can handle complex tasks.<br>I mean, it seems like<br>people have a good sense<br>of what it's able to handle and not.<br>- I would argue that people<br>don't have a good grasp<br>of what complex is in programming.<br>- [Lex] Sure, yeah.<br>- If you say, "Write me quicksort,"<br>some people will think<br>quicksort's super complex.<br>But I would argue that that's actually<br>probably the simplest thing<br>you could ask an AI to do.<br>Things that are so well documented,<br>it's going to do a great job at that.<br>- Yeah, probably high-level<br>design decisions,<br>which people don't even<br>use AI for right now,<br>I guess agents are supposed to<br>be doing that kind of stuff.<br>That's probably the most difficult thing<br>or the most impactful thing,<br>or the most difficult<br>thing is finding bugs.<br>- [ThePrimeagen] Yeah.<br>- [Lex] AI tools next year,<br>writing code, and so on.<br>- [ThePrimeagen] Now,<br>this one, the ethics part.<br>I'm actually super curious<br>your take on the ethics.<br>Will we see Europe laying<br>down some new regulations?<br>- [Lex] Oh, boy.<br>- [ThePrimeagen] What about artists?<br>What about people that are really...<br>Because the difference<br>between coding and artists<br>is very, very simple.<br>If you gave me a sheet of<br>paper, I could draw you a crab.<br>You go, "That's a crab."<br>But you can't do that with coding.<br>It's like it's right or it's wrong.<br>There's not a variation of interpretation<br>for what a crab is.<br>It's like, "No, you cannot<br>make that statement."<br>It's very bounded in what it can express.<br>And I could see why artists,<br>that's a very frustrating point.<br>And then who gets rewarded for all that?<br>And then there's like the whole thing<br>with coding and licenses.<br>How much of it is GPL<br>licenses, do you think,<br>they've scraped and used as training data?<br>GPL forces open source.<br>What are you going to do with that one?<br>That means your model might<br>need to be open source.<br>OpenAI may have to get forced open,<br>all their previous stuff<br>if there's any hint of GPL.<br>- Yeah, that's a weird one.<br>That's a really weird one<br>because most of these models<br>I think are training on data<br>they don't technically have<br>rights to be training on.<br>- Yeah, there's a lot of questions.<br>- There's an unspoken,<br>it's a real Wild West.<br>- Because you could imagine<br>that, I always use Europe<br>because they tend to have like<br>maybe the most consumer<br>protection laws out there.<br>You could imagine what happens<br>if a law came down that said<br>that if you used a model that<br>produced GPL potential code,<br>you have to open source?<br>How many companies are going<br>to be like, "Oh my gosh"?<br>Like, "You have one year<br>to get rid of all code<br>that was generated that's<br>potentially GPL-sourced<br>from a model."<br>You could imagine just the sheer panic<br>that's going to happen.<br>It'd be a fire sale of code.<br>- So given all that,<br>can you give advice to young programmers?<br>This is another question from Reddit,<br>the infinite wisdom of Reddit.<br>"What should a person<br>in their early 20s do<br>to move forward in the tech industry?"<br>And this is an interesting<br>addition to the question,<br>"And by doing it,<br>will this be walking on<br>someone else's path?"<br>- I am going to try to<br>answer that question,<br>I guess the best I can,<br>which I think that if you're<br>entering into the tech world,<br>one of the hardest pieces of advice<br>that I took a long time to learn was<br>I became enamored and addicted.<br>Obviously, we talked about that I program<br>for way too many hours,<br>forgetting to spend the<br>time I needed with my wife,<br>with my friends, all that stuff,<br>like totally wrapping<br>myself up into one activity.<br>I think though it made me who I am,<br>it was probably an unhealthy activity<br>and probably not a wise activity.<br>And so the best advice I can give is that<br>you got to develop the love,<br>the skill, the desire for it.<br>Whether that's just only using AI agents,<br>programming yourself, using<br>Zig or programming JavaScript,<br>whatever that flavor is<br>that's going to get you<br>coming back every single day,<br>getting the reps in the gym,<br>if you will for programming.<br>But also knowing how to<br>value what is valuable<br>and not getting lost in the<br>sauce where you're just so stuck<br>on trying to make the<br>next greatest startup<br>that you sacrifice your health,<br>you sacrifice your relationships.<br>Or even worse, you<br>sacrifice your own morals<br>to take certain shortcuts<br>that you probably shouldn't be taking<br>in life to be able to<br>achieve these things,<br>because I'm sure there's<br>hundreds of horror stories<br>you could hear where people<br>definitely shortcutted their<br>morals for monetary success.<br>- Yeah, I mean, the<br>golden handcuffs comfort<br>can destroy the soul in some sense.<br>Yeah, so that's really<br>important to remember.<br>There's young people kind of thinking,<br>"Do I even want to be a programmer now?"<br>It seems like AI is<br>getting better and better<br>at programming.<br>If they were trying to make that decision,<br>would you still say,<br>"Yeah, if this is something<br>that fills you with joy"?<br>- I still want my kids<br>to learn how to program<br>if I can answer that, if<br>that's a good enough answer.<br>- Yeah, that's a really<br>- In the sense that<br>- Powerful answer.<br>- my kids are<br>decade younger than a young<br>person trying to learn<br>how to program right now.<br>And so if I want...<br>I'm hoping that my kid can run and build<br>whatever he wants in Roblox.<br>I'm showing him ChatGPT and be like,<br>"All right, let's ask<br>questions. How do we do this?"<br>It's still extremely confusing for him<br>to do all these things.<br>And so it's like, "Let's do this."<br>I want him to learn and be effective,<br>and maybe one day he has to throw away<br>all those skills in 20 years.<br>But I bet you that whatever<br>skills he threw away<br>or whatever hard skills<br>he had to throw away,<br>an entirely new field that<br>none of us have thought about,<br>just like if you would have<br>asked somebody in the '70s<br>about social networks, they'd be like,<br>"What the heck are you<br>even talking about?"<br>Things will exist in the future<br>that are going to be massively different,<br>and crazy, and exciting.<br>- Maybe in virtual reality.<br>- [ThePrimeagen] There you go.<br>- Maybe all of us actually down the line<br>will just be building video games.<br>- Just entertainment for all,<br>the brave new world of our world?<br>- Well, I think entertainment<br>is a kind of trivialized version<br>of what a video game could be.<br>It's like, what is the<br>purpose of life anyway?<br>I mean, it could be a deeply<br>fulfilling video game.<br>It doesn't have to be<br>just like dopamine rush.<br>It could be educational,<br>it could be scary, it<br>could be challenging,<br>forcing an evolution,<br>the leap into adventure<br>that it makes up a fulfilling life.<br>That could be video games. Who knows?<br>Especially in virtual reality.<br>I tend to...<br>That's the other thing. I<br>play a lot of video games.<br>I think there's a lot of room<br>to make video games deeply fulfilling,<br>like there's a lot of<br>space where that can go.<br>- I didn't know you played<br>a lot of video games,<br>because when I asked you specifically,<br>"Should I play World of<br>Warcraft or do Advent of Code,"<br>you're like, "Advent of<br>Code, Advent of Code."<br>- Oh, well, that might mean<br>I've never played World of Warcraft<br>because there's certain games I avoid.<br>Fortnite, by the way,<br>I think was one of them<br>because I was worried<br>it'd become too addicted.<br>- [ThePrimeagen] Yeah, yeah.<br>- So there's certain games I just know<br>I won't get super addicted to.<br>Like for example, I'm<br>terrified of Civilization.<br>I have never played a Civ's<br>game because I'm worried.<br>I'm worried the dark path in my lead<br>because there's some games<br>just really pull you in.<br>I'm much better with,<br>that's why I play Skyrim.<br>I can play these games or a Baldur's Gate,<br>and moderate how much I play.<br>And they could be like<br>a lifelong companion<br>versus an addiction<br>where it's like sunrise<br>and you're like, "What's<br>happening with my life?"<br>And I find myself naked<br>behind a dumpster somewhere<br>just wondering what happened.<br>Yeah, so that's how I<br>choose my video games.<br>- You're not the first person<br>who has specifically<br>called out Civilization.<br>- Yeah.<br>- I've had more<br>than one person, also very<br>high up in the tech world,<br>be like, "Civilization is my downfall.<br>If I get near that game, I'm done."<br>- [Lex] Yeah. So.<br>- I've never even played the game.<br>Now it makes me be like,<br>"Dude, I got to give this<br>a try. That sounds crazy."<br>- Yeah, and the new one<br>is actually supposed to<br>be really, really good.<br>What were we talking about? Yes.<br>For that same young developer,<br>is there a trajectory through jobs<br>that you could give advice on?<br>So you started out with Schedulicity?<br>- Yeah, that was my first full-time...<br>When I had the government<br>contracting one before,<br>that wasn't quite full-time.<br>It was in C. It was a lot of fun.<br>And then building my own<br>startup for quite some time.<br>So if you count either<br>of those as full-time,<br>then those would be the full-time.<br>Schedulicity was the official on the docs.<br>- Is there some value to jumping around,<br>working in one company<br>and another to try to figure<br>out what brings you joy?<br>- I think there's a lot to that<br>because not every job you're<br>gonna get is gonna be great.<br>Now, your first job you could get<br>could make you think you hate programming.<br>It happened, I did an<br>internship at a place<br>and I keep on surprising you<br>with more kind of things<br>I did in the past,<br>did an internship at-<br>- Fuck. You did so many things.<br>It's incredible.<br>- At a place called Total<br>Information Management System.<br>Remember when I talked<br>about that hours ago,<br>about healthcare and that<br>and industrial shipping and all that?<br>It was a C-sharp shop.<br>It was so bad that after I did that,<br>I went and changed my major<br>to mechanical engineering<br>first semester in college.<br>- Oh, boy. Oh, boy.<br>- I thought I,<br>"Okay. Actually I like computer science.<br>I hate the programming."<br>So just because you've had a job<br>doesn't mean it's going to be the one.<br>And the thing is, here's<br>the best part though,<br>if you get a job and you like it<br>and you want to do it and it's exciting,<br>you don't need to change.<br>I think a lot of people are like,<br>"Oh, I got to find the next thing.<br>I've been here for two years."<br>There's of this, you got<br>to move around mindset.<br>I don't think you have to move around.<br>I don't think it hurts your career.<br>Because if anything, you'll<br>gain more responsibility<br>and you'll be able to talk<br>with way more authority.<br>And the next time you interview,<br>you're going to be way more into like,<br>"Oh yeah, I had to get these<br>X people and these X people<br>to be able to do all this stuff."<br>And it's like you can talk<br>with much more authority<br>if you stay at a place longer.<br>And that's nothing but<br>benefits in my book.<br>It's only if you stay at a<br>place because you're afraid<br>or you don't want to...<br>You already have something<br>that works for you<br>and you just never want to<br>change and you're just like,<br>"I get to go in and just<br>be completely mindless."<br>I think if you go mindless<br>for a couple years,<br>you'll find yourself...<br>That's the only real danger.<br>You just come out with nothing at all.<br>- Especially when you're<br>younger, that's the whole point.<br>"Take the risk.<br>Take the leap out to the next<br>thing, to the next thing."<br>And not for money, but for<br>just personal joy, joy.<br>- And money could get at the<br>end, that's the best part.<br>When you don't strive for the money,<br>sometimes the money just shows up anyways.<br>- Yeah.<br>And some of the, what<br>makes life worth living<br>is the people you work with, a good team.<br>Some of it's not to be<br>generic, but culture matters.<br>It's whatever makes you happy.<br>For example, I just had<br>won't call out places,<br>but there's certain companies<br>where everybody is very nine to five.<br>And even if the work is exciting,<br>they don't work hard enough I would say.<br>I'm one of those people<br>that likes to go all out,<br>likes to be surrounded by<br>people who are super passionate.<br>Now to be fair, a lot of them<br>don't have families or don't-<br>- Yeah.<br>- It's a fascinating choice.<br>I really don't want to<br>talk down on any choice<br>like work-life balance or not,<br>I think both are beautiful paths.<br>And if you really derive a lot of value<br>from joy from your work,<br>going all in, at least for<br>some stretch of your life<br>is a beautiful thing to do.<br>Just all out,<br>full-on passion, sacrifice<br>a lot of social life,<br>all that kind of stuff.<br>I don't know. That<br>could also be beautiful.<br>- There could be something<br>very, very exciting about that<br>in some sense, especially if<br>you're building your own thing.<br>I could imagine that<br>would be very exciting.<br>If I was Amazon, Jeff<br>Bezos building Amazon,<br>one could imagine that those early years<br>were probably very rough<br>and the amount of hours<br>he probably put in were very, very rough.<br>But I will say that<br>there's this unique aspect<br>in our culture where we make<br>this as an equal trade-off<br>between family or work,<br>like "Oh, you do or you<br>don't have to have kids."<br>And my only real notion<br>with that one is that<br>you will never know your capacity for love<br>until you have kids.<br>You just don't know.<br>And some people are like,<br>"Oh yeah, but I love my dog."<br>It's just like I loved my dogs too.<br>And then I had kids and now my dogs are,<br>"They're all right. I like them."<br>- I get it.<br>- I could come home<br>and I pet Indy and I'm like, "Oh, Indy."<br>And then I'm just like, "Okay, bye Indy."<br>I can't even describe the<br>difference between the two,<br>it's not even the same.<br>And so that trade-off making<br>is no one can tell you<br>what it's like because<br>there's a real reality<br>that's right now, and I'm<br>sure, I'm 100% positive<br>this is with my wife as well,<br>where if right now we got news that said<br>you have some medical<br>procedure where if we do this,<br>you will die, but your kid will live,<br>there's not a question in my<br>soul that I wouldn't do that.<br>If I could look into the future<br>and if I had to die right now<br>knowing that my kids<br>would've a better life,<br>they would be happier,<br>they'd be more fulfilled<br>and all those things, I guarantee you<br>either my wife or I would<br>take that every single time.<br>It's just like you'll never be able<br>to say that about most things.<br>People will jokingly say that<br>until it's actually on the line.<br>But it's like with that, you<br>just have this ferociousness.<br>I can break out and sweat thinking<br>about somebody fictionally<br>pushing my kid to the ground,<br>actually get real adrenal<br>responses flowing through my body.<br>So it's just such a different world<br>and it's hard to explain.<br>And you could never have convinced me<br>when I was young that it'd be this big.<br>- [Lex] Yeah, yeah.<br>- Yeah. I thought I knew.<br>I didn't know.<br>- But to add on top of that,<br>some of the most successful people I know,<br>some of the most productive<br>people I know have kids.<br>So I don't know if it's even a trade-off.<br>That love you feel, it seems<br>to be a catalyst for like<br>to make sure you have less time,<br>but you're going to use that<br>time better to be productive.<br>- I would argue that it definitely<br>changed a lot of my life<br>and how I approach<br>problems and everything,<br>in a very different way.<br>- Let me ask some random<br>questions from Reddit.<br>On a scale of one to 10, how<br>much do you hate every product<br>Microsoft has ever created<br>and why is it a 10?<br>I think we covered that.<br>- We haven't technically covered it.<br>- There you go. All<br>right, go ahead, go ahead.<br>- Okay, the only thing<br>I'll say is that<br>- Use your time.<br>- I don't like that Microsoft<br>pretends to be the good guy<br>when what they really<br>wanted to get you addicted<br>to their products, to get<br>you to use their products<br>as much as possible so they can extract<br>as much money out of you.<br>- Well, in this world, are<br>there really good guys?<br>- That's a great point. I would<br>argue Neovim is a great guy.<br>There's no way they can make money.<br>Justin Keyes is the benevolent dictator<br>and he thinks deeply about the product<br>and tries to make it the best as possible.<br>Whereas something like Microsoft,<br>they made VS Code as a loss leader.<br>Copilot's probably<br>operating on a loss leader.<br>These things are all<br>getting you so tied into,<br>GitHub, remote workspaces, CI, Copilot,<br>you become this trapped<br>in permanent person<br>and if that price rises,<br>the switching cost is<br>so great at some point<br>that you'll never be able to switch.<br>That's my only fear is that<br>Microsoft was once accused<br>of EEE and it feels like<br>they're EEEing again.<br>- Yeah, I'm nervous about<br>criticizing a good thing<br>because you could see an<br>incentive to do that good thing,<br>like Google creating all these services<br>that don't make money<br>like Gmail for example,<br>you can cynically say<br>they're only doing that to<br>tie you into an ecosystem<br>so they can basically keep you for life.<br>But also it's awesome<br>that they created Gmail.<br>- Yeah.<br>- And they created an<br>incredible product, so...<br>- I can side with you on that one.<br>It is a good product. VS<br>Code is a good product.<br>- Yeah.<br>- Now, I think,<br>don't put that on the...<br>But it is fine. They did a great job.<br>- Yeah, so there is going<br>to be financial incentives<br>behind some of these companies.<br>And by the way, me<br>defending, not defending,<br>but saying positive things about Microsoft<br>is just so I could talk shit to Prime.<br>But that's...<br>- I love that by the way.<br>- Yeah, Linux is my first and<br>last love, it definitely...<br>The spirit of Linux and open<br>source is a beautiful thing<br>so I do think that when you<br>have these large corporations,<br>even when they try to do good,<br>oftentimes the profit imperative<br>just takes over and they<br>can corrupt themselves<br>and Microsoft has a long history<br>of doing just that to themselves.<br>- Yeah.<br>- That said, they've done,<br>they have you could say for cynical reason<br>because they want to<br>seem like the good guy<br>amongst developers, but they've done a lot<br>to support open source.<br>It's just like, same with Meta,<br>Meta has done insane amount-<br>- Yeah.<br>- to support open source.<br>You can say, actually for that one,<br>I don't know if I can<br>even make a financial<br>or a cynical case for why Meta<br>is open sourcing Llama and these-<br>- Yeah, that one's confusing.<br>It just seems great.<br>- Maybe for hiring.<br>But no, I think that's legit,<br>just an ethical, really powerful decision.<br>And sometimes these companies,<br>because they have a lot of cash,<br>can make the right, do the right thing.<br>- Yeah. It's a really<br>positive way to look at it.<br>And I think that's really nice.<br>- Well, we should always be skeptical.<br>- Yeah, I mean because at the<br>end of the day, companies,<br>they're not good, they're not<br>bad, they're morally neutral.<br>It's the people that are running them,<br>the decisions those people<br>make that are really<br>where the bad or the good comes from.<br>- Another question, ask him<br>if he knows how to milk a cow?<br>I've already asked that.<br>The answer is-<br>- No.<br>- Oh, no, you don't know.<br>- I've never milked a cow.<br>- Never milked a cow.<br>- Almost been killed by a<br>cow, but never milked a cow.<br>- Did you ever ride a bull?<br>- No.<br>- All right. Why male models?<br>- Okay, so I can explain that one.<br>I will say something like,<br>"I really dislike the color purple<br>because the color purple makes me upset."<br>I don't know, just something very benign.<br>But then someone right<br>afterwards will be like,<br>"But why don't you like the color purple?"<br>And it'll just be like...<br>It's just like Derek Zoolander.<br>It's just like I get done on<br>a five-minute talk about it<br>and then the next question's like,<br>"But seriously why though?"<br>It was just like, "Why male models?"<br>- Yeah, so that's the Zoolander reference<br>when there's a long explanation<br>why male models and he<br>agrees and then forgets.<br>- Yep.<br>- What is Ligma?<br>- I've died by Ligma quite a few times.<br>So do you know the origin story of Ligma?<br>- [Lex] No.<br>- So Ninja, famous streamer,<br>someone got him with Ligma<br>and said like, "Oh," something like,<br>"Have you heard about Ligma?"<br>And he was like, "No." And<br>he's like, "Oh, Ligma balls."<br>And then after that Ninja got so hurt<br>by getting had by that,<br>he started banning anyone in<br>chat who's said the word Ligma<br>or something like that.<br>And so then if you don't embrace<br>the meme you get destroyed.<br>So of course, gets destroyed<br>and so then the whole goal is that,<br>can people get me with Ligma?<br>TJ did iladies.<br>He's like, "Oh, did you hear that E-girls<br>got renamed to iladies?"<br>And I just didn't even see it coming.<br>And I was just like, "What?"<br>And he's like, "iladies<br>nuts on your face."<br>And then it's just like, "Oh my gosh."<br>And then a pirate software<br>has also got me like,<br>"Oh, have you heard about Google SIMA,"<br>which SEMA is a real product by Google><br>And I'm like, "Oh yeah,<br>I've heard about this.<br>What is this again?" He's<br>like, "SIMA balls," right?<br>It's just like, "Dang<br>it," how do I keep...?<br>So I've just had it happen live<br>on stream many, many times.<br>I've died by Ligma the most.<br>- Please ask him about<br>the size of his dict.<br>- Okay, so that's D-I-C-T,<br>that's dictionary in Python.<br>- Who doesn't love dicts?<br>- Yeah, that's a great question.<br>Just a dicts party when you use Python.<br>- I love dicts.<br>- That should be a T-shirt.<br>That's actually a hilarious T-shirt.<br>So on Stack Overflow, you can<br>ask any question you want,<br>and I decided to craft a question<br>one day on Stack Overflow<br>that says how to measure<br>your dict in bytes.<br>And then I proceeded to really go to town<br>and explain all the different things like,<br>"Well, what about the cost of the strings<br>and the references?"<br>And when you really get<br>both hands on your dict<br>and really go after it, it's very hard to,<br>really threw in some innuendos.<br>The Stack Overflow team<br>deleted the question,<br>and then someone hand wrote<br>me an email explaining<br>why they deleted the<br>question and complimented me<br>on how thoroughly and<br>thoughtful the question was<br>just to weave in innuendos<br>and that the entire team was impressed,<br>but it's inappropriate<br>and it had to be deleted<br>and don't do it again or we're<br>going to ban your account.<br>And so it was a very funny<br>moment and so I was like,<br>"Oh, that's funny that happened."<br>That was about six years ago.<br>Last year I was at a conference<br>and there's a guy wearing<br>a Stack Overflow name tag<br>and I was like, "Oh, you<br>work at Stack Overflow?"<br>He's like, "Oh, yeah, I do."<br>I'm like, "Do I got a story<br>for you." And he goes,<br>- Oh, no.<br>- "No, wait a second.<br>Are you the dict guy?"<br>- Yeah.<br>- That was his<br>only question was that.<br>And I was just like, "Let's go."<br>I didn't even say anything about me<br>and he already knew<br>immediately I was the dict guy.<br>- I should say in all seriousness,<br>I think I've had a bunch of conversations<br>in the Python world where<br>I would have to mention<br>the name of this data structure<br>and it makes me uncomfortable every time.<br>- It's a very unfortunate<br>shortening of a word.<br>- Dict.<br>It's just like when I<br>go to the hardware store<br>and ask for caulk<br>and there's always a nice old lady<br>and I ask her where to find,<br>and it's very uncomfortable.<br>I try to pronounce it as hard as I can.<br>- Really get that L in there, like caulk.<br>- Caulk, just to be clear.<br>And try to avoid eye<br>contact the whole time.<br>You said that God was a big part,<br>was a big part of your life.<br>Can you speak to that a little bit more?<br>Who is God and what effect,<br>what role did he play in your life?<br>- So I did talk about that<br>one important evening where I,<br>for whatever reason, gained<br>my conscious that moment.<br>So obviously for me that<br>I grew up with a life<br>where I would probably argue<br>myself as a functional atheist.<br>I went to church a handful of times.<br>I can't quite really remember<br>actually going to church<br>as a family in any sort of sense.<br>So there wasn't some super strong tie<br>or anything like that to it.<br>Pretty much anyone else growing<br>up in America in the '90s,<br>you had some sort of<br>impact or intersection<br>with church at some point in your life,<br>that was just a very normal<br>thing I would probably say.<br>And so when that happened,<br>it was a fairly big surprise for me.<br>I wasn't necessarily going that direction<br>or deciding to do any of those things.<br>And so for me, it's<br>obviously the turning point<br>of my entire life.<br>I cannot speak to who I<br>would be now without that.<br>I can just tell you that I<br>wouldn't have had the drive.<br>I probably would not<br>have completed college.<br>I would've not have found<br>my wife or had my kids.<br>I wouldn't know how to value people.<br>I don't think without that whole thing,<br>my value for people would've<br>been very, very small<br>because I would've continued<br>to just objectifying<br>in the way I was.<br>And then probably the biggest thing is<br>there's this one verse, I<br>don't even know where it's at,<br>it effectively says that we<br>love because he first loved us.<br>And so for me it's like<br>I don't think I would've ever lived a life<br>that was happy without this.<br>And I just didn't even know<br>that that was an option for me.<br>And I never really,<br>it was a very tough set of years for me<br>and I was very, very sad<br>and just always just constantly<br>looking for something<br>to fulfill me.<br>And so it's like I didn't<br>have any confidence,<br>I didn't have any joy.<br>I felt very sad.<br>And so that was this moment where<br>for the first time ever<br>didn't, all of a sudden<br>I just felt like I didn't<br>have to live up to a standard.<br>The standards have already been paid for,<br>everything's already,<br>that's the free gift,<br>that's the exchange.<br>And so it's just like for the first time,<br>I didn't have to be the cool guy,<br>I didn't have to have all the right words,<br>I didn't have to feel, I didn't<br>have to go on the conquest,<br>the sexual conquest to find validation.<br>I didn't have to do any of those things<br>and it was exceptionally liberating.<br>And so who is God?<br>That's more of a catechism<br>question perhaps.<br>What is man, who is God?<br>Those are much harder questions.<br>I believe that anytime<br>you try to get too deep<br>into describing who God is,<br>you typically fall into Christian heresy.<br>- But for you, he gave<br>you a chance to be happy.<br>- Yeah, he gave me a chance<br>not just to be happy,<br>but also made it so that the first time<br>I can actually feel forgiven<br>I guess in some sense,<br>and able to forgive people that hurt me.<br>For a long time I had this<br>weight I'd carry around<br>from the things I hated about high school<br>and all that kind of stuff.<br>And through that experience,<br>I just wrote down every last person's name<br>and actually held them<br>with me for quite some time<br>and this was the list of people I forgave.<br>And I read it a few times.<br>I couldn't let myself be angry or consumed<br>by that kind of stuff<br>because hate is so sticky,<br>it sticks for a lifetime.<br>And there really is<br>only one cure for hate,<br>which is forgiveness.<br>I just don't think you can<br>get rid of it without that.<br>And so I just had choose<br>to forgive these people<br>and to move on, and it<br>really kind of freed me.<br>And I would never have<br>thought forgiveness as a means<br>for that change if I didn't<br>first experience it myself.<br>- What's the role of love<br>in the human condition,<br>to go to the philosophical,<br>and what's been the role<br>of love in your life?<br>- It's very obvious<br>that every person wants or desires love.<br>My wife has recently convinced me<br>to watch Love is Blind with her one time.<br>And you watch the show and if<br>you're not familiar with it,<br>it feels like just a<br>disaster of an experiment<br>to just cause crazy filming.<br>But anyways, the idea is that<br>if you just don't see somebody,<br>you can fall in love with somebody<br>and want to marry them after 10 days<br>or some very small period of time.<br>And what you really end up<br>seeing is all these people<br>who are just desperate for actually love.<br>And there's some part of it...<br>I told my wife, "It's<br>like love gladiators."<br>We're watching people<br>battle it out for drama<br>and really what they want is love.<br>And it's like they're fighting<br>to the death and love,<br>if you will.<br>And it's this almost kind<br>of sad aspect to watch.<br>And so I think that it's hard to call,<br>what is its role in the human experience,<br>because I think it's just something<br>that we all naturally<br>not just want, but need.<br>And I don't think that<br>you can really progress,<br>and when I say the word love,<br>I would like to kind of narrow<br>it down maybe a bit more.<br>And I don't mean Eros, the<br>Greek word like sexy love,<br>I think that paternal and friendship love<br>are extremely important.<br>And I think agape, God love<br>is also very important.<br>Agape love is the one that<br>is superior to them all,<br>but obviously different and also co-needed<br>with the parental ones and all that.<br>And so you kind of need<br>this mixture of them all,<br>and each one is different for each reason<br>and where it's applied.<br>And so I don't think...<br>I just don't see a world in which is good<br>of any kind without that as<br>a very foundational piece.<br>Because again, I didn't come here<br>trying to quote any sort<br>of scripture, but it says<br>that it's not the nails that<br>hung on there, it's love.<br>That's the reason why these things happen.<br>And so if forgiveness is the requirement<br>to kind of pay off hate in some sense,<br>then love has to be the<br>motivation for forgiveness.<br>- Yeah, that's the tragic aspect of life.<br>I think there's a deep loneliness<br>in all of us and a longing<br>to be a part of this bigger thing.<br>And that longing is a love and<br>it has many names, but yeah.<br>Yeah, the love aspect of it,<br>it's the beautiful aspect of life,<br>the tragedies, the loneliness,<br>and the unfortunate suffering<br>that is a fundamental part of life<br>and the beautiful aspect is the love.<br>- [ThePrimeagen] Yeah.<br>- Which I think is a good<br>time to mention more Reddit,<br>the place for everlasting<br>positivity and love.<br>Somebody wrote, "Please thank him, you,<br>for his everlasting positivity<br>and give him a big hug for me."<br>So I won't give you a big hug on camera<br>because I'm afraid I'll get a boner<br>and that'll be very unfortunate.<br>- Hey, let's not bring<br>dicts into this again, okay?<br>- It's my favorite data structure.<br>Like I said, I love dicts,<br>all kinds of dicts, ordered dicts-<br>- Unordered.<br>- Unordered dicts. I don't discriminate.<br>Yeah.<br>But just that to say<br>big thank you from me.<br>I listen to you a lot and<br>I just really enjoy...<br>I've been going through<br>a lot of shit myself<br>and just the positivity,<br>even when you're building<br>the stupidest shit,<br>it's just the positivity radiates from you<br>and you inspire me to be a good person.<br>You inspire me to build<br>stuff. So thank you.<br>And I'm sure there's many, many others<br>who listen to you for the same reason.<br>So thank you for your positivity.<br>Thank you for being the<br>light in many people's lives,<br>and thank you for talking to me, brother.<br>- Dang. That was very, very kind.<br>I really do appreciate all those<br>extremely nice words even from Reddit.<br>That's very surprising. But thank you.<br>I mean, I know you know<br>that there's many people's lives,<br>and I'm sure you've received the letters<br>that have been changed from<br>actions and things you've said<br>and things you've done.<br>And so it's one of the best parts<br>about doing this side is that<br>you get a chance to potentially<br>improve somebody's life.<br>And you getting to<br>interview a lot of people,<br>there's a lot of people that<br>listened to Chris Latner<br>and saw his excitement for Swift<br>and probably went and learned Swift<br>and then got really amazing jobs<br>and it can be all origined<br>back to back to you<br>and that interview, and so<br>those are amazing things.<br>And so same goes back to you,<br>you've done a lot of good stuff.<br>- Right back at you brother.<br>Thank you for talking today.<br>Thanks for listening to this conversation<br>with Michael Paulson, aka ThePrimeagen.<br>To support this podcast,<br>please check out our<br>sponsors in the description.<br>And now let me leave you with<br>some words from Paulo Coelho.<br>"When we strive to become<br>better than we are,<br>everything around us becomes better too."<br>Thank you for listening and<br>hope to see you next time.