Saltar al contenido

Categoría: Planetas

20 años usando Mozilla Firefox: mi historia con el navegador que cambió la web

Hace 20 años, cuando soñaba con convertirme en hacker durante mi adolescencia, descubrí el navegador K-meleon y posteriormente migré a Mozilla Browser. Este último, me fascinó por lo avanzado que era comparado con Internet Explorer 6: soporte para pestañas, manejo de correo, y una integración completa que incluía herramientas como calendario y editor web. Sin embargo, cuando instalé mi primer Ubuntu (la versión 4.10), me encontré con una versión de Firefox (la 0.93) que me dejó un tanto decepcionado. A diferencia de Mozilla Browser, Firefox era «solo» un navegador. En esa época, lo normal era que los navegadores incluyeran múltiples funciones integradas. Firefox, en cambio, ofrecía únicamente la experiencia de navegación.

Mis inicios con Firefox 1.0

Todo cambió pocos días después, cuando llegó el lanzamiento de la versión 1.0. Fue un evento monumental en la comunidad de software libre, al punto de que apareció una publicidad de dos páginas en el New York Times celebrando su llegada. La emoción era notable, así que decidí darle una oportunidad. Al probarlo, quedé sorprendido: Firefox 1.0 era rápido, ligero y eficiente, justo lo que necesitaba. No tardé mucho en migrar completamente y convertirlo en mi navegador principal. Esa decisión marcó el inicio de una relación que hoy, 20 años después, sigue intacta, solo hubo un par de meses que usé Opera como navegador principal porque no recuerdo que problema en mi distribución.

Mis mejores recuerdos con el navegador

Y muchos mas que compartiré luego porque no quiero extender esta entrada.

El futuro de Firefox

A lo largo de estas dos décadas, he visto a Firefox evolucionar, enfrentar desafíos y adaptarse a los tiempos modernos. Aunque los navegadores han cambiado mucho, Firefox sigue siendo mi elección por su compromiso con la privacidad, la personalización y el código abierto.

Mucha gente ignora que gracias a este gran navegador se rompió el monopolio de Internet Explorer y permitió a otros navegadores como Google Chrome surgir. Ahora la lucha es irónicamente con este último, pues exceptuando Safari, todos los navegadores restantes usan el motor Chromium de Google. Por eso espero que el futuro de Firefox sea el de ser un navegador con motor propio que lucha por la privacidad y seguridad de sus usuarios. A pesar que se hace cada día mas difícil por motivos de personal y monetarios, deseo que recupere cuota del mercado. A partir de este año (2024) he vuelto a ver mejoras en el navegador que sentía que se estaba estancando en el tiempo.

Usar Firefox luego de tanto tiempo, no solo es un recordatorio de cómo ha cambiado la tecnología, sino también de cómo algunas herramientas se convierten en algo más que simples programas: se vuelven compañeros en nuestro camino.

Gracias, por estos 20 años de navegación. Espero seguir disfrutando de tus innovaciones, de tu protección de mi navegación, y mantengas tu rumbo por muchos años más.

Deja un comentario

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