Saltar al contenido

El blog de Skatox Entradas

Mi experiencia en el CityJS Medellín 2024

CityJS es un conjunto de conferencias que se realizan en diversas partes del mundo para reforzar conocimientos sobre Javascript, Typescript y NodeJS. Este año se realizó una edición en Medellín y tuve la oportunidad de participar como ponente. Aquí te comparto mi experiencia durante los dos días del evento.

Primer día

El CityJS Medellín comenzó puntualmente con unas palabras de los organizadores, explicando el propósito de la conferencia y dando la bienvenida a todos los asistentes. A continuación, Liz Parody, encargada de animar el evento y presentar a los ponentes, introdujo la primera charla a cargo de Wes Todd, quien nos ofreció una fascinante actualización sobre el estado de Express y los próximos cambios en el proyecto. Luego fue el turno de Lizzie Siegle, quien explicó cómo podemos utilizar los modelos de lenguaje (LLM) para crear juegos de rol tipo D&D, una forma de usar esa tecnología que me sorprendió. Más tarde, Rafael Gonzaga nos habló sobre el rendimiento de Node.js con NSolid, brindando ideas para optimizar y mejorar su desempeño.

Después de un descanso con un excelente refrigerio ofrecido por los patrocinadores, volvimos al auditorio para asistir a la presentación de Anuar Harb. Su charla fue especialmente interesante, ya que comenzó con un segmento musical que nos despertó tras el receso. Habló sobre cómo se está utilizando la inteligencia artificial para generar modelos 3D y facilitar la creación de animaciones, además de promover las comunidades locales de Barranquilla. Luego, Vanessa Aristizábal nos habló sobre cómo expandir los límites de JavaScript y nos cautivó con láminas y dibujos de estilo ‘anime’ que hicieron su presentación aún más amena. Tras su charla, me tocó cerrar el ciclo de la mañana con mi propia ponencia.

En la tarde, participé en dos talleres (de los cinco que se ofrecían en paralelo). Uno fue impartido por Wes Todd sobre cómo contribuir a Express; me encantó su forma de explicar y de motivar a la audiencia a colaborar. En muchos eventos en LATAM he notado que pocos envían código al proyecto, pero en este taller se logró recibir contribuciones. Para cerrar el día, asistí a un taller de Adrian sobre el uso de modelos de lenguaje (LLM) y cómo podemos crear nuestros propios modelos aprovechando los servicios existentes, una excelente introducción para adentrarse en este mundo.

IA + WEB

Mi charla fue sobre cómo ejecutar modelos de lenguaje de gran tamaño (LLM) en el navegador. Era la primera vez que presentaba este tema, y creo que salió bien; aunque olvidé mencionar algunos detalles, en general resultó como esperaba. Sentí que a la mayoría del público le gustó y se mantuvieron atentos durante toda la charla.

Gracias al feedback y a las preguntas de la audiencia, pude identificar qué información debo agregar y cómo mejorar la narrativa para hacer futuras presentaciones aún más interesantes.

Segundo día

El segundo día comenzó con una excelente presentación de un DJ que componía música utilizando JavaScript. Fue increíble ver cómo creaba música de la nada y cómo este lenguaje de programación puede emplearse para codificar música electrónica de alta calidad. Luego inició el ciclo de charlas, comenzando con Robin Ginn, presidenta de la OpenJS Foundation y miembro de la Linux Foundation. Su charla fue excelente para comprender el funcionamiento de la fundación y su labor en la mejora de JavaScript. A continuación, The Cap nos ofreció una interesante charla sobre el uso de JavaScript en computadoras cuánticas, explicando cómo funcionan estos dispositivos y cómo transformarán el mundo al aprovechar su potencial. Después, Courtney Yatteau nos habló sobre sistemas GIS en JavaScript, mostrando lo fácil que es agregar mapas y capas de información usando ArcGIS. Finalmente, Mariano Alvarez nos presentó el avance de la inteligencia artificial en el navegador Chrome, explicando cómo Google está integrando modelos de lenguaje en el propio navegador.

Al regresar del almuerzo, continuamos con una charla de Carmen Huidobro sobre cómo crear controles para videojuegos como Dance Dance Revolution y la experiencia de desarrollar drivers para comunicarlos con aplicaciones en JavaScript. Fue una charla muy interesante y divertida, especialmente por la manera en que Carmen relató su experiencia. Después, Joel nos habló sobre el proceso de liberar bibliotecas al público, que resulta ser distinto al de desplegar código; su presentación estuvo llena de humor y fue muy entretenida para todos. Luego, Giovanni Laquidara nos introdujo en la programación para SmartTVs, y aunque no logré tomarle una foto, resultó fascinante entender cómo se programa en JavaScript para televisores.

Más adelante, Andrés Villegas presentó sobre el uso de async/await en sistemas distribuidos, un tema que adquiere una nueva complejidad al requerir sincronización de las esperas y peticiones para procesar la información. Fue un tema muy útil e interesante para quienes gestionan clústeres. Finalmente, CityJS Medellín cerró con una charla de Miguel Durán, quien brindó una excelente síntesis de los temas abordados en las demás ponencias, utilizando un humor negro que encantó a toda la audiencia. Su popularidad y gran experiencia con el público fueron evidentes y cerraron el evento de forma memorable.

Luego se monto Adrián a darnos información sobre los resultados del evento, el futuro de la comunidad y pudimos ver a todos los organizadores del eventos en el escenario para despedirlos. Al salir, todos nos dirigimos a un sitio para tomar la foto de todos los asistentes y ahí dar por cerrado CityJS Medellín.

Palabras finales sobre el CityJS Medellín

CityJS Medellín ha sido una de las mejores conferencias en las que he participado. Contó con ponentes de gran nivel, excelente organización, una audiencia comprometida y una amplia variedad de temas sobre lo más reciente en tecnología. Permitiendo aprender sobre las novedades en el mundo de JavaScript.

Agradezco al equipo organizador por la invitación a este gran evento. Espero que sigan realizándose más ediciones y cada vez se sumen más participantes.

Deja un comentario

El documental sobre la creación de GraphQL

El documental sobre GraphQL es otro de los excelentes trabajos de Honeypot, cuyos documentales ya he mencionado en este blog. En esta ocasión, exploraremos cómo miembros de Facebook crearon y desarrollaron GraphQL. A lo largo del documental, también veremos cómo su uso se fue expandiendo, hasta alcanzar la popularidad que disfruta hoy en día.

¿De qué se trata el documental de GraphQL?

El documental presenta entrevistas con miembros clave involucrados en el desarrollo inicial de esta poderosa herramienta, la cual permite a los clientes consultar datos de manera más dinámica, incluso de forma anidada en algunos casos. A diferencia de REST, por ejemplo, donde se recibe siempre el mismo conjunto de datos, esta tecnología ofrece a los usuarios la flexibilidad de definir qué información desean acceder.

En el documental, empleados de Facebook explican que la creación de esta herramienta surgió principalmente como respuesta al cambio en el consumo de Internet, que pasó de estar centrado en computadores de escritorio a dispositivos móviles. Ante este nuevo panorama, la compañía necesitaba una forma más eficiente de ofrecer datos a los dispositivos móviles. Posteriormente, lograron convencer a Facebook de liberar esta tecnología bajo una licencia de código abierto.

Adopción y crecimiento

Más adelante, en el documental veremos cómo un empleado de Airbnb se unió al proyecto, promoviendo su adopción dentro de la compañía y aumentando el uso de GraphQL. Además, desarrolló herramientas que mejoraron su funcionalidad. El respaldo de Airbnb ayudó a generar mayor confianza en el proyecto y a que más personas lo adoptaran. Posteriormente, la empresa Apollo Graph Inc. se sumó al esfuerzo, resolviendo un problema relacionado con la federación de datos, lo que nuevamente reforzó la confianza en esta tecnología y motivó a un número creciente de usuarios a adoptarla.

Mejor no te sigo contando y mira el documental a continuación. Recuerda dejar un comentario con tu opinión o cualquier idea que desees compartir.

GraphQL: The Documentary
Disfruta del documental de GraphQL

Espero que te haya gustado, y si no ha usado GraphQL te recomiendo darle un vistazo tanto como usuario como instalarlo del lado del servidor. Me parece una gran tecnología para permitir crear APIs. complejas con datos agrupados en distintos niveles.

Happy development!

Deja un comentario

Cómo solucionar el error: Failed to load LUKS superblock on device /dev/dispositivo: Invalid argument

Luego de configurar mi nueva computadora, estuve cifrando las particiones con información personal o del trabajo para mejorar mi privacidad y seguridad. Luego de crifar una de mis particiones que estaba sobre LVM (Logical Volume Manager), me empezó a salir el error Failed to load LUKS superblock on device /dev/dispositivo: Invalid argument en el arranque del sistema.

systemd-cryptsetup[346]: Failed to load LUKS superblock on device /dev/lvm_group/docs: Invalid argument

Al entrar al sistema la partición se montaba correctamente, pero era incómodo ver ese único error en el arranque. Entonces como buen Geek, me puse a averiguar y conseguí solucionar el problema.

¿Por qué aparece el error de Failed to load LUKS superblock on device /dev/dispositivo: Invalid argument?

Este error aparece cuando el sistema intenta montar automáticamente la partición cifrada, pero no puede hacerlo porque la partición donde se encuentra la llave de desencriptación no ha sido montada previamente. Como resultado, el proceso de montado se interrumpe, se muestra el error: Failed to load LUKS superblock on device /dev/dispositivo: Invalid argument, y no se pueden acceder a los datos.

Solución al problema

La solución a este problema es asegurarnos de que las particiones se monten en el orden correcto. Para lograr esto, modifica el archivo /etc/fstab de manera que la partición que debe descifrarse con la llave de desencriptación, no se monte automáticamente durante el arranque. Para hacer esto, debemos editar el archivo /etc/fstab y agregar la opción noauto a la partición que contiene la llave de desencriptación, quedando la partición de esta forma:

NOMBRE_VOLUMEN /dev/lvm_group/NOMBRE_VOLUMEN /etc/ruta_llave        luks,noauto

Esto evitará que el sistema intente montarla automáticamente al inicio, permitiéndonos montar primero la partición que contiene la llave de desencriptación y luego, manualmente, la partición cifrada. Yo elegí montarla al momento de colocar la contraseña para entrar al entorno gráfico y me funcionó.

Así que para arreglarlo, lo que hice fue:

  • Partición con la llave LUKS: montarla automáticamente.
  • Partición cifrada: colocar noauto en fstab para montarla luego manualmente.
  • Montarla utilizando el gestor de unidades de KDE como lo pueden ver a continuación
Aplicación de KDE para automontar unidades
Aplicación de KDE para automontar unidades

¡Listo! Ya pude utilizar mi partición en Linux sin tener errores durante el arranque.

Deja un comentario

¿Que és InnerSource?

InnerSource consiste en aplicar los principios del desarrollo de software de código abierto a una organización. Es decir, en vez de limitar el desarrollo de software a equipos cerrados y específicos, InnerSource permite que cualquier empleado de la empresa colabore en proyectos internos, compartiendo conocimientos y habilidades a través de diferentes departamentos y áreas.

¿Por qué es bueno para algunas empresas?

Aplicar InnerSource puede traer múltiples beneficios. Primero, fomenta la colaboración interdepartamental, lo que puede conducir a soluciones más innovadoras y eficaces. Cuando personas con diferentes perspectivas y habilidades trabajan juntas, es más probable que surjan ideas creativas y soluciones fuera de lo común. Además, InnerSource promueve la transparencia y el intercambio de conocimientos, lo que puede acelerar el desarrollo de productos y mejorar la calidad del software.

Si se empieza a usar en las empresas u organizaciones, puedo decirte que obtendrás los siguientes resultados:

  • Colaboración ampliada: cualquier empleado puede contribuir a proyectos, lo que enriquece el resultado final.
  • Mejora continua: la apertura a la retroalimentación y las contribuciones de otros equipos puede llevar a un producto de mejor calidad.
  • Desarrollo de habilidades: al involucrarte en proyectos fuera de tu área habitual, puedes aprender nuevas tecnologías y prácticas.
  • Reconocimiento y visibilidad: al brindar la oportunidad de demostrar tus habilidades a toda la organización, no solo a tu equipo directo.

¿Cómo empezar con InnerSource en tu empresa?

Para comenzar a implementarlo, recomiendo seguir estos pasos:

  1. Crea una cultura de apertura: promueve la idea de que los proyectos internos están abiertos para contribuciones de cualquier empleado interesado.
  2. Documenta bien los proyectos: asegúrate de que los proyectos sean accesibles y estén bien documentados para que cualquier persona pueda comprender cómo contribuir.
  3. Facilita la colaboración: proporciona herramientas y plataformas que permitan a los empleados colaborar fácilmente, como repositorios compartidos y canales de comunicación abiertos.
  4. Reconoce las contribuciones: fomenta y valora las contribuciones de todos, no solo de aquellos en roles de desarrollo.

Trabajar bajo este enfoque no solo aprenderás más sobre la organización, también te dará la oportunidad de demostrar tus habilidades más allá de tu área habitual. Al involucrarte en InnerSource, puedes expandir tu red de contactos internos, adquirir nuevas competencias y tener un impacto más amplio en la empresa.

¡Es una excelente forma de crecer profesionalmente y contribuir al éxito general de la organización! Comparte tu opinión sobre esto, si lo aplicas o que piensas sobre esto.

1 comentario