De vuelta al futuro

Rate this content
Bookmark

Todo lo viejo es nuevo otra vez. Pero esta vez tenemos las lecciones del pasado para guiarnos hacia lo desconocido. Sunil quiere revisitar algunas ideas antiguas y mezclarlas con las nuevas capacidades del edge y la plataforma web, y ver si podemos multiplicar por 10 las aplicaciones que construimos hoy en día.

30 min
21 Oct, 2022

Video Summary and Transcription

El orador comparte su viaje personal en el campo del desarrollo de software, desde comenzar en tecnología después de la universidad hasta experimentar agotamiento y tomar medidas hacia el autocuidado. Enfatizan el poder de la tecnología y la accesibilidad, así como la aparición del edge computing. El orador presenta su proyecto, el Kit de Desarrollo Multijugador, y discute los desafíos de construir aplicaciones multijugador en tiempo real. También destacan la importancia del equilibrio entre el trabajo y la vida personal y el crecimiento personal en la industria.

Available in English

1. Introducción al Viaje del Héroe

Short description:

Estuve aquí el año pasado y fue genial y estamos de vuelta otra vez. Mi charla esta vez no es tan técnica como suelo hacer y es un poco personal, por eso estoy asustado en este momento. El viaje del héroe es un patrón de narración que probablemente sea la forma más popular de contar una historia en este momento. Así que esta charla es como una historia sobre mí. Así que esta soy yo justo después de salir de la universidad, y acabo de empezar a trabajar en tecnología. Pensé que iba a ser músico y escritor, un verdadero artista.

Estuve aquí el año pasado y fue genial y estamos de vuelta otra vez. Es realmente agradable que la temporada de conferencias esté de vuelta en marcha. Claramente, muy pocas personas siguieron las sugerencias de uso de mascarillas.

Mi charla esta vez no es tan técnica como suelo hacer y es un poco personal, por eso estoy asustado en este momento. Pero es algo a lo que llamé de vuelta al futuro. Antes de empezar, un anuncio rápido. Estoy increíblemente feliz de anunciar que seré el próximo primer ministro del Reino Unido. Es un honor aceptar este cargo. Prometo cumplir mi promesa de campaña de completar process.exit. Todos lo han mencionado como una promesa, pero realmente la cumpliré. El viaje del héroe es un patrón de narración que probablemente sea la forma más popular de contar una historia en este momento. Películas, libros, cómics, cuentos, la idea es de un protagonista que parte desde cero y se aventura en el mundo o en una situación y enfrenta numerosos obstáculos, un mentor le da consejos, los ignora y se encuentra en un punto muy bajo donde piensa que todo está perdido. Y luego, por alguna magia, consejo, amigos, sistemas de apoyo, niño interior, encontrando el coraje, se levantan de ese espacio y regresan a donde todo comenzó, pero como una persona nueva, con nuevos conocimientos y un nuevo camino por delante.

Así que esta charla es como una historia sobre mí. Es un poco extraño incluso usar la frase `viaje del héroe`, porque, bueno, suena completamente egocéntrico, ¿verdad? Como si fueras, por supuesto, el héroe de tu propio viaje, pero todos son el héroe de su propio viaje. Pero está bien. Estoy intentando algo nuevo. Todos ustedes podrán ver una versión un poco cruda de cómo pienso en algunas cosas. Así que esta soy yo justo después de salir de la universidad, y acabo de empezar a trabajar en tecnología. Estaba haciendo un poco de trabajo por contrato, lo que significaba que finalmente podía permitirme una buena guitarra para mí. Esa es mi Les Paul azul que simplemente adoraba. Todavía la tengo. Mira qué bonita se ve a la luz. Tómate un segundo. Solo una hermosa guitarra. También me compré un pequeño kit de efectos y un amplificador. La cosa es que pensé que iba a ser músico y escritor, un verdadero artista. La tecnología solo estaba allí para pagar las cuentas. Nunca iba a ser algo a tiempo completo. Solo iba a pagar las cuentas hasta que encontrara la novela seminal o un gran

2. Descubriendo el Poder de HTML, CSS y JavaScript

Short description:

Pero me fue muy mal en la universidad y me encontré escribiendo JavaScript para una pequeña empresa contratista en Hyderabad, India. HTML es cómo estructuras tu interfaz de usuario. Etiquetas de estilo. Usas CSS para dar estilo a tu página y hacer que se vea de una manera particular. Y escribes JavaScript para el comportamiento. Sentí que el mundo se abría ante mí. En realidad, no puedes escribir HTML a mano porque es difícil de mantener. Esta soy yo dando una charla en una de mis primeras conferencias de JavaScript en India llamada JSFoo, una gran conferencia. Me había convertido en parte de mi identidad aprender todas las herramientas y bibliotecas, cuál sería la mejor opción para ti, etc. Pude utilizar mis habilidades como desarrollador web en pequeñas empresas, grandes empresas, firmas gubernamentales, como diseñador, como desarrollador.

álbum que fusiona música de rock india y occidental, por supuesto. Pero me fue muy mal en la universidad y me encontré escribiendo JavaScript para una pequeña empresa contratista en Hyderabad, India. Y una mujer me estaba enseñando desarrollo web. Y en unos 5 o 10 minutos, me enseñó lo que me serviría para el resto de mi carrera. HTML es cómo estructuras tu interfaz de usuario. Etiquetas de estilo. Usas CSS para dar estilo a tu página y hacerla lucir de una manera particular. Y escribes JavaScript para el comportamiento. Y era literalmente este fragmento de código y se veía increíble. En 10 minutos, pensé, oh Dios mío, puedo hacer cualquier cosa con esto. Puedo tomar cualquier problema que se presente para resolver en una computadora y compararlo con la construcción de una estructura de interfaz de usuario, darle estilo y darle comportamiento. Sentí que el mundo se abría ante mí. Y luego, justo después de eso, ella me dijo que en realidad nunca escribiría código de esta manera. Verás, no puedes escribir HTML a mano porque es difícil de mantener y necesitas usar un lenguaje de plantillas y distribuirlo en varias cosas. Nunca escribirás tu estilo en línea dentro de tu HTML. Escribirás hojas de estilo y usarás nombres de clase y arquitecturas como, bueno, BEM salió a finales de los años 2000. Esto fue mucho antes. Nunca escribirás un controlador de eventos directamente en tu elemento porque eso es difícil de mantener. Esto fue mucho antes incluso de DevTools, así que tenías que usar Alert para depurar. Y eso me desanimó un poco, pero entendí que así es como se construye la tecnología, aprendiendo los sistemas que la rodean, aprendiendo arquitecturas y teorías. Esta soy yo dando una charla en una de mis primeras conferencias de JavaScript en India llamada JSFoo, una gran conferencia. Fui parte del comité organizador, así que todavía le tengo un cariño especial. Así que, cuando digo que es la mejor conferencia, no quiero ofender a React Advanced, solo que fue una conferencia en la que me ignoraron. El slide en realidad dice `abrazar la plantilla` porque los lenguajes de plantillas estaban de moda en ese momento, Jade, Handlebars, Pug. Había como diez, ni siquiera recuerdo todos. Y me había convertido en parte de mi identidad aprender todas las herramientas y bibliotecas, cuál sería la mejor opción para ti, etc. Por qué elegirías algo, qué sistema de arquitectura construirías, porque nadie debería estar escribiendo HTML, CSS y JavaScript en bruto, pensé. Y luego pasé los siguientes quince años en varias empresas. Es un poco extraño, miro esto y pienso, oh mierda, cambié de trabajo mucho, pero te prometo que no me peleé con todos. De hecho, aprendí muchas cosas, me mudé al siguiente lugar. Lo que intento decir es que pude utilizar mis habilidades como desarrollador web en pequeñas empresas, grandes empresas, firmas gubernamentales, como diseñador, como desarrollador, recuerdo haber escrito la reescritura de los mapas de Yahoo, escalamos Myntra, que era una startup de comercio electrónico

3. Experiencia de Burnout y Acción Tomada

Short description:

Pasé algún tiempo en Oculus, que, por cierto, posiblemente fue el trabajo más genial que tuve, que consistía en escribir React para realidad virtual. El burnout ocurre cuando menos te lo esperas. ¿Quieres saber cómo se ve el burnout? Se ve genial, por cierto. Estas son fotos mías en 2019. Mi peso fluctuaba. Y convenientemente, a principios de 2020, en enero y febrero, fue cuando empecé a notar que debía hacer algo al respecto.

de alrededor de diez ingenieros a unos 500, eso fue genial. Pasé algún tiempo en Oculus, que, por cierto, posiblemente fue el trabajo más genial que tuve, que consistía en escribir React para realidad virtual, sin importar tus opiniones sobre el metaverso, esto fue lo más futurista que he hecho en mi vida. Pasé algún tiempo en el equipo de React, eso no salió tan bien. Y construí una carrera dedicando mi vida a la tecnología y trabajando duro escribiendo código, escribiendo mucho código. En algún momento del camino, dejé de tocar mi guitarra. También dejé de leer libros, que es una de mis cosas favoritas. Incluso dejé de escribir, porque quién tiene tiempo para escribir otras cosas cuando ya estás escribiendo código durante 10, 12 horas al día. Todo iba genial hasta finales de 2019, cuando empecé a notar que me estaban sucediendo varias cosas. Mi cuerpo empezó a desmoronarse. Tenía dolor más días que no. Mis relaciones empezaron a desmoronarse. Me encontraba discutiendo con mi esposa por tonterías. El burnout ocurre cuando menos te lo esperas. De hecho, cuando te das cuenta de que el burnout ha ocurrido, ya es demasiado tarde. Y lo peor es que tus amigos y familiares a tu alrededor pueden darse cuenta de lo que está sucediendo, pero te lo señalan y te dicen algo como `bueno, vete al infierno`. Soy una superestrella en el equipo de React y las cosas van genial, así que no tienes ni idea de lo que estás hablando. No me digas esas cosas. Y ella me dice: `eres mi hijo`. Y yo le digo: `sí, pero cállate. No sabes cómo es mi vida`. ¿Quieres saber cómo se ve el burnout, cómo es la cara del burnout? Se ve genial, por cierto. Estas son fotos mías en 2019. Lo encontré. Y miré los datos. Y pensé: sí, estos son los días en los que apenas dormía tres o cuatro horas por noche y no comía bien. Mi peso fluctuaba. Creo que estaba unos 10 o 15 kilos más delgado de lo que estoy ahora. No era genial. Y convenientemente a principios de 2020, en enero y febrero, fue cuando empecé a notar que debía hacer algo al respecto. Y convenientemente, eso fue cuando ocurrió una pandemia mundial, que es el mejor momento para tu salud mental. Por cierto, no pudiste enfocarte

4. Transformación Personal y Cuidado Personal

Short description:

Dejé de fumar, controlé mi consumo de alcohol, mejoré mis hábitos de sueño y alimentación, y reparé mis relaciones con mi esposa y amigos. Es sorprendente lo mucho mejor que es la vida cuando te cuidas a ti mismo.

en ti mismo y el cuidado personal cuando eso está sucediendo. Así que esta no es una historia con un final triste porque claramente han pasado un par de años desde entonces. He hecho algunas cosas desde entonces. Dejé de fumar. No sé. La gente lo sabe desde el año pasado. Han pasado dos años y medio sin fumar. Un hábito repugnante. Deberías probarlo. Deberías odiarlo y deberías dejarlo de inmediato. Por favor, no lo intentes, es horrible. No es bueno. Reduje mi consumo de alcohol. Duermo las horas necesarias. Ahora duermo muy bien. Como bien. Arreglé mi relación con mi esposa y mis amigos. Increíble. Una vez que tienes tiempo para pasar con ellos, te das cuenta de que son personas interesantes. Debería pasar más tiempo con ellos. Me formé

5. El Poder de la Tecnología y la Accesibilidad

Short description:

El año pasado en esta conferencia, lucía más feliz con un nuevo corte de pelo y un traje elegante. La tecnología frontend es solo una herramienta, no la solución definitiva. Exploré metallures y me adentré en la informática de borde. Trabajando con CloudFlare, arreglé su CLI y aprendí mucho. La tecnología comienza con expertos pero rápidamente se vuelve accesible para todos, al igual que las bases de datos y el desarrollo frontend. Los cursos y herramientas gratuitas facilitan el aprendizaje y la creación. No te desanimes por los altibajos de las startups, tú también puedes tener éxito.

arriba. Y el año pasado, cuando estuve aquí en esta misma conferencia, así es como lucía. Parecía mucho más feliz, creo. Además, me corté el pelo y me puse un traje elegante, por supuesto. Y conseguí ese traje sexy. Mira a ese tipo, ¿verdad? Maldición, incluso sin corbata, se veía bien. Iba a una boda de verano en Inglaterra y necesitaba una segunda ocasión para usar el traje para justificar el costo. Pero es tan bonito. En los últimos años, aprendí algo más. Uno es que la tecnología frontend no lo es todo. Es solo una herramienta para resolver cosas. Comencé a explorar metallures. Así que me adentré en la informática de borde. Incluso pasé el último año de mi vida en CloudFlare. Gran lugar. Muy recomendado. Trabajando con ellos, arreglando su CLI, que no es genial y lo arreglé. Gracias, de nada. Y aprendí mucho. Comencé a sentir lo mismo que al principio de mi carrera. Lo que sucede con la tecnología, por supuesto, es que comienza con expertos, parece que está reservada para personas que ganan salarios de millones de dólares, y así sucesivamente. Pero luego, convenientemente, un montón de personas la miran y la convierten en un producto. Idealmente, la hacen de código abierto para que todos puedan aprender de ella, y de repente ves que comienza lentamente, pero muy rápidamente, todo el mundo en el mundo aprende cómo hacerlo, aprende cómo aprovechar el poder de esta tecnología y avanzar. Esto sucedió con las bases de datos. En los años 90, solo había unas pocas cientos de personas en el mundo que entendían cómo usarlas, implementarlas. Pero ahora puedes simplemente hacer clic en un botón en Super Base o Planet Scale o, sinceramente, algunas cosas, y simplemente se abstrae detrás de ti y tienes una base de datos con potencia mundial que cualquiera puede usar en un fin de semana, y no tienes que pagar dinero por ello. Gran parte es gratuita. De la misma manera con la tecnología frontend. Comenzó con que tenías que ser un experto en qué sistemas usar, cómo escribir código sin un sistema de tipos, pero ahora hay cursos gratuitos para que comiences en un fin de semana, y tú podrías tener algo listo para enviar en unos días más o menos. Quiero decir, así es como suceden las startups de criptomonedas, como que están arriba una semana y la siguiente semana están abajo. Si ellos pueden hacerlo, tú también puedes

6. Edge Computing and the Cool Computer Club

Short description:

Últimamente, he empezado a sentir lo mismo acerca de la informática de borde. Todo el mundo está entrando en este lugar donde puedes implementar servidores extremadamente cerca de ti, físicamente cerca de ti, donde la latencia es inferior a 10 milisegundos. Realmente no tienes que ser un experto para aprovechar el poder de una computadora mundial. De hecho, renuncié a mi trabajo en Cloudflare hace un mes. Este es el momento adecuado para comenzar tu propia empresa. Lo llamo el club de la computadora genial. Todos ustedes son miembros, bienvenidos al club de la computadora genial. La idea es que he decidido que hay siete grandes proyectos que podemos resolver para el mundo. Y hoy van a escuchar acerca de uno de ellos. Así que el proyecto uno se llama el Kit de Desarrollo Multijugador.

Lo he empezado a sentir de la misma manera acerca de la informática de borde. Anteriormente solía ser una posición especializada donde tenías que saber cómo escalar una aplicación más allá del alcance de un único servidor. Necesitabas un equipo de personas que manejaran, administraran una forma de servidor en algún lugar, un centro de datos, potencialmente distribuido en todo el mundo. Pero ahora, con la nueva generación de proveedores de informática de borde, Cloudflare, Fastly, Vercel, Amazon Lambda, Edge, Fly.io, Bunn va a sacar algo. Dell o Deploy, y supongo que un par más, bueno, Superbase también comenzará a hacer, bueno, ahora hacen funciones, etc. Resulta que todo el mundo está entrando en este lugar donde puedes implementar servidores extremadamente cerca de ti, físicamente cerca de ti, donde la latencia es inferior a 10 milisegundos. 10 milisegundos es efectivamente cero. Pero tú como desarrollador realmente no tienes que preocuparte por eso. Bueno, sería bueno si lo entendieras, pero realmente no tienes que ser un experto para aprovechar el poder de una computadora mundial. Usé DALI para eso, por cierto. Dije, oye, muéstrame cómo se vería una computadora global contra un cielo nocturno oscuro. No está mal. Imagina que todos esos son CPUs, supongo. Esto también es lo que se ve en X-Men Cerebro cuando comienzan a buscar a los mutantes en comparación con los humanos. De todos modos, continuando. Así que en realidad renuncié a mi trabajo en Cloudflare hace un mes. Fue genial, los amo. Y fue extraño, necesitaba tener la conversación de `no eres tú, soy yo` con ellos. Y fue agradable. Amo a cada uno de ellos. Y fue extraño, ellos decían, no hay nada que podamos hacer para que te quedes. Yo decía, no, sabes, el gobierno es súper estable, la economía está yendo muy bien, este es el momento adecuado para comenzar tu propia empresa. Así que aprovecho este momento para anunciar lo que he estado haciendo ahora, a lo que he decidido dedicar los próximos años de mi vida. Este es el logotipo, todavía está en proceso. Lo llamo el club de la computadora genial. Todos ustedes son miembros, bienvenidos al club de la computadora genial. Eventualmente tomaré todo su dinero. La idea es que he decidido que hay siete grandes proyectos que podemos hacer, que podemos resolver para el mundo. Y hoy van a escuchar acerca de uno de ellos.

7. Building Real-Time Multiplayer Apps

Short description:

Desarrollar una aplicación multijugador en tiempo real debería ser tan simple como construir una sola aplicación. Sin embargo, existen desafíos con WebSockets, como la escalabilidad, la estimación de costos, la falta de experiencia en desarrollo local y la necesidad de seguridad de tipos. También son preocupaciones la prevención de estados inválidos, el manejo del orden de los mensajes y los conflictos de edición. Además, se deben considerar el uso de la batería y las opciones de fallback a las solicitudes HTTP. Estos son problemas que la plataforma debería abordar, permitiendo a los desarrolladores centrarse en construir sus aplicaciones con facilidad.

¿Estás listo? Entonces, el proyecto uno se llama el Kit de Desarrollo Multijugador. Desarrollar una aplicación para sincronización multijugador en tiempo real, el próximo Figma, el próximo Quake 3. Por cierto, Quake 3 fue lanzado en 1999 y si ellos pudieron hacerlo bien, es un poco extraño que nosotros no lo hagamos. Construir el próximo Discord, construir la próxima cosa en tiempo real XYZ debería ser accesible, económico, debería ser accesible incluso para desarrolladores de 9 a 5. No es algo en lo que quieras gastar una fortuna o tu salud mental. Mi inspiración para esto es claramente la película del año, `Everything Everywhere, All at Once`, Michelle Yeoh para la Vida, baby. Qué película. Qué película increíble. También siento que la historia es algo con lo que puedo relacionarme, un inmigrante tratando de salir adelante en el mundo occidental, con el peso de la familia y tratando de crear un negocio en un mundo que se está desmoronando. Pero el objetivo aquí es que construir esta aplicación multijugador debería ser tan simple como construir una sola aplicación. Sunil Pai de hace 20 años debería poder sentarse y construirla en un fin de semana sin volverse loco. Lo curioso es que realmente pregunté en Twitter, `oye, ¿qué problemas enfrentas ahora mismo si tienes que usar WebSockets en tiempo real?` Porque WebSockets ha sido una tecnología desde hace mucho tiempo. Pero en realidad, todos siguen hablando de REST y GraphQL y cosas de solicitud-respuesta, lo cual es genial, por supuesto, pero las aplicaciones de ciencia ficción que hemos aprendido o con las que hemos soñado en los últimos 100 años no siguen realmente un modelo de solicitud-respuesta. Se conectan directamente a una conciencia universal y se alimentan de ella. Y obtuve algunas respuestas geniales. Esto se debe a que todos los que me siguen en Twitter son muy inteligentes, con un 3.1 en Twitter, y me dieron respuestas geniales. Me dijeron que es difícil escalar. Es muy difícil saber cuánto me costará. Los servicios de terceros, sin mencionar nombres, no tienen una gran experiencia de desarrollo local donde realmente puedes ejecutarlo en tu servidor. No es de código abierto. No puedo ejecutar el código. ¿Cómo puedo probar algo así? ¿Cómo puedo asegurarme de que no arruine mi economía? Un agradecimiento especial a Robert Balicky, quien realmente lo explicó en una serie de notas técnicas. No tienes que leer las palabras en la diapositiva. Está bien. Pero es muy importante, es una falta de seguridad de tipos. Entonces, ¿cómo te aseguras de que sea seguro y no rompas las aplicaciones para todos los que están ahí fuera? ¿Cómo evitas estados inválidos, especialmente cuando no hay garantía sobre el orden de los mensajes que pueden llegar? ¿Qué sucede cuando las personas editan cosas en diferentes ventanas? Y muchas más sugerencias. ¿Cómo te aseguras de que no consuma toda la batería de tu teléfono? ¿Cómo vuelves a algo como una simple solicitud HTTP si los WebSockets son demasiado costosos? Estas no son cosas de las que tú, como desarrollador que quiere escribir tu `Hola mundo`, debas preocuparte. Estas son cosas que la plataforma debería proporcionarte. Conceptualmente, la forma en que comencé a pensar en ello es que como desarrollador, deberías decir, `aquí hay una clase llamada sala, aula, aquí hay un aula,`

8. Building Collaborative Experiences

Short description:

Esta es una API conceptual que debería ser fácil de usar, completamente verificada por tipos y permitir pruebas locales. La plataforma debería proporcionar características como implementación sin operaciones y generación de servidores de vista previa por solicitud de extracción. El objetivo es centrarse en construir experiencias colaborativas y pagar solo por lo que se utiliza. El proyecto ha introducido con éxito el modo multijugador en TLDraw.com, lo que permite actualizaciones en tiempo real en diferentes ubicaciones. El proyecto se lanzará a principios de 2023 y el orador está adoptando un enfoque diferente esta vez, priorizando el equilibrio entre el trabajo y la vida personal.

y simplemente escribir un poco de lógica cuando un usuario se conecta a él. Debería haber una API. Y esto, nuevamente, es solo una API conceptual. Esto no es lo que probablemente será cuando se lance. Pero debería ser conceptualmente simple, como iniciar, crear un nuevo constructor de sala, y poder conectarse a él sin tener que preocuparse por usar Redis como una sincronización cosa, etc. Además, las cosas que deseas de un sistema como este son que debe estar completamente verificado por tipos, quiero poder ejecutarlo localmente para poder probarlo mucho. No debería tener que iniciar sesión en un servicio para usarlo. Debería poder escribir pruebas en él de 9 a 5 y luego irme a casa sin preocuparme de si se está rompiendo. No quiero tener que estar disponible para una aplicación que he escrito. Eso es una de las cosas buenas de ser un desarrollador front-end, también. Realmente no tenemos mucho tiempo de disponibilidad, tiempo de disponibilidad, y si hay un problema, simplemente vuelves a tu paquete JavaScript anterior.

Cosas simples como implementación sin operaciones. ¿Puedo hacer clic en un botón, ejecutar un comando y implementarlo en todo el mundo? ¿Puedes generar un servidor de vista previa por solicitud de extracción? Entonces, ¿puedo producir todo el sistema en tiempo real para que cuando alguien envíe una solicitud de extracción al proyecto, se inicie una cosa, puedes probarlo, asegurarte de que no se rompa antes de que se implemente? Estas son cosas que la biblioteca y el código, la plataforma, deberían proporcionarte. No debería ser algo que construyas tú mismo. Lo que realmente quieres hacer como desarrollador es construir experiencias colaborativas, lo que realmente quieres construir y enviar a tus usuarios, tu próximo Figma, tu próximo Discord, el juego Quake 3, lo que sea. Quieres enfocarte en lo que hace que tu aplicación sea genial y quieres pagar solo lo que se utiliza. De hecho, parte de eso es que quieres medir lo que tus usuarios están utilizando y pasar ese costo también a ellos.

Así que estoy feliz de decir que realmente lo logramos. Y quiero agradecer a TLDraw. De hecho, he estado incubando esto dentro de TLDraw. Si Steve está en la audiencia en algún lugar, hola, gracias, Steve, hey, Steve es el mejor, molestenlo por eso, gran pequeña aplicación llamada TLDraw.com, trabajando en Rewrite y bastante rápido pudimos introducir el modo multijugador en esta aplicación. Y es genial porque básicamente solo tienes que decir, hey, aquí hay un enlace, aquí hay un enlace, varias personas pueden unirse y es el GIF reproduciéndose, debo hacer clic en el GIF para que funcione. Y conceptualmente puedes imaginar que esto está sucediendo en dos ubicaciones geográficas completamente diferentes, pero ten en cuenta que hay actualizaciones de 60 fps en tiempo real. Esto es realmente difícil de hacer con los sistemas existentes y los servicios de terceros existentes en este momento, por lo que el hecho de que logramos que esto funcione es increíble, siento que este proyecto realmente tiene futuro. Estaba preocupado, estaba haciendo mucho bravuconeo hablando con ellos, sí, sí, lo resolveremos, lo implementaremos, no te preocupes, y estaba increíblemente preocupado. Pero el hecho es que funciona y estoy emocionado de que A, pudimos hacerlo rápidamente, simplemente, y no estamos, y el código tiene alrededor de 300, 400 líneas de código que hacen esto. Así que estoy extremadamente feliz y agradecido a Steve y Diedra por permitir que esto se incube allí. Así que esto se lanzará a principios de 2023, quiero asegurarme de que todos lo tengan en sus manos para entonces. No dudes en contactarme y ser amable conmigo si quieres verlo antes, porque ya estoy mostrando demos a todos los que me lo piden. Pero lo que quiero señalar es que lo estoy haciendo de manera diferente esta vez. No estoy trabajando doce horas al día, siete días a la semana. Esta es una foto del estanque de Hampstead Heath.

QnA

Quitting as Prime Minister and Personal Growth

Short description:

Estoy renunciando como primer ministro. Compré una nueva guitarra y mejoré mi vida. Encuéntrame en Twitter o por correo electrónico. Vamos a charlar en el pub. Gracias por tu apoyo. Vamos a pasar al stand de cuestionarios. Empecé a tocar la guitarra antes del año 2000.

Yanni y yo vamos a nadar en Londres, y es increíble. Está helado, nunca había hecho algo así en mi vida, pero estoy tratando de ser saludable y abrirme a nuevas y maravillosas experiencias, como nadar en un estanque en Londres. Simplemente increíble. Lamento decir que renunciaré a mi cargo como primer ministro. Ha sido un tiempo maravilloso, pero no puedo cumplir con el mandato que fue demasiado agresivo para mí sugerir en primer lugar. Process.exit tendrá que esperar otro día. El gobierno cuenta con todo mi apoyo. Sí, también me compré una guitarra roja ahora, así que ahora tengo una guitarra azul y una guitarra roja y estoy logrando tocar un poco más. Mi vida se siente mucho mejor. Puedes encontrarme en Twitter en 3.1. Puedes encontrarme en mi flamante dirección de correo electrónico, sunil.coolcomputerclub.com. Así que eso funciona. O puedes encontrarme en el pub y podemos charlar. Estoy bebiendo agua con gas en este momento. Gracias. Esa es mi charla. Muchas gracias. ¿Me sigues al stand de cuestionarios? Me estoy quedando sin sinónimos para esta área. Gracias. Eso fue... Me encanta cuando das una charla personal. Creo que la primera charla tuya que vi fue en React Europe cuando hablaste sobre tu viaje en ese entonces, y es realmente bueno ver cómo todo esto encaja. Lo aprecio, Yanni. Gracias también por ser el amigo que se asegura de que recuperemos nuestras vidas en orden. Lo sé. Así es. Veamos algunas preguntas de la audiencia. Creo que hay una pregunta que dice, ¿has empezado a tocar la guitarra? Y la respuesta parece ser... Sí, lo he hecho. De hecho, solo tocaba música antes del año 2000 porque toda esta nueva música que

Balancing Work and Personal Growth

Short description:

Me encanta ser desarrollador, pero pasar ocho horas al día trabajando en la industria realmente afecta mis capacidades para hacer investigación por mi cuenta. Si estás en un trabajo abusivo, comienza a buscar un lugar que valore a los desarrolladores. Habla con tu gerente sobre encontrar ideas interesantes para aplicar en el trabajo. Encuentra cosas en las que enfocarte fuera del trabajo que den sentido a tu vida. Los desarrolladores que no programan en su tiempo libre no son confiables. Eso es una tontería.

Me siento muy incómodo con la música que escuchan los niños. Además, soy malo con el sintetizador y esas cosas. Sé cómo tocar algo de Iron Maiden, Bryan Adams, literalmente cualquier cosa que se tocara en el sur de India a finales de los 90. Eso es lo que estoy tocando. Genial. Bueno, ahora una pregunta seria. Me encanta ser desarrollador, pero pasar ocho horas al día trabajando en la industria realmente afecta mis capacidades para hacer investigación por mi cuenta. ¿Cómo puedo cambiar esto? Creo que puedes reemplazar `investigación` por cualquier cosa que requiera tiempo y esfuerzo.

Bueno, en primer lugar, si estás en un trabajo abusivo, te recomendaría que actualices tu currículum y busques un lugar que valore a los desarrolladores. ¿Sabes qué? Es 2022 y me doy cuenta de que estamos en un lugar tan afortunado que apenas fuimos afectados por la pandemia. Como, tienes que quejarte de que tuve que trabajar desde mi sofá durante dos años. Fue mucho peor para muchas otras personas. Pero realmente los desarrolladores tienen mucho poder y impacto en la empresa. Los desarrolladores, las personas que están bajo la gestión intermedia en las empresas, tienen mucho poder e impacto en la empresa. Dicho esto, si estás en un lugar donde estás luchando, tal vez sea cuestión de hablar con tu gerente al respecto. Encontrar ideas interesantes que puedas aplicar en el trabajo y descubrir cómo obtener su aprobación. Así que prototipar algo rápidamente o presentar a la gerencia, `hey, creo que esta es una buena idea y podemos enfocarnos en ella`. Porque supongo que la mayoría de mis mejores ideas han surgido aprovechando los trabajos en los que he estado y encontrando un lugar donde pueda usarlas. Y generalmente en cada trabajo de tecnología hay una amplia variedad de problemas y puedes encontrar algo en lo que involucrarte a ti mismo. Dicho esto, aunque odio decirlo, como, sí, no deberías hacer nada después de que se termine el trabajo. Deberías encontrar cosas en las que enfocarte. Hay libros para leer. Y descubrir... es más difícil, supongo, si eres padre o te encargas de otras personas, pero si tienes el privilegio de tener un poco de tiempo, intenta enfocarte en las cosas que realmente le den sentido a tu vida. Yo empecé a hacer eso y recuperé mi vida sin renunciar a las cosas que son importantes para mí.

Creo que hay una pregunta de seguimiento aquí, que podemos responder rápidamente. Escuché una vez que los desarrolladores que no programan en su tiempo libre no son confiables. ¿Qué opinas de eso? Eso es una tontería. Así es. Eso es una tontería.

Sunil Pai's Tricks to Success and TL Draw

Short description:

Me gusta tanto la imagen que pensé que, dado que me ha ido tan bien en mi vida, las camisetas que uso son las que otras personas deberían usar. TL Draw no es solo una gran herramienta de dibujo, que lo es. Tiene dos o tres cosas muy únicas. Una es que está diseñado con buen gusto. Lo que también me gusta es que está pensado para ser hackeable y extensible. Tenemos un nuevo lote de preguntas que acaba de llegar. No tenemos tiempo para todas ellas, así que voy a hacer esta última pregunta, y el resto de ellas las puedes encontrar, Sunil, en la sala de preguntas y respuestas del orador. Pero la última pregunta, primero una afirmación, eres un ingeniero genial. Estoy de acuerdo. Hay mucho que aprender de ti. Estoy de acuerdo. ¿Cómo te sientes después de renunciar a tu trabajo? Estoy asustado, pero quiero decir, es muy normal. He dado muchas charlas en los últimos años. Quiero decir, es Twitter después de todo, ¿verdad? Es muy fácil soltar sabiduría y cosas así.

Ya sabía la pregunta. Quería ponerla ahí. ¿Es tu camiseta una ilustración de sesgo de supervivencia? No, es interesante. Me gusta tanto la imagen que pensé que, dado que me ha ido tan bien en mi vida, las camisetas que uso son las que otras personas deberían usar. Y todos deberían seguir mi consejo. He decidido darle un nombre al fenómeno que son los trucos de éxito de Sunil Pai en la vida. No sé a qué te refieres con el sesgo de supervivencia que mencionas, y me niego a averiguarlo. Gracias. De acuerdo, creo que estamos entrando en preguntas menos relevantes, pero quiero preguntar, esta es una oportunidad para que hables de TL Draw, qué hace que esta aplicación, que asumo que es TL Draw, sea diferente de Miro?

Bueno, en primer lugar, también me gustan las personas que hacen TL Draw. No sé quién hace Miro, asumo que son personas maravillosas, pero me gusta el equipo de TL Draw. TL Draw no es solo una gran herramienta de dibujo, que lo es. Tiene dos o tres cosas muy únicas. Una es que está diseñado con buen gusto. Desde el momento en que comienzas a usarlo, encontrarás una serie de microinteracciones, la forma en que se comportan las flechas. Lo creó un tipo que creó Perfect Arrows y Perfect Freehand, eso es en lo que se obsesiona. Y la forma en que se comporta la interfaz de usuario cuando la usas es increíble. Lo que también me gusta es que está pensado para ser hackeable y extensible. Es lo que usas para construir otras aplicaciones. Porque si quieres construir, por ejemplo, un Figma para un caso de uso X, Y, Z, terminas teniendo que construir todo Figma primero y luego lo demás. Así que TLR es, oye, quieres construir Miro para este caso de uso, comienza con TLR, agrega tu propia personalización de la interfaz de usuario, es genial. Si quieres saber más, Steve Ruiz está allí atrás, definitivamente molestenlo, le encanta hacer amigos y que la gente lo moleste, así que dile que te envié. Genial. Tenemos un nuevo lote de preguntas que acaba de llegar. No tenemos tiempo para todas ellas, así que voy a hacer esta última pregunta, y el resto de ellas las puedes encontrar, Sunil, en la sala de preguntas y respuestas del orador. Pero la última pregunta, primero una afirmación, eres un ingeniero genial. Estoy de acuerdo. Hay mucho que aprender de ti. Estoy de acuerdo. ¿Cómo te sientes después de renunciar a tu trabajo? Estoy asustado, pero quiero decir, es muy normal. He dado muchas charlas en los últimos años. Quiero decir, es Twitter después de todo, ¿verdad? Es muy fácil soltar sabiduría

Confidence in the Future

Short description:

Me siento confiado y emocionado por este nuevo capítulo en mi vida. Tengo un sólido sistema de apoyo y algunos ahorros en los que puedo confiar. Si las cosas no funcionan, incluso le he dicho a CloudFlare que me devuelva mi computadora portátil. Pero creo en mí mismo y en el potencial de la tecnología. Me recuerda cómo me sentía hace 20 años. Ojalá pudiera compartir esta sensación contigo. Es un nuevo comienzo y estoy lleno de positividad. ¡Gracias!

y así sucesivamente. Así que esto se siente como un momento en el que estoy tratando de ponerlo a prueba y supongo que voy a cometer muchos errores. Pero me siento confiado porque tengo grandes amigos y familia y una estructura de apoyo a mi alrededor. Tengo el privilegio de tener algunos ahorros. Mi plan B es, ¿alguien quiere contratarme como ingeniero y darme algo de dinero por un trabajo? De hecho, eso es lo que le he dicho a CloudFlare, que en 6 a 12 meses cuando regrese arrastrándome hacia ellos, habiendo fracasado, solo me devuelvan mi computadora portátil. Pero estoy emocionado. No creo que eso vaya a suceder. Honestamente, estoy empezando a sentir sobre la tecnología en este momento de la misma manera que me sentía hace 20 años. Y desearía poder compartir esa sensación contigo. Esto comienza aquí. Me siento bien al respecto. Es bueno. Estoy muy feliz por ti. Nadaré mañana por la mañana. Oye, amigo. Vamos al estanque. De acuerdo. Muchas gracias. ¡Salud!

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

React Advanced Conference 2021React Advanced Conference 2021
39 min
Don't Solve Problems, Eliminate Them
Top Content
Humans are natural problem solvers and we're good enough at it that we've survived over the centuries and become the dominant species of the planet. Because we're so good at it, we sometimes become problem seekers too–looking for problems we can solve. Those who most successfully accomplish their goals are the problem eliminators. Let's talk about the distinction between solving and eliminating problems with examples from inside and outside the coding world.
React Day Berlin 2022React Day Berlin 2022
22 min
Jotai Atoms Are Just Functions
Top Content
Jotai is a state management library. We have been developing it primarily for React, but it's conceptually not tied to React. It this talk, we will see how Jotai atoms work and learn about the mental model we should have. Atoms are framework-agnostic abstraction to represent states, and they are basically just functions. Understanding the atom abstraction will help designing and implementing states in your applications with Jotai
TechLead Conference 2023TechLead Conference 2023
35 min
A Framework for Managing Technical Debt
Top Content
Let’s face it: technical debt is inevitable and rewriting your code every 6 months is not an option. Refactoring is a complex topic that doesn't have a one-size-fits-all solution. Frontend applications are particularly sensitive because of frequent requirements and user flows changes. New abstractions, updated patterns and cleaning up those old functions - it all sounds great on paper, but it often fails in practice: todos accumulate, tickets end up rotting in the backlog and legacy code crops up in every corner of your codebase. So a process of continuous refactoring is the only weapon you have against tech debt.In the past three years, I’ve been exploring different strategies and processes for refactoring code. In this talk I will describe the key components of a framework for tackling refactoring and I will share some of the learnings accumulated along the way. Hopefully, this will help you in your quest of improving the code quality of your codebases.

React Summit 2023React Summit 2023
24 min
Debugging JS
Top Content
As developers, we spend much of our time debugging apps - often code we didn't even write. Sadly, few developers have ever been taught how to approach debugging - it's something most of us learn through painful experience.  The good news is you _can_ learn how to debug effectively, and there's several key techniques and tools you can use for debugging JS and React apps.
React Day Berlin 2022React Day Berlin 2022
29 min
Fighting Technical Debt With Continuous Refactoring
Top Content
Let’s face it: technical debt is inevitable and rewriting your code every 6 months is not an option. Refactoring is a complex topic that doesn't have a one-size-fits-all solution. Frontend applications are particularly sensitive because of frequent requirements and user flows changes. New abstractions, updated patterns and cleaning up those old functions - it all sounds great on paper, but it often fails in practice: todos accumulate, tickets end up rotting in the backlog and legacy code crops up in every corner of your codebase. So a process of continuous refactoring is the only weapon you have against tech debt. In the past three years, I’ve been exploring different strategies and processes for refactoring code. In this talk I will describe the key components of a framework for tackling refactoring and I will share some of the learnings accumulated along the way. Hopefully, this will help you in your quest of improving the code quality of your codebases.
React Summit Remote Edition 2020React Summit Remote Edition 2020
32 min
AHA Programming
Top Content
Are you the kind of programmer who prefers to never see the same code in two places, or do you make liberal use of copy/paste? Many developers swear the Don't Repeat Yourself (DRY) philosophy while others prefer to Write Everything Twice (WET). But which of these produces more maintainable codebases? I've seen both of these approaches lay waste to codebases and I have a new ideology I would like to propose to you: Avoid Hasty Abstractions (AHA). In this keynote, we'll talk about abstraction and how you can improve a codebase applying and creating abstractions more thoughtfully as well as how to get yourself out of a mess of over or under-abstraction.

Workshops on related topic

React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript, and TDD
Top Content
Featured WorkshopFree
ReactJS is wildly popular and thus wildly supported. TypeScript is increasingly popular, and thus increasingly supported.

The two together? Not as much. Given that they both change quickly, it's hard to find accurate learning materials.

React+TypeScript, with JetBrains IDEs? That three-part combination is the topic of this series. We'll show a little about a lot. Meaning, the key steps to getting productive, in the IDE, for React projects using TypeScript. Along the way we'll show test-driven development and emphasize tips-and-tricks in the IDE.
React Advanced Conference 2021React Advanced Conference 2021
145 min
Web3 Workshop - Building Your First Dapp
Top Content
Featured WorkshopFree
In this workshop, you'll learn how to build your first full stack dapp on the Ethereum blockchain, reading and writing data to the network, and connecting a front end application to the contract you've deployed. By the end of the workshop, you'll understand how to set up a full stack development environment, run a local node, and interact with any smart contract using React, HardHat, and Ethers.js.
React Summit 2022React Summit 2022
136 min
Remix Fundamentals
Top Content
Featured WorkshopFree
Building modern web applications is riddled with complexity And that's only if you bother to deal with the problems
Tired of wiring up onSubmit to backend APIs and making sure your client-side cache stays up-to-date? Wouldn't it be cool to be able to use the global nature of CSS to your benefit, rather than find tools or conventions to avoid or work around it? And how would you like nested layouts with intelligent and performance optimized data management that just works™?
Remix solves some of these problems, and completely eliminates the rest. You don't even have to think about server cache management or global CSS namespace clashes. It's not that Remix has APIs to avoid these problems, they simply don't exist when you're using Remix. Oh, and you don't need that huge complex graphql client when you're using Remix. They've got you covered. Ready to build faster apps faster?
At the end of this workshop, you'll know how to:- Create Remix Routes- Style Remix applications- Load data in Remix loaders- Mutate data with forms and actions
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Modern Frontend App Development
Top Content
Featured WorkshopFree
The Vue3 has been released in mid-2020. Besides many improvements and optimizations, the main feature of Vue3 brings is the Composition API – a new way to write and reuse reactive code. Let's learn more about how to use Composition API efficiently.

Besides core Vue3 features we'll explain examples of how to use popular libraries with Vue3.

Table of contents:
- Introduction to Vue3
- Composition API
- Core libraries
- Vue3 ecosystem

Prerequisites:
IDE of choice (Inellij or VSC) installed
Nodejs + NPM
JSNation 2023JSNation 2023
174 min
Developing Dynamic Blogs with SvelteKit & Storyblok: A Hands-on Workshop
Featured WorkshopFree
This SvelteKit workshop explores the integration of 3rd party services, such as Storyblok, in a SvelteKit project. Participants will learn how to create a SvelteKit project, leverage Svelte components, and connect to external APIs. The workshop covers important concepts including SSR, CSR, static site generation, and deploying the application using adapters. By the end of the workshop, attendees will have a solid understanding of building SvelteKit applications with API integrations and be prepared for deployment.
React Summit 2023React Summit 2023
106 min
Back to the Roots With Remix
Featured Workshop
The modern web would be different without rich client-side applications supported by powerful frameworks: React, Angular, Vue, Lit, and many others. These frameworks rely on client-side JavaScript, which is their core. However, there are other approaches to rendering. One of them (quite old, by the way) is server-side rendering entirely without JavaScript. Let's find out if this is a good idea and how Remix can help us with it?
Prerequisites- Good understanding of JavaScript or TypeScript- It would help to have experience with React, Redux, Node.js and writing FrontEnd and BackEnd applications- Preinstall Node.js, npm- We prefer to use VSCode, but also cloud IDEs such as codesandbox (other IDEs are also ok)