Canonical se prepara para actualizar la fuente de Ubuntu, disponible a partir de Lunar Lobster

Fuente de Ubuntu

Es probable que alguno de nuestros lectores se hayan dado cuenta de que la fuente que uso en la mayoría de las imágenes que añado a mis posts es la oficial de Ubuntu. En parte es porque está relacionada con Linux, y en parte porque las de otros proyectos, como Debian, no son de código abierto y no se puede usar libremente. Si lo que está planeando Canonical termina haciéndose realidad, Ubuntu tendrá una nueva fuente a partir de este abril, y la fuente que yo usare será ligeramente diferente.

Así podemos leerlo en el Discourse de Ubuntu, en donde dan instrucciones de cómo instalar la nueva fuente para probarla. La intención es que sea la letra oficial de Ubuntu a partir de Lunar Lobster, programado para abril de 2023. Fijándome en la nueva versión (la de la captura es la actual, no la futura), si tengo que ser sincero yo no noto ninguna diferencia, y sin más información, como una descripción de qué han retocado en el foro de Ubuntu, es difícil distinguir entre la fuente actual y la futura.

Ubuntu 23.04 llegará el 20 de abril

Nuestro equipo de diseño ha estado trabajando en una versión actualizada de la fuente Ubuntu. Ha sido empujado al archivo Lunar antes de UIF pero bloqueado en el bolsillo propuesto porque sentimos que necesitamos más pruebas y comentarios antes de decidir incluirlo para esta versión.

Para instalar la fuente, hay que abrir un terminal y escribir lo siguiente:

wget https://launchpad.net/ubuntu/+source/fonts-ubuntu/0.862-0ubuntu2/+build/25677616/+files/fonts-ubuntu_0.862-0ubuntu2_all.deb https://launchpad.net/ubuntu/+source/fonts-ubuntu/0.862-0ubuntu2/+build/25677616/+files/fonts-ubuntu-console_0.862-0ubuntu2_all.deb
sudo dpkg -i fonts-ubuntu-console_0.862-0ubuntu2_all.deb fonts-ubuntu_0.862-0ubuntu2_all.deb

Una vez escrito lo anterior, para que los cambios surtan efecto se debe reiniciar el sistema operativo.

Aunque esto está en la hoja de ruta de Canonical, aún tiene que confirmarse el cambio. En estos momentos está «parado» y en el «cajón» de las propuestas, pero a no ser que detecten algo grave es el tipo de letra que veremos en el sistema operativo principal de Canonical cuando lo instalemos de cero a partir del mes que viene o se actualice desde una instalación existente.

Lunar Lobster llegará el 20 de abril con novedades como GNOME 44 y el nuevo instalador.

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

Nextcloud Hub 4 combina Inteligencia Artificial y ética

NextCloud integra herramientas de Inteligencia Artificial

El código abierto corre desde atrás al software privativo. Salvo excepciones como Apache, los primeros tiempos de Firefox o Blender son pocas las excepciones. Una de ellas es Nextcloud Hub 4 que combina Inteligencia Artificial y ética.

No había absolutamente ninguna razón para que Firefox, Brave o Vivaldi o en otro orden LibreOffice integraran herramientas de Inteligencia Artificial antes que Microsoft o Adobe. La mayor parte de las bibliotecas de inteligencia artificial son de código abierto. Lamentablemente las fundaciones Linux, Mozilla y similares están más interesadas en ser «inclusivas» que en promover el progreso. Por suerte tenemos a NextCloud


Ya habíamos comentado que la suite ofimática OnlyOffice (En su versión Cloud) incluía la integración con ChatGPT. Sin embargo, NextCloud va un paso más allá.

Qué es NextCloud Hub 4

NextCloud comenzó siendo un software para sincronizar y compartir archivos entre dispositivos y personas. Con el tiempo se transformó en una plataforma de productividad colaborativa online que incluye aplicaciones de oficina, comunicación y gestión de grupo entre otras. Estamos hablando de una solución autoalojada (La instalas en tu propio servidor) lo que equivale a tener tu propio Microsoft 365, Google Drive y WhatsApp.

La llegada de Hub 4 reconcilia a aquellos que privilegiamos las prestaciones con los que privilegian los principios del software libre y de código abierto o la privacidad ya que las herramientas de Inteligencia Artificial que se integran a sus aplicaciones de productividad se califican en criterios como la disponibilidad del modelo, el código original y los datos de entrenamiento.

Para facilitar el uso de las nuevas herramientas se introduce una nueva aplicación llamada Smart Picker que, sin importar cuál aplicación estemos utilizando para ingresar texto, nos permite generar un texto con ChatGPT, una imagen con Stable Diffusion o texto convertido a partir de un archivo de voz con la ayuda de Whisper. También, podemos traducir textos con DeepL, insertar Gifs de Giphy, mapas de OpenStreetMaps, enlaces de video de PeerTube o contenido de Mastodon.

Las funciones que emplean inteligencia artificial

Voz a texto

Si estás familiarizado con la herramienta que convierte la voz a texto en los teléfonos Android entenderás como funciona esto. Usando los modelos creados por OpenAI (Los creadores de ChatGPT) el programa convierte lo que dices ante el micrófono en un texto que puedes enviar por mail o por mensaje o modificar después con el procesador de textos.

Dicen que una imagen vale más que mil palabras.  Lo cierto es que si estás escribiendo un texto como un post de un blog o un artículo te recomiendas que las incluyas. En los viejos tiempos buscábamos en Google o hacíamos una captura de pantalla. Yo, cada vez que puedo, utilizo una herramienta de Inteligencia Artificial que las genera.

No siempre sale bien, particularmente a los humanos les aparece una pierna o brazo de más, pero los resultados pueden ser interesantes.

NextCloud Hub 4 te da dos posibilidades para generación de imágenes; una de ellas es Stable Diffusion que se aloja en tu propio servidor (No lo probé, pero se me ocurre que dependiendo del hardware puede llegar a tardar bastante) y Dall-E 2 que es un servicio en la nube.

Generación de textos

Posiblemente el servicio con el cuál más está familiarizado el público en general. Está basado en la versión 3 de ChatGPT y el funcionamiento es el que todos conocemos. Le pides lo que tiene que escribir y lo hace.

Otras funciones

Un agregado interesante es Tables, descripto en sus propias palabras como «Una alternativa a Microsoft SharePoint» permite trabajar con estructuras de datos y compartirlas con el resto de los componentes de NextCloud.

El gestor de archivos ahora permite asignar nombres a las diferentes versiones de un archivo facilitando su localización e impidiendo su borrado automático.

Si estás familiarizado con Zoom u otra aplicación de videoconferencias conocerás el concepto de «salas». Básicamente se usan para subdividir una reunión. Esa función ahora está disponible en Talk, la aplicación de mensajería y videoconferencia de NextCloud. Talk también incorpora la posibilidad de grabar las llamadas, compartir la grabación con otros y cronometrar la duración.

No tengo idea de si una instalación local en una Raspberry Pi soportará todas estas características. Pero, si eres una pyme puedes contratar un servidor en la nube e instalarte NextCloud. Sin dudas es una gran alternativa.

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

Docker revierte la decisión de eliminar imágenes públicas después de la protesta

Docker Free Team

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones, está finalizando Docker Free Team

Hace poco Docker dio a conocer una disculpa pública a los usuarios, especialmente con la comunidad de código abierto, por la forma en que anunció la interrupción del servicio Free Teams.

Después de las protestas por el anuncio Docker dijo que estaba listo para hacer algunas concesiones. La empresa mantiene su decisión de eliminar Free Teams en un mes, pero renuncia a eliminar de Docker Hub las imágenes públicas de las organizaciones que se verán afectadas.

Docker aclaró que las imágenes públicas permanecerán en Docker Hub hasta que sus mantenedores decidan eliminarlas. Sin embargo, el lanzamiento no aborda todas las preocupaciones de los usuarios.

A través de su oferta Free Team, Docker les dio a los usuarios de Docker Hub la capacidad de crear equipos y dar acceso a los miembros a repositorios de imágenes compartidas. Este servicio es utilizado principalmente por mantenedores de proyectos de código abierto.

La compañía publicó una nota en su sitio web disculpándose por la mala comunicación sobre la decisión. El comunicado oficial indica que el contenido del correo electrónico no expresaba adecuadamente las intenciones de Docker. La compañía dice que los datos a los que se refería en su correo electrónico no se relacionaban con imágenes.

«No estaba claro qué íbamos a hacer con las imágenes. Es importante mantener las imágenes públicas porque muchas otras imágenes se construyen sobre ellas”, dijo un representante de Docker. Aquí hay un extracto del mensaje de Docker a la comunidad:

Pedimos disculpas por la manera en que comunicamos y ejecutamos la eliminación de las suscripciones de Docker del «Equipo gratuito», lo que causó alarma en la comunidad de código abierto.

Para aquellos de ustedes que se están poniendo al día, recientemente enviamos un correo electrónico a las cuentas de los miembros de las organizaciones Free Team para informarles que perderán funciones a menos que actualicen a una de nuestras funciones gratuitas o de pago.

Básicamente, Docker todavía se apega a su plan para eliminar la oferta de Docker Free Teams en un mes. Pero la compañía dice que, contrariamente a lo que dijo su correo electrónico a principios de esta semana, no eliminará las imágenes.

Las imágenes públicas solo desaparecerán si los mantenedores de las imágenes deciden eliminarlas de Docker Hub. Si el mantenedor de una imagen no toma ninguna medida, continuaremos distribuyendo sus imágenes públicamente. (Por supuesto, si el mantenedor migra al programa de código abierto patrocinado por Docker o a una suscripción paga de Docker, también continuaremos distribuyendo sus imágenes públicas).

Según la empresa, el cambio afecta a menos del 2% de los usuarios de Docker. Docker recomienda a los usuarios que migren al programa Docker-Sponsored Open Source (DSOS), que dice que es más adecuado para proyectos de código abierto.

“El programa DSOS no se ve afectado por la eliminación de las organizaciones Free Team. Para los nuevos usuarios que deseen unirse al programa DSOS de una organización anterior de Free Team, pospondremos cualquier suspensión o eliminación de la organización mientras la solicitud de DSOS esté pendiente”, explica Tim Anglade de Docker en la publicación del blog.

Y antes de eso, Docker dice que se pueden extraer imágenes de sus repositorios privados al registro de Docker y enviar esas imágenes a otro registro de su elección.

Además, la compañía afirma que incluso si su organización se suspende, elimina o si decide abandonar Docker voluntariamente, el espacio de nombres de su organización no se liberará, por lo que otros usuarios no pueden «ocupar sus imágenes».

Si Docker suspende las organizaciones, pero mantiene las imágenes públicas, es posible que esas imágenes ya no se actualicen y, por lo tanto, se vuelvan obsoletas. Docker no se ha pronunciado sobre este punto.

Algunos desarrolladores todavía sienten que están siendo rehenes. Y otros, como Neil Hanlon del proyecto Rocky Linux, dicen que todavía no han recibido una respuesta de Docker con respecto a sus aplicaciones para el programa DSOS.

Muchos de los que se quejan de este cambio están ejecutando proyectos de código abierto con dependencias de compilación que podrían fallar. Algunos proyectos, como Livebook, ya planean mover todos los contenedores de Docker al Registro de contenedores de GitHub, pero deberán migrar sus imágenes antiguas manualmente. El proyecto Kubernetes Kind también está considerando otras opciones.

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/pyAsXON
via IFTTT

Apache CloudStack 4.18 ya fue liberado y llega con grandes mejoras

apache-cloudstack

CloudStack es un software de computación en la nube de código abierto para crear, administrar e implementar servicios de infraestructura en la nube.

Se dio a conocer el lanzamiento de la nueva versión de Apache CloudStack 4.18, que permite automatizar el despliegue, la configuración y el mantenimiento de una infraestructura de nube privada, híbrida o pública (IaaS, infraestructura como servicio).

Para quienes desconocen de Apache CloudStack deben saber que esta es una plataforma que permite automatizar el despliegue, la configuración y el mantenimiento de la infraestructura en la nube privada, híbrida o pública (IaaS, infraestructura como servicio).

La plataforma CloudStack fue transferida a la Fundación Apache por Citrix, que recibió el proyecto tras la adquisición de Cloud.com. Los paquetes de instalación están preparados para CentOS y Ubuntu.

CloudStack no depende del tipo de hipervisor y permite utilizar Xen (XCP-ng, XenServer / Citrix Hypervisor y Xen Cloud Platform), KVM, Oracle VM (VirtualBox) y VMware en la misma infraestructura de nube. Se ofrece una interfaz web y una API especial para administrar la base de usuarios, el almacenamiento, los recursos informáticos y de red.

En el caso más simple, una infraestructura en la nube basada en CloudStack consta de un servidor de control y un conjunto de nodos de cómputo, en los que el sistema operativo invitado se ejecuta en modo de virtualización.

Principales novedades de Apache CloudStack 4.18

Esta nueva versión que se presenta de Apache CloudStack 4.18 se clasifica como LTS (soporte a largo plazo) y se mantendrá durante 18 meses.

De los cambios que se destacan, podremos encontrar que se agregó el soporte para «Edge Zones», zonas livianas típicamente asociadas con un solo entorno de host (actualmente solo se admiten hosts con un hipervisor KVM). En Edge Zone, puede realizar todas las operaciones con máquinas virtuales, a excepción de las operaciones con almacenamiento compartido y acceso a la consola, que requieren CPVM (Console Proxy VM). Admite la descarga directa (direct-download) de plantillas y el uso de almacenamiento local.

Tambien se destaca que se añadió el soporte para el escalado automático de máquinas virtuales (parámetro «supports_vm_autoscaling»), asi como tambien qué se implemento una API para acceder a la consola y tambien una API para administrar datos de usuario.

Otro de los cambios que se destaca, es que se agregó un marco para la autenticación de dos factores, se agregó compatibilidad con la autenticación mediante contraseñas de un solo uso con tiempo limitado (autenticador TOTP) y se agregó soporte para cifrar particiones de almacenamiento.

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

  • Soporte integrado para SDN Tungsten Fabric.
  • Se agregó soporte para Ceph Multi Monitor.
  • Medios mejorados para compartir el acceso a la consola.
  • Se ha propuesto una nueva interfaz con configuraciones globales.
  • Se proporcionó soporte para configurar MTU para interfaces de red de VR (enrutador virtual). Se agregaron configuraciones vr.public.interface.max.mtu, vr.private.interface.max.mtu y allow.end.users.to.specify.vr.mtu.
  • Se implementaron grupos adaptables para vincular una máquina virtual a un entorno de host (Grupos de afinidad).
  • Proporcionó la capacidad de definir sus propios servidores DNS.
  • Kit de herramientas mejorado para admitir sistemas operativos invitados.
  • Se agregó soporte para la distribución Red Hat Enterprise Linux 9.
  • El complemento Networker Backup se ofrece para el hipervisor KVM.
  • Se ha proporcionado la capacidad de establecer sus propias tarifas para las cuotas de tráfico.
  • Se agregó soporte para una consola VNC segura con cifrado TLS y acceso basado en certificados para KVM.

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

¿Cómo instalar Apache CloudStack en Linux?

Para quienes estén interesados en poder instalar Apache CloudStack podrán hacerlo siguiendo las instrucciones que compartimos a continuación.

Apache CloudStack ofrece paquetes de instalación preparados para RHEL/CentOS y Ubuntu. Por lo que para descargarlos vamos a abrir una terminal y ejecutar en ella lo siguiente.


Para el caso de CentOS 8, los paquetes a descargar son los siguientes:

wget http://download.cloudstack.org/centos/8/4.18/cloudstack-agent-4.15.0.0-1.el8.x86_64.rpm
wget http://download.cloudstack.org/centos/8/4.18/cloudstack-baremetal-agent-4.18.0.0-1.el8.x86_64.rpm
wget http://download.cloudstack.org/centos/8/4.18/cloudstack-cli-4.18.0.0-1.el8.x86_64.rpm
wget http://download.cloudstack.org/centos/8/4.18/cloudstack-common-4.18.0.0-1.el8.x86_64.rpm
wget http://download.cloudstack.org/centos/8/4.18/cloudstack-integration-tests-4.18.0.0-1.el8.x86_64.rpm
wget https://download.cloudstack.org/centos/8/4.18/cloudstack-management-4.18.0.0-1.x86_64.rpm
wget https://download.cloudstack.org/centos/8/4.18/cloudstack-marvin-4.18.0.0-1.x86_64.rpm
wget https://download.cloudstack.org/centos/8/4.18/cloudstack-mysql-ha-4.18.0.0-1.x86_64.rpm
wget https://download.cloudstack.org/centos/8/4.18/cloudstack-usage-4.18.0.0-1.x86_64.rpm

Hecha la descarga de estos paquetes, podremos instalarlos ejecutando en la terminal el siguiente comando:

sudo rpm -i cloudstack*.rpm

Para el caso de otras distribuciones basadas en Debian o en CentOS/RHEL, puedes seguir las instrucciones que se proporcionan en el siguiente enlace.

Pero el único detalle es que la nueva versión aún no se ha puesto a disposición por estos métodos.

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

Bard, el chatbot de Google, empieza a estar disponible, pero de momento sólo en algunos países. Hay lista de espera

Bard de Google

Hace escasos minutos publicábamos la noticia de que Microsoft ha presentado Bing Image Creator, su creador de imágenes basado en DALL-E. Casi al mismo tiempo, o casi al mismo tiempo me he enterado yo, que no he podido mirar noticias hasta ya entrada la tarde, Google ha anunciado la disponibilidad de Bard, su respuesta al ChatGPT que en la actualidad ya es el nuevo «santo» o «dios» de la información por Internet.

Lo malo es que aquí y ahora sólo podemos informar de su disponibilidad, ya que, por lo menos en España, aún no se puede probar. Tampoco estoy seguro de que esté disponible para muchos, porque, como en otros servicios, el uso se irá expandiendo con el tiempo, y está usando el sistema de listas de espera para aceptar a nuevos usuarios.

Bard está en fase experimental

Lo que podemos ver cuando entramos a su página web se podría considerar como un cartel de «espere» o «en construcción», por lo menos en el país desde donde escribe un servidor. Si miramos al icono, en realidad no tiene; sólo aparece el nombre del chatbot, Bard (¿en Roboto?), junto a una etiqueta de «experiment», lo que significa que está en una fase que no pasa de experimental. Luego vemos un texto dinámico en el que Google nos dice qué puede hacer Bard.

Como ejemplos, nos ponen que puede sugerir más alimentos altos en proteínas para dietas veganas, puede ayudarte a terminar tus obras de arte o explicar por qué un rayo puede caer dos veces en el mismo punto. También puede ayudarnos a hacer una lista de viaje, algo que no me impresiona lo más mínimo porque no hacía ni 5 minutos le había pasado a un compañero una lista de baladas metal con canciones poco conocidas, cortesía de ChatGPT. Pero esta es la propuesta de Google, y viniendo de donde viene, hay que tomársela en serio.

En cuanto a su disponibilidad, y como ya hemos comentado, hay lista de espera. Si se entra desde España, nos dice que actualmente no está disponible en nuestro país, y si se entra con una cuenta que está conectada a espacios de trabajo o sin confirmar que somos mayores de 18 años no se puede usar el servicio.

Por nuestra cuenta, estaremos pendientes de los comentarios de la comunidad sobre el funcionamiento de Bard, o también de mis compañeros de LXA que viven a la otra parte del océano y podrían acceder al servicio más pronto.

El chatbot está disponible (cuando deje entrar) en este enlace.

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

Bing Image Creator, Microsoft presenta su creador de imágenes basado en DALL-E

LinuxAdictos según Bing Image Creator

Seguimos hablando de la inteligencia artificial, y lo que le queda. Y una vez más, volvemos a hablar de Microsoft, quien parece haber tomado la delantera en esta carrera tras su inversión/acuerdo con OpenAI. Si hace unos días hablábamos de que el nuevo Bing ya estaba disponible para todos, aunque yo sigo viendo el banner de que me pase a Edge, hoy nos toca hablar de otra herramienta de la compañía que hay detrás del sistema operativo de escritorio más usado del mundo: Bing Image Creator.

Basado en DALL-E, se trata de un servicio en el que le decimos en palabras qué imagen queremos que nos cree y trata de hacerlo. Por ejemplo, la imagen que encabeza este artículo es lo que me ha sacado al pedirle que me cree una imagen de Linux Adictos, aunque aquí estoy diciendo una verdad a medias. Lo primero que he hecho ha sido pedírselo en español, y me ha dicho que de momento sólo está en inglés. Así que me ha tocado decir que me cree una imagen de «linux addicts», y me ha sacado lo de encima de estas líneas.

Bing Image Creator parece incluso más preciso que DALL-E

Hace un tiempo intenté crear imágenes con sentido usando DALL-E, la herramienta original de OpenAI, pero los resultados no me convencieron nada en absoluto. Sin embargo, Bing Image Creator si me ha enseñado cuatro imágenes y en las cuatro parecía entenderse que lo que mostraba era adictos a Linux.

En estos momentos, como casi todo lo relacionado a ChatGPT y OpenAI, está en fase beta, por lo que se puede usar, pero se espera que mejore en el futuro. Si queréis darle una oportunidad a lo que en español han llamado sencillamente como «Creador de imágenes», podéis hacerlo desde este enlace. Recordad que, aunque la interfaz esté en español, las peticiones se deben hacer en inglés.

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

cURL 8.0 ha llegado para celebrar el 25º aniversario del proyecto

cURL 8.0.0

Tal y como informa Daniel Stenberg, hoy hace un mes desde que se lanzó la versión anterior de esta herramienta para usar en un intérprete de comandos para transferir archivos con sintaxis URL, pero también coincide con otra fecha: su cumpleaños. Hoy han lanzado cURL 8.0.0, y en este día se cumplen 25 años desde que se dio inicio a esta proyecto, y el cambio de número parece tener más que ver con este acontecimiento que con un lanzamiento realmente mayor.

Stenberg dice que es un cambio mayor de primer número, pero no hay cambios innovadores ni fuegos artificiales. Sencillamente decidieron que era cuestión de tiempo poner a cero las otras cifras, y qué mejor momento que en un cumpleaños en el que se celebra el cuarto de siglo de existencia. Tampoco hay roturas ni de API ni de ABI, y eso es lo que provocaría un salto a una versión con muchos cambios.

cURL 8.0.0 no incluye grandes novedades

En cuanto a los números, y aunque las convenciones están para cumplirlas o pasar de ellas, cada uno es libre de hacer lo que quiera, en algo con formato X.Y.Z cuando sube Z es un cambio para corregir errores, Y son versiones medianas que suelen incluir nuevas funciones y X son actualizaciones mayores que, además de nuevas funciones, pueden romper la compatibilidad con versiones anteriores. De ahí que expliquen lo de que no hay roturas de este tipo.

Se trata de una versión mayor, pero sin cambios revolucionarios ni fuegos artificiales. Decidimos que ya era hora de restablecer el número menor a un nivel más manejable y hacerlo exactamente en el 25 cumpleaños de curl lo hizo extra divertido. No hay ruptura de API o ABI en esta versión.

Ahora bien, dicen que este es probablemente el mejor lanzamiento de curl que han hecho nunca, pero yo no me tomaría esas palabras muy en serio. Es algo que se dice siempre, en parte porque es lógico que se lance una nueva versión de un software para mejorar lo existente, no para empeorarlo. Así que sí, por una parte será verdad, pero por otra es algo que se podrían ahorrar.

En cuanto a los cambios, se han añadido varios parches de seguridad (CVE), corrección de errores y sólo un cambio real, que es la primera versión de cURL que deja de soportar la construcción en sistemas que carecen de un tipo de datos de 64 bits.

cURL 8.0.0 ya se puede descargar desde este enlace, pero, si no corre prisa, y no tiene el por qué hacerlo, lo mejor para los usuarios de Linux es esperar a que nuestra distribución actualice el paquete en sus repositorios oficiales.

cURL es un software importante en el mundo FOSS que incluso ha ganado el premio del mes que otorga Microsoft a software libre y de código abierto.

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

LLVM 16.0 y fue liberado y estas son sus novedades

LLVM Logo

LLVM es una marco para el desarrollo de compiladores ademas de que ayuda a construir nuevos lenguajes de programación y mejorar los lenguajes existentes

Después de poco más de seis meses de desarrollo, se dio a conocer el lanzamiento de la nueva versión del proyecto LLVM 16.0, versión en la que se implementan una gran cantidad de cambios y mejoras.

Para quienes desconocen de LLVM, deben saber que este es un compilador compatible con GCC (compiladores, optimizadores y generadores de código) que compila programas en un código de bits intermedio de instrucciones virtuales tipo RISC (una máquina virtual de bajo nivel con un sistema de optimización multinivel).

El pseudocódigo generado puede ser convertido por el compilador JIT en instrucciones de máquina justo en el momento de la ejecución del programa.

Principales novedades de LLVM 16.0

En esta nueva versión que se presenta, podremos encontrar diversas mejoras importantes en Clang 16.0, de las cuales de destaca el estándar C++/ObjC++ predeterminado que se establece en gnu++17 (anteriormente gnu++14), lo que implica soporte para funciones de C++17 con extensiones GNU de forma predeterminada. En el código LLVM se permite el uso de elementos definidos en el estándar C++17.

Otro de los cambios que se destaca, es que se ha agregado soporte para CPU Cortex-A715, Cortex-X3 y Neoverse V2, extensiones Armv8.3 y funciones de versiones múltiples al backend AArch64.
La compatibilidad con las plataformas Armv2, Armv2A, Armv3 y Armv3M se suspendió en el backend de la arquitectura ARM, para el cual no se garantizaba la generación correcta de código. Se agregó la capacidad de generar código para instrucciones para trabajar con números complejos y se agregó soporte para arquitecturas de conjuntos de instrucciones (ISA) AMX-FP16, CMPCXADD, AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT al backend X86.

Ademas de ello, se han aumentado los requisitos para construir LLVM, ademas de que la compilación ahora debería ser compatible con el estándar C++ 17, es decir, la compilación requiere al menos GCC 7.1, Clang 5.0, Apple Clang 10.0 o Visual Studio 2019 16.7.

Por otra parte, tambien se destacan los backends mejorados para arquitecturas MIPS, PowerPC y RISC-V, asi como tambien el soporte para depurar ejecutables de 64 bits para la arquitectura LoongArch al depurador LLDB y el manejo mejorado de los símbolos de depuración COFF.

De los demás cambios que se destacan:

  • En la biblioteca Libc++ , el trabajo principal se centró en implementar soporte para nuevas características de los estándares C++20 y C++23.
  • El tiempo de enlace se ha reducido significativamente en el enlazador LDD al paralelizar el escaneo de reubicación de direcciones y las operaciones de inicialización de secciones. Se agregó soporte para la compresión de secciones usando el algoritmo ZSTD.
  • Tambien se destacan las funciones avanzadas implementadas con el estándar C++20.
  • capturar enlaces estructurados en funciones lambda.
  • El operador de igualdad dentro de expresiones.
  • Capacidad para no especificar la palabra clave typename en algunos contextos,
  • Permisibilidad de la inicialización agregada entre paréntesis («Aggr(val1, val2)»).
  • Funciones implementadas definidas en el futuro estándar C++2b.
  • Compatibilidad proporcionada con el tipo char8_t,
  • Se amplió el rango de caracteres permitidos para su uso en «\N{…}»,
  • Se agregó la capacidad de usar variables declaradas como «static constexpr» en funciones declaradas como constexpr.
  • Funciones implementadas definidas en el futuro estándar C2x C:
  • Se agregó soporte para cargar múltiples archivos de configuración (los archivos de configuración predeterminados se cargan primero y luego los especificados mediante el indicador «–config=», que ahora se puede especificar varias veces).
  • Se modificó el orden de carga de los archivos de configuración predeterminados: clang primero intenta cargar el archivo <triple>-<driver>.cfg y, si no lo encuentra, intenta cargar dos archivos <driver>.cfg y <triple>.cfg.
  • Se agregó un nuevo indicador de compilación «-fcoro-aligned-allocation» para la distribución alineada de marcos de rutina.
  • Se agregó el indicador «-fmodule-output» para habilitar el modelo de compilación monofásico de los módulos estándar de C++ .
  • Se agregó el modo «-Rpass-analysis=stack-frame-layout» para diagnosticar problemas con el diseño del marco de pila.
  • Se agregó un nuevo atributo __attribute__((target_version(«cpu_features»))) y se amplió la funcionalidad del atributo __attribute__((target_clones(«cpu_features1″,»cpu_features2»,…))) para seleccionar versiones específicas de funciones proporcionadas por la CPU AArch64 .
  • Herramientas de diagnóstico mejoradas:
  • Se agregó la advertencia «-Wsingle-bit-bitfield-constant-conversion» para detectar el truncamiento implícito al asignar uno a un campo de bits con signo de un bit.
  • Diagnóstico extendido de variables constexpr no inicializadas.
  • Se agregaron advertencias «-Wcast-function-type-strict» y «-Wincompatible-function-pointer-types-strict» para detectar posibles problemas al transmitir tipos de función.

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/eU5rE2A
via IFTTT

Lanzan una iniciativa para reelaborar Xen Hypervisor en Rust

Xen

Xen es un hipervisor que proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales

Los desarrolladores de la plataforma XCP-ng, que se desarrolla bajo el ala del proyecto Xen, han publicado un plan para crear un reemplazo de Rust para varios componentes de la pila de software Xen.

El hipervisor Xen en sí aún no se va a procesar y el trabajo se centra principalmente en volver a trabajar los componentes individuales del conjunto de herramientas.

La plataforma actualmente usa componentes en C, Python, OCaml y Go, algunos de los cuales están desactualizados y causan problemas de mantenimiento. Se observa que el uso de Rust no conducirá a un aumento general en la cantidad de idiomas involucrados, ya que solo se implementa un componente en Go, que se planea reemplazar en primer lugar.

Obviamente, no espere que reescribamos el hipervisor Xen y todo en Rust como nuestro primer intento. De hecho, nuestro objetivo aquí es comenzar a reemplazar algunos componentes más pequeños a su alrededor, lo que nos permite «aumentar» el lenguaje en sí y pensar en cómo reemplazar las cosas bloque tras bloque, para toda la plataforma.

Rust se elige como un lenguaje que combina un alto rendimiento del código resultante con capacidades de memoria segura, no requiere el uso de un recolector de basura, es adecuado para desarrollar componentes de bajo y alto nivel, proporciona características adicionales para reducir el potencial errores, como el préstamo variable (borrow checker). Rust también está más extendido que el actual lenguaje XAPI OCaml, lo que facilitará la atracción de nuevos desarrolladores al proyecto.

En la primera etapa, se planea desarrollar reemplazos para varios componentes con el fin de resolver los procesos y preparar la base para reemplazar otras partes de la pila de software. En particular, en primer lugar, las herramientas de invitado de Linux se reescribirán en Rust, para el cual se usa actualmente el lenguaje Go, y el proceso en segundo plano para recopilar métricas, se escribirá en OCaml.

Dado que Rust es seguro y rápido, ¿qué más necesitamos? También necesitamos un lenguaje de programación que sea capaz de trabajar en varios niveles (inferior y superior en la pila). Yo no confiaría en Go o Python para hacer frente a cosas de tan bajo nivel que podemos tener en XCP-ng, y -de la misma manera- tampoco en C para hacer cosas de mayor nivel. El uso de Rust brinda el potencial de estar en todas partes en la pila XCP-ng’.

Además, Rust ya no es un lenguaje de «nicho». Por ejemplo, incluso si es excelente, OCaml (usado en XAPI) no se conoce lo suficiente, lo que reduce nuestras oportunidades de contratar fácilmente a personas con experiencia en este idioma. Esto también reduce la capacidad de una comunidad de código abierto para obtener colaboradores. Creemos que Rust no será un obstáculo para eso (tanto para la contratación como para las contribuciones), probablemente incluso lo contrario: un impulsor para atraer a más personas, ya que es una tecnología «deseada» .

La necesidad de rediseñar las herramientas de Linux guest tools (xe-guest-utilities) se debe a problemas de calidad de código y desarrollo fuera del Proyecto Xen bajo el control de Cloud Software Group, lo que dificulta el empaquetado y la influencia de la comunidad en el desarrollo. Se planea crear una nueva variante del conjunto de herramientas ( xen-guest-agent ) completamente desde cero, manteniéndolo lo más simple posible y separando la lógica del agente de las bibliotecas. Se decidió volver a trabajar en el proceso de fondo para recopilar métricas ( rrdd ), ya que es compacto y está separado, lo que facilita experimentar con el uso de un nuevo lenguaje durante el desarrollo.

El próximo año, probablemente se comenzará a trabajar en el desarrollo del componente xenopsd-ng en Rust, que nos permitirá optimizar la arquitectura de la pila de software. La idea principal es concentrar el trabajo con una API de bajo nivel en un componente y organizar la provisión de todas las API de alto nivel al resto de la pila a través de él.

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/D5OmiqE
via IFTTT

WINE 8.4 inicia su soporte para Wayland

WINE 8.4

Como cada dos semanas en esta fase del desarrollo, y tras 8.3, WineHQ ha lanzado hace unas horas WINE 8.4. Aunque se introducen muchos cambios en estos lanzamientos, de hecho se introducen cientos, la mayoría de ellos son pequeñas mejoras que hacen que la ejecución de aplicaciones de Windows en otras plataformas sea más fiable, pero esta semana han destacado algo que salta a la vista con tan sólo mirar los puntos que han considerado dignos de mostrar por separado.

WineHQ suele destacar de entre 3-6 novedades en cada versión de desarrollo, y esta semana la primera es que se ha dado el paso inicial para soportar Wayland. Hasta ahora se ha podido usar, pero el soporte oficial ha empezado en WINE 8.4. Además, también han destacado limpiezas en el soporte IME, un número de correcciones de pruebas y correcciones de errores varias. Más abajo, en donde está todo lo que han hecho, nos hablan de 51 bugs corregidos y 344 cambios.

Bugs corregidos en WINE 8.4

  • Thief: the dark project se cuelga al pulsar la tecla ‘esc’ en el juego si X en modo 24bpp.
  • Hard Truck 2: King of The Road (GOG) las películas no se reproducen.
  • Amazon Games se instala pero no se inicia (¿necesita código de inicio WindowsFormsApplicationBase?).
  • Varias aplicaciones tienen un rendimiento muy pobre después de 4261369e5d8 (Secondhand Lands, SPORE).
  • t2embed:t2embed falla en Windows con la codificación UTF-8.
  • gdi32:font – test_EnumFonts() falla con Arial Bold en Windows en ruso.
  • advapi32:registry – test_enum_value() tiene un par de fallos raros en locales de sistema UTF-8.
  • shell32:shelllink – A save(NULL, TRUE) falla aleatoriamente en test_load_save() en Wine.
  • d3d9:device – test_wndproc() a veces obtiene un WM_DISPLAYCHANGE inesperado en Wine.
  • .test_WSARecv() falla al usar thunks wow64 [Wow64ApcRoutine() sobrescribe el valor de retorno establecido por NtContinue()].
  • La salida dxgi:dxgi es demasiado grande en debiant.
  • kernel32:sync – test_timer_queue() falla ocasionalmente al borrar el temporizador en Windows 10.
  • ntdll:info – test_query_kerndebug() falla en Windows 8 a 10 1709.
  • foobar2000 v1.6 se bloquea poco después del inicio en Wine 7.19 o superior.
  • d3drm:d3drm a veces se bloquea tras fallar la creación de la interfaz IDirect3DRMDevice* en Wine.
  • d3drm:d3drm a veces falla al crear un dispositivo de modo inmediato en Wine.
  • vbscript:run a veces falla en Windows UTF-8 locales.
  • d3d9:device a veces falla al crear un objeto D3D en Wine, se bloquea.
  • ntdll:wow64 de 64 bits falla en Windows 11.
  • La ntdll:wow64 de 32 bits falla en Windows 11.
  • winhttp:notification falla aleatoriamente en Wine.
  • user32:input – test_ToAscii() falla en la configuración regional hindi UTF-8.
  • ntdll:pipe – test_blocking() falla a veces en Wine cuando la tubería no está señalizada.
  • kernel32:console – test_wait() falla a veces en Windows 8+.
  • d3d12:d3d12 – test_desktop_window() falla en Windows 10 1709.
  • d3d12:d3d12 – test_create_device() obtiene un 0 refcount inesperado en Windows 10 1909+.
  • HS_hevo_gc 8.8.1.1 falla al iniciar.
  • desde wine 8.0 print ya no funciona.
  • nethack se bloquea.
  • regedit/regproc.c – export_key() no puede devolver TRUE.
  • Motorola Ready For Assistant no se inicia, necesita ext-ms-win-networking-wlanapi-l1-1-0.dll.
  • dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fallan en Windows 11 debido a la reasignación de ruta de notepad.exe.
  • psapi:psapi_main – La función test_EnumProcessModules() de 64 bits obtiene un caso inesperado de Notepad en Windows 11.
  • psapi:psapi_main – La función de 64 bits test_EnumProcessModulesEx() obtiene fallos pcs-6464 y pcs-6432 en Windows 11.
  • psapi:psapi_main – La función de 32 bits test_EnumProcessModulesEx() obtiene muchos fallos pcs-3232 debido a errores de copia parcial en Windows 11.
  • psapi:psapi_main – La función de 64 bits test_EnumProcessModules() obtiene un tercer módulo inesperado en Windows 11.
  • jsproxy:jsproxy se bloquea en Windows 11.
  • Fallo en la inicialización del juego Starcraft Remastered.
  • mmdevapi:propstore – El test_setvalue_on_wow64() de 32 bits falla en Windows 10 2004+.
  • El gif se muestra incorrectamente, con fondos extraños de varios colores.
  • gdi32:dc – La prueba SetDeviceGammaRamp() falla en Windows 10 1909.
  • El dbghelp de 32 bits:dbghelp no puede ejecutarse en Windows <= 10 1607 debido a la llamada IsWow64Process2().
  • La ventana de edición de texto de KakaoTalk IM deja artefactos cuando el texto se desborda y aparece la barra de desplazamiento.
  • Wine 8.3 64-bit no aparece en el repositorio de Debian bookworm.
  • riched20:txtsrv – test_TxGetNaturalSize falla si el ancho de los glifos de la fuente GUI del sistema es mayor de lo esperado por la prueba.
  • La instalación de TextPad 9.1 falla en Wine 6 desde el repositorio de Linux Mint.
  • windows.perception.stub:perception – Windows 10 1607 no tiene ISpatialSurfaceObserverStatics2.
  • kernel32:loader – test_import_resolution() obtiene datos tls erróneos en Windows 7.
  • ldp.exe se bloquea en la función no implementada wldap32.dll.ldap_set_dbg_flags.
  • imm32:imm32 – ime_install() falla en algunas localizaciones en Windows.
  • ldp.exe se bloquea al intentar conectarse a un host no válido.

WINE 8.2 está disponible en este enlace. En la página de descargas hay información sobre cómo instalar esta y otras versiones en sistemas operativos como Debian y Ubuntu, pero también se puede instalar en Android y macOS.

La próxima versión será WINE 8.5 y llegará el 31 de marzo.

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