Disponible Zorin OS 15.2, más refinada y actualizada

Ya está disponible Zorin OS 15.2, la nueva versión de la distribución Linux que le quiere disputar el puesto de la más recomendable para los recién llegado de Windows a la mismísima Linux Mint. ¿Buscas una alternativa bonita, sencilla y enfocada al cien por cien en el usuario doméstico de PC? Esta es una candidata a considerar.

Zorin OS 15.2 es la nueva actualización de Zorin OS 15 y Zorin OS 15.1, lo cual es una evidencia en toda regla, pero señalarla nos sirve también para enlazar los artículos que recogen las novedades de ambos lanzamientos, que en conjunto y de manera incremental conforman la versión más ambiciosa hasta la fecha de esta distribución.

Nos ahorramos por lo tanto repetir lo que ya hemos contado y nos centramos en Zorin OS 15.2, que no recibe con demasiadas novedades, pero sí con las suficientes como para fijarnos en ella. Comenzando por la actualización de los componentes base, que son los que trajo Ubuntu 18.04.4 LTS el mes pasado e incluyen como elemento destacado al kernel Linux 5.3, con todas las mejoras de soporte que ello conlleva.

Por lo demás, Zorin OS 15.2 actualiza aplicaciones como LibreOffice (6.3.5.2), GIMP (2.10.14) y otras tantas y hasta ahí llega lo que ofrece este lanzamientos, una actualización de mantenimiento comparable a la mencionada Ubuntu 18.04.4 LTS, con el añadido de las aplicaciones. Es, en definitiva, una renovación del medio de instalación dirigido a nuevas instalaciones, pues los usuarios que la tengan ya instalada y actualizada están servidos.

Si no conoces mucho Zorin OS, nos remitimos a la introducción del artículo: es una distro de usuario final de PC, se basa en Ubuntu, cuenta con un escritorio propio adaptado a partir de GNOME y al ojo tiene muy buena pinta. Te recordamos asimismo que está disponible en cuatro ediciones: Ultimate (de pago y con algunos extras superfluos), Core, Lite y Education. Las que te interesa probar son Core o Lite, esta última con escritorio Xfce.

Según cuentan sus desarrolladores, la actual versión y sus actualizaciones acumulan ya más de 900 000 descargas, la mayoría de las cuales provienen de Windows y Mac «reflejando nuestra misión de llevar el poder de Linux a las personas que nunca antes tuvieron acceso a él». No es para tanto, desde luego, pero más allá del autobombo es una propuesta llamativa.

Entreda: Muylinux

Firefox 75 tendrá grandes mejoras en la aceleración por hardware gracias a Red Hat

El soporte que Mozilla da a GNU/Linux a veces da la sensación de no estar tan bien atendido como el de Windows, y es que la fundación prioriza sus esfuerzos donde tiene la mayor cantidad de usuarios. Ante esa situación, la versión de Firefox para GNU/Linux cuenta desde hace tiempo con un sólido aliado: Red Hat (a veces a través de GNOME).

Sí, es la compañía Linux líder la que está poniendo de su parte para que Firefox no solo no se descuelgue del mayor empuje de Chromium, sino también para ponerlo al día en lo que se refiere a las últimas tecnologías y tendencias dentro del sistema operativo Open Source, con especial mención a Wayland, la aceleración por hardware y el CSD.

Que Red Hat está empecinada en poner Firefox al día es algo que se vio cuando anunció el soporte nativo para Wayland con el lanzamiento de Fedora 31. El soporte para el “nuevo” protocolo (o servidor cuando se quiera allanar el lenguaje) gráfico no solo pretende ser una mera integración, sino que intenta que venga acompañado de un mejor aprovechamiento de la aceleración por hardware, un punto en el que el navegador de Mozilla se encuentra un par de pasos por detrás de Chromium, sobre todo en GNU/Linux.

En el código de Firefox 75 se ha fusionado recientemente nuevos parches para añadir soporte de aceleración por hardware mediante VA-API en conjunción con FFmpeg cuando se use el navegador sobre Wayland. Esta característica llega meses después de incorporar el soporte de textura DMA-BUF, que permite compartir buffers entre el proceso principal y el compositor, trabajando directamente en la memoria de la GPU cuando el compositor de OpenGL está habilitado. La habilitación de VA-API en conjunción con FFmpeg requiere de activar WebRender u OpenGL como compositor y DMA-BUF para VA-API.

Por otro lado, Martin Stránský, el empleado de Red Hat que está trabajando en el soporte de Wayland para Firefox, también ha comentado en su blog que la versión 75 del navegador tendrá soporte completo de WebGL sobre Wayland como una opción adicional, la cual muy probablemente tenga que ser habilitada a través de la áspera sección about:config.

Por ahora Red Hat (más que Mozilla) está centrando sus esfuerzos de soporte de aceleración por hardware en Intel, aunque esperemos que todo ese trabajo no sea difícil de adaptar a AMD y NVIDIA (al menos en lo que respecta a Mesa). Por otro lado, esto no quiere decir que los soportes de WebGL y de textura DMA-BUF vayan a estar habilitados por defecto en Firefox 75, que tendría que ser publicado como estable durante la primera mitad de abril de 2020.

Viendo que el soporte de Wayland avanza muy despacio, Red Hat parece haber tomado cartas en el asunto para acelerar su adopción. A título personal, mientras la compañía del sombrero rojo no le meta mano a la captura del escritorio (screencast), con OBS Studio y SimpleScreenRecorder al frente, no puedo plantearme el uso de Wayland.

Entreda: Muylinux

Proton 5.0 ya está aquí para facilitar la ejecución de juegos de Windows en Linux

 

Valve ha anunciado la publicación de Proton 5.0, la última versión de la capa de compatibilidad que permite jugar a títulos de Windows en GNU/Linux y Mac y que se activa a través de la característica Steam Play.

Afortunadamente Valve se está tomando en serio lo de mejorar la compatibilidad de los juegos con GNU/Linux, cosa que se nota en los muchos esfuerzos que realiza al respecto. Sobre Proton 5.0, lo primero que destaca es la actualización al reciente Wine 5, la última versión de la reimplementación software libre de las API de Windows (emulador de Windows para los usuarios básicos) que destaca por la inclusión de nuevos módulos y muchas bibliotecas DLL en formato PE, favoreciendo así la portabilidad de las aplicaciones. En total se le han aplicado más de 3.500 cambios con respecto a la versión anterior, además que 207 parches procedentes de Proton 4.11 han sido actualizados o ya no son necesarios.

Los juegos que hacen uso de Direct3D 9 se ejecutarán con DXVK por defecto. Esta es otra característica heredada de la fusión con D9VK producida en diciembre del año pasado. Es importante tener en cuenta que DXVK está en fase de mantenimiento, así que posiblemente ya no reciba más cambios revolucionarios. Aquellos que prefieran la renderización sobre OpenGL ofrecida por Wine pueden añadir “PROTON_USE_WINED3D” (sin comillas) en los parámetros de lanzamiento del juego que quieran ejecutar con Steam Play.

Proton 5.0 también mejora la integración con el cliente de Steam para aumentar las posibilidades de éxito en la ejecución de títulos que hacen uso de Denuvo, el polémico DRM que es detestado por muchos jugadores. Entre los títulos mencionados por Valve están Just Cause 3, Batman: Arkham Knight y Abzu, aunque la lista tendría que ser más larga (NieR Automata es otro destacado juego que usa Denuvo).

A partir de ahora Proton informará sobre la disponibilidad de nuevas versiones del sistema operativo que podrían ser necesarias para la correcta ejecución de los juegos recientes, así que en esa situación los entornos de Proton no se actualizarán de forma automática.

Por último, y como herencia de Wine 5, Proton 5.0 incluye soporte en fase inicial para multimonitor y se ha mejorado el sonido envolvente en los juegos antiguos.

Qué es Proton o Steam Play

Aparte de lo explicado en el primer párrafo de este artículo, se trata de una de las grandes esperanzas en lo que se refiere a la ejecución de videojuegos en GNU/Linux.

Entrando en detalles más específicos, básicamente es un Wine precocinado para la ejecución de videojuegos de Windows. Esto quiere decir que la intención de Valve es que el soporte sea lo más desatendido posible, o dicho de otra manera, que los juegos sean instalados y jugados sin más pasos adicionales. Sin embargo, todavía quedan muchos pasos por dar hasta verlo totalmente maduro, pero es obvio que los avances han sido muchos y constantes desde el lanzamiento inicial hace más de un año.

Además de Proton, Valve también se encuentra trabajando en el copilador de shaders ACO, el cual dentro de poco tendría que masificarse a través de Mesa al poder ser usado junto con RADV, el driver de Vulkan para gráficas de AMD.

¿Y tú, quieres jugar a tus juegos de Windows en GNU/Linux o Mac? Solo tienes que dirigirte a la correspondiente sección en los Parámetros del cliente de Steam, activarlo y reiniciar la aplicación. Si tienes dudas sobre qué juegos funcionan correctamente, puedes consultar ProtonDB, donde los voluntarios evalúan su experiencia con los juegos de Windows ejecutados desde GNU/Linux.

Font: MuyLinux

Microsoft lanza Azure Sphere, su propio Linux para el IoT

Azure Sphere es el primer sistema basado en Linux desarrollado por Microsoft, está diseñado para el Internet de las cosas (IoT) y tras casi dos años en el horno, acaba de ver la luz, según informan en The Register.

Azure Sphere se anunció en abril de 2018 y con bastante bombo, pues se le llegó a denominar como «el primer Linux de Microsoft». No es tal cosa. O no lo es del todo. Para cuando se supo de Azure Sphere, Microsoft ya llevaba tiempo trabajando en la implementación de Windows Subsystem for Linux (WSL) en Windows 10 y antes había dado a conocer Azure Cloud Switch, otro proyecto basado en Linux que también se extendió mediáticamente como la primera distribución Linux de Microsoft, aunque lo cierto es que se trata de una aplicación específica con enfoque de uso interno.

Con todo, Azure Sphere sí que puede ser considerado como el primer sistema operativo completo de Microsoft basado en Linux, por más que no se vaya a distribuir así como así. Su nombre no lleva a engaño y según lo presentan es «una solución integral de seguridad de IoT que incluye hardware, sistema operativo y componentes en la nube, para proteger activamente sus dispositivos, su empresa y sus clientes». Ergo, esto no es competencia para los GNU/Linux diseñado para el IoT, sino una herramienta intrínsecamente ligada a Azure, la plataforma de servicios en la nube de Microsoft.

Como recogimos entonces, Azure Sphere se centra en la creación de dispositivos «MCU (dispositivos con microcontroladores IoT con todos los componentes (CPU, RAM, ROM…) necesarios para su conexión) altamente seguros y conectados a Internet» desarrollados en torno a tres componentes básicos:

  • Microcontroladores certificados Azure Sphere (MCU), un nuevo tipo de chips que combinan el proceso de aplicaciones en tiempo real con conectividad y seguridad desarrollado por Microsoft que surge, entre otras cosas, de las experiencia de la compañía con Xbox.
  • Azure Sphere OS, un nuevo sistema operativo diseñado de acuerdo a la protección por capas mencionada, basado en los avances de Microsoft y construido con «un kernel de Linux personalizado para crear un entorno de software altamente seguro y una plataforma confiable para las nuevas experiencias de IoT».
  • Servicio de seguridad de Azure Sphere, un servicio en la nube dedicado a la protección de los dispositivos que hagan uso de Azure Sphere el cual contempla medidas de protección «de dispositivo a dispositivo y de dispositivo a nube a través de autenticación basada en certificados, detección de amenazas de seguridad y actualizaciones de software».

Toda la información en la página oficial de Azure Sphere.

En resumen, Microsoft sigue nutriendo de soluciones el área de negocio que más réditos les está dando, y no es ni Xbox, ni Windows ni Office (aunque esta última también les va bastante bien), sino los servicios profesionales ligados a Azure. La semana pasada tuvimos otro ejemplo en este sentido con el anuncio de Microsoft Defender para Linux, aunque no es tal y como suena y se reduce, de nuevo, a Azure.

Font: MuyLinux

The Linux Foundation identifica los componentes Open Source más utilizados para mejorar su seguridad

The Linux Foundation ha publicado su informe Census II, con el pretende identificar “los componentes de software libre y de código abierto (FLOSS) más utilizados en aplicaciones de producción y comenzar a examinarlos para detectar posibles vulnerabilidades.”

Census II es el primer estudio importante de este tipo, pero no es un análisis final. Siendo más concretos, da los primeros pasos importantes y presenta una metodología para comprender y abordar las complejidades estructurales y de seguridad del software Open Source, además de identificar lo que se ha mencionado en el párrafo anterior.

¿Cuáles son los proyectos Open Source más populares?

Para la elaboración del informe, Core Infrastructure Initiative (CII) y el Laboratorio para Ciencia de Innovación de Harvard (LISH) han unido sus fuerzas con empresas de seguridad como Snyk y Synopsys Cybersecurity Research Center para combinar datos de uso privado con otros públicamente para identificar más de 200 de los proyectos de software Open Source más utilizados, los cuales han sido divididos en dos categorías: los que se basan en JavaScript y los que no. Los primeros cobran especial relevancia debido al ecosistema NPM, que contiene decenas de componentes que han sido escritos con unas pocas decenas de líneas de código de JavaScript y en muchos casos sin que haya funciones declaradas. Curiosamente, aquí no se encuentran pedazos de software populares como podrían serlo Linux, Apache y MySQL, por nombrar tres ejemplos socorridos.

Además, y siguiendo la línea del informe publicado hace poco por Red Hat, se recalca la cada vez mayor importancia del FLOSS en el mundo empresarial. Frank Nagle, profesor de la Escuela de Negocios de Harvard y codirector del informe Census II, ha comentado que “el FLOSS fue visto por mucho tiempo como el dominio de los aficionados y manitas de la computación. Sin embargo, ahora se ha convertido en un componente integral de la economía moderna y fundamental de las tecnologías cotidianas como teléfonos inteligentes, automóviles, Internet de las cosas y numerosas piezas de infraestructura crítica. Comprender qué componentes son los más utilizados y los más vulnerables nos permitirá ayudar a garantizar la salud continua del ecosistema y la economía digital.”

Aunque los grandes proyectos suelen acaparar el protagonismo, el hecho de no poner un ojo supervisando proyectos aparentemente más pequeños puede terminar teniendo consecuencias catastróficas. Esto se vio hace unos años con el caso de Heartbleed, la vulnerabilidad hallada en OpenSSL que dejó en pañales toda la web. Dicha situación obligó a mover fichas para que la biblioteca criptográfica tuviera un mantenimiento y una supervisión correctos, ya que el código abierto no proporciona seguridad de por el hecho de serlo, si bien la mayor transparencia ayuda en la detección de vulnerabilidades y permite auditar código sin compromisos.

A pesar de que el Open Source lleva tiempo intentando penetrar en el mercado de masas, donde tiene actualmente su principal nicho es en los desarrolladores, que muchas veces descubren un software y luego deciden descargarlo e implementarlo en los prototipos de sus proyectos. Aquí es importante tener en cuenta el ecosistema de NPM, donde el 47% de los paquetes tienen entre 0 y 1 funciones, siendo la media del total 112 líneas de código en JavaScript. Esto no solo pone de relieve el pequeño tamaño de los proyectos con los que suelen trabajar muchos desarrolladores, sino que contrasta con las 2.232 líneas de código que tiene de media un módulo de Python alojados en el repositorio PyPI. Sin más dilación, vamos a mencionar los componentes de software Open Source más utilizados en cada una de las categorías establecidas por el estudio.

Programas de JavaScript más usados:

  • Async: Un módulo de utilidad que proporciona funciones para trabajar con JavaScript asíncrono. Aunque originalmente se diseñó para ser uado con Node.js y se puede instalar a través del comando “npm install async”, es posible usarlo directamente en el navegador.
  • Inherits: Herencia amigable con el navegador totalmente compatible con las herencias del node.js estándar.
  • Isarray: Matriz para navegadores más antiguos y versiones obsoletas de Node.js.
  • Kind-of: Obtiene el tipo nativo de JavaScript de un valor.
  • Lodash: Una moderna biblioteca de utilidades de JavaScript que ofrece modularidad, rendimiento y extras.
  • Minimist: Opciones de argumento de análisis.
  • Natives: Llama a los módulos JavaScript nativos de Node.js.
  • Qs: Una biblioteca de parseo y conversación a string de cadenas de consulta con cierta seguridad adicional
  • Readable-stream:: Flujos principales de Node.js para el espacio de usuario.
  • String_decoder:: Node-core string_decoder para el espacio de usuario.

Los componentes más usados que no están hechos con JavaScript:

  • Com.fasterxml.jackson.core:jackson-core: Una parte central de Jackson, un procesador JSON (JavaScript Object Notation) que define la API Streaming y las abstracciones básicas compartidas.
  • Com.fasterxml.jackson.core:jackson-databind: Paquete general de enlace de datos para Jackson (2.x). Funciona en implementaciones de API de transmisión.
  • Com.google.guava:guava: Bibliotecas principales de Google para Java.
  • Commons-codec: El software Apache Commons-Codec proporciona implementaciones de codificadores y decodificadores comunes como Base64, Hex, Fonética y URL.
  • Commons-io: Commons IO es una biblioteca de utilidades para ayudar con el desarrollo de la funcionalidad entrada-salida.
  • Httpcomponents-client: El proyecto Apache HttpComponents es un conjunto de herramientas de componentes Java de bajo nivel centrados en HTTP y protocolos asociados.
  • Httpcomponents-core: Lo mismos que el anterior.
  • Logback-core: El marco de registro confiable, genérico, rápido y flexible para Java.
  • Org.apache.commons: commons-lang3: Un paquete de clases de utilidad Java para las clases que están en la jerarquía de java.lang, o que se consideran tan estándar como para justificar la existencia en java.lang.
  • Slf4j: Fachada de registro simple para Java.

 

 

Los principales problemas en el Open Source

Los investigadores tras el informe descubrieron que el mito del desarrollador único de código abierto que trabaja por amor al arte es solo eso: un mito. Un programador puede comenzar en casa, pero no se queda ahí a menos que le guste su oficina en casa. En lugar de eso, lo que se plasma en el informe Census II es una alta correlación entre estar empleado y ser uno de los principales contribuyentes a los paquetes FOSS más populares.

El punto expuesto en el párrafo anterior tampoco es que sea una sorpresa, sino que ya se ha visto en otras ocasiones, como por ejemplo en GitHub, donde un porcentaje importante de los contribuidores a los proyectos más relevantes proceden de grandes corporaciones como Microsoft. No, el Open Source ya no es un “movimiento rebelde”, sino que se ha consolidado como un motor importante de muchas grandes empresas del mundo.

Por otro lado, los investigadores han encontrado diversos problemas comunes entre en los componentes Open Source. El primero de estos es la falta de un esquema de nomenclatura estandarizado para los componentes de software, que hace que el seguimiento de estos programas sea un gran problema.

The Linux Foundation y sus socios creen que existe una “necesidad crítica de crear un esquema de denominación de componentes de software estandarizado. Hasta que exista, las estrategias para la seguridad del software, la transparencia y más tendrán un efecto limitado. Las organizaciones seguirán siendo categóricamente incapaces de comunicarse entre sí”, algo a lo que suma “la frecuencia y la sofisticación crecientes de los incidentes de ciberseguridad en los que la cadena de suministro de software juega un papel importante.”

El segundo problema es que muchos de estos programas viven de la mano de desarrolladores individuales“De los diez paquetes de software más utilizados en nuestro análisis, el equipo de CII descubrió que siete estaban alojados en cuentas de desarrolladores individuales”. ¿Qué sucede si una de estas cuentas es hackeada? Lastimosamente, aquí hay ejemplos de proyectos que han acabado mal debido al hackeo de la cuenta de sus propietarios, que eran personas individuales.

Por ejemplo, un programa de Node.js llamado left-pad fue eliminado por su desarrollador, provocando que miles de programas JavaScript npm fallaran. Otro ejemplo fue el hecho de que un hacker obtuvo acceso a la popular biblioteca de JavaScript Event-Stream y colocó una puerta trasera en el código. Luego agregó código malicioso en la biblioteca, lo que le permitió robar Bitcoin.

Está claro que las cuentas de desarrolladores individuales necesitan más protección de la que tienen. El programa de identificación CII de la Fundación Linux y Trust and Security Initiative incorporan la seguridad de la cuenta del desarrollador en sus controles para mitigar estos riesgos.

El último problema es que el código abierto no ha escapado a la maldición del software heredado o software legacy. Los desarrolladores pasan a programas más nuevos o versiones más nuevas de sus programas anteriores, pero muchos programadores todavía dependen del programa anterior. Estos desarrolladores son reacios a moverse cuando el nuevo paquete de reemplazo generalmente hace el mismo trabajo. Esto es especialmente cierto cuando el nuevo componentes viene, como a menudo pasa, con errores de compatibilidad. Para solventa esto los desarrolladores que usan Open Source deben comenzar a abordar los problemas del software legacy, cosa que puede resultar engorrosa o plomiza, pero muy necesaria para mantener la seguridad.

Por lo que se puede ver, los grandes retos de seguridad en el Open Source podrían no estar tanto en los grandes proyectos como en los pequeños. Esto puede recordar un poco a la situación de la seguridad en las empresas, y es que si bien las grandes corporaciones pueden ser objetivos más tentadores o que pueden reportar más beneficios para los actores maliciosos, son las pymes las que tienen las infraestructuras más endebles frente a las ciberamenazas.

Font: MuyLinux

Collabora Office para Android e iOS

Collabora Office para Android e iOS ha estrenado sus nuevas aplicaciones y ya no se trata de un mero visor, sino de una suite ofimática completa de código abierto con la que editar tus documentos en el móvil.

Por si te has perdido, Collabora es un compañía británica especializada en código abierto y metida en numerosos proyectos bien conocidos, entre los que se incluye LibreOffice. Así, cuando hablamos de Collabora Office nos referimos tanto a las versiones de LibreOffice para la nube (LibreOffice Online) como, en el caso que nos ocupa, las aplicaciones móviles.

Aunque The Document Foundation sigue teniendo presencia en las tiendas de aplicaciones de Google y Apple, es mínima y ha quedado relegada en favor de Collabora, su principal colaboradora (ya sabes de dónde viene su nombre) y la encargada de publicar las aplicaciones ofimáticas más allá del escritorio de PC.

Collabora Office, de hecho, reemplaza a LibreOffice Viewer, que desde su lanzamiento hace casi cinco años, apenas había avanzado.

Collabora Office para Android e iOS

Collabora Office para Android e iOS es, ahora sí, lo que esperabas de una suite de código abierto para el móvil con la que no solo podrás visualizar, sino también editar documentos de texto, hojas de cálculo y presentaciones, todo desde una misma aplicación.

Collabora Office para Android e iOS utiliza el mismo código de LibreOffice para PC e implementa su propia interfaz, diseñada para adaptarse al tamaño de la pantalla y al manejo táctil, basada en Collabora Online. En cuanto a compatibilidad, soporta los siguientes formatos de documentos:

  • Open Document Format (.odt, .odp, .ods, .ots, .ott, .otp)
  • Microsoft Office 2007/2010/2013/2016/2019 (.docx, .pptx, .xlsx, .dotx, .xltx, .ppsx)
  • Microsoft Office 97/2000/XP/2003 (.doc, .ppt, .xls, .dot, .xlt, .pps)

Del resto de sus características señalan su riqueza en funciones, destacando una función de copiar y pegar «muy superior a la de la competencia», así como «una experiencia de usuario pulida y un gran diseño». Por el contrario, el las descripciones de la aplicación advierten que se trata de un desarrollo activo que aún tiene que mejorar.

Os puedo adelantar que la he estado probando y a pesar de que en cuestión de usabilidad no llega el nivel de Google Docs o Microsoft Office, está mucho mejor de lo que me esperaba. Le falta añadir y ordenar las opciones de gestión y configuración y pulir un poco más el flujo de trabajo, pero promete.

De hecho, se queda instalada en mi Android, y es que como dicen en el anuncio de lanzamiento, Collabora Office para Android e iOS «incluye la libertad de decidir dónde almacenar los documentos que editas desde tu dispositivo móvil«, ya sea sincronizándolos en el servicio que quieras o dejándolos donde están, en el almacenamiento del móvil.

Collabora Office para Android e iOS se suma como nuevo producto a las suscripciones de pago de Collabora Office, pero al igual que sucede con CODE, la versión comunitaria de la suite en la nube, las apps móviles son totalmente gratuitas.

Font: MuyLinux

eXtern OS quiere cambiar la forma en que usamos las computadoras

Que GNU/Linux sea un sistema abierto permite reenfocarlo y reimplementarlo de la manera que el desarrollador quiera, de ahí que incluso en los últimos tiempos sigan apareciendo propuestas como eXtern OS, que tiene como objetivo dar un nuevo enfoque a la computación de escritorio mediante la utilización de Node.js.

eXtern OS, que lleva en activo dos años, está siendo desarrollado por un estudiante de ciencias de la computación de la Universidad RMIT llamado Anesu Chiodze y se trata de un sistema operativo con algunas peculiaridades a nivel de interfaz frente a lo que hemos visto hasta ahora en GNU/Linux. Profundizando en detalles, pretende redefinir la forma de interaccionar con los contenidos alojados en una computadora, proporcionando una interfaz de usuario moderna, distintiva y diferente, tal y como se puede ver en la imagen de abajo.

Dicho con otras palabras, esta distribución GNU/Linux, que está basada en Ubuntu, tiene su mayor atractivo en la interfaz gráfica de usuario, la cual está construida con NW.js, un framework que permite crear aplicaciones web para el escritorio con HTML, CSS y JavaScript y que además soporta las API de Node.js y todos los módulos de terceros, por lo que brinda muchas posibilidades a la hora de desarrollar aplicaciones. Cuando el usuario inicia sesión en eXtern OS, verá un entorno centrado en la ejecución de contenidos multimedia y que cuenta con algunas aplicaciones adaptadas a la experiencia que quiere ofrecer, como la de audio y el navegador web.

La distribución que nos ocupa puede ser utilizada mediante dos vías: USB y DVD. La primera además permite guardar los cambios que se hagan en cada sesión si se habilita el modelo de persistencia, y como casi cualquier distribución GNU/Linux soporta instalación en local junto a los sistema ya presentes en la computadora.

eXtern OS se encuentra ahora en fase beta, por lo que no está considerado como un producto terminado. Sin embargo, y a pesar de que su propuesta resulta interesante, es un sistema operativo que todavía está bastante verde al no ser capaz, por ejemplo, de actualizar el lanzador del sistema tras instalar nuevas aplicaciones.

Los que quieran experimentar con eXtern OS (recomendamos usar una máquina virtual o un ordenador que pueda ser sacrificado sin consecuencias) pueden descargarlo desde el sitio web oficial del proyecto.

Font: MuyLinux

Guía: Cómo Animar con SVG

Cualquier ingeniero de front-end que valga la pena es consciente de los desafíos que conlleva el ecosistema fragmentado de dispositivos. Diferentes tamaños de pantalla, resoluciones y relaciones de aspecto hacen que sea difícil ofrecer una experiencia coherente. Más aún para aquellos que quieren ofrecer una experiencia perfecta en píxeles.

Los gráficos vectoriales escalables (SVG) ayudan a resolver una parte de ese problema y lo hacen muy bien. A pesar de que tienen sus limitaciones, los SVG pueden ser muy útiles para ciertas ocasiones y, si tienes un buen equipo de diseño, también puedes crear una experiencia más visualmente impactante sin cargar indebidamente el navegador web ni obstaculizar los tiempos de carga.

Durante los últimos meses, he estado trabajando en un proyecto que está haciendo un uso extensivo de SVG y sus capacidades de animación y efecto. En este artículo, compartiré cómo puedes usar SVG y sus técnicas de animación para dar nueva vida a tu trabajo de front-end web.

Gráficos vectoriales escalables

SVG es un formato de imagen basado en XML, muy parecido al funcionamiento del HTML. Define diferentes elementos para varias formas geométricas familiares que se pueden combinar en el markup para producir gráficos bidimensionales.

La especificación SVG es un estándar abierto desarrollado por el World Wide Web Consortium (W3C) en 1999.

Todos los principales navegadores web han tenido soporte de renderizado SVG desde hace un tiempo.

Como los gráficos SVG son documentos XML, los navegadores web proporcionan API basadas en nodos DOM que se pueden usar para interactuar con las imágenes. ¡Hablando sobre cómo dar vida a las imágenes!

Caminos de SVG

Si hay un elemento sobrecargado en SVG, ese sería el elemento <ruta>.

El elemento ruta es una forma básica que se puede usar para crear casi cualquier forma 2D avanzada que puedas imaginar.

El elemento funciona al tomar una secuencia de comandos de dibujo. Se parece mucho al lenguaje de programación Logo de 1967, solo modernizado y diseñado para gráficos sofisticados. El elemento toma esta secuencia de comandos de dibujo a través del atributo d.

<!-- Un triángulo rectángulo -->
<path d="M10 10 L75 10 L75 75 Z" />

Puedes pensar en un bolígrafo virtual que se dibuja en la pantalla, y los comentarios de dibujo en el elemento de ruta simplemente controlan el bolígrafo. En el ejemplo anterior, se le indica al bolígrafo que se mueva a la posición (10, 10) (M10 10), para dibujar una línea a (75, 10) (L75 10), para dibujar un línea a (75, 75) L75 75 y luego cerrar la ruta volviendo al punto inicial (Z).

Usando otros comandos de dibujo, como arcos (A), curvas de bezier cuadráticas (Q), curvas de bezier cúbicas (C), etc., puede crear formas y gráficos mucho más complejos en SVG.

Puede aprender mucho más sobre el elemento de ruta aquí.

Caminos SVG y CSS

“Está bien Juan, lo entiendo. Los caminos o paths son poderosos, pero ¿cómo los animo?” Dices.

Para nuestra primera técnica, vamos a aprovechar dos atributos de SVG: stroke-dasharray y stroke-dashoffset.

 

El atributo stroke-dasharray controla el patrón de rayas y lagunas utilizadas para trazar el camino. Si deseas dibujar sus líneas como un grupo de guiones y espacios en lugar de un trazo continuo de tinta, este es el atributo que usaría.

Como las imágenes SVG son parte del DOM del navegador web y stroke-dasharray es un elemento de presentación, el atributo también se puede configurar mediante CSS.

Del mismo modo, el atributo stroke-dashoffset (que especifica qué tan lejos está en el patrón del tablero para comenzar el guión) también se puede controlar usando CSS.

Estos dos atributos SVG, juntos, se pueden usar para animar rutas SVG, dando al espectador la ilusión de que las rutas se están dibujando gradualmente.

Toma esta curva bezier cuadrática, por ejemplo:

<path fill="transparent" stroke="#000000" stroke-width="5" d="M10 80 Q 77.5 10, 145 80 T 280 80" class="path"></path>

Para animar esta ruta como si se dibujara de forma gradual y sin problemas en la pantalla, tendremos que establecer las longitudes del guión (y la brecha), utilizando el atributo stroke-dasharray, igual a la longitud de la ruta. Esto es para que la longitud de cada trazo y espacio en la curva discontinua sea igual a la longitud de la ruta completa.

A continuación, estableceremos el desplazamiento del tablero, utilizando el atributo stroke-dashoffset, en 0. Esto hará que la ruta aparezca en la pantalla como una curva sólida (estamos mirando esencialmente el primer trazo, y ya hicimos que cada tramo abarque todo el longitud de la curva). Al establecer el desplazamiento del tablero igual a la longitud de la curva, terminaremos con una curva invisible (ahora estamos viendo la curva que se representa como un espacio completo, la parte que sigue inmediatamente a un guión).

Ahora, al animar la propiedad stroke-dashoffset, puede hacer que la curva aparezca gradualmente en la pantalla.

Como puede ver, la curva siempre está ahí. Solo estamos cambiando el desplazamiento del tablero para que la parte punteada aparezca poco a poco.

Puedes llevar esto un paso más allá usando el mismo principio pero con más caminos:

Aquí tienes una curva negra que está fija, una roja que se mueve a lo largo de la ruta, y otra negra detrás de la roja pero 40px detrás.

Stroke-dasharray y stroke-dashoffset son dos atributos muy potentes que se pueden utilizar para aplicar una gran cantidad de animaciones y efectos a sus rutas SVG. Puedes probar esto herramienta práctica que puedes usar para experimentar con los dos atributos.

Animar objetos a lo largo de rutas SVG

Con SVG y CSS, otra cosa interesante que puedes hacer es animar objetos o elementos siguiendo un camino.

Hay dos atributos SVG que vamos a usar para la animación:

  • offset-path: la propiedad CSS de ruta de desplazamiento especifica la ruta de desplazamiento donde se posiciona el elemento.
  • distancia de compensación: la propiedad de CSS de distancia de desplazamiento especifica una posición a lo largo de una ruta de desplazamiento.

Al combinar estas dos propiedades, puedes crear animaciones como esta fácilmente:

Como puedes ver, tenemos un nuevo elemento div.ball.

Este elemento puede ser cualquier cosa, un div, una imagen, texto, lo que sea. La idea en este ejemplo es que con el uso de offset-path y offset-distance puede darle al elemento un camino para seguir y animar la distancia y el elemento se moverá a través de la ruta.

SVG Animations Uso de JavaScript

Si todos estos no son lo suficientemente sofisticados, siempre puede recurrir a JavaScript.

Animar elementos SVG con JavaScript puede ser muy similar a animar elementos DOM. Sin embargo, con JavaScript, puede lograr las técnicas de animación que hemos comprobado anteriormente, pero más fácilmente.

Anteriormente, tuvimos que codificar las longitudes de ruta en nuestro CSS. Con la ayuda de la función JavaScript path.getTotalLength (), es posible calcular la longitud de la ruta sobre la marcha y usarla según sea necesario. Puede obtener más información al respecto aquí.

Además, ya hay varias bibliotecas a su disposición que pueden hacer que las animaciones SVG sean mucho más fáciles de lo que ya son.

Snap.svg no solo hace que sea fácil dibujar imágenes SVG usando JavaScript, sino que las hace tan simples como llamar a .animate ({}).

Otra biblioteca, anime.js, le permite hacer que un elemento div siga una ruta SVG con solo unas pocas líneas de código.

Si estás buscando una biblioteca que hace más por sí misma pero hace que los resultados parezcan impresionantes, entonces Vivus es lo que está buscando. Se necesitas un enfoque diferente, más orientado a la configuración para la animación de ruta SVG. Con esta biblioteca, solo tiene que agregar una ID al elemento SVG que desea dibujar y definir un objeto Vivus con esa ID. Vivus se encargará del resto.

Otras lecturas

A continuación, encontrará una lista de recursos que puede resultarle útil al tratar con imágenes SVG y animarlas:

Para profundizar en la animación SVG, puede leer este breve artículo sobre las tres formas de animar SVG imágenes y ver el video screencast por CSS Tricks.

Una cosa que este artículo no cubrió es animando imágenes SVG con el Lenguaje de Integración Multimedia Sincronizado (SMIL). Si bien usar CSV para SVG le da la ventaja de trabajar con algo con lo que ya está familiarizado, SMIL lleva las cosas al siguiente nivel.

Con SMIL, puede implementar efectos de animación avanzados como el cambio de forma utilizando solo SVG. Una guía breve pero efectiva para usar SMIL para tales efectos está disponible aquí.

Aunque, el soporte para SMIL es un poco inquietante en este momento (sin juego de palabras).

Animaciones sin compromiso para la Web

En este artículo, ha pasado por varias formas en que puede animar elementos SVG utilizando elementos CSS o HTML en rutas SVG.

SVG es liviano y se puede usar para producir gráficos nítidos independientemente del tamaño de la pantalla, el nivel de zoom y la resolución de la pantalla. Con SVG, ofrecer una experiencia moderna y vívida ahora es más fácil que nunca, al mismo tiempo que cosecha los beneficios del uso de tecnologías web estándar.

¡Y eso es! Espero que hayas encontrado útil este tutorial de animación SVG y hayas disfrutado de su lectura.

 

 

Translated By Yesica Danderfer. This article was originally written in English
Font: Toptal.com

Disponible MyPaint 2.0 para facilitar la creación de dibujos mediante tableta

Nueve años después del lanzamiento de la última versión mayor, MyPaint 2.0 ya está entre nosotros para seguir ofreciendo lo mejor de esta aplicación de dibujo, que frente a competidores como Krita destaca por tener una interfaz sencilla que puede resultar más fácil de aprender o entorpecer menos cuando se quiere centrar la usabilidad en la tableta digital tipo Wacom.

Aunque su nombre deja entrever que podría tratarse de un clon de la archiconocida aplicación de dibujo de Microsoft, la realidad es que MyPaint es algo más y su segunda versión mayor pretende llevar eso más allá tras la publicación de más de una docena de versiones alfa durante el año pasado.

Como novedades Paint 2.0 incluye composición lineal y mezcla espectral (pigmento); vistas de capa; pinceladas dependientes de la vista y el zoom de la vista; modos adicionales de simetría que abarcan vertical, vertical más horizontal, rotacional y copo de nieve; funcionalidad de relleno expandida con desplazamiento, pluma, detección de huecos y más cosas; nuevas configuraciones de pincel para incluir compensaciones, mapa de cuadrícula, configuraciones adicionales de manchas, posterización y pigmento; además de nuevas entradas de pincel con rotación, radio base, nivel de zoom, mapa de cuadrícula x/y, dirección a 360 grados y ángulo de ataque.

Lo expuesto en el párrafo anterior son solo las nuevas características de MyPaint 2.0, pero si entramos en el registro de cambios encontramos todavía más cosas, como la completación del soporte para Python 3 (aunque Python 2 sigue están soportado), nuevos atajos de teclado, descripciones de los pinceles en formato tooltip, adición de soporte para Flatpak, un nuevo diálogo de propiedades de la capa, idioma configurable desde las preferencias del usuario y nuevas posibilidades como la simplificación de los nodos en la herramienta de tinta, la eliminación de los autoguardados del cuadro de diálogo de recuperación y el poder usar una versión externa de la biblioteca libmaypaint a partir de la 1.5.

MyPaint no solo es una aplicación de dibujo para GNU/Linux, sino que además es software libre (GPLv2 o posterior) y multiplataforma al dar soporte para Windows y Mac. Los usuarios de GNU/Linux pueden obtener la versión 2.0 en formato AppImage o Flatpak, mientras que a los de Windows y Mac pueden recurrir a Chocolatey y MacPorts respectivamente o llegar abajo del todo en el anuncio oficial, donde se pueden encontrar todos los instaladores.

 

Font: MuyLinux

Canonical publica una guía para olvidarte de Windows 7 y adoptar Ubuntu

 

El fin del soporte de Windows 7 el pasado 14 de enero sigue dando de que hablar y como ya os hemos contado en varias ocasiones, el mundillo de Linux y aledaños se ha posicionado recomendando las alternativas libres, principalmente GNU/Linux. Lo hizo Canonical, lo hizo KDE y hasta lo hicieron los desarrolladores del navegador Vivaldi.

Pero Canonical no se quedó ahí y en los últimos días ha publicado una completa guía en tres partes con las que ayudar al usuario que así lo quiera, a abandonar esa peligrosa nave fantasma en la que se ha convertido Windows 7 sin más actualizaciones que lo amparen, y quiera probar Ubuntu, la alternativa a Windows más asequible, accesible y potente que existe ahora mismo.

Ojo con lo dicho, pues calificar a Ubuntu como lo acabamos de hacer se debe únicamente a que es la alternativa más popular de GNU/Linux frente a los otros dos grandes sistemas operativos del mercado, Windows y macOS. Así es, al menos, para el público no especializado. A cualquier de quienes nos leen le recomendaríamos Ubuntu, pero antes podríamos poner a Linux Mint y otras.

Volviendo al tema que nos ocupa, ni siquiera con el fin de Windows XP, con el que también corrieron ríos de tinta, se había volcado tanto Canonical en promocionar a Ubuntu. De hecho, la guía que han publicado está realmente bien y abarca desde las consideraciones de hardware y software que realizar antes de dar el salto, todo lo relativo a la instalación del sistema, su configuración básica, aplicaciones alternativas y un largo etcétera.

Especialmente útil es la referencias que hacen a la terminología que empleamos normalmente en Linux, los consejos relacionados con las pruebas previas y las copias de seguridad, periféricos… incluso la línea de comandos tiene un pequeño hueco para quien le interese, aun cuando no se trata de ningún requisito. La guía está publicada en el blog de Ubuntu y aunque está en inglés, merece la pena echarle un vistazo:

Por supuesto, este pequeño esfuerzo por parte de Canonical no va a suponer ninguna diferencia con el discurrir de los acontecimientos, y es que lo más probable es que la mayoría de los usuarios de Windows 7 acaben migrando a Windows 10. Pero es un detalle. Si no te va el inglés, nosotros también tenemos nuestras guías que quizás te interese revisar:

  • Consideraciones previas, donde reunimos varias cosas que deberías tener en cuenta antes de instalar Ubuntu, incluyendo la posibilidad de probarlo sin instalarlo, los requisitos estimados o la grabación de la imagen de instalación, entre otras.
  • Ubuntu: qué versión instalar y cuándo actualizar, donde te explicamos qué versiones son las más recomendables y cuándo conviene actualizar de una a otra.
  • Anuncio de lanzamiento de Ubuntu 18.04 LTS, donde resumimos las novedades de esta versión y donde encontrarás los enlaces para acceder a la descarga de las imágenes de instalación.
  • Guía de instalación de Ubuntu, donde explicamos el proceso de instalación de Ubuntu paso a paso.
  • Guía de configuración de Ubuntu, donde resumimos los primeros pasos recomendados una vez instalado el sistema.
  • Ubuntu con escritorio clásico en dos sencillos pasos, donde te enseñamos cómo tranformar el escritorio de Ubuntu en algo más similar a Windows si es que lo prefieres así.

 

Font: MuyLinux