¿El software libre es anarquista o capitalista? Unos lo llaman comunista, otros dicen que es capitalista, anarquista... ¿Quién tiene razón? Continúa leyendo Software libre y política
¡Cuidado con los directos! No descuides tu privacidad
Con el aumento de las comunicaciones en directo probablemente tu escritorio ya no es tan privado como antes —tanto el físico como el digital—. Un riesgo que demasiada gente subestima.
Si nos ponemos en la piel de un superior, a este quizá no le haga mucha gracia ver que el ordenador del trabajo se usa para videojuegos, pornografía o cualquier otra cosa que considere inapropiada; o ver en las sugerencias de la barra de direcciones del navegador sitios web que contienen ideas políticas contrarias a las suyas, por ejemplo.
Lo ideal sería utilizar el ordenador de la empresa únicamente para cosas de la empresa. Si este ordenador es el mismo que el de uso personal o se comparte con alguien, se debe utilizar una cuenta de usuario específica para la empresa, de forma que al compartir el escritorio no se vean nuestros archivos, los programas que usamos en nuestro tiempo libre, nuestro historial de navegación, etc.
Porque aunque solo pensábamos mostrar la presentación de diapositivas, acabamos exponiendo información sin darnos cuenta cuando algo falla y salimos de la presentación. Hombre precavido vale por dos: aunque algo falle, no comprometo mi privacidad cuando uso una cuenta de usuario específica para el trabajo.
Ni que decir tiene que el escritorio físico y lo que nos rodea mientras nos encontramos en una videoconferencia es otro factor de riesgo. Además, las personas con las que convivimos pueden comprometer nuestra privacidad. Habrá que encontrar, pues, los horarios con menos gente en casa, elegir con cuidado el lugar teniendo en cuenta lo que la cámara puede ver y mantener la comunicación digital en el lugar menos ruidoso.
En resumen, las comunicaciones digitales por videoconferencia suponen numerosos riesgos para la privacidad que deben ser tenidos en cuenta. Es primordial conocer los peligros que entrañan para poder evitarlos, incluso cuando surjan imprevistos.
Validar HTML de forma efectiva
El lenguaje HTML se adhiere al estándar WHATWG. Como es un lenguaje de marcado, un error en HTML no hace que la página web deje de funcionar, sino que el navegador la muestra lo mejor que puede.
Tener errores en HTML es problemático, ya que puede producir fallos inesperados y difíciles de reproducir, sobre todo cuando solo ocurren en un navegador. Así pues, es vital escribir un HTML válido.
Sin embargo, es muy fácil cometer errores y pasarlos por alto. Por eso es recomendable validar el código HTML; es decir, encontrar los fallos y corregirlos. Para eso existen los validadores, que, por lo general, simplemente muestran los errores. El más actualizado y recomendable es The Nu Html Checker. La W3C mantiene una instancia de ese validador que nos permite validar documentos HTML desde el navegador, ya sea introduciendo una URL, subiendo un archivo o introduciendo el código HTML en un formulario. Como este validador es libre, puedes instalarlo en tu ordenador fácilmente.
El validador en línea funciona bien si solo tienes que validar unas
pocas páginas web de vez en cuando, pero no sirve para validar un sitio
web entero. Para ello recomiendo usar la versión de The Nu Html
Checker que se ejecuta en terminal. Esta se encuentra en el archivo
vnu.jar
(hace falta tener Java instalado).
En mi caso, yo utilizo el paquete html5validator, ya que trabajo principalmente con Python y no supone una dependencia adicional. Para instalar este paquete en una distribución de GNU/Linux basada en Debian solo hay que ejecutar...
sudo apt install default-jre
sudo pip3 install html5validator
Al terminar la instalación tenemos un programa llamado html5validator que podemos ejecutar desde la terminal:
html5validator index.html
Un argumento súper útil es --root
, que permite validar todos los
archivos de un directorio, y del directorio dentro del directorio...,
así hasta que haya validado todo. Yo lo uso especificando el directorio
raíz de mi sitio web, validando así el sitio web completo en unos
segundos.
html5validator --root sitio-web/
Lo ideal es usar algún tipo de integración continua para no tener que ejecutar manualmente la anterior instrucción cada vez que cambias algo en la página web. Para ello yo uso GitLab CI. De este modo, mantengo este sitio web y muchos otros sin errores de HTML, y cuando rompo algo, me entero pronto.
diff-highlight: un mejor diff para Git
El programa de diff predeterminado de Git deja en ocasiones mucho que desear...
Continúa leyendo diff-highlight: un mejor diff para GitMás privacidad y eficiencia en Firefox con Decentraleyes
JavaScript permite la modificación dinámica de documentos HTML. Muchas de las bibliotecas de JavaScript requieren de mucho ancho de banda, y los algunos desarrolladores web utilizan redes de distribución de contenidos para cargar el JavaScript desde estas. Entonces dependen de redes de distribución de contenidos que, por supuesto, controlan por lo general grandes empresas, porque es caro mantenerlas.
El problema técnico principal es que si la red de distribución de contenidos falla, la página web no funcionará correctamente. Respecto a la privacidad, quienes controlan el servidor pueden almacenar los metadatos de los visitantes, como la dirección IP y la página visitada. En cuanto a la seguridad, en cualquier momento podrían modificar el código para introducir funcionalidades maliciosas.
No hay nada malo en usar redes de distribución de contenidos para reducir el ancho de banda; el problema está en usar redes que no controlas, como hacen tantos programadores incompetentes a día de hoy.
Como el problema está tan extendido, en este artículo os presento Decentraleyes, una extensión para Firefox que elimina este molesto intermediario «para así proporcionar una entrega de archivos locales (empaquetados) a velocidades exorbitantes y mejorar la privacidad en linea», como dice su descripción. Las redes soportadas son las principales: «Google Hosted Libraries, Microsoft Ajax CDN, CDNJS (Cloudflare), jQuery CDN (MaxCDN), jsDelivr (MaxCDN), Yandex CDN, Baidu CDN, Sina Public Resources, y UpYun Libraries».
Continúa leyendo Más privacidad y eficiencia en Firefox con Decentraleyes