Gluon, una biblioteca IMAP open source de la mano de Proton Mail

gluon-imap-library

Gluon busca cerrar esa brecha y superar las limitaciones en las bibliotecas IMAP de código abierto existentes

La empresa suiza Proton AG, que desarrolla los servicios Proton Mail y Proton VPN, presento recientemente la librería Gluon IMAP, diseñada para crear servidores IMAP propios.  La biblioteca es destacable, ya que admite el protocolo IMAP4rev1 (RFC-3501) y está incluida en la nueva versión del servicio Proton Bridge.

Durante el desarrollo, la atención se centra en la corrección de la implementación, la estabilidad, la fiabilidad, la facilidad de uso para los desarrolladores y el alto rendimiento.

Sobre Gluon IMAP

Se menciona que la razón para crear una nueva implementación del protocolo IMAP es el deseo de obtener una solución confiable y de alto rendimiento que pueda funcionar con buzones grandes. Según los desarrolladores de Proton Mail, las bibliotecas IMAP de código abierto existentes experimentaron problemas de mantenimiento o no escalaron.

Nuestro primer paso para escribir Gluon fue generar un analizador IMAP a partir de la sintaxis dada en RFC3501(nueva ventana). Usamos ANTLR4(nueva ventana), un popular generador de analizadores, para crear un analizador que pudiera analizar comandos y respuestas IMAP de acuerdo con la especificación. Esto nos permitió centrarnos en implementar la lógica del protocolo IMAP en lugar de analizar y validar la entrada.

Gluon también funciona correctamente con múltiples clientes al mismo tiempo, por ejemplo, cuando un usuario está viendo el correo a través de la interfaz web y usa un cliente de correo separado al mismo tiempo.

La complejidad de organizar dicho trabajo se debe al hecho de que los clientes IMAP generalmente usan los números de secuencia de los mensajes en el buzón para identificar los mensajes de correo, pero cuando un cliente elimina un mensaje, los números de secuencia cambian y el otro cliente debe tomar en cuenta este cambio.

En tal situación, el servidor envía una notificación de cambio a los clientes, pero antes de acusar recibo de la notificación, el servidor debe asegurarse de que los números de mensajes en los comandos transmitidos se interpreten correctamente.

El correo electrónico debe ser confiable, pero también debe ser de alto rendimiento, especialmente porque el tamaño de la bandeja de entrada típica ha crecido significativamente durante la última década. Muchas implementaciones de IMAP de código abierto tienden a optimizar para una y no para la otra, lo que genera errores o compensaciones bastante importantes.

Para resolver este problema, así como para organizar el procesamiento de varias conexiones paralelas desde un cliente, Gluon implementa el mecanismo de instantáneas. La esencia de este mecanismo es que Gluon asigna su propia instantánea de buzón de correo a cada cliente.

Cada instantánea refleja una vista única del buzón asociado con el cliente que conserva su estado y garantiza que los números de secuencia sigan siendo los mismos, independientemente de las acciones realizadas por otros clientes.

Gluon realiza un seguimiento de dos estados de buzón: persistente y de sesión. El estado persistente refleja la posición real de los mensajes en el buzón seleccionado, mientras que el estado de sesión refleja la vista de cada cliente del contenido del buzón.

Para sincronizar el estado por sesión entre varios clientes conectados, Gluon utiliza un sistema de «respondedores». Estos son tipos que encapsulan un cambio de estado y, cuando se ejecutan, se convierten en respuestas IMAP. 

Cuando un cliente realiza una acción (como marcar un mensaje como leído) que cambiaría el estado de otro cliente, el backend crea un respondedor para la acción y lo empuja al estado afectado. El estado afectado permanece sin cambios hasta que se ejecuta el respondedor, momento en el que se actualiza y se envía una respuesta IMAP correspondiente al cliente. 

Este enfoque le permite a Gluon administrar de manera eficiente el estado por sesión al tiempo que garantiza la coherencia entre múltiples clientes.

Finalmente, se menciona que el estado IMAP se almacena en un DBMS que admite SQL. Las pruebas beta del servicio Proton Mail Bridge, traducido a Gluon, mostraron un aumento significativo (1000 %) en la velocidad de trabajo con IMAP. El código de la biblioteca está escrito en Go y se distribuye bajo la licencia MIT.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/pk8LOjv
via IFTTT

Llega la nueva versión de los controladores Mesa 23.0.0

Mesa Drivers

Mesa es una biblioteca gráfica de código abierto, desarrollada que proporciona una implementación genérica de OpenGL

 

Se dio a conocer el lanzamiento de la nueva versión de la implementación gratuita de la API OpenGL y Vulkan, «Mesa 23.0.0», siendo esta la primera versión de la rama Mesa 23.0.0 tiene un estado experimental: después de la estabilización final del código, se lanzará una versión estable 23.0.1.

En Mesa 23.0, la compatibilidad con la API de gráficos Vulkan 1.3 está disponible en anv para GPU Intel, radv para GPU AMD, para GPU Qualcomm y en modo emulador (vn). La compatibilidad con Vulkan 1.1 se implementa en el rasterizador de software lavapipe (lvp) y Vulkan 1.0 en el controlador v3dv (GPU Broadcom VideoCore VI de Raspberry Pi 4).

Principales novedades de Mesa 23.0.0

En esta nueva versión que se presenta de Mesa 23.0.0, RADV Vulkan mejora la compatibilidad con GPU basadas en RDNA3 (Radeon RX 7900) y agrega cambios relacionados con el trazado de rayos y el uso de bibliotecas de canalización (pipeline). Para las tarjetas AMD basadas en la arquitectura RDNA2, la compatibilidad con sombreadores de malla (VK_EXT_mesh_shader) está habilitada de manera predeterminada.

Otro de los cambios que se destaca es en el controlador Nouveau que agrega el soporte inicial para la GPU NVIDIA GA102 (RTX 30) basada en la arquitectura Ampere, ademas de que los controladores RADV y Turnip implementan características adicionales relacionadas con la extensión VK_EXT_dynamic_state3.

Ademas de ello, se destaca que las capacidades del controlador asahi OpenGL para la GPU Apple AGX utilizada en los chips Apple M1 y M2 se han ampliado considerablemente.

Tambien se destaca el soporte mejorado para tarjetas gráficas discretas Intel DG2-G12 (Arc Alchemist) y GPU Meteor Lake en el controlador ANV Vulkan (Intel) y el controlador Iris OpenGL.

Por otra parte, el controlador virgl (GPU virtual Virgil3D para QEMU/KVM) ha mejorado la compatibilidad con la codificación de video acelerada por hardware, ademas de que se han resuelto los problemas que ocurrían en Rise of the Tomb Raider’s Ambient Occlusion, Minecraft, Battlefield , Hi-Fi Rush y se solucionó un problema que causaba que la salida se interrumpiera en las videollamadas de Zoom en sistemas con el controlador Iris.

En cuanto al soporte añadido para extensiones OpenGL se mencionan las siguientes:

  • GL_ARB_clip_control para panfrost
  • GL_ARB_texture_filter_anisotropic para panfrost, asahi
  • GL_ARB_occulsion_query2 para asahi
  • GL_ARB_shader_stencil_export para asahi
  • GL_ARB_draw_instanciado para asahi
  • GL_ARB_instanced_ararys para asahi
  • GL_ARB_seamless_cube_mapa para asahi
  • GL_NV_conditional_render para asahi
  • GL_ARB_texture_mirror_clamp_to_edge para asahi
  • Se agregó soporte para las extensiones de Vulkan:
  • VK_EXT_descriptor_buffer para RADV, nabo
  • VK_AMD_shader_early_and_late_fragment_tests para RADV
  • VK_AMD_shader_explicit_vertex_parameter para RADV/RDNA3
  • VK_EXT_swapchain_colorspace para RADV, ANV, Nabo
  • VK_KHR_shader_integer_dot_product para V3DV
  • VK_KHR_present_wait para ANV, RADV, Nabo
  • VK_KHR_push_descriptor para Venus
  • VK_KHR_pci_bus_info para Venus

Cabe mencionar que esta nueva versión de Mesa también proporciona compatibilidad completa con OpenGL 4.6 para los controladores 965, iris (Intel), radeonsi (AMD), zink y llvmpipe.

La compatibilidad con OpenGL 4.5 está disponible para las GPU AMD (r600), NVIDIA (nvc0) y Qualcomm Adreno (freedreno), OpenGL 4.3 para virgl ( GPU virtual Virgil3D para QEMU/KVM) y OpenGL 4.2 para el controlador d3d12 (capa para ejecutar OpenGL sobre DirectX 12).

Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión de los controladores Mesa, puedes consultar los detalles en el siguiente enlace.

¿Cómo instalar los drivers de video Mesa en Linux?

Los paquetes de Mesa se encuentran en todas las distribuciones de Linux, por lo que su instalación puede realizarse ya sea descargando y compilando el código fuente (toda la información al respecto aquí) o de una forma relativamente sencilla, la cual depende de la disponibilidad dentro de los canales oficiales de tu distribución o de terceros.

Para los que son usuarios de Ubuntu, Linux Mint y derivados pueden añadir el siguiente repositorio en donde los controladores son actualizados de manera rápida.

sudo add-apt-repository ppa:kisak/kisak-mesa -y

Ahora vamos a actualizar nuestro listado de paquetes y repositorios con:

sudo apt update

Y finalmente podemos instalar los drivers con:

sudo apt upgrade

Para el caso de los que son usuarios de Arch Linux y derivados estos los instalamos con el siguiente comando:

sudo pacman -S mesa mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl

Para quienes sean usuarios de Fedora 32 pueden utilizar este repositorio, por lo que deben de habilitar corp con:

sudo dnf copr enable grigorig/mesa-stable

sudo dnf update

Finalmente, para los que son usuarios de openSUSE, pueden instalar o actualizar tecleando:

sudo zypper in mesa

from Linux Adictos https://ift.tt/5RacuU8
via IFTTT

Ambient, un motor de juego multijugador open source

Ambient

Ambient es un tiempo de ejecución para crear juegos multijugador de alto rendimiento y aplicaciones 3D, con tecnología WebAssembly, Rust y WebGPU.

Después de un año de desarrollo, se dio a conocer el primer lanzamiento del nuevo motor de juegos de código abierto Ambient. El motor proporciona un tiempo de ejecución para crear juegos multijugador y aplicaciones 3D que se compilan en una representación WebAssembly y utilizan la API WebGPU para la representación.

Un objetivo clave en el desarrollo de Ambient es proporcionar herramientas que simplifiquen el desarrollo de juegos multijugador y hagan que su creación no sea más difícil que los proyectos para un solo jugador.

El motor inicialmente tiene como objetivo crear un tiempo de ejecución universal que admita el desarrollo de juegos y aplicaciones en cualquier lenguaje de programación para el cual sea posible la compilación en el código intermedio WebAssembly. Sin embargo, la primera versión solo es compatible con el desarrollo de Rust hasta el momento.

Sobre Ambient

De las características que se destacan de Ambient, se menciona que cuenta con soporte transparente para la creación de redes. El motor combina las funciones de un cliente y un servidor, proporciona todos los componentes necesarios para crear una lógica de cliente y servidor, y sincroniza automáticamente el estado del servidor en los clientes.

Tambien se menciona que se utiliza un modelo de datos común en el lado del cliente y del servidor, lo que facilita la transferencia de código entre el backend y el frontend. Este ejecuta cada módulo en su propio entorno aislado para limitar el impacto del código que no es de confianza, ademas de bloquear un módulo no hace que se bloquee toda la aplicación.

Ambient, cuenta con una arquitectura orientada a datos, con lo cual proporcionar un modelo de datos basado en un sistema de componentes que cada WASM puede manipular. Utilizando el patrón de diseño ECS (Entity Component System).

Ademas de ello, tambien almacena los datos de todos los componentes en una base de datos centralizada en el servidor, cuyo estado se replica automáticamente en el cliente, que por su parte puede ampliar los datos teniendo en cuenta el estado local.

La capacidad de crear módulos Ambient en cualquier lenguaje de programación que se compile en WebAssembly (hasta ahora solo se admite Rust), mientras que la generación de archivos ejecutables universales de salida, pueden ejecutarse en Windows, macOS y Linux, y funcionar como cliente y como servidor.

Por otra parte, tambien se destaca que cuenta con la capacidad para definir sus propios componentes y «conceptos» (colecciones de componentes). Los proyectos que usan los mismos componentes y conceptos aseguran que los datos sean portátiles y compartidos, incluso si los datos no están diseñados específicamente para su uso en proyectos específicos.

De las demás características que se destacan de Ambient:

  • Soporte para compilar recursos en diferentes formatos, incluidos «.glb» y «.fbx». Capacidad para transmitir recursos a través de la red: el cliente puede obtener todos los recursos necesarios cuando se conecta al servidor (puede comenzar a jugar sin esperar a que se carguen todos los recursos).
  • Se admiten formatos de modelo FBX y glTF, varios formatos de sonido e imagen.
  • Un sistema de renderizado avanzado que utiliza la GPU para acelerar el renderizado y admite LOD y recorte del lado de la GPU.
  • Uso de renderizado basado en la física ( PBR ) por defecto , soporte para animación y mapas de sombras en cascada.
  • Soporte para simulación de procesos físicos basados ​​en el motor PhysX .
  • Sistema de construcción de interfaz de usuario similar a React.
  • Sistema de entrada unificado independiente de la plataforma actual.
  • Sistema de sonido espacial con filtros enchufables.
  • El desarrollo aún se encuentra en la etapa alfa. De la funcionalidad aún no implementada, podemos notar la capacidad de ejecutar en la Web, una API de cliente, una API para administrar subprocesos múltiples, una biblioteca para crear una interfaz de usuario, una API para usar sus propios sombreadores, soporte de sonido, cargar y guardar
  • Componentes ECS (Entity Component System), recarga de recursos sobre la marcha, escalado automático de servidores, un editor para co-crear mapas de juegos y escenas de juegos.

Finalmente, para los interesados en poder conocer más al respecto, deben saber que el código está escrito en Rust y se distribuye bajo la licencia MIT.

from Linux Adictos https://ift.tt/Bn3pWkc
via IFTTT

Winebox promete ejecutar aplicaciones de Windows en Ubuntu Touch

Winebox

El desarrollo de Ubuntu Touch parece no ir tan rápido como a algunos nos gustaría. A finales de 2022 nos entregaron la primera RC del Ubuntu Touch basado en Focal Fossa, versión de Ubuntu que ya tiene tres años. Además, no está disponible para todos los aparatos, y la PineTab no recibe nada nuevo desde noviembre, ni en el canal para desarrolladores. Pero pasitos sí que van dando, y desarrolladores del equipo también, como demuestra Winebox, una nueva aplicación que ha llegado a la OpenStore.

Codemasters Freeders ha publicado un hilo en Twitter en el que expica algunas cosas. Para empezar, es un paquete que une WINE y Box64, y lo hace para mejorar y aumentar el soporte de aplicaciones en Ubuntu Touch. También se puede usar para activar algunos casos divertidos, dice el hilo, pero lo importante es que Winebox permite usar algunas aplicaciones de Windows en Ubuntu Touch.

Winebox: WINE y Box64 en Ubuntu Touch

Lo malo es que esto no funcionará por defecto en cualquier aparato con la versión móvil y táctil de Ubuntu. Antes que nada, el mantenedor del sistema operativo debe activar el soporte para binfmt_misc en sus respectivos kernels. También hay que tener instalado xwayland(-hybris), lo que no está incluido por defecto aún, pero afirma que ese momento llegará.

Teniendo yo sólo una PineTab Early Adopter con un sistema opeartivo de noviembre de 2022 y con muchas cosas sin funcionar, no he podido probar este Winebox, pero la aplicación ya está disponible en la OpenStore, la tienda de aplicaciones oficial de Ubuntu Touch. El enlace es este, y dice que «Activa ejecutables x86_64 y binarios de Linux para que se ejecuten en tu dispositivo Ubuntu Touch basado en ARM64«, y que contiene WINE (LGPL v2.1+), Box64 (MIT) y GL4ES (MIT).

Para más información, de momento escasa, hay que dirigirse a la página de GitHub de Box64AndWine de Fred.

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

OnlyOffice apuesta por la inteligencia artificial y la comunicación

OnlyOffice se integra con servicios de Inteligencia Artificial y trabajo colaborativo

Hubo un tiempo en el que el de las suites ofimáticas era un mercado tranquilo. Microsoft Office lideraba el mercado con algunos jugadores minoritarios robándole minúsculas porciones del mercado y los linuxeros debíamos conformarnos con las pobres prestaciones de OpenOffice.  Muy diferente de la situación de hoy en la que OnlyOffice apuesta por la inteligencia artificial y la integración con Zoom para pelear el liderazgo en un mercado competitivo.

Desde que Google volara por los aires el cuasi monopolio con Docs, su solución en la nube, LibreOffice surgiera de las cenizas de OO y llegaran alternativas comerciales, la vida cambió definitivamente para los usuarios de Linux que escribimos textos, hacemos presentaciones y trabajamos con planillas de cálculo.

OnlyOffice 7.3 apuesta por la inteligencia artificial

Hay gente que colecciona estampillas, monedas o libros. Yo colecciono suites ofimáticas. Tengo una para Windows, otra para mi distribución Linux principal y OnlyOffice es la que suelo instalar en la distribución Linux segundaria que esté probando por el momento. A esto hay que sumarle alguna otra que permanece instalada solo el tiempo necesario para probarla.

Sin embargo, aún antes de saber de su integración con ChatGPT y Zoom la versión 7.3  de OnlyOffice Docs se había ganado la titularidad en una notebook que acabo de sumar a mis equipos.

Pero, vamos por partes.

OnlyOffice Docs es una suite ofimática que incluye un editor de textos, un creador de presentaciones, un programa de planilla de cálculos, un lector y convertidor de pdf y un creador de pdf además de herramientas para la gestión de la seguridad. Cuenta con versiones comunitarias y corporativas y puede instalarse como una aplicación local en computadoras de escritorio (Incluyendo versiones para Windows, Linux, Mac) y dispositivos móviles (Android e iOS.

La versión en la nube puede ejecutarse en un servidor propio o integrada a plataformas de código abierto como Nextcloud u Owncloud además de otros servicios privativos.  Por otra parte, la empresa ofrece la opción de contratarla bajo la modalidad Software-como-Servicio.

ChatGPT y Zoom

En Linux Adictos hemos hablado bastante de ChatGPT y volveremos a hacerlo. Sin dudas la tendencia en el 2023 va a ser integrar servicios motorizados por inteligencia artificial (Tengan sentido o no) En el caso de una suite ofimática como OnlyOffice tiene todo el sentido del mundo.

Con la ayuda de ChatGPT será más fácil traducir párrafos, encontrar citas, hallar la frase adecuada para completar un informe o la respuesta a una pregunta difícil. También puede aclararnos cómo interpretar un texto ambiguo.

Eso sí, tendrás que pasar por caja ya que el complemento necesita una clave API provista por OpenAI, el desarrollador del proyecto, y el acceso a esta requiere de un pago. También habrá limitaciones dependiendo del uso del servicio.

En el caso de Zoom no tenemos que dar mayores explicaciones, fue el servicio estrella durante la pandemia para trabajo colaborativo y la idea de agregarlo a una suite ofimática es de esas que uno se pregunta por qué no se le ocurrió a nadie antes. Hay dos pegas; los usuarios de la versión de escritorio deberemos esperar para que estés disponible y deberás obtener credenciales en el marketplace de la aplicación. Todo esto son exigencias establecidas por Zoom para la integración del servicio.

Por supuesto que si eres un usuario doméstico probablemente estas características no te atraigan o te parezcan demasiado complicadas de implementar, pero hay cada vez más emprendedores y pymes que lo utilizan para trabajar y es bueno que existan alternativas. Además, la versión 7.3 incluye otras características interesantes como:

  • Creación de múltiples roles de destinatarios en formularios.
  • Nuevos campos para formularios.
  • Protección avanzada de documentos mediante contraseña o restricción de acciones.
  • Diversos tipos de gráficos SmartArts para incorporar a documentos.
  • Creación de ecuaciones usando la sintaxis Unicode y LaTeX.
  • Importación de archivos XML locales desde la hoja de cálculo.

Más información

Plugin para ChatGPT

Plugin de Zoom

Anuncio de la versión

Página de descarga (Escritorio)

from Linux Adictos https://ift.tt/X5uF8BN
via IFTTT

WebOS Open Source Edition 2.20 ya fue liberado y estas son sus novedades

 

webos-os introduce una nueva versión de la aplicación Home

webOS, también conocido como webOS TV y open webOS, es un sistema operativo multitarea para dispositivos inteligentes como televisores y relojes, ​ basado en Linux

Se dio a conocer el lanzamiento de la nueva versión de WebOS Open Source Edition 2.20, la cual llega corrigiendo una gran cantidad de errores detectados en la versión anterior, ademas de ello, tambien implementa una serie de mejoras y sobre todo que llega ofreciendo imágenes para Raspberry Pi 4.

Para quienes desconocen aún de webOS Open Source Edition (o también conocido como webOS OSE), deben saber que la plataforma webOS fue desarrollada originalmente por Palm en 2008. El entorno del sistema webOS se construye utilizando OpenEmbedded y los paquetes básicos, así como un sistema de construcción y un conjunto de metadatos del proyecto Yocto.

Los componentes clave de webOS son el administrador de sistemas y aplicaciones (SAM, System and Application Manager), que es responsable de ejecutar aplicaciones y servicios, y Luna Surface Manager (LSM), que forma la interfaz de usuario. El renderizado se realiza a través de un administrador compuesto que utiliza el protocolo Wayland. Para desarrollar aplicaciones a medida se propone utilizar tecnologías web (CSS, HTML5 y JavaScript) y el framework Enact basado en React, pero también es posible crear programas en C y C++ con una interfaz basada en Qt.

Principales novedades de WebOS Open Source Edition 2.20

En esta nueva versión que se presenta, se destaca que se ha comenzado a entregar las imágenes de webOS prediseñadas para la placa y el emulador Raspberry Pi 4, se menciona que las imágenes generadas se publicarán en GitHub unos días después del lanzamiento.

Otro de los cambios que se destaca, es que la interfaz de usuario del sistema se ha movido del marco Moonstone a Sandstone, además de que se han cambiado los iconos de la barra de estado y que se agregó la capacidad de conectarse a Wi-Fi desde la barra de estado (con ello ahora se puede consultar una lista de Wi-Fi alguna vez conectado). El configurador brinda la posibilidad de ver una lista de puntos de acceso Wi-Fi conocidos a los que alguna vez hubo conexiones.

Ademas de ello, ahora se muestra un indicador rojo en la pestaña del navegador WebEX para informar al usuario que el audio o video está en uso, tambien se destaca que se redujo un retraso inicial cuando webOS OSE funciona como un cliente CEC (Consumer Electronics Control)

Por otra parte, se ha añadido un atajo de teclado (Ctrl + Alt + F9) para tomar una captura de pantalla (guardada en /tmp/screenshots), así como Ctrl + Alt + F10 para eliminar todas las capturas de pantalla.

De los demás cambios que se destacan de esta nueva versión:

  • Versión actualizada de las herramientas de localización
  • Cambió la opción de compilación predeterminada para webruntime y WAM a Clang.
  • Se solucionó un problema por el cual los videos HTML5 no se reproducían en el emulador
  • Se solucionó un problema por el cual la tecla Intro no funcionaba si el usuario activaba el teclado virtual varias veces.
  • Se solucionó un problema por el que la pantalla principal no se mostraba correctamente si la resolución de pantalla de la pantalla principal era mayor que la de la pantalla secundaria.
  • Se solucionó un problema por el cual el uso de un mouse en la pantalla secundaria hacía que la aplicación Inicio desapareciera
  • Se solucionó un problema por el cual no funcionaba la omisión de videos usando accesos directos (teclas numéricas + teclas Intro).
  • Se solucionó un problema por el cual el com.webos.applicationService/removemétodo no eliminaba las aplicaciones por completo

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

¿Cómo obtener webOS Open Source Edition 2.20?

Para quienes estén interesados en poder utilizar o probar webOS Open Source Edition es necesario generar la imagen del sistema para su dispositivo, para ello pueden consultar los pasos a seguir desde el siguiente enlace. 

Cabe mencionar que como plataforma de hardware de referencia se consideran las placas Raspberry Pi 4. La plataforma se desarrolla en un repositorio público bajo la licencia Apache 2.0, y el desarrollo es supervisado por la comunidad, siguiendo un modelo de gestión de desarrollo colaborativo.

from Linux Adictos https://ift.tt/wFCYdPZ
via IFTTT

Parrot OS 5.2 llega con Linux 6.0, actualizaciones y mas

parrot-5.2

Parrot OS es una distribución GNU/Linux basada en Debian​ con un enfoque en la seguridad informática.

Se dio a conocer hace poco el lanzamiento de la nueva versión de la distribucion de Linux, «Parrot OS 5.2″ la cual está basada en Debian 11 e incluye una colección de herramientas para pruebas de seguridad del sistema, análisis forense e ingeniería inversa.

La distribución de Parrot se posiciona como un entorno de laboratorio portátil para expertos en seguridad y científicos forenses, centrándose en herramientas para probar sistemas en la nube y dispositivos IoT. También incluye herramientas y programas criptográficos para brindar acceso seguro a la red, incluidos TOR, I2P, anonsurf, gpg, tccf, zulucrypt, veracrypt, truecrypt y luks.

Principales novedades de Parrot OS 5.2

En esta nueva versión que se presenta de la distribucion, el kernel de Linux se actualizó a la versión 6.0 la cual implementa nuevas funciones al subsistema DAMON (Data Access MONitor) que permiten no solo monitorear el acceso de los procesos a la RAM desde el espacio del usuario, sino también influir en la administración de la memoria. Esta versión tambien soluciona los problemas de rendimiento del sistema en los procesadores AMD Zen causados ​​por un código agregado hace 20 años para solucionar un problema de hardware en algunos conjuntos de chips (se agregó una instrucción WAIT adicional para ralentizar el procesador para que el conjunto de chips tuviera tiempo de entrar en un estado inactivo). El cambio resultó en una degradación del rendimiento en las cargas de trabajo que a menudo alternan entre estados inactivos y ocupados (si quieres conocer más al respecto sobre esta versión de Linux, puedes consultar los detalles en este enlace.)

Otra de las mejoras que se ha realizado en esta nueva versión de Parrot OS 5.2, son las compilaciones mejoradas para placas Raspberry Pi, con mejoras de rendimiento y problemas con el controlador de sonido.

Ademas de ello, el instalador Calamares recibió varias actualizaciones importantes, en las cuales se corrigieron algunos problemas de instalación, asi como tambien que se incluyeron varias actualizaciones de seguridad que llegan a corregir vulnerabilidades y errores graves en los paquetes Firefox, Chromium, sudo, dbus, nginx, libssl, openjdk y xorg.

El kit de herramientas de anonimización de AnonSurf, que redirige todo el tráfico a través de Tor sin configuraciones de proxy separadas, ha mejorado el soporte para los nodos de puente Tor.

Por otra parte, algunos los controladores fueron actualizados, de estos se incluyen para algunas tarjetas inalámbricas basadas en chips Broadcom y Realtek, así como controladores para GPU Virtualbox y NVIDIA.

Tambien se destaca que se portó la última versión del marco multimedia Pipewire de los backports de Debian, que llegan a solucionar varios errores de estabilidad.

De los demás cambios que se destacan de esta nueva versión:

  • Las imágenes de Raspberry Pi recibieron importantes actualizaciones para mejorar el rendimiento del sistema y arreglar los controladores de audio
  • La edición HackTheBox recibió actualizaciones gráficas menores.

Finalmente si estás interesado en poder conocer más al respecto sobre este nuevo lanzamiento, puedes consultar los detalles en el siguiente enlace.

Descarga y actualización de Parrot OS

Si quieres obtener esta nueva versión de esta distribución de Linux solamente debes de dirigirte a su página web oficial y en la sección de descargas podrás obtener el enlace para descargar esta nueva versión. Se ofrecen para descargar varias imágenes iso con entorno MATE, diseñadas para el uso diario, pruebas de seguridad, instalación en placas Raspberry Pi 4 y creación de instalaciones especializadas, por ejemplo, para su uso en entornos de nube.

Además, si ya tienes instalada una versión anterior de Parrot OS (la rama 5.x) puedes obtener la nueva versión de Parrot 5.1 sin necesidad de reinstalar el sistema en tu equipo. Lo único que debes de hacer es abrir una terminal y ejecutar el siguiente comando para actualizar:

sudo parrot-upgrade

Tambien se recomienda actualizar los paquetes mediante:

sudo apt update
sudo apt full-upgrade -t parrot-backports

Al finalizar solamente tendrás que reiniciar tu equipo.

from Linux Adictos https://ift.tt/X1pzF9U
via IFTTT

Budgie 10.7.1 llega con algunos cambios y corriendo errores

Budgie

Budgie es un entorno de escritorio que utiliza tecnologías de GNOME como GTK +

La organización Buddies Of Budgie, que supervisa el desarrollo del proyecto de Budgie, tras su separación de la distribución Solus, ha publicado una actualización del entorno de escritorio «Budgie 10.7.1», la cual como tal es una versión de actualización y corrección de errores de la serie anterior (Budgie 10.7.1).

Para quienes desconocen de Budgie, deben de saber que este es un entorno de escritorio que usa Budgie Window Manager (BWM) para administrar ventanas, que es una extensión del complemento principal de Mutter. Budgie se basa en un panel que es similar en organización a los paneles de escritorio clásicos.

Todos los elementos del panel son subprogramas, lo que le permite personalizar la composición de manera flexible, cambiar el diseño y reemplazar las implementaciones de los elementos del panel principal a su gusto. Los subprogramas disponibles incluyen el menú de aplicaciones clásico, el conmutador de tareas, el área de lista de ventanas abiertas, la vista de escritorio virtual, el indicador de administración de energía, el subprograma de control de volumen, el indicador de estado del sistema y el reloj.

Principales novedades de Budgie 10.7.1

Se mejoró la claridad de habilitar el modo Unredirection, que pasa por alto el servidor compuesto para aplicaciones de pantalla completa, lo que reduce la sobrecarga y mejora el rendimiento de aplicaciones como juegos. En versiones anteriores, la opción sería para deshabilitar la eliminación de la redirección con la configuración desactivada de forma predeterminada, lo que significa que la eliminación de la redirección estaba habilitada. Esto fue confuso tanto para los usuarios finales como para la implementación de la funcionalidad.

Se menciona que la eliminación de la redirección permite que los fotogramas pasen por alto el compositor para aplicaciones de pantalla completa, lo que reduce la sobrecarga y mejora el rendimiento en escenarios como los juegos. Esta configuración ahora se ha actualizado para ser Enable unredirection, con la opción habilitada de forma predeterminada, con una explicación más clara para el usuario final.

Otro de los cambios que se destaca de la nueva versión, es el soporte inicial para el servidor compuesto Mutter 12, como parte de la adaptación a las tecnologías del próximo lanzamiento de GNOME 44.

Ademas de ello, se destaca que Budgie Screenshot soluciona problemas al tomar capturas de pantalla de aplicaciones de pantalla completa.

Tambien se destaca que el diseño y el relleno del panel de configuración del escritorio son similares al diseño de la configuración del panel de Raven, asi como tambien que se han actualizado las traducciones.

Por la parte de las correcciones, se menciona lo siguiente:

  • Se soluciono el problema con las cadenas traducibles que faltan en Budgie Screenshot.
  • Se corrigió el texto desbordado elíptico en el encabezado del widget de control de medios que resulta en la expansión de Raven.
  • Se arreglo el manejo del menú Budgie de clasificación y búsqueda parcial de nombres de aplicaciones.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

¿Como instalar Budgie en Linux?

Para quienes estén interesados en poder instalar este entorno de escritorio en su sistema, pueden hacerlo siguiendo las instrucciones que compartimos a continuación.

Para quienes son usuarios de Ubuntu, Debian o cualquier derivado de estos, pueden realizar la instalación directamente de sus repositorios. Para ello deben abrir una terminal y en ella van a teclear lo siguiente:

sudo apt update 
sudo apt upgrade
sudo apt install ubuntu-budgie-desktop

Ahora para quienes son usuarios de Arch Linux o algún derivado de este, la instalación la van a realizar desde los repositorios de AUR, por lo cual deben tener el repositorio habilitado en su archivo pacman.conf y contar con un asistente de AUR. Para el caso de este artículo usaremos YAY.

En una terminal vamos a teclear el siguiente comando:

yay -S budgie-desktop-git

Mientras que para los que son usuarios de openSUSE la instalación la podrán hacer tecleando en una terminal el siguiente comando:

sudo zypper in budgie-desktop

Por último y como es de manera general, para los que estén interesados en poder realizar la compilación del entorno desde su código fuente por su propia cuenta, pueden obtener el código fuente de la última versión liberada desde el siguiente enlace.

from Linux Adictos https://ift.tt/fB1I0jl
via IFTTT

Linux 6.2 ya fue liberado y estas son sus novedades

Linux Kernel

Linux es un núcleo mayormente libre semejante al núcleo de Unix.​ Es uno de los principales ejemplos de software libre y de código abierto.

Después de dos meses de desarrollo, Linus Torvalds dio a conocer el lanzamiento del Kernel de Linux 6.2, en el cual los cambios más notables incluyen el código con licencia Copyleft-Next, se mejoró la implementación de RAID5/6 en Btrfs, se siguió integrando la compatibilidad con el lenguaje Rust, se redujo la sobrecarga de protección Retbleed, se agregó la limitación de memoria de reescritura y un se ha agregado el mecanismo TCP Se ha agregado el equilibrio PLB (Protective Load Balancing).

La nueva versión recibió 16843 correcciones de 2178 desarrolladores, el tamaño del parche es de 62 MB (los cambios afectaron a 14108 archivos, se agregaron 730195 líneas de código, se eliminaron 409485 líneas). Alrededor del 42 % de todos los cambios introducidos en 6.2 están asociados con los controladores de dispositivos, aproximadamente el 16 % de los cambios están relacionados con la actualización del código específico de las arquitecturas de hardware.

Principales novedades de Linux 6.2

En esta nueva versión que se presenta se permite incluir el código y cambios proporcionados bajo la licencia Copyleft-Next 0.3.1. La licencia Copyleft-Next fue creada por uno de los colaboradores de GPLv3 y es totalmente compatible con la licencia GPLv2, según lo verificado por los abogados de SUSE y Red Hat. En comparación con GPLv2, la licencia Copyleft-Next es mucho más compacta y fácil de entender (se eliminó la parte introductoria y la mención de compromisos obsoletos), determina el tiempo y el procedimiento para eliminar violaciones, elimina automáticamente los requisitos de copyleft para el cuándo obsoleto, que es más de 15 años.

Otro de los cambios que se destaca, es que se incluye la utilidad “rv”, que proporciona una interfaz para interactuar desde el espacio del usuario con los manejadores del subsistema RV (Runtime Verification).La validación se realiza en tiempo de ejecución al adjuntar controladores a puntos de seguimiento que verifican el progreso real de la ejecución contra un modelo de autómata determinista de referencia predeterminado que define el comportamiento esperado del sistema.

Se agregó la API «iommufd» para la administración del espacio de usuario de la Unidad de administración de memoria de E/S (Unidad de administración de memoria de E/S). La nueva API permite administrar tablas de páginas de memoria de E/S mediante descriptores de archivos.

Para el mecanismo de bloqueo de RCU (lectura-copia-actualización), se implementa un mecanismo opcional de devolución de llamada en el que un temporizador procesa varias llamadas de devolución a la vez en modo por lotes. La aplicación de la optimización propuesta permite reducir el consumo de energía en dispositivos Android y ChromeOS entre un 5 y un 10 % al posponer las solicitudes de RCU durante la carga del sistema inactiva o baja.

Se agregó una nueva opción de línea de comandos del kernel «trace_trigger» para activar un activador de seguimiento que se utiliza para vincular comandos condicionales que se llaman cuando se activa un seguimiento de pila (por ejemplo, trace_trigger=»sched_switch.stacktrace if prev_state == 2″).

Otro de los cambios que se destaca es que se ha comenzado un port de funcionalidad adicional desde la rama de Rust-for-Linux relacionado con el uso de Rust como segundo lenguaje para desarrollar controladores y módulos de kernel. El soporte de Rust está deshabilitado de forma predeterminada y no hace que Rust se incluya como una dependencia de compilación del kernel requerida. La funcionalidad básica ofrecida en la última versión se amplía con características para admitir código de bajo nivel, como el tipo Vec y las macros pr_debug!(), pr_cont!() y pr_alert!(), así como las macros «#[vtable ]», macro procedimental, que simplifica el trabajo con tablas de punteros sobre funciones. Se espera que en versiones futuras se agreguen envoltorios de Rust de alto nivel sobre los subsistemas del kernel, que le permitirán crear controladores completos en Rust.

Ademas de ello, tambien se destaca que se implementó un nuevo método para protegerse contra la vulnerabilidad Retbleed en las CPU Intel y AMD mediante el seguimiento de profundidad de llamadas, que no es tan lento como la protección Retbleed presente anteriormente. Para habilitar el nuevo modo, se propone el parámetro de línea de comandos del núcleo «retbleed=stuff».

En la plataforma ARM64, en la etapa de arranque, es posible habilitar y deshabilitar la implementación del software del mecanismo Shadow Stack, que se usa para proteger contra la sobrescritura de la dirección de retorno de una función en caso de desbordamiento del búfer en la pila (la esencia de protección es guardar la dirección de retorno en una pila separada después de transferir el control a la función y recuperar la dirección dada antes de salir de la función).

De los demás cambios que se destacan:

  • Para IPv6, se agregó soporte para PLB (Protective Load Balancing), al cambiar la etiqueta de flujo de IPv6, el PLB cambia aleatoriamente las rutas de los paquetes para equilibrar la carga en los puertos del switch.
  • Se agregó soporte para enlaces de 800 gigabits.
  • Se agregó la capacidad de cambiar el nombre de las interfaces de red sobre la marcha, sin detener el trabajo.
  • Se agregó una mención de la dirección IP a la que llegó el paquete a los mensajes de inundación SYN escritos en el registro.
  • Para UDP, se implementa la capacidad de usar tablas hash separadas para diferentes espacios de nombres de red.
  • Los puentes de red admiten el método de autenticación MAB (Omisión de autenticación MAC).
  • El controlador i915 (Intel) estabilizó la compatibilidad con las tarjetas gráficas discretas Intel Arc (DG2/Alchemist) y mejoró la compatibilidad con las GPU Meteor Lake.
  • El controlador Nouveau es compatible con la GPU NVIDIA GA102 (RTX 30) basada en la arquitectura Ampere. Para las tarjetas nva3 (GT215), se ha agregado la capacidad de controlar la luz de fondo.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

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

Primer lenguaje de programación. Breve historia de la Inteligencia Artificial 6

La creación de programas de Inteligencia Artificial requirió el desarrollo de programas específicos.

En nuestra entrega anterior contamos como Simon, un teórico de las Ciencias Políticas junto a un físico llamado Newell y a un actuario devenido en programador de apellido Shaw comenzaron la construcción del primer programa de inteligencia artificial conocido como Logical Theorist. Esto requirió la invención del primer lenguaje de programación específico para la Inteligencia Artificial

Habíamos dejado esta historia con el trio junto a colaboradores y familia simulando el comportamiento de las diferentes partes del programa usando personas y fichas manuscritas.

Luego de varias simulaciones como estas se implementó el programa en una computadora real.  La prueba fue un éxito ya que el software logró demostrar treinta y ocho teoremas de unos de los capítulos del libro Principia Matemática de Russell y Whitehead. Incluso en uno de los casos (Y sin tener instrucciones específicas de hacerlo) encontró una forma de probarlo mucho más «elegante» que la de los autores del libro.

El primer lenguaje de programación para Inteligencia Artificial

El que Simon y su equipo se tomaran tanto tiempo para escribir su programa es porque necesitaban de un lenguaje de programación específico que tuviera el suficiente poder y flexibilidad para sus propósitos. Ese lenguaje se llamó IPL (Por las siglas en inglés de Lenguaje de Procesamiento de Información) e introdujo por primera vez la técnica de procesamiento de listas para programación.

IPL se diferenciaba de los lenguajes de alto nivel de la época en que no requería que los símbolos se definieran de antemano y que tenía la capacidad de asociar y modificar estructuras de símbolos.

La llamada técnica de procesamiento de listas consiste en almacenar cada pieza de información junto con indicaciones sobre cómo encontrar piezas de información asociadas a ellas. Cambiando las indicaciones se pueden construir nuevas asociaciones.

El «Solucionador General de Problemas»

Para crear su próximo software Simon y Newell decidieron probar un enfoque diferente. En la época circulaba una investigación psicológica que invitaba a los participantes a explicar en voz alta la forma en la que resolvían problemas lógicos.  El duo descubrió que esas formas eran completamente diferentes a las que utilizaba su software por lo que decidieron hacer su propia versión de la investigación y crear un software a partir de los métodos descriptos por los participantes. El programa (Conocido como GPS por las siglas en inglés para Solucionador General de Problemas) estaba codificado en base a una organización de la información y heurísticas independientes de las tareas que se les pidiera realizar.

Esta nueva metodología recibió el nombre de «Análisis de medios a fines» y consiste en comparar la situación actual con la ideal y tomar acciones que reduzcan la diferencia entre ellas para luego volver a hacer la evaluación hasta que la diferencia se reduzca a cero. Esta metodología permite al programa reaccionar ante modificaciones en las variables del problema. El programador indica el problema y una llamada tabla de diferencias en las que se indican los cursos de acción posibles y en qué circunstancias lo son.

GPS era capaz de descomponer un problema en subproblemas y aplicar el enfoque de retroceso, es decir que si un camino no funcionaba retrocedía y seguía por otro.

Durante los 11 años que estuvo en funcionamiento, GPS resolvió acertijos, realizó integración simbólica y rompió códigos secretos.

Mientras Simon y Newell se entretenían con esto, un estudiante llamado Robert K. Lindsay desarrolló un programa conocido como SAD SAM. El soft era capaz de extraer información de sentencias del tipo «Juan es el hijo de Pepa» y «Juan es el hermano de Alberto» y construir un árbol genealógico deduciendo que Alberto también es hijo de Pepa (No tengo ni idea de cómo se las arreglaría con las familias ensambladas del mundo actual.

Por supuesto, que el gigante de la industria informática de la época, IBM, no podía quedarse afuera de la investigación sobre inteligencia artificial, un campo que en plena guerra fría ya se revelaba cómo de enorme potencial para aplicaciones militares y, en el próximo artículo hablaremos de sus primeras contribuciones en el campo.

from Linux Adictos https://ift.tt/ZbofwyV
via IFTTT