Usar diff y patch para generar y aplicar parches
diff y patch son sendos comandos de GNU/Linux para generar y aplicar parches

Antes de nada, echemos un vistazo a la Wikipedia, para saber qué es eso de un parche, cuando estamos en un contexto de informática.
Cuando en informática se habla de un parche informático, refiere a los distintos cambios que se han aplicado a un programa para corregir errores, actualizarlo, eliminar secciones antiguas de software o simplemente añadirle funcionalidad. En informática, un parche consta de cambios que se aplican a un programa, para corregir errores, agregarle funcionalidad, actualizarlo, etc.
Lo entenderemos mejor con un caso práctico. Hace poco eché un vistazo a la documentación en español de GNUHealth, y encontré algunos errores tipográficos.
Creé un parche con las correcciones y se lo envié al desarrollador, lo revisó y decidió aceptarlo e incluir el parche con las correcciones. Como véis no se aplica únicamente a correcciones de errores en programas, puede aplicarse a cualquier tipo de mejora en cualquier tipo de archivo.
Veamos los pasos a seguir con los comandos diff y patch en GNU/Linux para generar dichos parches y aplicarlos.
Antes de nada decir, que este artículo fue escrito por Emiliano aka Linuxitux en su gran web ya tristemente desaparecida linuxito.com.
Yo utilizaba con frecuencia dicho artículo para recordar cómo se hacía el proceso y aunque archive.org nos puede devolver el artículo, no quería que se perdiera, por eso me lo anoto en el blog y lo comparto por si os es de utilidad.
Para este artículo utilizaré el mismo ejemplo que nos compartía Emiliano en su blog. Imaginemos que tenemos el siguiente script en bash, en un archivo llamado actualizar.sh
#!/bin/sh
echo -n "Actualizando el sistema... "
(apt-get update && apt-get -y upgrade) >> /var/log/actualizar.log 2>&1
echo "Finalizado."
Lo primero es mantener el original y trabajar sobre una copia. Por tanto copiaremos ese archivo y le llamaremos por ejemplo: actualizar.sh.nuevo
Editamos esa copia del archivo y lo modificamos a nuestro gusto, añadiendo, modificando o quitando lo que queramos. En nuestro ejemplo quedará así:
#!/bin/sh
echo -n "Actualizando el sistema... "
if (apt-get update && apt-get -y upgrade) >> /var/log/actualizar.log 2>&1 ; then
echo "Finalizado."
else
echo "Finalizado con errores."
fi
Creando un parche con diff
Para crear el parche en el que queden reflejados los cambios que hemos realizado en el archivo, utilizaremos el comando diff con la opción -u y guardaremos los cambios en un archivo que acabe en .patch
diff -u actualizar.sh actualizar.sh.nuevo > actualizar.sh.patch
Si tenemos curiosidad, podemos ver el contenido del archivo, que en nuestro ejemplo será algo así:
--- actualizar.sh 2016-12-14 08:07:51.563855405 -0500
+++ actualizar.sh.nuevo 2016-12-14 08:19:59.168150333 -0500
@@ -2,8 +2,10 @@
echo -n "Actualizando el sistema... "
-(apt-get update && apt-get -y upgrade) >> /var/log/actualizar.log 2>&1
-
-echo "Finalizado."
+if (apt-get update && apt-get -y upgrade) >> /var/log/actualizar.log 2>&1 ; then
+ echo "Finalizado."
+else
+ echo "Finalizado con errores."
+fi
En el archivo se especifican los cambios realizados, el contexto y líneas donde se realizan y si se añaden líneas (+) o se eliminan (-).
Este archivo con el parche y las mejoras lo podemos enviar por correo al desarrollador de un proyecto y si lo ve correcto y apropiado lo incluirá en el código.
Aplicar un parche con patch
Quien reciba el parche deberá usar el comando patch incluyendo el nombre archivo del código original y el nombre del archivo con el parche:
patch actualizar.sh actualizar.sh.patch
Con esto, el comando sabe qué hacer en el archivo original para añadir o eliminar lo necesario y así aplicar el parche para incorporar las modificaciones.
Con este método es sencillo enviar mejoras, correcciones a proyectos de software libre, si no tenemos cuenta en el sitio donde hospeden sus repositorios. Siempre preguntando primero si aceptan este tipo de parches.
Gracias a Emiliano por sus años de dedicación al blog, donde compartió gran cantidad de información muy valiosa, y que nos enseñó tanto a muchos que lo leíamos con asiduidad. Sirva este artículo rescatado como homenaje, ya que yo mismo lo consulté varias veces cuando me hizo falta.
¿Y a ti te ha resultado útil?
Library of oneAPI-TBB version 2021.9.0 available for openSUSE Linux.
Build version 2021.9.0 and update the latest version of the oneTBB is a flexible C++ library that simplifies the work of adding parallelism to complex applications, even if you are not a threading expert. The library lets you easily write parallel programs that take full advantage of the multi-core performance.

Add repository and install manually
zypper addrepo https://download.opensuse.org/repositories/home:cabelo:intel/15.4/home:cabelo:intel.repo zypper refresh zypper install intel-oneapi-tbb
More information : HERE
Library of oneAPI-DNN version 3.1 available for openSUSE Linux.
Build and update 3.1 version of the oneAPI Deep Neural Network Library (oneDNN) is an open-source cross-platform performance library of basic building blocks for deep learning applications. oneDNN is part of oneAPI. The library is optimized for Intel(R) Architecture Processors, Intel Processor Graphics and Xe Architecture graphics.

Add repository and install manually
For standard run the following as root:
zypper addrepo https://download.opensuse.org/repositories/home:cabelo:intel/15.4/home:cabelo:intel.repo zypper refresh zypper install intel-oneapi-dnn
More information : HERE
Newly Documented API Endpoints for Comments, Status Messages and Staging
Novedades de Okular en KDE Gear 23.04
El pasado jueves 20 de abril fue lanzado KDE Gear 23.04, la gran actualización de sus aplicaciones que tiene una periodicidad cuatrimestral. Ha pasado más de una semana y desgranando qué nor trajo de nuevo. En esta entrega os presento las novedades de Okular en KDE Gear 23.04, una de esas aplicaciones básicas que aúnan igual que Gwenview, de la que hablé hace poco, rapidez, sencillez y potencia.
Novedades de Okular en KDE Gear 23.04

Para los que no conozcan Okular es un visor universal de documentos desarrollado por KDE y que funciona en diversas plataformas, incluidas Linux, Windows, Mac OS X, *BSD, etc.
Enstre sus funciones más destacadas nos encontramso con multitud de formatos permitidos (PDF, PS, Tiff, CHM, DjVu, imágenes, DVI, XPS, Fiction Book, libros de cómics, Plucker, EPub, Fax), una barra lateral con contenido, miniaturas, revisiones y marcadores y la posbilidad de introducir notas, comentarios, resaltados. Además, nos permite firmar digitalmente documentos.

Esta versión, Okular en KDE Gear 23.04 nos ofrece las siguientes novedades:
- Ahora incluye el menú del modo de vista y los botones de ampliación y vista en la parte izquierda, con las herramientas en el lado derecho.
- Además, la propia barra lateral se puede situar a ambos lados de la ventana o desprender para que se convierta en una ventana flotante.
- La ampliación funciona ahora suavemente, como en Gwenview en una demostración de que las mejoras se comparten, en lugar de en pasos al usar Ctrl + desplazamiento en el panel táctil o una rueda de desplazamiento de alta resolución.
Más información: KDE Gear 23.04
Y, recuerda, todo este software es gratuito y sin publicidad en todos los sentidos: no te cuesta ni un euro y no se cobra en en forma de datos personales. No obstante, si quieres ayudar a su desarrollo siempre puedes participar en con donaciones.
La entrada Novedades de Okular en KDE Gear 23.04 se publicó primero en KDE Blog.
Udev Rules for Dirtywave M8
This post is very unlikely for you. It's for future me.
The little magic box that is the Dirtywave M8 tracker is pretty well supported in Linux. It works great as an audio device (input and output), it does usb midi and you can also use its remote display using laamaa's m8c which now also does audio monitoring.
M8c isn't an app, so it's a bit of a hassle to build it and use it from within a toolbx. Regular Linux distro chore. In addition, to update its firmware, which Timothy pushes very frequently and brings amazing new functionality, requires adding udev rules to have the device writable by a user. Which is what this post is about. I have no clue what I'm doing, but having this config in /etc/udev/rules.d/50-myusb.rules (first is the regular device for m8c and the latter is the second stage of the firmware update using tytools):
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="048a", GROUP="users", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", GROUP="users", MODE="0666"
Enjoy my last track, Sines of our fathers if you don't care of any of the above ;)
Udev Rules for Dirtywave M8
This post is very unlikely for you. It’s for future me.
The little magic box that is the Dirtywave M8 tracker is pretty well supported in Linux. It works great as an audio device (input and output), it does usb midi and you can also use its remote display using laamaa’s m8c which now also does audio monitoring.
M8c isn’t an app, so it’s a bit of a hassle to build it and use it from within a toolbx. Regular Linux distro chore. In addition, to update its firmware, which Timothy pushes very frequently and brings amazing new functionality, requires adding udev rules to have the device writable by a user. Which is what this post is about. I have no clue what I’m doing, but having this config in /etc/udef/rules.d/50-myusb.rules (first is the regular device for m8c and the latter is the second stage of the firmware update using tytools):
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="048a", GROUP="users", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", GROUP="users", MODE="0666"
Enjoy my last track, Sines of our fathers if you don’t care of any of the above ;)
Novedades de Gwenview en KDE Gear 23.04
El pasado jueves 20 de abril fue lanzado KDE Gear 23.04, la gran actualización de sus aplicaciones que tiene una periodicidad cuatrimestral. Ha pasado más de una semana y desgranando qué nor trajo de nuevo. En esta entrega os presento las novedades de Gwenview en KDE Gear 23.04, una de esas aplicaciones básicas que aúnan rapidez, sencillez y potencia.
Novedades de Gwenview en KDE Gear 23.04

Se podrías decir que Gwenview es la aplicación de visualización de imágenes básica del ecosistema KDE, aunque hay alguna todavía más sencilla, la velocidad y prestaciones de ésta la convierten en un imprescindible en cualquier ecosistema KDE
Con Gwenview puedes abrir cualquier formato de imagen, más o menos, y después realizar multitud de acciones sobre ella: rotar, dimensionar, hacer ampliaciones, recortar, realizar una carrusel, exportar, reducción de ojos rojos, ajuste de brillo, contraste, etc. Además, recientemente ha adquirido la posibildad de realizar anotaciones y ediciones recientemente medante flechas, cajas de texto, fuminados, etc.
Esta versión, Gwenview en KDE Gear 23.04 nos ofrece las siguientes novedades:
- Cuando se ejecuta en Plasma Wayland, ¡ahora puede acercar y alejar las imágenes en Gwenview pellizcando en el panel táctil!
- Gwenview 23.04 incluye cambios que lo hacen más predecible, como inhibir el reposo y el bloqueo de pantalla durante una presentación solo si está ejecutándose en primer plano.
- Ampliación de imágenes suave en lugar de en pasos cuando use Ctrl + desplazamiento en un panel táctil.
- Se ha solucionado el fallo que más se producía en Gwenview, que solía aparecer al rotar imágenes rápidamente.

Más información: KDE Gear 23.04
Y, recuerda, todo este software es gratuito y sin publicidad en todos los sentidos: no te cuesta ni un euro y no se cobra en en forma de datos personales. No obstante, si quieres ayudar a su desarrollo siempre puedes participar en con donaciones.
La entrada Novedades de Gwenview en KDE Gear 23.04 se publicó primero en KDE Blog.
Installing NVIDIA Tesla T4 in the Amazon EC2 G4 Instances
This post explains the process of installing NVIDIA Tesla T4 drivers on openSUSE images specifically designed for Amazon EC2 G4 Instances.
First remove nouveau module kernel.
rmmod nouveau
Download the NVidia driver and run it.
wget https://us.download.nvidia.com/tesla/515.105.01/NVIDIA-Linux-x86_64-515.105.01.run
sudo sh NVIDIA-Linux-x86_64-515.105.01.run
Done. Use the force!


Cómo conocer la versión de Kernel Linux , Kernel Info – Plasmoides de KDE (219)
Seguimos con los widgets para el escritorio de la Comunidad KDE. En esta ocasión os presento Kernel Info o cómo conocer la versión de Kernel Linux con el plasmoide número 219 de la serie de
Cómo conocer la versión de Kernel Linux , Kernel info – Plasmoides de KDE (219)
Como he comentado en otras ocasiones, de plasmoides tenemos de todo tipo funcionales, de configuración, de comportamiento, de decoración o, como no podía ser de otra forma, de información sobre nuestro sistema como puede ser el uso de disco duro, o de memoria RAM, la temperatura o la carga de uso de nuestras CPUs.
Así que espero que le deis la bienvenida a un plasmoide llamado Kernel Info, una creación de Shaquibimdad que nos trae una sencilla línea que podemos poner en cualquier lugar de nuestro escritorio y así darle un toque más de personalización o ayudar a la gente que no controla la consola a saberlo de forma muy sencilla. Por cierto, para hacerlo desde consola simplemente con el comando: uname.

Dado que es un plasmoide muy sencillo sus opciones de configuración también lo son: apenas puedes elegir la fuente, su tamaño y color.

Y como siempre digo, si os gusta el plasmoide podéis «pagarlo» de muchas formas en la nueva página de KDE Store, que estoy seguro que el desarrollador lo agradecerá: puntúale positivamente, hazle un comentario en la página o realiza una donación. Ayudar al desarrollo del Software Libre también se hace simplemente dando las gracias, ayuda mucho más de lo que os podéis imaginar, recordad la campaña I love Free Software Day de la Free Software Foundation donde se nos recordaba esta forma tan sencilla de colaborar con el gran proyecto del Software Libre y que en el blog dedicamos un artículo.
Más información: KDE Store
¿Qué son los plasmoides?
Para los no iniciados en el blog, quizás la palabra plasmoide le suene un poco rara pero no es mas que el nombre que reciben los widgets para el escritorio Plasma de KDE.
En otras palabras, los plasmoides no son más que pequeñas aplicaciones que puestas sobre el escritorio o sobre una de las barras de tareas del mismo aumentan las funcionalidades del mismo o simplemente lo decoran.
La entrada Cómo conocer la versión de Kernel Linux , Kernel Info – Plasmoides de KDE (219) se publicó primero en KDE Blog.