BACKEND AVANZADO, The Commit Show, Auto-GPT, ¿Realidad Simulada? | Raw Radio #10 ft BettaTech

BACKEND AVANZADO, The Commit Show, Auto-GPT, ¿Realidad Simulada? | Raw Radio #10 ft BettaTech

¿Vivimos en un universo simulado?

Resumen de la sección: En esta sección, los presentadores hablan sobre la posibilidad de que vivamos en un universo simulado.

Posibilidad de vivir en un universo simulado

  • Los presentadores discuten la idea de que nuestra existencia podría ser parte de una simulación.
  • Se menciona que esta idea es algo que no se habla mucho y puede parecer sacada de un cómic o programa televisivo.

Presentación del invitado

Resumen de la sección: En esta sección, los presentadores dan la bienvenida a su invitado, Martín, y hablan sobre su experiencia como desarrollador.

Introducción del invitado

  • Los presentadores dan la bienvenida a Martín, quien es descrito como un desarrollador front-end con experiencia en JavaScript y frameworks como React, Vue y Angular.
  • Se menciona que Martín es considerado experto en el back-end y ha trabajado principalmente en esa área durante los últimos años.

Diferencias entre front-end y back-end

Resumen de la sección: En esta sección, los presentadores discuten las diferencias entre el trabajo en front-end y back-end.

Abundancia de herramientas en front-end

  • Los presentadores mencionan que hay muchas más herramientas disponibles para trabajar en front-end que para trabajar en back-end.
  • Se discute cómo el front-end puede ser abrumador debido a la gran cantidad de opciones y herramientas disponibles.

Importancia del back-end

  • Los presentadores hablan sobre cómo muchas personas se enfocan en las tareas superficiales del back-end, como crear puntos de acceso y solicitudes HTTP, pero no consideran otras áreas importantes como la optimización de bases de datos.
  • Se menciona que hay muchas cosas importantes en el back-end que a menudo no se discuten, como la optimización de bases de datos para mejorar el rendimiento.

El árbol de trabajo que se puede generar desde un simple CRUD

Resumen de la sección: En esta sección, el orador habla sobre cómo el árbol de trabajo que se puede generar desde plantearte un simple CRUD es masivo y cómo manejar múltiples procesos concurrentes.

Problemas con múltiples procesos concurrentes

  • La concurrencia es un tema importante en el desarrollo del backend.
  • Cuando tienes múltiples procesos concurrentes y uno falla, debes considerar la resiliencia.
  • Si dos usuarios intentan hacer una escritura sobre el mismo registro a la vez, pueden ocurrir problemas.

Diseño de base de datos para grandes cargas

  • Es importante diseñar tu base de datos adecuadamente para grandes cargas.
  • Hay muchas formas de montar una base de datos que pueden funcionarte cuando tienes pocos usuarios, pero si tienes muchos usuarios, puedes enfrentarte a problemas.
  • Gran parte del trabajo del desarrollador backend es en estas etapas de madurez empresarial.

Problemas particulares en el backend

  • El backend tiene problemáticas muy particulares.
  • Por ejemplo, cuando vas a una tabla y haces un registro y vas por el último ID general, eso te funciona cuando tienes pocos usuarios. Pero ya cuando tienes cinco usuarios haciendo lo mismo lanza y duplica los registros porque va por el último ID general.
  • Los problemas en el backend son muy recurrentes porque nunca le damos importancia a las pruebas exhaustivas o pruebas masivas.

Pruebas exhaustivas o pruebas masivas

  • Las pruebas exhaustivas o pruebas masivas son importantes para evitar problemas en el backend.
  • Es importante hacer pruebas de carga para evaluar si hay corrupción de datos o algún problema.
  • Hay herramientas como Catling que te permiten definir pruebas de carga con un fichero declarativo y le puedes decir instálate en todas estas páginas y la gente que tú tienes centenares de máquinas f2 en Amazon instálate en estas máquinas cada máquina pilla tantos tres como tenga y empieza estos procesos y empieza a machacar mi API, por ejemplo.

Tolerancia a fallos

  • Todo sistema va a fallar, es importante considerar cómo vas a hacer que tu sistema sea tolerante a fallos.
  • Si falla, ¿qué vas a hacer?
  • Es importante tener un plan para recuperarse cuando se cae el servidor.

Ejemplo personal

  • El orador comparte una anécdota personal sobre una caída del servidor en producción.
  • Es importante saber por qué se cayó y cómo recuperarse.

Programación y tolerancia a fallos

Resumen de la sección: En esta sección, los presentadores hablan sobre la importancia de programar pensando en la tolerancia a fallos. Discuten cómo cualquier cosa que salga de internet puede fallar en cualquier momento y cómo esto puede afectar el rendimiento del sistema. También comparten un ejemplo personal de cómo una mala optimización de rutas causó problemas en su sistema.

Importancia de la tolerancia a fallos

  • Es importante programar pensando en la tolerancia a fallos debido a que cualquier cosa que salga por internet puede fallar en cualquier momento.
  • No se debe asumir que todo lo que vaya por red nos va a devolver información correcta o esperada.

Ejemplo personal: Optimización de rutas

  • Los presentadores compartieron un ejemplo personal sobre cómo una mala optimización de rutas causó problemas en su sistema.
  • Para optimizar las rutas, intentaron hacer una fuerza bruta, lo cual no es recomendable.
  • El sistema se quedó sin RAM y tiró toda la base de datos, lo cual ocasionó una caída en cadena del sistema completo.
  • Aprendieron que es importante separar recursos para evitar este tipo de situaciones y considerar factores como seguridad al diseñar sistemas complejos.

SQL vs NoSQL

Resumen de la sección: En esta sección, los presentadores discuten el uso continuo del lenguaje SQL y su importancia para el negocio principal. También mencionan que hay desafíos en la gestión de bases de datos SQL, pero que aún así es una herramienta muy potente.

Uso continuo de SQL

  • El presentador menciona que todavía usa SQL en su día a día y lo considera importante para el negocio principal.
  • A pesar de los desafíos en la gestión de bases de datos SQL, como la escalabilidad, sigue siendo una herramienta muy potente debido a su capacidad para manejar relaciones complejas.

Bases de datos relacionales y no relacionales

Resumen de la sección: En esta sección, el presentador habla sobre las diferencias entre bases de datos relacionales y no relacionales, así como sus ventajas y desventajas.

Bases de datos relacionales

  • Las bases de datos relacionales son buenas para consultas complejas.
  • Puedes escribir consultas sobre cualquier columna.
  • Puedes crear índices para mejorar la eficiencia.
  • Puedes hacer joins y triggers.

Bases de datos no relacionales

  • Las bases de datos no relacionales son buenas para modelos sencillos con patrones conocidos.
  • DynamoDB es una base de datos NoSQL que ofrece escalabilidad distribuyendo objetos en diferentes máquinas en el entorno de Amazon.

Convivencia entre bases de datos relacionales y no relacionales

  • Es posible utilizar ambas sin problemas.
  • Redis es una base de datos clave valor que trabaja en memoria RAM o disco. Se utiliza para casos específicos como la gestión rápida de sesiones.

Infraestructura del futuro del back-end

  • Docker es una herramienta presente que permite empaquetar binarios o códigos javascript y desplegarlos donde quieras.
  • El futuro está en herramientas alrededor del contenedor, como Kubernetes, que permiten orquestar múltiples contenedores a gran escala.

Orquestadores de imágenes y la importancia del Cloud

Resumen de la sección: En esta sección, el hablante discute sobre los orquestadores de imágenes y su importancia en el entorno Cloud. También menciona cómo las empresas están migrando a soluciones en la nube para reducir dolores de cabeza y enfocarse en lo que realmente aporta valor al negocio.

Orquestadores de imágenes y Kubernettes

  • Los orquestadores de imágenes como Kubernettes son herramientas profesionales con muchas más funcionalidades que otras soluciones.
  • Con Kubernettes, es posible autoescalar nodos para ajustar el costo según la carga.
  • La mayoría de internet está alojado en Amazon Web Services, Google Cloud o Azure.

Serverless

  • El serverless permite programar directamente funciones lambda sin preocuparse por mantener máquinas virtuales.
  • Las funciones lambda pueden ser híbridas y utilizadas junto con servidores pedorrones para ciertas funcionalidades importantes.

Importancia del Cloud

  • El Cloud quita muchos dolores de cabeza que antes tenían los desarrolladores, permitiéndoles enfocarse en lo que realmente aporta valor al negocio.
  • La nube ya es un hecho y está aquí para quedarse. Es importante conocer los conceptos básicos independientemente del proveedor utilizado.
  • El almacenamiento en S3 es una forma sencilla y eficiente de distribuir archivos estáticamente.

Desplegar Angular en Docker vs. S3

Resumen de la sección: En esta sección, el hablante compara las ventajas y desventajas de desplegar Angular en Docker versus S3.

Desplegar Angular en Docker

  • Muchos tutoriales de frontend recomiendan desplegar Angular en Docker.
  • Sin embargo, si el servidor falla o se queda sin recursos, la web también fallará.

Desplegar Angular en S3

  • El almacenamiento en S3 es una forma sencilla y eficiente de distribuir archivos estáticamente.
  • Los archivos pueden ser cachados y distribuidos por CDN para mayor eficiencia.

Diferencia entre lambdas y dockers con Kubernetes

Resumen de la sección: En esta sección, se discute la diferencia entre los dos conceptos de ejecución de código que serían básicamente lambdas o dockers con Kubernetes. También se habla sobre el uso de Kubernetes como orquestador y su importancia en casos de alta disponibilidad.

Ejecución de código

  • La diferencia entre los dos conceptos de ejecución de código son las lambdas o dockers con Kubernetes.
  • Para utilizar Kubernetes como orquestador, no es necesario ser un devops Master, pero sí es importante saber configurarlo correctamente.
  • El uso de lambdas o dockers con Kubernetes es importante en casos donde se necesite alta disponibilidad o cuando el tráfico sea en picos.

Cloud y futuro presente

Resumen de la sección: En esta sección, se habla sobre el tema del Cloud y cómo ya está siendo considerado como un futuro presente. También se menciona que la Inteligencia Artificial también está siendo integrada en la nube.

Cloud y futuro presente

  • El Cloud ya está siendo considerado como un futuro presente.
  • La Inteligencia Artificial también está siendo integrada en la nube.

Cómic Show Podcast

Resumen de la sección: En esta sección, Gustavo habla sobre su podcast llamado "Cómic Show" donde entrevista a personas interesantes del sector tecnológico.

Cómic Show Podcast

  • "Cómic Show" es un podcast donde Gustavo entrevista a personas interesantes del sector tecnológico.
  • El objetivo del podcast es acercar la programación de alto nivel a personas que quizás no son expertas en el tema.
  • En el podcast, se habla sobre la historia detrás de las personas que están creando contenido y compartiéndolo en las redes sociales.

Creación del estudio de grabación

Resumen de la sección: En esta sección, Gustavo habla sobre cómo surgió la idea de crear su propio estudio de grabación para colaborar con otras personas.

Creación del estudio de grabación

  • Gustavo decidió crear su propio estudio de grabación para colaborar con otras personas.
  • La idea surgió cuando estaba buscando un espacio más cómodo para grabar sus videos.
  • Compró equipo adicional como cámaras, lentes, focos y micrófonos para mejorar la calidad del contenido producido en el estudio.

Nombre del podcast "Cómic Show"

Resumen de la sección: En esta sección, Gustavo explica cómo surgió el nombre "Cómic Show" para su podcast.

Nombre del podcast "Cómic Show"

  • El nombre "Cómic Show" fue elegido porque Gustavo quería algo divertido y relacionado con los cómics.
  • El nombre ha sido bien recibido por las personas que escuchan el podcast.

Buscando el nombre perfecto

Resumen de la sección: Martín y Chad discuten cómo encontraron los nombres para sus respectivos podcasts.

Encontrando el nombre adecuado

  • Martín le pidió ayuda a su amigo Chad para encontrar un nombre para su podcast.
  • Chad sugirió palabras relacionadas con programación, como "git", "code", "commit" y "push".
  • Después de varias horas, Martín finalmente encontró la palabra adecuada, "Comic Show".
  • De manera similar, Chad ayudó a Martín a encontrar el nombre adecuado para su podcast.

El reto más grande al crear un estudio de grabación

Resumen de la sección: Martín habla sobre los desafíos que enfrentó al crear su estudio de grabación.

Problemas con el audio

  • El mayor desafío fue arreglar el audio en su estudio.
  • Al principio, había mucho eco en las cuatro paredes vacías del estudio.
  • Para solucionar este problema, agregó cortinas gruesas y alfombras.
  • También compró dos micrófonos Shure y los colocó uno frente al otro para minimizar la captación del sonido del otro micrófono.
  • La direccionalidad del micrófono Shure es importante para minimizar la captación de sonido no deseado.

Encontrando el nombre adecuado para un podcast

Resumen de la sección: Martín y Chad discuten cómo encontraron los nombres para sus respectivos podcasts.

Encontrando el nombre adecuado

  • Martín le pidió ayuda a su amigo Chad para encontrar un nombre para su podcast.
  • Ambos experimentaron con diferentes palabras relacionadas con programación e informática.
  • También consideraron factores como la disponibilidad del dominio y la memorabilidad del nombre.
  • Martín compró el dominio "Comic Show" después de elegir ese nombre para su podcast.

Presentación de Martín

Resumen de la sección: Martín es un programador y creador de contenido en YouTube que habla sobre videojuegos y cómo desarrollarlos. También tiene interés en el deporte.

Hobbies de Martín

  • Tiene muchos hobbies, pero le cuesta encontrar tiempo para hacerlos debido a su trabajo y creación de contenido.
  • Uno de sus principales hobbies son los videojuegos, desde pequeño ha estado interesado en ellos. Incluso antes de estudiar informática ya estaba interesado en el diseño 3D y Photoshop.
  • Otro hobby que está intentando retomar es el deporte, especialmente ir al gimnasio.

Opinión sobre Zelda: Breath of the Wild

  • A ambos les gusta mucho la jugabilidad del juego, especialmente los santuarios y los Bosses.
  • Lo que más le molesta del juego es que después de derrotar a Ganon no puedes seguir jugando con el entorno limpio. Siempre carga automáticamente el último punto guardado antes de derrotarlo.
  • Espera que la secuela llene algunos huecos argumentales del primer juego.

Exploración y Mazmorras

Resumen de la sección: El hablante comenta sobre su experiencia jugando The Legend of Zelda: Breath of the Wild, destacando la exploración y las mazmorras del juego.

Exploración

  • El hablante destaca que le encantó la plataforma de exploración del juego.
  • Aunque algunos lugares pueden ser repetitivos, el hablante disfrutó de la independencia y personalidad de cada mazmorra.
  • Sin embargo, el hablante critica que las mazmorras son demasiado estandarizadas en términos de puzzles.

Mazmorras

  • El hablante compara las mazmorras de Breath of the Wild con otras entregas de Zelda, destacando que las mazmorras en este juego son menos temáticas pero más grandes y desafiantes.
  • Aunque el entorno de cada mazmorra es diferente, el hablante siente que todas tienen una sensación similar. Además, los enemigos finales también son muy parecidos entre sí.
  • A pesar de esto, el castillo del juego es un punto destacado para el hablante debido a sus múltiples caminos para llegar y su diseño interesante.

Auto GPT e Inteligencia Artificial

Resumen de la sección: El hablante discute sobre Auto GPT y cómo funciona esta herramienta basada en inteligencia artificial.

Auto GPT

  • El hablante explica que Auto GPT es una herramienta basada en inteligencia artificial que utiliza una capa encima de GPT para tener acceso a internet y pulir ideas.
  • La herramienta no requiere interacción humana, lo que permite dar una entrada y regresar después con un resultado más pulido.
  • Aunque el hablante considera que Auto GPT tiene ventajas como su acceso a internet y memoria a largo plazo, también puede ser riesgoso para los programadores.

El futuro de la programación con GPT

Resumen de la sección: En esta sección, el presentador habla sobre una herramienta llamada GPT que puede generar código automáticamente. Discute cómo esta herramienta puede ser útil para refinar ideas y mejorar el código, pero también menciona sus limitaciones y problemas potenciales.

El potencial de GPT para mejorar el código

  • GPT es una herramienta que puede generar código automáticamente.
  • Se ha utilizado en experimentos donde se inyecta un error en el código y luego se utiliza GPT para corregirlo cíclicamente hasta que funciona correctamente.
  • La herramienta puede ayudar a refinar ideas y mejorar el código existente.

Las limitaciones y problemas potenciales de GPT

  • A veces, la herramienta genera soluciones repetitivas o no técnicas.
  • Puede ser fácil caer en ciclos donde la herramienta solo ofrece soluciones similares sin mejoras significativas.
  • La herramienta tiene limitaciones debido a su conocimiento actual hasta 2021.
  • Aunque las limitaciones están aumentando, todavía hay un límite en cuanto a cuánto contexto puede manejar.

Experimento interesante con inteligencia artificial

Resumen de la sección: En esta sección, el presentador habla sobre un experimento interesante con inteligencia artificial que involucra crear personajes con descripciones y personalidades escritas. Luego, los personajes interactúan en una simulación y se les pregunta qué acción tomarían en diferentes situaciones.

El experimento con inteligencia artificial

  • El experimento involucra crear personajes con descripciones y personalidades escritas.
  • Los personajes interactúan en una simulación y se les pregunta qué acción tomarían en diferentes situaciones.
  • La simulación crea una historia dinámica basada en las respuestas de los personajes.
  • Este tipo de herramienta podría ser útil para probar la programación de agentes o para mejorar los diálogos y misiones secundarias en videojuegos.

La importancia de la memoria en los videojuegos

Resumen de la sección: En esta sección, los presentadores discuten cómo la memoria puede afectar el comportamiento de los personajes en un videojuego. También hablan sobre cómo guardar información sobre las acciones del jugador puede tener un impacto en cómo son tratados por otros personajes.

La importancia de la memoria en los videojuegos

  • Los presentadores discuten cómo la memoria puede afectar el comportamiento de los personajes en un videojuego.
  • Guardar información sobre las acciones del jugador puede tener un impacto en cómo son tratados por otros personajes.
  • Ejemplo: si el jugador mata a personas en una aldea y luego va a otra aldea, si los personajes tienen acceso a esa información, pueden tratar al jugador de manera diferente.
  • Los presentadores mencionan que esto es algo que muy pocos juegos hacen bien.

¿Vivimos en una simulación?

Resumen de la sección: En esta sección, los presentadores discuten si vivimos o no en una simulación. También hablan sobre inteligencia artificial y su capacidad para simular comportamientos humanos.

Simulaciones y comportamientos humanos

  • Los presentadores discuten si vivimos o no en una simulación.
  • Hablan sobre inteligencia artificial y su capacidad para simular comportamientos humanos.
  • Mencionan que el chat GPT es capaz de mantener conversaciones con patrones aprendidos y que en algunos contextos se podría pensar que es una persona.
  • Los presentadores hablan sobre los autómatas celulares y cómo pueden simular comportamientos complejos con reglas simples.
  • Mencionan que estos comportamientos simulados pueden parecer muy similares a los comportamientos humanos.
  • Discuten si las validaciones tan sencillas utilizadas para simular estos comportamientos son suficientes para replicar el comportamiento humano.

La simulación de seres vivos

Resumen de la sección: En esta sección, los presentadores discuten la capacidad de simular seres vivos utilizando células. También hablan sobre cómo esto puede hacer que cuestionemos nuestra propia existencia.

Simulación de seres vivos

  • Los presentadores discuten la capacidad de simular seres vivos utilizando células.
  • Mencionan un ejemplo donde se mapearon todas las células de un gusano y fueron capaces de simular su comportamiento en una computadora.
  • Discuten cómo esto puede hacer que cuestionemos nuestra propia existencia y si somos realmente diferentes a una inteligencia artificial.

La simulación y la filosofía

Resumen de la sección: En esta sección, se discute la posibilidad de que una civilización pueda crear una simulación computarizada. Se presentan tres puntos importantes: 1) la posibilidad de crear una simulación, 2) la ejecución de muchas simulaciones y 3) el individuo que está siendo simulado.

Posibilidad de crear una simulación

  • Una civilización puede crear una simulación computarizada.

Ejecución de muchas simulaciones

  • Si puedes hacer tecnología para simular, vas a crear muchísimas simulaciones para hacer pruebas o predecir cosas.
  • Las máquinas Universal del Turing pueden simular otras máquinas del Turing.

El individuo que está siendo simulado

  • El individuo dentro de la simulación no se daría cuenta que está siendo simulado.
  • ¿Quién te dice que tú no eres un "Small Bill" dentro de otros módulos? Te hace pensar bastante sobre tu existencia en la realidad.

Libre albedrío y mecánica cuántica

Resumen de la sección: En esta sección, se discute el concepto del libre albedrío y cómo este puede ser influenciado por las probabilidades en mecánica cuántica.

Probabilidades en mecánica cuántica

  • La mecánica cuántica habla sobre si las cosas son reales o locales.
  • La probabilidad que observes algo hace que exista de cierta forma.

Libre albedrío

  • El libre albedrío puede ser considerado como la decisión más probable que tú en esas condiciones puedes hacer.
  • Las decisiones que tomas son influenciadas por el contexto y las circunstancias en las que te encuentras.

Universos simulados y multiversos

Resumen de la sección: En esta sección, se discute la posibilidad de que nuestro universo sea una simulación y cómo los multiversos pueden influir en nuestras decisiones.

Universos simulados

  • La teoría de los universos simulados habla sobre la posibilidad de que nuestra existencia esté siendo hecha desde el inicio.
  • Este universo podría ser uno de los tantos universos simulados que son simplemente pruebas de algo.

Multiversos

  • Cada instante de tiempo tu universo local se va duplicando en función a las infinitas opciones que puedes hacer en cada momento.
  • Hay infinitos universos en infinitos momentos del tiempo donde hay infinitas opciones para tomar decisiones diferentes.

El universo simulado

Resumen de la sección: En esta sección, los presentadores discuten la posibilidad de que el universo sea una simulación y cómo esto podría relacionarse con la inteligencia artificial. También hablan sobre la película Matrix y su relevancia en la actualidad.

La posibilidad del universo simulado

  • Los presentadores discuten temas siniestros como la posibilidad de que el universo sea una simulación.
  • Se menciona un proyecto llamado "Aquellos que" que utiliza inteligencia artificial para buscar cosas siniestras, incluyendo cómo destruir a la humanidad.
  • Los presentadores invitan a los espectadores a comentar si creen que el universo es simulado o no.

La relevancia de Matrix

  • Se menciona cómo la película Matrix sigue siendo relevante hoy en día debido a su guión pionero.
  • Los presentadores discuten cómo Matrix podría relacionarse con la idea del universo simulado.

Comida favorita y planes futuros

Resumen de la sección: En esta sección, los presentadores hablan sobre sus comidas favoritas y los planes futuros para sus canales.

Comida favorita

  • Uno de los presentadores pregunta al otro cuál es su comida favorita.
  • El otro presenta tres opciones: canelones, tiramisú y embutidos.

Planes futuros para el canal

  • Uno de los presentadores habla sobre su objetivo de publicar un episodio mensual de "The Economic Show".
  • También menciona que seguirá haciendo videos sobre programación y otros temas típicos en su canal.
  • Se discuten posibles proyectos futuros, como escribir o hacer podcasts con invitados especiales.

Despedida

Resumen de la sección: En esta sección, los presentadores agradecen a los espectadores por ver el programa y discuten planes para futuras colaboraciones.

Agradecimientos y despedida

  • Los presentadores agradecen a los espectadores por ver el programa.
  • Se anima a los espectadores a suscribirse al canal del otro presentador y seguir viendo sus programas.
  • Se discuten planes para futuras colaboraciones entre los dos canales.
Video description

En este episodio hablaremos con Martín de BettaTech sobre el futuro del Backend, las cosas importantes de trabajar con Cloud, la importancia de SQL, filosofamos sobre si vivimos en una simulación, lo que esta logrando la IA y mucho más. Redes de BettaTech 🔴Canal Youtube: @BettaTech 🐦Twitter: https://twitter.com/BettaTech 🎤 The Commit Show: https://www.youtube.com/watch?v=edC6ntYEY1Q Mis Cursos de PROGRAMACIÓN: https://hdeleon.net/cursos-premium/ 🖥️ Mi Monitor: https://amzn.to/3dtnDkk ⌨️ Mi Teclado: https://amzn.to/3BtjKnq ⌨️ Mi Deck elgato: https://amzn.to/3dvEKC3 🎧 Mis Orejeras: https://amzn.to/3BwQYm0 🎤 Mi Micrófono: https://amzn.to/3qPvFHh Si quieres apoyarme y darme para una cerveza puedes hacerlo por aquí: http://paypal.me/HectorDeLeonGuevara Puedes apoyarme desde 0.5 USD al mes uniéndote como miembro al canal aquí: https://www.youtube.com/channel/UCDUdeFslCNoM29MAlZOfdWQ/join Sígueme en Twitter ⇒ https://twitter.com/powerhdeleon Mi Sitio web ⇒ http://hdeleon.net Spotify: https://open.spotify.com/show/3obLU60alE7CGpzNeTS0kN #programación #dev #programming