Twitter and Facebook Lock Trump’s Accounts After Violence on Capitol Hill by Kate Conger, Mike Isaac and Sheera Frenkel


By Kate Conger, Mike Isaac and Sheera Frenkel

The moves came after critics and even some allies of the social media companies said they had failed to prevent the misinformation that led to chaos on Wednesday.

Published: January 5, 2021 at 06:00PM

from NYT Technology https://ift.tt/3hPZFgR
via IFTTT

Aplicaciones en Rust son más rápidas que sus contrapartes en C

Rust Linux Kernel

Rust es un lenguaje de programación compilado, de propósito general y multiparadigma, su objetivo es ser un buen lenguaje para la creación de grandes programas del lado del cliente y del servidor que se ejecuten en Internet.

Esto ha llevado a un conjunto de características con un énfasis en la seguridad, el control de distribución de la memoria y la concurrencia. 

Además de que se espera que el rendimiento de código seguro sea más lento que C++, si el rendimiento es la única consideración, pero si lo comparamos con el código C++ hecho para que tome precauciones comparables a las que toma Rust, este último puede ser incluso más rápido.

Y es que no es de extrañar que a estas alturas ya muchos programadores y desarrolladores comiencen a dar la vuelta hacia Rust y es que incluso diversos desarrolladores del Kernel de Linux han expresado su interes en poder migrar el Kernel a este lenguaje e incluso el mismo Linus Torvalds ha dado buenos comentarios sobre Rust.

Tomando esta opinión de los observadores informados, tal parece que este es el futuro de la programación del sistema en lugar del lenguaje C.

De hecho, los expertos opinan que ofrece mejores garantías de seguridad del software que el par C/C+ pues los puntos de referencia recientes incluso sugieren que las aplicaciones de Rust son más rápidas que sus contrapartes C.

Los lenguajes de programación se ponen cara a cara en varios terrenos, incluida la asignación (y desasignación) de árboles binarios y la visualización de conjuntos de Mandelbrot en un Intel i5-3330 de cuatro núcleos con una frecuencia de reloj de 3 gigahertz y equipado con casi 16 GB de RAM.

Los puntos de referencia solo revelan cifras comparativas para las versiones más rápidas de programas para un par de idiomas determinado. Los códigos fuente de estos están disponibles en el caso de la pareja Rust/C para el índice de referencia de Mandelbrot:

La explicación del creciente interés de los actores en el sector de la programación de sistemas se basa en este tipo de observación.

En el tercer trimestre de 2019, ya estábamos hablando de la posible entrada en el kernel de Linux de un framework para configurar controladores en el lenguaje de programación Rust.

Desde el año pasado, la comunidad de Linux se ha dedicado a pensar en cómo integrar el soporte de lenguaje de Mozilla Research en el sistema de compilación.

“Necesitamos adoptar el mismo enfoque de soporte que los compiladores y verificar la disponibilidad de varios indicadores de compilación en la etapa de configuración”, dijo Linus.

El punto con el lenguaje Rust es que se ha ganado el reconocimiento como «más querido» por los desarrolladores acostumbrados a la plataforma de preguntas y respuestas sobre temas relacionados con TI: StackOverflow.

Al cierre de la edición 2019 de su encuesta que movilizó a cerca de 90.000 trabajadores del sector de la programación informática, el lenguaje concentraba el 83,5% de los retornos positivos.

Por lo tanto, casi 75,000 desarrolladores de esta encuesta de Stack Overflow han indicado que usan el lenguaje Rust y que continuarán usándolo; es decir, desarrolladores que, tras algunos experimentos con el lenguaje, se enamoraron de él.

Esta es otra encuesta realizada esta vez por el equipo de desarrollo del lenguaje y publicada en el primer trimestre del año anterior, lo que arrojó luz sobre el hecho de que el lenguaje todavía se utiliza principalmente para proyectos personales. Razón principal: falta de adopción por parte de las empresas.

Posteriormente, la situación está cambiando, ya que el idioma comienza a beneficiarse del apoyo de los actores de la industria informática y no menos importante.

Hasta la fecha, existe una proyección de lenguaje Rust para las API de Windows Runtime. Este es un anuncio de Microsoft que apareció en mayo del año anterior.

De este modo, Rust une C++ con la biblioteca Rust / WinRT, lo que abre la posibilidad a los desarrolladores de Rust de configurar componentes y controladores para Windows.

Fuente de los benchmarks: https://benchmarksgame-team.pages.debian.net

from Linux Adictos https://ift.tt/3nsygD6
via IFTTT

Wasmer, un conjunto de herramientas para aplicaciones WebAssembly

 

Después de dos años de desarrollo se dio a conocer la liberación de la primera versión significativa del proyecto Wasmer, el cual desarrolla un runtime para ejecutar módulos WebAssembly.

Las áreas de uso de Wasmer incluyen la creación de aplicaciones universales que pueden ejecutarse en diferentes sistemas operativos, así como la organización de la ejecución aislada de código no confiable. Se admite la inclusión de la creación de aplicaciones de servidor, por ejemplo, se demostró el lanzamiento de un servidor Nginx compilado en WebAssembly.

Sobre Wasmer

La portabilidad se logra compilando el código de la aplicación en middleware WebAssembly de bajo nivel que puede ejecutarse en cualquier sistema operativo o integrarse en programas en otros lenguajes de programación.

Los programas son contenedores ligeros que ejecutan el pseudocódigo de WebAssembly. Estos contenedores no están vinculados al sistema operativo y pueden incluir aplicaciones escritas originalmente en cualquier lenguaje de programación.

El kit de herramientas de Emscripten se puede utilizar para compilar en WebAssembly, además de que para traducir WebAssembly al código de máquina de la plataforma actual, se conectan varios marcos, como LLVM y el generador de código Cranelift.

Por otra parte, el control de acceso y la interacción con el sistema se proporcionan mediante la API WASI (WebAssembly System Interface), que proporciona interfaces de programación para trabajar con archivos, sockets y otras funciones proporcionadas por el sistema operativo.

Además de que las aplicaciones están aisladas del sistema principal en un entorno de sandbox y tienen acceso solo a la funcionalidad declarada (mecanismo de seguridad basado en capacidades de gestión; para acciones con cada uno de los recursos (archivos, directorios, sockets, llamadas al sistema, etc.), la aplicación debe recibir el correspondiente potestades).

Los programas se distribuyen en forma de módulos WebAssembly regulares, que se pueden administrar mediante el administrador de paquetes WAPM.

Wasmer también está disponible en forma de biblioteca que se puede utilizar con varios lenguajes de programación. Se admite la incrustación de código WebAssembly en programas en Rust, C/C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir y Java.

En cuanto a las características de la versión 1.0 de Wasmer se destacan las siguientes:

  • Alto rendimiento de aplicaciones en ejecución, cercano a la ejecución de ensamblados nativos y alta velocidad de compilación.
  • Arquitectura extensible con capacidad para conectar diferentes backends de compilación ( Singlepass , Cranelift, LLVM) y motores (usando JIT o generando código de máquina).
    Native Object Engine, que permite generar código de máquina para un sistema dado para un módulo WebAssembly («compilación wasmer – nativa» para generar archivos de objeto precompilados .so, .dylib y .dll).
  • El código precompilado requiere un tiempo de ejecución mínimo para ejecutarse, pero se conservan todas las capacidades de aislamiento de espacio aislado.
  • Modo sin cabeza para entregar programas precompilados con Wasmer incorporado.
    Soporte de compilación cruzada, por ejemplo, para generar código de máquina para la arquitectura Aarch64 en un sistema x86_64.
  • Una API simple para crear complementos y complementos sin la necesidad de aprender conceptos avanzados de WebAssembly.
  • Soporte para WASM-C-API.
  • Herramientas para depuración y manejo de errores.

Finalmente si estás interesado en conocer más al respecto sobre Wasmer, debes saber que el código del proyecto está escrito en Rust, tiene la licencia MIT y puedes consultar sus detalles en su sitio web oficial en el siguiente enlace.

Instalar el runtime de Wasmer

Por otra parte, para quienes estén interesados en poder ejecutar el contenedor WebAssembly, solo necesita instalar el runtime de Wasmer en su sistema, que viene sin dependencias externas.

Es importante mencionar que se puede ejecutar Wasmer en cualquier plataforma macOS, Linux y Windows, el único requisito es que se instale el runtime de este en tu sistema.

Para ello basta con ejecutar el siguiente comando en una terminal:

curl https://get.wasmer.io -sSfL | sh

Y después de ello, deben de ejecutar el archivo requerido:

wasmer test.wasm

Si necesitas conocer más al respecto sobre el funcionamiento de Wasmer o quieres conocer su código fuente, puedes consultar todo eso en el siguiente enlace.

from Linux Adictos https://ift.tt/3pTOs1G
via IFTTT

Firefox 84.0.2 llega a corregir una vulnerabilidad critica

Hace poco fue dada a conocer la liberación de una versión correctiva de la rama 84 de Firefox, siendo Firefox 84.0.2 un parche que llega a resolver una vulnerabilidad crítica (CVE-2020-16044).

De los datos que se dieron a conocer solo se menciona que dicha vulnerabilidad podría conducir a la ejecución de código malicioso al procesar un bloque COOKIE-ECHO especialmente diseñado en el paquete Stream Control Transmission Protocol (SCTP).

La vulnerabilidad se debe al acceso a un área de memoria ya liberada (use-after-free) en el controlador COOKIE-ECHO.

De momento solamente se ha dado a conocer esa información y como tal los detalles de la vulnerabilidad aún no se han revelado.

Un par malintencionado podría haber modificado un fragmento de COOKIE-ECHO en un paquete SCTP de una manera que potencialmente resultó en un uso después de la liberación. Suponemos que con suficiente esfuerzo podría haberse aprovechado para ejecutar código arbitrario.

Es importante tomar en cuenta que esta vulnerabilidad afecta de manera general al navegador sin importar la plataforma en la que se encuentre instalado y es por ello que los desarrolladores del navegador hacen un llamado para que los usuarios realicen la actualización lo más pronto posible.

Por otra parte, también se menciona que los próximos cambios incluyen la aparición en Firefox 85 del botón «Eliminar todos los inicios de sesión» en el menú del administrador de contraseñas de Lockwise para eliminar todas las contraseñas guardadas a la vez.

Firefox 86 desactivará el controlador de la tecla Retroceso fuera del contexto de los formularios de entrada de forma predeterminada.

La eliminación del controlador de retroceso se propuso hace 7 años y está motivada por el hecho de que la tecla de retroceso se usa activamente al escribir formularios, pero fuera de foco en el formulario de entrada se procesa como una transición a la página anterior, lo que puede conducir a la pérdida de texto escrito debido a un movimiento involuntario en otra página.

Aun que también se hace mención de que se agregó la opción browser.backspace_action a about:config para revertir el comportamiento anterior.

Finalmente, si estás interesado en conocer más al respecto sobre esta versión correctiva del navegador, puedes consultar los detalles en el siguiente enlace.

Además de que no debemos olvidar que la próxima versión estable importante del navegador está programada para ser liberada el próximo 26 de enero de 2021.

¿Como instalar o actualizar la nueva versión de Firefox en Linux?

Los usuarios de Firefox que no hayan desactivado las actualizaciones automáticas recibirán la actualización automáticamente. Aquellos que no quieran esperar a que eso suceda pueden seleccionar Menú> Ayuda> Acerca de Firefox después del lanzamiento oficial para iniciar una actualización manual del navegador web.

La pantalla que se abre muestra la versión actualmente instalada del navegador web y ejecuta una búsqueda de actualizaciones, siempre que la funcionalidad esté habilitada.

Otra opción para actualizar, es si eres usuario de Ubuntu, Linux Mint o algún otro derivado de Ubuntu, puedes instalar o actualizar a esta nueva versión con ayuda del PPA del navegador.

Este lo pueden añadir al sistema abriendo una terminal y ejecutando en ella el siguiente comando:

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa -y 
sudo apt-get update
sudo apt install firefox

Para el caso de los usuarios de Arch Linux y derivados, basta con ejecutar en una terminal:

sudo pacman -Syu

O para instalar con:

sudo pacman -S firefox

Finalmente para aquellos que prefieren del uso de los paquetes Snap, podrán instalar la nueva versión en cuanto sea liberada en los repositorios de Snap.

Pero pueden obtener el paquete directamente desde el FTP de Mozilla. Con ayuda de una terminal tecleando el siguiente comando:

wget https://ftp.mozilla.org/pub/firefox/releases/84.0.2/snap/firefox-84.0.2.snap

Y para instalar el paquete solo tecleamos:

sudo snap install firefox-84.0.2.snap

Finalmente, pueden obtener el navegador con el último método de instalación que fue añadido «Flatpak». Para ello deben contar con el soporte para este tipo de paquetes.

La instalación se hace tecleando:

flatpak install flathub org.mozilla.firefox

Para el resto de las distribuciones de Linux, pueden descargar los paquetes binarios desde el siguiente enlace.

from Linux Adictos https://ift.tt/3bexQ0z
via IFTTT

Google Play Services se prepara para que puedas rastrear al COVID-19 con tu reloj o pulsera inteligente

Google Play Services se prepara para que puedas rastrear al COVID-19 con tu reloj o pulsera inteligente

A principios del pasado mes de diciembre la asociación Bluetooth SIG publicó el primer borrador de la nueva especificación Wearable Exposure Notification Service, en nuestro idioma las notificaciones de exposición al COVID-19 en dispositivos weareables.

Esto significa que próximamente podremos rastrear la exposición al COVID-19 directamente desde nuestra pulsera o reloj inteligente y no solo a través del móvil, y Google ha comenzado a implementar este soporte en Android.


Continue reading