En el pasado JSConf de Europa, Ryan Seddon realizó una excelente charla sobre todo el proceso de un navegador web (como Firefox, Chrome, Edge o Safari) para visualizar una página web.

Este proceso me parece un tema esencial para todo desarrollador web (tanto frontend como backend), sin embargo, he notado que son pocos quienes saben el proceso de dibujado de la página web y al momento de crear sitios web, no lo hacen de forma correcta o muy deficiente, causando problemas de rendimiento en equipos con poca capacidad de cómputo.

Por los momentos solo está en inglés, pero pueden activar la traducción de subtítulos de Youtube a español y disfrutar un poco del video si no entienden el idioma original del vídeo.

Si quieres seguir investigando sobre este tema, les recomiendo lee este largo pero interesante artículo titulado How browsers works (Cómo funcionan los navegadores), espero que les sea de gran utilidad para futuros desarrollos.

Jan Jongboom hizo una grandiosa ponencia en el pasado JsConf sobre Firefox OS, en ella explica que quería comprar una Rasberry Pi para realizar experimentos y desarrollar programas, aunque el precio del dispositivo es atractivo, observó que un teléfono Firefox OS de USD $25 ofrece casi lo mismo pero con una pantalla táctil, puerto SIM y batería. Por lo que con menos precio puedes tener un buen dispositivo para hacer tus proyectos de hacking.

Su primer paso fue desarmarlo y realizar unas pequeñas modificaciones en el hardware para finalmente quedar con la tarjeta madre (de tamaño menor a una tarjeta de crédito), luego modificó el sistema operativo para eliminar la interfaz gráfica (Gaia), poner en ella una modificación para recibir comandos Javascript y ver la salida a través de la consola de depuración del navegador. Éste último cambio es difícil (Gaia está muy unido a Gecko el motor del navegador) e interesante, porque como él dice, le permite tener Gecko corriendo el aparato y tener scripts hechos en Javascript para realizar todo tipo de interacción con el hardware: sensores de movimiento, bluetooth, wifi, acceso a la red telefónica, etc.

Con estos hacks, realizó cosas interesantes como un timbre para una casa: cuando el visitante va a tocar el aparto se enciende (por el sensor de proximidad) se conecta a una corneta bluetooth para sonar. Me gustó el de la posibilidad de transformar el teléfono en una cámara de seguridad: se toman fotos cada cierto tiempo, se detectan cambios entre las fotos y cuando ocurra algo extraño envía un mensaje SMS, realiza una llamada o se conecta a Internet para alertar de un posible problema. En fin deben ver el vídeo para ver lo que hace.

Esta charla me recordó un artículo anterior donde escribí sobre la resolución del cubo de Rubik con uno de los equipos de Nokia, pues ya hoy en día casi todos tenemos una computadora en la palma de nuestras manos, que junto con el código abierto, gente curiosa puede estudiar como funcionan los dispositivos y modificarlos para realizar cosas para las cuales no estaban diseñadas originalmente, algo que define cultura Hacker.