¿Podría Linus Torvalds considerar la introducción de C++ en el Kernel de Linux?

linustorvalds

Linus Benedict Torvalds es un ingeniero de software, conocido por iniciar y mantener el desarrollo del kernel Linux

Hace unas pocas semanas compartimos aquí en el blog la noticia sobre una propuesta que se ha reavivado después de muchos años en relación a la viabilidad de adoptar el código C++ en el kernel de Linux, una propuesta que fue lanzada en el 2018 a modo de broma.

La propuesta fue nuevamente lanzada en las listas de correo del Kernel, pero ya de manera seria por Hans Peter Anvin, un desarrollador clave del kernel de Intel y el desarrollador planteaba la viabilidad de la inclusión de C++ como un tercer lenguaje de programación en Linux.

Con la introduccion de Rust en Linux, muchos desarrolladores y parte de la comunidad vieron un gran camino por delante en Linux, además de que también han surgido diversas «ideas» de implementar otros lenguajes de programación, la propuesta de implementar C++  abre nuevamente un debate entre muchos de los desarrolladores del Kernel e incluso que Linus Torvalds nuevamente explique de la manera más pasiva y comprensiblemente posible, el porqué Linux no está preparado para C++ (sarcasmo).

Hay que recordar que Rust no fue aceptado en Linux de un momento a otro, pues el proyecto de Rust en Linux (Rust for Linux) tuvo una serie de revisiones por parte del mismo Linus Torvalds antes de que fuera aceptado en la rama principal del Kernel para que fuera incluido y cabe mencionar que el padre de Linux no fue nada blando al momento de realizar las revisiones y comentar sobre los cambios propuestos.

Antes de desarrollar el artículo, he de mencionar que todo el contenido del artículo es una opinión personal generada atrevés de la interpretación de la información y noticias que he leído en la red, por lo que puede ser diferente a la interpretación que tú como lector puedas tener y que con gusto me tomaré el tiempo de leer si deseas compartirla aquí en los comentarios.

Ahora en el caso de la propuesta de C++ como tercer lenguaje de programación, en el supuesto caso, y digo “supuesto”, la implementación debería de pasar por una serie de revisiones similar, si no hasta más rigurosa de lo que fue para Rust. Y es que el hecho de mencionar esto es debido a que C++ y Linus tienen su historia, pequeña, pero que tiene ya muchos años.

La razón de mencionar que el caso de C++ como un tercer lenguaje de Linux como un “supuesto”, es debido a que el padre de Linux, Linus Torvalds, no ha visto ni verá con buenos ojos a C++, ya que en más de una ocasión en cada oportunidad que tiene ha mencionado que C++ «es un lenguaje terrible».

Por mencionar algunos de los momentos en los que se ha planteado el uso de C++ en Linux y Linus Torvalds ha expresado no solo su desacuerdo, sino un «cierto odio» hacia C++ el cual sobrepone para mencionar el porqué «simplemente no es una opción para Linux», uno de los más recientes fue durante las revisiones de la implementación de Rust, ya que durante una discusión en una la publicación de Google, se mencionó la inclusión de C++ en forma de sugerencia:

«La solución aquí es simple: simplemente use C++ en lugar de Rust»

A lo cual Linus Torvalds no pudo evitar reírse y su respuesta fue:

«LOL». «C++ no resuelve ninguno de los problemas de C y sólo empeora las cosas, realmente es un lenguaje basura.

Para las personas a las que no les gusta C, opten por un lenguaje que realmente les ofrezca algo que valga la pena. Como lenguajes con seguridad de memoria y «que» pueden evitar algunos de los peligros de C, o lenguajes que tienen soporte interno de GC «recolección de basura» y facilitan la administración de la memoria. C++ resuelve todos los problemas equivocados, y cualquiera que diga ‘reescribir el núcleo en C++’ es demasiado ignorante para siquiera saberlo.»

Linus Torvalds siempre ha considerado C ++ como un “desperdicio” y lo ha considerado “inútil” pues para el “C++ no puede resolver el problema del lenguaje C en absoluto, solo empeorará las cosas». Torvalds cree a quienes no les gusta el lenguaje C pueden buscar un lenguaje que realmente pueda aportar valor. Por ejemplo, lenguajes que tienen seguridad de memoria y pueden evitar peligros ocultos causados ​​por C (como por ejemplo Rust).

En comparación con C ++, Linus ha mencionado el porqué C, es su elección estándar:

“Cuando la gente habla de los peligros causados ​​por C, también habla de una parte de la razón por la que C es tan poderoso: ‘Te permite implementar eficientemente todas estas cosas de bajo nivel’”, mencionó Linus. Además, aunque GC es bueno para simplificar la programación en la mayoría de los casos, generalmente no es algo que se pueda hacer en la programación de sistemas de bajo nivel.

De hecho, en las listas de correo se menciona que en algún momento se intentó usar C++ en Linux, en 1992 (más o menos un año después del nacimiento de Linux), pero esto se quedó solo asi como «un intento», ya que Torvalds menciona sobre este intento:

Es terrible. Créeme: escribir código de kernel en C++ es una IDEA ESTÚPIDA DE MIERDA.

El hecho es que los compiladores de C++ no son confiables. Eran aún peores en 1992, pero algunos hechos fundamentales no han cambiado:

– todo el asunto del manejo de excepciones en C++ está fundamentalmente roto. Está «especialmente» roto para los kernels.
– cualquier compilador o lenguaje que le guste ocultar cosas como asignaciones de memoria a sus espaldas simplemente no es una buena elección para un kernel.
– puedes escribir código orientado a objetos (útil para sistemas de archivos, etc.) en C, «sin  la basura que es C++.»

Ante estos y otros tantos comentarios, podemos entender un poco sobre el porqué para Linus Torvalds C++ es un lenguaje horrible, además de que ha criticado al lenguaje por ser utilizado por «programadores de baja calidad, hasta el punto en que es mucho, mucho más fácil generar basura total y absoluta con él.» Y es que pareciera que C++ fue en algún momento, un amargo sabor de boca para Torvalds, ya que en sus críticas da a pensar que intento probar con C++, pues menciono en un correo que:

«C++ conduce a elecciones de diseño realmente malas. Invariablemente comienzas a usar las características «agradables» de la biblioteca del lenguaje como STL y Boost y otra basura total y absoluta, que pueden «ayudarte» a programar, pero causan:

cantidades infinitas de dolor cuando no funcionan (y cualquiera que me diga que STL y especialmente Boost son estables y portables está tan lleno de tonterías que ni siquiera es divertido)
modelos de programación abstractos ineficientes donde dos años más tarde notas que alguna abstracción no fue muy eficiente, pero ahora todo tu código depende de todos los bonitos modelos de objetos a su alrededor, y no puedes arreglarlo sin reescribir tu aplicación.»

Entonces, retomando el titulo de la publicación y ya habiendo entendido un poco la punta del iceberg del odio que tiene Linus Torvalds hacia C++, no hace falta indagar mucho puesto que para Torvalds, Linux no necesita ningún otro lenguaje porque C le basta y durante todo este tiempo C es, ha sido y será el lenguaje que se adapta a su trabajo y Linus seguirá atacando a los lenguajes de programación que no le gustan, en especial a C++.

Y es que una de entre las tantas razones por la que C++ simplemente no es considerado para Linux, es que admite excepciones, mientras que Rust no al igual que C, ya que en la programación del kernel, no se puede permitir que una excepción no detectada pueda desactivar el sistema operativo, además de que ni siquiera se debe pensar que el kernel falle alguna vez.

Y en el dado «supuesto» que Torvalds llegara a considerar a C++ en Linux, esto podría suponer más que un beneficio la inclusión de un tercer o más lenguajes de programación, se convertirían en un problema, ya que por ejemplo con la implementación de Rust actualmente ya están empezando a salir a la luz algunos problemas, tales como los que ya mencionamos en una publicación sobre el estado actual de Rust en Linux.

Dentro de los desafíos actuales mencionamos en el artículo que uno de ellos es el «reclutar más revisores para el código que se está desarrollando» además de que el progreso del compilador Rust basado en GCC se ha ralentizado, también hay muy pocas posibilidades de que reescriban grandes porciones del kernel en Rust corto plazo e incluso muy bajas posibilidades de que puedan hacerlo sin introducir todo tipo de errores y sobre todo los problemas de compatibilidad.

Si estos problemas, que se están viendo reflejados en Rust los sumamos en C++ o cualquier otro lenguaje que se llegue a sumar en Linux, el desarrollo del Kernel se vería afectado en gran medida y con ello de inicio no estaríamos recibiendo una versión cada dos meses, sino que sería el desarrollo entre versiones de más tiempo, se requerirían de más desarrolladores, más revisores y todo esto se traduce en un mayor esfuerzo.

Sin dudas el planteamiento de la introduccion de C++ como un tercer lenguaje de programación, está lejos de ser considerado y como ya mencionamos, uno de los impedimentos principales para ello es el mismísimo Linus Torvalds.

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

Arkime 5.0 llega con búsqueda masiva de Cont3xt, compatibilidad con JA4 y más

Arkime

Logo de Arkime

Hace pocos días se dio a conocer el lanzamiento de la nueva versión de Arkime 5.0, la cual llega con una de las características más esperadas, la cual es la búsqueda masiva de Cont3xt, asi como también unificación del subsistema de configuración, nuevas configuraciones y más.

Para quienes desconocen de Arkime, deben saber que esta es una herramienta de captura de paquetes y análisis de red de código abierto, cuenta con herramientas para evaluar visualmente los flujos de tráfico y buscar información relacionada con la actividad de la red.

Arkime se destaca por capturar e indexar el tráfico en formato PCAP, con herramientas para un acceso rápido a los datos indexados. La adopción del estándar PCAP facilita su integración con analizadores de tráfico existentes como Wireshark. La cantidad de datos almacenados está limitada solo por el tamaño disponible de la matriz de discos. Los metadatos de sesión se indexan en un clúster basado en el motor Elasticsearch u OpenSearch.

Arkime

Captura de pantalla de Arkime

El componente de captura de tráfico opera en modo multiproceso y aborda tareas como monitoreo, escritura de volcados de PCAP en disco, análisis de paquetes capturados y envío de metadatos sobre sesiones y protocolos al clúster Elasticsearch/OpenSearch. Además, ofrece la posibilidad de almacenar archivos PCAP en forma cifrada.

¿Qué hay de nuevo en Arkime 5.0?

En esta nueva actualización que se presenta de Arkime 5.0 se destaca la introduccion de la búsqueda masiva de Cont3xt, la cual permite recopilar información disponible en múltiples indicadores simultáneamente con una sola consulta, lo que agiliza significativamente el proceso de análisis de datos.

Otro de los cambios que se destaca de la nueva versión, es que la interfaz de usuario de Arkime ha sido renovada, pues ahora la sección de detalles de la sesión ha sido rediseñada para optimizar el espacio en pantalla y se han agregado menús desplegables de múltiples visualizadores en las pestañas lo que facilita la navegación y la búsqueda de información.

Además de ello, Arkime 5.0 introduce soporte para los métodos de huellas dactilares de tráfico JA4 y JA4+, que se muestra como nuevos campos de sesión para visualización y búsqueda para identificar protocolos y aplicaciones de red. El soporte se puede añadir mediante un complemento fácil de instalar.

Otra mejora significativa en Arkime 5.0 es la unificación del subsistema de configuración en todas las aplicaciones, ya que ahora se han trasladado a un subsistema de configuración que admite el procesamiento de configuraciones en diferentes formatos. Esto permite la compatibilidad con múltiples formatos de archivos de configuración y facilita la recuperación desde fuentes de disco y de red. Además, puede cargar configuraciones desde diversas fuentes, como el disco, a través de la red mediante HTTPS o desde OpenSearch/Elasticsearch.

De los demás cambios que se destacan:

  • La capacidad para importar volcados de PCAP sin conexión directamente desde varias fuentes de red, como S3 y HTTP(S), es otra característica destacada de esta versión.
  • Se incluye una serie de correcciones de errores y optimizaciones, como la actualización de zstd, nghttp2, maxmind y yara, entre otros.
  • El sistema de autorización se ha unificado y separado en un módulo independiente
  • Se han añadido nuevos modos de autorización, incluidos básico, formulario, básico+formulario, básico+oidc, headerOnly, encabezado+digest y encabezado+básico.
  • Se eliminó el modo de solo panel.
  • zstd a veces no leía todos los paquetes
  • visualización detallada de la sesión mejorada
  • enlace de detalle de sesión a un enlace ahora, elementos de columna de información de selección múltiple ahora
  • nuevos viewRoles en el archivo de configuración por integración para controlar el acceso
  • transferir la propiedad de los recursos
  • nueva fuente de datos csv/json compatible
  • soporte para nueva fuente de datos de redis
  • modo de demostración agregado

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

Descargar y obtener Arkime 5.0

Para los interesados en la nueva versión, deben saber que pueden obtener los paquetes precompilados RPM y DEB para distribuciones con soporte para este tipo de paquetes. Los paquetes los puedes obtener en el siguiente enlace.

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

Post-Quantum Cryptography Alliance, una alianza para el desarrollo de algoritmos de cifrado poscuánticos

 Post-Quantum Cryptography Alliance

Logo de la Post-Quantum Cryptography Alliance

Hace pocos días, la Fundación Linux, dio a conocer mediante una publicación de blog la formación de la Post-Quantum Cryptography Alliance (PQCA), una entidad dedicada a abordar los desafíos de seguridad asociados con la implementación de la computación cuántica.

Se menciona que la misión principal de la Post-Quantum Cryptography Alliance es desarrollar e implementar algoritmos de cifrado post-cuánticos para contrarrestar las amenazas que plantea la computación cuántica para la seguridad de la información. La Alianza se compromete a crear implementaciones altamente confiables de algoritmos de cifrado post-cuánticos estandarizados, además de participar activamente en la estandarización y prototipado de nuevos algoritmos post-cuánticos.

La PQCA pretende ser la base central para organizaciones y proyectos de código abierto que buscan bibliotecas y paquetes listos para producción para respaldar su alineación con el Aviso de ciberseguridad de la Agencia de Seguridad Nacional de EE. UU. en relación con el Commercial National Security Algorithm Suite 2.0. La PQCA se esforzará por permitir la agilidad criptográfica en todo el ecosistema durante los plazos descritos en el mismo.

Entre los miembros fundadores de la alianza se encuentran destacadas empresas y organizaciones como AWS, Cisco, Google, IBM, NVIDIA, IntellectEU, Keyfactor, Kudelski IoT, QuSecure y SandboxAQ, junto con la Universidad de Waterloo. Es importante destacar que entre los participantes de la iniciativa se encuentran coautores de algoritmos como CRYSTALS-Kyber, CRYSTALS-Dilithium, Falcon y SPHINCS+, los cuales son resistentes a los ataques de computación cuántica y han sido seleccionados para estandarización por el NIST.

La necesidad de promover algoritmos criptográficos poscuánticos surge debido al rápido desarrollo de las computadoras cuánticas. Estas computadoras tienen la capacidad de resolver de manera significativamente más rápida, problemas como la factorización de números primos (RSA) y los logaritmos discretos de puntos de curvas elípticas (ECDSA), que son la base de los algoritmos modernos de cifrado de clave pública asimétrica. Estos problemas son intratables de manera efectiva en procesadores clásicos.

La PQCA participará en varios proyectos técnicos para respaldar sus objetivos, incluido el desarrollo de software para evaluar, crear prototipos e implementar nuevos algoritmos poscuánticos. Al proporcionar estas implementaciones de software, la fundación busca facilitar la adopción práctica de la criptografía poscuántica en diferentes industrias.

El trabajo de la PQCA se basa en las bases sentadas por muchos de los miembros fundadores durante la última década preparándose para la transición a la criptografía poscuántica. Varios miembros de la PQCA han desempeñado papeles importantes en la estandarización de la criptografía poscuántica hasta la fecha, incluso como coautores de los primeros cuatro algoritmos seleccionados en el Proyecto de estandarización de criptografía poscuántica del NIST (CRYSTALS-Kyber y CRYSTALS-Dilithium, Falcon y ESFINCAS+).

Aunque las capacidades actuales de las computadoras cuánticas no son suficientes para descifrar los algoritmos de cifrado clásicos y las firmas digitales basadas en claves públicas como ECDSA, se anticipa que esta situación pueda cambiar en los próximos 10 años. Por lo tanto, es fundamental desarrollar y adoptar algoritmos criptográficos poscuánticos que sean resistentes a los ataques cuánticos, para garantizar la seguridad de la información en el futuro.

Se menciona que actualmente, dos proyectos se han transferido bajo los auspicios de la alianza, los cuales son:

  • Open Quantum Safe (OQS): Este proyecto se dedica al desarrollo y prototipado de sistemas criptográficos que sean resistentes a la computación cuántica. OQS está trabajando en una biblioteca abierta en lenguaje C llamada liboqs, que contiene implementaciones de algoritmos post-cuánticos. Además, el proyecto está desarrollando una serie de proyectos para integrar estos algoritmos en varios protocolos tales como SSH, TLS, S/MIME y X.509 y aplicaciones como lo son OpenSSL, OpenSSH, wolfSSL, entre otras.
  • PQ Code Package: Este proyecto se centra en crear y mantener implementaciones altamente confiables de algoritmos poscuánticos que se promueven como estándares. En su primera etapa, el proyecto tiene como objetivo el proporcionar una implementación del algoritmo ML-KEM (Mecanismo de encapsulación de claves basado en módulo). Posteriormente, se comenzará a trabajar en la implementación de ML-DSA y SLH-DSA. Para garantizar la confiabilidad de las implementaciones, se llevará a cabo una auditoría externa e independiente, además de una verificación formal. Además, hay interés en continuar desarrollando las implementaciones existentes de ML-KEM en lenguajes como C y Rust, así como en opciones optimizadas utilizando instrucciones AVX2 y extensiones de CPU Aarch64.

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

Nuitka, un compilador Python que puede convertir aplicaciones Python en binarios C

Nuitka

Nuitka el compilador optimizador Python que crea ejecutables

Nuitka es un proyecto de Python escrito en Python que compila Python en C, es decir un compilador de Python capaz de generar un binario independiente que no requiriera el tiempo de ejecución de Python en el sistema donde se ejecuta.

Nuitka se destaca por mantener, en la medida posible, la máxima compatibilidad con el ecosistema Python, lo que asegura que bibliotecas de terceros como NumPy funcionen de manera fiable. Además, Nuitka se esfuerza por mejorar el rendimiento de los programas Python compilados siempre que sea factible, manteniendo al mismo tiempo una compatibilidad general sólida.

Sin embargo, es importante tener en cuenta que las mejoras de rendimiento no están garantizadas y pueden variar considerablemente según la carga de trabajo. Es posible que algunos programas no experimenten mejoras significativas en el rendimiento. Por lo tanto, como regla general, se recomienda no depender de Nuitka como una solución para mejorar el rendimiento, sino más bien como una herramienta de empaquetado confiable.

Nuitka admite las versiones 2.6, 2.7 o 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 de Python y cuenta con soporte para Linux, FreeBSD, NetBSD, macOS X y Windows, además de soporte para las arquitecturas x86, x86_64 (amd64) y ARM.

¿Qué hay de nuevo en Nuitka 2.0?

Actualmente, Nuitka se encuentra en su versión 2.0 la cual hace poco fue lanzada y en ella se destaca que se han incorporado diversas mejoras y funcionalidades a la configuración del paquete, lo que permite consultar valores de paquetes instalados durante la compilación y utilizar dichos valores para definir el backend. La compatibilidad con variables en la configuración simplifica muchas tareas estándar que anteriormente requerían la conexión de complementos.

Además, se ha añadido soporte para parámetros definidos por el usuario para influir en la configuración de cada paquete. Estos parámetros pueden ser leídos utilizando la nueva función get_parameter y emplearse para seleccionar el comportamiento de los módulos. Por ejemplo, es posible configurar un parámetro para deshabilitar Numba JIT o Torch JIT.

Se introdujo la opción «–include-onefile-external-data» para especificar plantillas de archivos de datos definidos en la configuración pero que deben suministrarse por separado del archivo ejecutable cuando se compila en modo onefile. Asimismo, se agregó la opción «–cf-protection» para configurar el modo de protección CFI (Integridad de flujo de control) en GCC, el cual previene las violaciones del orden de ejecución normal (flujo de control).

De los demás cambios que se destacan:

  • Soporte agregado para decisiones de módulo, que permiten a los usuarios influir en la configuración de Nuitka por paquete.
  • Adición de soporte para configuraciones de paquetes de Nuitka, lo que facilita la consulta de valores de paquetes instalados.
  • Detección de ejecutables compilados demasiado grandes para evitar violaciones de límites de tamaño.
  • Mejoras en la generación de informes y la capacidad de crear relaciones públicas con los cambios en Nuitka-Watch.
  • Se ha implementado un análisis de tipos de bucles, que se utilizará en el futuro para implementar optimizaciones selectivas.
  • Se han agregado optimizaciones para acelerar el trabajo con variables no compartidas y de escape.
  • Solución alternativa para funciones privadas como ranuras Qt que no tenían nombres alterados.
  • Corrección de la detección de paquetes pip al usar Nuitka.
  • Mejoras en el analizador de carga diferida para pydantic.
  • Agregado de archivos de datos para varios paquetes, como pyocd y cmsis_pack_manager.
  • Correcciones para manejar correctamente las especificaciones ampliadas en tiempo de ejecución.
  • Solución para evitar fallas durante la ejecución de ciertos métodos.
  • Mejoras en la inclusión de paquetes desde la línea de comando.
  • Soluciones específicas para plataformas como Android, Windows y Debian.
  • Mejoras en la compatibilidad con diferentes versiones de Python y sistemas operativos.

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

¿Como instalar Nuitka en Linux?

Para los interesados en poder instalar Nuitka en su sistema, deben saber que la instalación es sencilla, solo deben contar con Python instalado y el sistema de gestión de paquetes pip.

Para instar Nuitka basta con ejecutar el siguiente comando:

pip install nuitka

En cuanto al uso de este compilador, pueden consultar el manual de usuario en el siguiente enlace.

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

Qué es RPM Fusion y cómo puedo usarlo para ampliar mis posibilidades en Fedora, Red Hat y derivados

RPM Fusion

La mayoría de distribuciones Linux obtienen su software de unos repositorios oficiales. En ellos encontramos, sobre todo, paquetes de software de código abierto y/o libre, pero no ofrecen todo lo que una distro podría instalar. Una opción que tenemos los usuarios de Linux cuando no hay algo en estos repositorios es compilar el software, y también existen otras como AUR para distribuciones con base Arch o RPM Fusion para las que tienen base Fedora o Red Hat.

Qué mejor manera de explicar qué es RPM Fusion que usar la definición que nos dan ellos: «RPM Fusion proporciona software que el Proyecto Fedora o Red Hat no desean distribuir. Ese software se proporciona como RPM precompilados para todas las versiones actuales de Fedora y las versiones actuales de Red Hat Enterprise Linux o clones; puede utilizar los repositorios de RPM Fusion con herramientas como yum y PackageKit«.

RPM Fusion proporciona software que no se encuentra en repositorios oficiales

Como alguien que ha probado y usado diferentes distros con base Arch, mi manera de definirlo sería que es como un AUR, pero para Fedora y otras distribuciones que son compatibles con repositorios para software en paquetes RPM. Hay diferencias, siendo la más clara que en AUR podemos encontrar varias opciones de un mismo programa para cubrir todas las posibilidades, pero el caso es que tanto AUR como el repositorio que estamos tratando aquí nos permiten instalar software que no está en los oficiales.

Su objetivo es «convertirse en el repositorio «oficial» de Fedora para todo el software libre y no libre legalmente distribuible que el proyecto Fedora no desee enviar«. Ofrece:

  • Software libre: usan licencia libre, como por ejemplo reproductores de vídeo.
  • Software no libre: usan licencia no libre, como drivers de NVIDIA.
  • Software «Free Tainted», que es libre pero con restricciones en algunos países.
  • Software «Nonfree Tainted», que usa licencia no libre y que no es distribuible explícitamente.

Cómo se instalan los RPM Fusion

Para usar los repositorios de RPM Fusion hay que instalarlos/añadirlos.

Fedora

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf config-manager --enable fedora-cisco-openh264

El último comando es para usar al biblioteca openh264, lo que usan por defecto.

Fedora OSTree (Inmutables, como SilverBlue o Kinoite)

En los Fedora Atomic, nombre que recibe la nueva familia de inmutables:

sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo reboot

RHEL y compatibles, como CentOS

sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

En CentOS Steam 8 también hay que escribir:

sudo dnf config-manager --enable powertools

En la versión más vieja de CentOS 8 se escribe PowerTools en el comando anterior.

Y en RHEL 8 se escribe también lo siguiente:

sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(uname -m)-rpms"

Una vez instalados, para conseguir también los «Tainted» hay que instalar sus paquetes:

sudo dnf install rpmfusion-free-release-tainted rpmfusion-nonfree-release-tainted

¿Es RPM Fusion seguro?

Para alguien como yo a quien no le gusta afirmar casi nada con rotundidad, responder a este tipo de preguntas no es algo sencillo. La teoría dice que sí, que son seguros, y que el problema más grave con el que nos podemos encontrar no es diferente a lo que pasa cuando Canonical empaquete como snap el lanzador de Steam. El software es el oficial de cada proyecto, éste es compilado y subido a RPM Fusion.

La opinión de la comunidad es que es un repositorio totalmente fiable sin diferencias con los repositorios (PPA) que se pueden añadir manualmente. Tienen un proceso de control de calidad, políticas y algunos empaquetadores de Fedora mantienen paquetes también en este repositorio.

En la mía, y como ya he explicado, yo lo veo como el Repositorio del Usuario de Arch y creo que hay que tratarlo de la misma manera: para instalar cualquier software, lo primero deberían ser repositorios oficiales, seguido de los repositorios del proyecto y, si no se encuentra en ninguno de los dos anteriores, entonces instalar lo que sea de RPM Fusion.

.barra {display: flex;justify-content: flex-end;height: 25px; background-color: #333;border-radius: 5px 5px 0 0;}.rojo, .naranja, .verde{width: 12px;height: 12px; position: relative;border-radius: 50%;top: 7px; margin: 0 3px;}.rojo{background-color: rgb(248, 82, 82); margin-right: 7px;}.naranja{background-color: rgb(252, 186, 63);}.verde{background-color: rgb(17, 187, 17);}.terminal{background-color: black !important; border-radius: 5px !important;}pre{font-family:monospace !important; padding: 0 10px 10px; line-height: 1.5em; overflow: auto; background-color: black !important; color: #0EE80E !important}

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

El impacto del hosting en el crecimiento empresarial

web hosting

Tener presencia digital se ha vuelto indispensable para cualquier empresa o negocio, sin importar su tamaño o sector. Contar con un sitio web bien diseñado, con contenidos de calidad y apoyado por tecnología hosting avanzada es lo que marca la diferencia a la hora de obtener más garantía de éxito comercial. No en vano, cada vez son más los recursos que requieren las páginas web para ofrecer una buena experiencia de usuario.

Repositorio de contenidos, canal para llegar a clientes potenciales, procesar transacciones, construir reputaciones, garantizar la seguridad en pagos y datos… Cada vez son más las tareas que se realizan a través de una web.

En este contexto, implementar tecnologías de alojamiento web avanzadas gana día a día importancia para mantener la competitividad en un entorno empresarial en constante evolución. A pesar de esta panorámica, todavía hay miles de pymes en España y pequeños profesionales independientes que carecen de presencia digital y de una estrategia para incrementar sus ventas.

Por ello y para reducir el riesgo a la tecnología, vamos a ver algunos de los puntos más importantes a la hora de poner en marcha una página web. Son pasos sencillos y básicos que siempre hay que tener en cuenta para sentar las bases de toda comunicación digital. ¡Vamos con ellas!

Objetivos de la página web

hosting

Antes de elegir una solución de hosting es necesario definir algunos elementos clave como determinar cuál será el propósito del sitio, el tipo de contenidos que albergará y el tráfico esperado. Esto orientará decisiones futuras a la hora de diseñar la página como, por ejemplo, la necesidad de incorporar un blog al site, hacer una tienda online u otro tipo de soluciones. Asimismo, hay que registrar un dominio que identifique la marca.

Con estos pilares ya “colocados”, llega el momento de ver las diferentes opciones de hosting que existen y decidir cuál es más o menos adecuada. El hosting más común es el denominado “compartido”. Este es económico pero sobre él se tiene menos control y puede afectar el rendimiento al ser un servidor compartido con otros usuarios. Es apto para proyectos pequeños.

Una alternativa a este hosting son los servidores privados virtuales (VPS). Estos, al contrario que el anterior, ofrecen un entorno virtual independiente para cada usuario, aislado del resto, lo que maximiza la disponibilidad y capacidad de gestión. Para proyectos con mucho tráfico y picos de rendimiento es adecuado el uso del “cloud hosting”.

Puntos a tener en cuenta a la hora de elegir un hosting

Contar con un “backend web” sólido es crucial para asegurarse un buen rendimiento de la página web. ¿Y qué requisitos debemos tener en cuenta a la hora de contratar un servidor? ¿En qué debemos fijarnos? ¿Cuál es la mejor tecnología?

En primer lugar, es importante trabajar con una compañía que cuente con un Departamento de Soporte Técnico las 24 horas de los siete días de la semana. Al poner en marcha una página web, tarde o temprano llegará algún problema que impedirá e interrumpirá el funcionamiento de la web. En el caso de no ser expertos, tener acceso a este servicio es clave para minimizar el tiempo en el que la web no es accesible y que impide realizar su trabajo.

Por otro lado, y también para evitar riesgos, el hosting contratado también debería incorporar no solo el alojamiento sino funciones como copias de seguridad diarias o protección ante ciberataques.

seguridad en internet

Las primeras ayudan a salvaguardar los activos críticos mediante la realización de copias de respaldo programadas, minimizando el riesgo de pérdidas de datos. Con respecto al segundo punto, el de la ciberseguridad, este cada vez tiene más importancia debido al incremento de ataques de los últimos años.

De ahí la importancia de que el proveedor de hosting incluya firewalls avanzados, monitoreo constante de actividades sospechosas y protocolos anti-malware rigurosos. Aplicar y contar con tecnología de seguridad no solo protege datos y transacciones en línea; también fortalece la imagen pública de una marca, fomentando confianza entre compradores y visitantes.

Un servicio de migración gratuito

En el caso de ya tener un página web en funcionamiento, es posible que el propietario de la web tan solo quiera cambiar el hosting con el que trabaja. En este momento, es recomendable apoyarse en una compañía de hosting que ofrezca un servicio de migración gratuito para evitar posibles dolores de cabeza en esta transición.

Todas estas tecnologías, así como otras innovaciones aplicadas al hosting como los discos duros NVMe, marcan la diferencia entre un proyecto web sólido, escalable y seguro con otras webs que no garantizan una buena experiencia de usuario. Por ello, a la hora de empezar a trabajar la presencia digital o de desarrollarla, es esencial asegurarse de que la web está alojada en un hosting de primer nivel.

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

Manjaro Slimbook Hero, el portátil para juegos de Manjaro, con su sistema Gaming Edition y hardware algo más discreto que su hermana consola

Manjaro Slimbook Hero

Hace menos de dos semanas que Manjaro y Orange Pi anunciaron una nueva consola que pretende ser competencia directa de la Steam Deck. Aunque parece claro que la consola de Valve lleva la delantera en este terreno, Manjaro también ha estado tiempo trabajando en un sistema operativo para juegos, y eso será lo que use su nueva consola y el recién presentado Manjaro Slimbook Hero. Ahora bien, de entrada está ligeramente por debajo de lo que ofrece el PC de mano.

El Manjaro Slimbook Hero aún no aparece en la página principal del hardware del proyecto, pero sí hay una disponible en la que podemos echarle un primer vistazo. Aunque sea un portátil con la etiqueta de Gaming, es algo más discreto que la consola, o por lo menos en su edición más básica. En la pagina de Slimbook hay opción para personalizar los componentes, y puede llegar a tener 64GB de RAM y 4TB de almacenamiento.

Especificaciones técnicas del Manjaro Slimbook Hero

CPU Intel Core i7-13620H 10 núcleos, 16 hilos 4.90 GHz
Pantalla 15.6″ WQHD 2560x1440px, 165Hz
Sistema operativo Manjaro Gaming Edition
RAM 16GB de RAM, hasta 64GB DDR5
Almacenamiento 2x 2TB M.2 SSD NVME
Gráfica NVIDIA GeForce RTX 4060 8GB
Teclado RGB
Materiales Chasis de aluminio y ABS
Audio Experiencia Soundblaster excepcional
Puertos 1x USB 2.0
2x USB 3.2
1x USB Type-C
1x HDMI
Puertos de red y Mini DisplayPort
1x jack 3.5mm para micro y otro para auriculares
1x lector de tarjetas
Tecla META Logo de Manjaro
Precio 1399€ de base

table{border-collapse: collapse; margin: auto;}td, th{padding: 5px}th{background-color: grey}td,th{border: 1px solid};

Como extras, ofrecen 14 días de prueba de CrossOver 24, y software para ejecutar aplicaciones de Windows.

El precio de base son 1399€, y con eso obtendremos un almacenamiento de 256GB. Si queremos algo más, hay que ampliarlo desde las opciones que ofrece Slimbook en su tienda. Si lo vitamimamos al máximo, con los 64GB de RAM y 2TB de almacenamiento, el precio se queda en 2004€ con impuestos incluidos. La espera para obtenerlo no se alarga más de una semana.

Otro aparato con Manjaro Gaming Edition

No lo tengo 100% claro porque no lo pone así en la tienda de Slimbook, pero sí en la página de promoción del fabricante. Manjaro en su web dice «Juega a juegos con los lanzadores de Steam, Lutris y Heroic«, lo que sí encaja con parte de lo que ofrece Manjaro Gaming Edition. Pero ni Manjaro ni Slimbook dan más detalles. De ser así, es un sistema inmutable que consigue su software principalmente de Flathub muy parecido a SteamOS. Tiene una interfaz de consola y otra de escritorio.

No sé si es lo que prefieren los jugones, pero es lo que hay. ¿Os interesa este Hero?

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

ZLUDA, una implementación que permite ejecutar aplicaciones CUDA en GPUs AMD

ZLUDA

ZLUDA funciona sobre la pila ROCm de AMD

Se ha dado a conocer la noticia de que AMD ha tomado la decisión dejar de financiar el desarrollo de ZLUDA, la cual es una implementación abierta de la tecnología CUDA para GPU AMD, lo que permite ejecutar aplicaciones CUDA sin modificarlas con un rendimiento cercano al de las aplicaciones que se ejecutan sin capas adicionales.

Durante los últimos dos años, se ha trabajado en el desarrollo de esta capa para facilitar la ejecución de aplicaciones CUDA en sistemas con GPU AMD. Pero hasta hace poco AMD ha tomado la decisión que ejecutar aplicaciones CUDA en las GPU AMD no era de interés comercial, lo que permitió al desarrollador abrir sus desarrollos según lo acordado en el contrato.

Sobre ZLUDA

El proyecto inicialmente se creó para admitir el trabajo CUDA en GPU Intel y el cambio en la política de soporte de GPU se debe a que, inicialmente el desarrollador de ZLUDA era un empleado de Intel. En 2021, Intel decidió que no era comercialmente viable proporcionar la capacidad para ejecutar aplicaciones CUDA en las GPU de Intel, lo que llevó a la interrupción del desarrollo de la iniciativa.

A principios de 2022, el desarrollador dejó Intel y firmó un contrato con AMD para continuar el desarrollo de la capa de compatibilidad CUDA. Durante el desarrollo, AMD solicitó que no se promocionara el interés de la empresa en el proyecto ZLUDA y que no se comprometiera con el repositorio público de ZLUDA.

ZLUDA proporciona compatibilidad binaria con aplicaciones CUDA existentes compiladas con el compilador CUDA para GPU NVIDIA, sin necesidad de realizar cambios a nivel de código fuente. La implementación opera sobre la pila ROCm de AMD y el runtime del HIP.

En su estado actual, el nivel de calidad de conversión de ZLUDA se considera una versión alfa. Aunque cabe mencionar que ya es capaz de ejecutar muchas aplicaciones CUDA, además se proporciona soporte mínimo para primitivas y bibliotecas, también cuenta con implementaciones prototipo del marco OptiX.

ZLUDA

Gráfica comparativa de ZLUDA

Durante la primera ejecución de aplicaciones CUDA bajo el control de ZLUDA experimenta retrasos notables debido a que ZLUDA compila el código para la GPU. Sin embargo, en ejecuciones posteriores, este retraso desaparece, ya que el código compilado se almacena en la memoria caché, lo que resulta en un rendimiento casi nativo al ejecutar el código compilado. Por ejemplo, al ejecutar Geekbench en una GPU AMD Radeon 6800 XT, la versión basada en ZLUDA del conjunto de pruebas CUDA mostró un rendimiento significativamente mejor que la versión basada en OpenCL.

Además de ello, se menciona que la compatibilidad con la API del controlador CUDA oficial y la ingeniería inversa de la API CUDA no documentada se implementa en ZLUDA mediante la sustitución de las llamadas a funciones con funciones análogas proporcionadas en el tiempo de ejecución de HIP, que es muy similar a CUDA.

Por ejemplo, la función cuDeviceGetAttribute() se reemplaza por hipDeviceGetAttribute(). ZLUDA también garantiza la compatibilidad con bibliotecas de NVIDIA como NVML, cuBLAS y cuSPARSE. Para estas bibliotecas, ZLUDA proporciona bibliotecas de traducción con el mismo nombre y el mismo conjunto de funciones, construidas sobre bibliotecas AMD similares. El código de la aplicación GPU, compilado en representación PTX (Parallel Thread Execution), se traduce mediante un compilador especial a una representación intermedia LLVM IR, a partir de la cual se genera el código binario para la GPU AMD.

Finalmente, cabe mencionar que el futuro del proyecto depende del interés de la comunidad y de posibles propuestas de cooperación por parte de otras empresas. Sin apoyo externo, el proyecto continuará desarrollándose únicamente en áreas de interés personal del autor, como DLSS.

Para los interesados en el código del proyecto, deben saber que está escrito en Rust y se distribuye bajo las licencias MIT y Apache 2.0, además el proyecto es compatible con Linux y Windows. 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/1AkuvJd
via IFTTT

La Orange Pi Neo usará Manjaro Gaming Edition, una reinvención del sistema para el Gaming de Manjaro, inmutable y basado en flatpaks

Orange Pi Neo con Manjaro Gaming Editon

Se van conociendo más detalles sobre la Orange Pi Neo, una consola que nace de la relación entre Manjaro y Orange Pi. Lo cierto es que, más allá de algún vídeo en redes sociales mostrando cómo funciona en algunos escenarios, no han publicado nueva información, pero si han actualizado la página de promoción del ordenador de mano y en ella hay un detalle interesante: usará Manjaro Gaming Edition y será un sistema inmutable como SteamOS.

Este sistema operativo, o por lo menos el nombre de Manjaro Gaming Edition, existe desde 2016. En SourceForge hay imágenes ISO que van desde 16.x hasta 18.x, y el escritorio era Xfce. Ahora, 6 años después de lanzar la última, lo que usará la Orange Pi Neo es algo diferente, con escritorio Plasma y basado en flatpaks. La intención es que no podamos romper el sistema fácilmente instalando paquetes de repositorios oficiales y sus dependencias.

Así será el sistema operativo de la Orange Pi Neo

En una búsqueda rápida, yo no he encontrado una imagen actualizada de Manjaro Gaming Edition, ni en la página oficial de Manjaro ni en SourceForge ni ningún hosting. Pero en la página de promoción de la Orange Pi Neo hay un texto que explica cómo es, o mejor dicho será. Aunque el concepto o el nombre ya existía, lo primero que dicen es «presentamos», lo que indica que se han reinventado o empezado con otra idea en mente.

El sistema operativo será «de vanguardia», destinado a gamers y entusiastas de la producción. El software que instalará será el de Flathub, y lo harán a través de la tienda de software Discover. El escritorio será Plasma, por lo que, sumado a que también es el que usan en teléfonos, me hace dudar de eso que se decía hace tiempo de que el escritorio principal de Manjaro sea Xfce.

SteamUI como una de sus armas

Manjaro Gaming Edition, como SteamOS, también tiene un modo de juego y uno de escritorio. El sistema operativo se podrá actualizar desde SteamUI, que aún habrá que ver cómo es, pero no creo que sea muy diferente a la interfaz principal del sistema de Valve.

«Presentamos Manjaro Gaming Edition, un sistema operativo de última generación diseñado tanto para jugadores como para entusiastas de la productividad. Con un enfoque en flatpaks, que ofrece una manera fluida y sin complicaciones para agregar software adicional a su sistema. Construida sobre la fiable base de Manjaro, esta edición garantiza la inmutabilidad del sistema, permitiendo a los usuarios disfrutar de una experiencia informática estable y consistente sin necesidad de preocuparse por el seguimiento de dependencias o encontrarse con problemas típicos de los modelos rolling release. Con el potente entorno de escritorio Plasma, los usuarios pueden disfrutar de una interfaz elegante y personalizable diseñada para mejorar la productividad y agilizar los flujos de trabajo. Manjaro Gaming Edition se mantiene a la vanguardia de la innovación, ofreciendo las últimas y mejores características a sus usuarios. Pero lo que realmente diferencia a Manjaro Gaming Edition es su perfecta integración con SteamUI y Discover. Los usuarios pueden actualizar su sistema sin esfuerzo a través de SteamUI, asegurándose de que siempre tienen el último software y parches de seguridad. Además, la instalación de paquetes adicionales es una brisa con Discover, que ofrece una interfaz fácil de usar para explorar e instalar flatpaks con facilidad. Disfruta de la flexibilidad y personalización del entorno de escritorio Plasma combinado con la fiabilidad y comodidad de un sistema operativo inmutable. Tanto si estás jugando como trabajando, Manjaro Gaming Edition te tiene cubierto».

Aún quedan cosas por descubrir. Sabiendo que será un sistema inmutable, queda por ver cómo es y si tiene partes de la interfaz diferentes. Pero lo más importante que queda por saber son el precio y cuándo estará disponible. Si es más económica que la Steam Deck y está bien adaptada, sin lugar a dudas será un buen aparato para los usuarios de Linux.

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

Ubuntu Core Desktop: así se espera que sea la versión inmutable de Ubuntu

Ubuntu Core Desktop eligiendo idioma

La inmutabilidad está de moda. Bueno, en parte. Hay varios proyectos que se desplazan en esa dirección, como los nuevos Fedora Spin Desktop, y otros que ya nacieron con esa característica como una de sus razones de ser, como BlendOS. Canonical está experimentando con eso, y se espera que lance Ubuntu Core Desktop en un futuro no demasiado lejano.

De hecho, se esperaba que Ubuntu Core Desktop llegara este abril, pero en estos momentos tiene muchos problemas que corregir y se ha retrasado, como mínimo, hasta octubre. Cuando podamos usarla, ¿qué es lo que obtendremos? Os lo explicamos.

Ubuntu Core Desktop ya se puede probar

Tal y como explicamos en este artículo, Ubuntu Core Desktop ya se puede probar. El nombre que aparece en pantalla mientras está cargando y en capturas como la que encabeza este artículo leemos sólo «Ubuntu Core», pero nosotros le añadimos el «Desktop» detrás porque así lo hemos leído en diferentes medios y porque sólo «Ubuntu Core» es también la opción para el Internet de las cosas (IoT). Lo que hay que hacer es ir a la página que indicamos, descargar una imagen y ejecutarla en desde un USB o en una máquina virtual. Tiene que iniciar en modo EFI para que arranque.

Al iniciar hará una especie de instalación, que más bien es preparar la imagen. Al entrar al sistema operativo tendremos que indicarle una disposición del teclado, que en el momento de escribir este artículo tiene un bug y no permite comprobar si lo hemos elegido bien o no, nos pedirá que nos conectemos a Internet, un usuario y contraseña, etc. Es prácticamente lo mismo que cuando instalamos el sistema normal, con la diferencia de que al configurar todos los parámetros ya entraremos al sistema operativo en sí. Y el teclado ya funciona en la disposición elegida.

Al abrir el terminal, y poner la contraseña, veremos un largo mensaje que explica qué es Ubuntu Core: una «mini edición transaccional de Ubuntu» diseñada para un uso mínimo, para máquinas virtuales y firmware. Que podamos abrir el terminal es algo que va y viene, ya que yo lo pude abrir hace meses, hay gente que dice que la app fue eliminada y ahora vuelve a estar disponible.

Sistema limitado, basado en snaps e irrompible

En el mensaje se menciona también a la versión clásica con base DEB, la opción a elegir si queremos la experiencia completa. Este Ubuntu Core Desktop es para los que prefieren tener algo que no puedan echar a perder instalando paquetes y realizando muchas configuraciones, y el software que podrán usar es básicamente el que hay en Snapcraft.

En realidad, ni eso. Habrá paquetes que no se podrán instalar, como Visual Studio Code, o por lo menos es así en la actualidad. Si escribimos sudo snap install code, nos arrojará un error informando sobre que ese tipo de paquete requiere «confinamiento clásico que sólo está disponible en sistemas clásicos», o esa es la versión de Canonical. Los Fedora Atomic Desktops si pueden instalarlo.

Y es que Canonical es dueño, amo y señor de los paquetes snap, y no planea soportar los flatpak de ninguna manera. Eso le hace estar por detrás de la competencia por ofrecer menos opciones, y si no poder instalar algunos snap no fuera suficiente, no se puede añadir soporte para nada más. Se abriría un abanico de posibilidades si se pudieran lanzar AppImages, pero como el paquete libfuse2, necesario para abrir estos paquetes, está en los repositorios oficiales, hay que usar APT y APT no está disponible, no se pueden abrir AppImages tampoco.

¿Workshops?

Lo cierto es que parece que Canonical sí se guarda algo, pero de momento no hay información al respecto. Disponible como una especie de aplicación con icono de terminal, encontramos Workshops. Cuando lo abrimos, vemos algo como lo siguiente:

Workshops de Canonical

Aunque no está claro cómo usarlo, parece claro que es un programa para ejecutar software en contenedores. Sabremos más en los próximos meses.

Aún está en desarrollo

Todo esto es así en la actualidad, y no sabremos 100% seguro cómo será Ubuntu Core Desktop hasta que se lance su primera versión estable. Estando Canonical detrás, está claro que el soporte para paquetes flatpak no llegará, pero no parece descabellado que añadan el paquete libfuse2 a Ubuntu Core Desktop para que pueda hacer algo más.

Por defecto sí tenemos un navegador, se puede instalar LibreOffice, Thunderbird y VLC, lo que le permiten ofrecer una experiencia justa, tal y como indica el mensaje del terminal. Ahora bien, si se necesita software como Visual Studio Code o librerías como FFmpeg o ImageMagick, no es una opción.

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