YaST Packages, Nmap Get Updates in Tumbleweed
Three openSUSE Tumbleweed snapshots were released since last Thursday.
Most of the package updates focused on libraries and YaST packages as well as documentation and nmap.
The snapshot from Tuesday, 20210330, updated an enormous amount of YaST translations and minor style adjustments and improvements were made with the yast2-theme 4.3.8 update. Extra validations were added to yast2-storage-ng 4.3.50 when creating a striped volume and when editing the physical volumes. The update to the 4.3.63 version of yast2-network brought about a dozen improvements to include adding support to write bridge and bonding configurations. Abstraction library libyui removed a dependency on Xlib and has a new packaging system in the update to 4.1.2. Network scanner nmap fixed a MySQL library that was not properly parsing responses in version 7.91 and the update of purple-lurch, which does secure multi-client end-to-end encryption, had some memory handling improvements in the 0.7.0 version update.
Topping the list of package updates for snapshot 20210329 was an update of setools 4.4.0 that added a configuration file driven analysis tool and Xfce file manager thunar 4.16.6 removed a dialog box and revamped documentation across components. A memory leak and an integer overflow fix was made in the update of checkpolicy 3.2. File system utility e2fsprogs 1.46.2 fixed warnings when resizing small file systems to a super-large ones. Spell checking library enchant 2.2.15 had some minor build system improvements and requires nuspell 4.1.0 or greater. Other packages that received updates were ffmpeg-4 4.3.2, perl-Net-HTTP 6.21, man-pages 5.11, rubygem-rspec-rails 5.0.1 and more.
The pixel encoding and color space conversion engine babl 0.1.86 had an a change to a profile for creating RGB spaces in snapshot 20210325. Xfce application library exo fixed a keyboard navigation item in its 4.16.1 update. A few Python Package Index updates were also made in the snapshot; a fix was made with LVM root volume inclusion in fstab with the update of python-kiwi 9.23.22 and mailing list management system python-mailman 3.3.4 improved the speed of members lookup via REST Application Programming Interface. Other packages updated in the snapshot were updates to libressl 3.2.5, mpg123 1.26.5 and the transactional-update 3.3.0 package used for MicroOS and Kubic added support for more package managers by bind mounting their directories; the package also linked the RPM database correctly with older zypper versions.
Menyambungkan Mouse Logitech MX Master dengan GNU/Linux Menggunakan Solaar
Logitech hingga saat ini belum juga memberikan dukungan perangkat lunak untuk menyambungkan USB Logitech Unifying Receiver. Jika ingin menyambungkan menggunakan SMART Bluetooth, lakukan dengan langkah normal seperti panduan pada tautan berikut.

Aplikasi Solaar menjadi solusi untuk masalah menyambungkan USB Logitech Unifying Receiver.
sudo zypper in solaar
Setelah Solaar terpasang, silahkan sanding USB Logitech Unifying Receiver dan perangakat Mouse MX Master.
- Lakukan restart mouse
- Pilih channel (1,2,3)
- Tekan connect
Jika sudah tersambung, berikut tampilannya.

Selamat mencoba~
Lanzado digiKam 7.2, con mejoras el renombrado masivo
Esta máxima se repite en cualquier aplicación que quiera mantenerse «vivo» durante mucho tiempo: que una aplicación sea excepcional no significa que su desarrollo haya finalizado. El mejor gestor de imágenes de la Comunidad KDE (y una de las mejores del mercado tanto libre como privado) sigue su desarrollo. De esta forma ha sido lanzado digiKam 7.2, una nueva versión de la séptima rama principal que incluye, entre otras, mejoras en el renombrado masivo.
Lanzado digiKam 7.2, con mejoras el renombrado masivo

El pasado 22 de marzo fue lanzado digiKam 7.2, la nueva versión de uno de los gestores de imágenes más completo que puedes encontrar en el mundo GNU/Linux, e incluso en el mundo privativo.
Este nuevo digiKam sigue recibiendo un intenso trabajo que se inició en esta rama y que nos ofrecía la renovación del algortimo de reconocimiento de caras (esta vez basado en el Aprendizaje Profundo)
Esta nueva versión menor (pero importante) nos ofrece las siguientes novedades:
- Mejoras en el renombrado masivo tanto en usabilidad como en estabilidad.
- Mejoras en la gestión de álbumes con correcciones en la base de datos para soportar una mejor agrupación de elementos con casos de uso especiales con que se consigue mayor mayor homogeneidad en las vistas de las propiedades de los elementos.
- Mejoras en el motor de filtrado que ha sido corregido para acelerar las consultas de los usuarios y con un mejor soporte de comodines.
- Mejoras en el soporte de medios extraíbles.
- Mejoras en la herramienta de agrupación de elementos en las colas de acciones, especialmente cuando los elementos removibles son remanentes mientras se procesan.

También hay otras mejoras como optimización de la base de datos, mejoras en la detección de caras, mejoras en los binarios para todos los sistemas operativos, afinada la geolocalización y muchas más que podéis encontrar en el extensa entrada en el blog de Digikam dedicado a este lanzamiento y que, por supuesto, os invito a leer.
Más información: Digikam 7.2
Las novedades de digiKam 7
Aunque gran parte del trabajo para esta nueva versión, como he dicho, se lo ha llevado el reconocimiento facial con interesantes mejoras, digiKam también nos ofrece jugosas novedades. Hagamos un repaso:
- Mejoras reconocimiento facial como:
- Porcentaje de acierto de un 97%.
- Mejoras en rapidez y eficiencia en el uso de recursos.
- Posibilidad de detectar caras no-humanas. ¡También podremos tener registradas a nuestras mascotas!
- Posibilidad de detectar caras borrosas, cubiertas, pintadas, parciales, etc.

- Nuevo soporte para ficheros RAW files para nuevas cámaras como Canon CR3 o Sony A7R4.
- Mejorado el soporte para las imágenes con formato HEIF.
- Mejoras en el paquete binario con soporte para FlatPak.
- Nueva herramienta, ImageMosaicWall, para crear una imagen basada en otra colección de fotos.
- Nuevas opciones para escribir información de geolocalización en los metadatos del archivo.
- El plugin HTMLGallery introduce un nuevo tema llamado «Html5Responsive».

Y, por supuesto, muchos errores solucionados, con lo que parece que tendremos la mejor versión de digiKam que puede tener vuestro ordenador.
¿Qué es digiKam?
La mejor forma de definir digiKam es buscar como se describe esta aplicación de userbase.kde.org y realizar una pequeña síntesis:
«DigiKam es una aplicación que te permite la importación de fotografías desde cámaras, creación de álbumes, etiquetado con fechas, temas y otras propiedades, utilidades de búsqueda excelentes y modificación de imágenes en masa.»
Curso de Vim: Analiza el punto débil del arranque de tu editor #Vim
¿Abre lento tu editor Vim? Veamos cómo poder identificar qué parte es la que ralentiza ese arranque

Con el paso del tiempo, vamos añadiendo complementos y opciones a nuestro editor Vim, y puede que vaya poco a poco ralentizando el proceso de arranque.
¿Cómo cual es el “cuello de botella”? Veamos cómo “cronometrar” cada proceso del arranque de Vim.
Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:
- https://victorhckinthefreeworld.com/tag/vim/
- https://victorhck.gitlab.io/comandos_vim/articulos.html
Vamos a arrancar Vim con un comando que guarda los tiempos propios y acumulados de todos los procesos que abre Vim en el arranque y lo guardaremos en un archivo .txt.
vim --startuptime arranquevim.txt
Después podemos abrir el archivo arranquevim.txt y podemos ver un encabezado y una lista con el tiempo propio y acumulado de cada uno de los procesos del arranque de Vim.
Puedes ver lo que tarda en cargar cada complemento o cada proceso. También podemos ordenar la lista por la segunda columna.
cat arranquevim.txt | sort -k 2
Como complemento a esto, si quieres aprender más sobre cómo mejorar tu arranque de Vim, puedes ver la ayuda del editor con este comando, aunque tampoco es que diga mucho más… 
:help slow-start
Espero que te haya resultado útil.

MotionPhoto / MicroVideo File Formats on Pixel Phones
Google Pixel phones support what they call ”Motion Photo” which is essentially a photo with a short video clip attached to it. They are quite nice since they bring the moment alive, especially as the capturing of the video starts a small moment before the shutter button is pressed. For most viewing programs they simply show as static JPEG photos, but there is more to the files.
I’d really love proper Shotwell support for these file formats, so I posted a longish explanation with many of the details in this blog post to a ticket there too. Examples of the newer format are linked there too.
There are actually two different formats, an old one that is already obsolete, and a newer current format. The older ones are those that your Pixel phone recorded as ”MVIMG_[datetime].jpg", and they have the following meta-data:
Xmp.GCamera.MicroVideo XmpText 1 1
Xmp.GCamera.MicroVideoVersion XmpText 1 1
Xmp.GCamera.MicroVideoOffset XmpText 7 4022143
Xmp.GCamera.MicroVideoPresentationTimestampUs XmpText 7 1331607
The offset is actually from the end of the file, so one needs to calculate accordingly. But it is exact otherwise, so one simply extract a file with that meta-data information:
#!/bin/bash
#
# Extracts the microvideo from a MVIMG_*.jpg file
# The offset is from the ending of the file, so calculate accordingly
offset=$(exiv2 -p X "$1" | grep MicroVideoOffset | sed 's/.*\"\(.*\)"/\1/')
filesize=$(du --apparent-size --block=1 "$1" | sed 's/^\([0-9]*\).*/\1/')
extractposition=$(expr $filesize - $offset)
echo offset: $offset
echo filesize: $filesize
echo extractposition=$extractposition
dd if="$1" skip=1 bs=$extractposition of="$(basename -s .jpg $1).mp4"
The newer format is recorded in filenames called ”PXL_[datetime].MP.jpg”, and they have a lot of additional metadata:
Xmp.GCamera.MotionPhoto XmpText 1 1
Xmp.GCamera.MotionPhotoVersion XmpText 1 1
Xmp.GCamera.MotionPhotoPresentationTimestampUs XmpText 6 233320
Xmp.xmpNote.HasExtendedXMP XmpText 32 E1F7505D2DD64EA6948D2047449F0FFA
Xmp.Container.Directory XmpText 0 type="Seq"
Xmp.Container.Directory[1] XmpText 0 type="Struct"
Xmp.Container.Directory[1]/Container:Item XmpText 0 type="Struct"
Xmp.Container.Directory[1]/Container:Item/Item:Mime XmpText 10 image/jpeg
Xmp.Container.Directory[1]/Container:Item/Item:Semantic XmpText 7 Primary
Xmp.Container.Directory[1]/Container:Item/Item:Length XmpText 1 0
Xmp.Container.Directory[1]/Container:Item/Item:Padding XmpText 1 0
Xmp.Container.Directory[2] XmpText 0 type="Struct"
Xmp.Container.Directory[2]/Container:Item XmpText 0 type="Struct"
Xmp.Container.Directory[2]/Container:Item/Item:Mime XmpText 9 video/mp4
Xmp.Container.Directory[2]/Container:Item/Item:Semantic XmpText 11 MotionPhoto
Xmp.Container.Directory[2]/Container:Item/Item:Length XmpText 7 1679555
Xmp.Container.Directory[2]/Container:Item/Item:Padding XmpText 1 0
Sounds like fun and lots of information. However I didn’t see why the “length” in first item is 0 and I didn’t see how to use the latter Length info. But I can use the mp4 headers to extract it:
#!/bin/bash
#
# Extracts the motion part of a MotionPhoto file PXL_*.MP.mp4
extractposition=$(grep --binary --byte-offset --only-matching --text -P "\x00\x00\x00\x18\x66\x74\x79\x70\x6d\x70\x34\x32" $1 | sed 's/^\([0-9]*\).*/\1/')
dd if="$1" skip=1 bs=$extractposition of="$(basename -s .jpg $1).mp4"
UPDATE: I wrote most of this blog post earlier. When now actually getting to publishing it a week later, I see the obvious ie the ”Length” is again simply the offset from the end of the file so one could do the same less brute force approach as for MVIMG. I’ll leave the above as is however for the ❤️ of binary grepping.
(cross-posted to my other blog)
oneAPI nova versão disponível!
oneAPI Abstração unificada e escalável para arquiteturas heterogêneas em nova versão 2021.2, é uma plataforma de software unificada e opensource que permite abstrair da arquitetura de hardware de equipamento para proporcionar softwares que utilizam recursos da plataforma com CPU, GPU, FPGA ou outros. Mais informações:

Lanzada la séptima actualización de Plasma 5.18 LTS
Tal y como estaba previsto en el calendario de lanzamiento de los desarrolladores, hoy martes 30 de marzo la Comunidad KDE ha comunicado que ha sido lanzada la sexta actualización de Plasma 5.18 LTS. Una noticia que aunque es esperada y previsible es la demostración palpable del alto grado de implicación de la Comunidad en la mejora continua de este gran entorno de escritorio de Software Libre.
Lanzada la séptima actualización de Plasma 5.18 LTS
No existe Software creado por la humanidad que no contenga errores. Es un hecho incontestable y cuya única solución son las actualizaciones. Es por ello que en el ciclo de desarrollo del software creado por la Comunidad KDE se incluye siempre las fechas de las actualizaciones.

De esta forma, el martes 30 de marzo, casi seis meses después de la sexta, se lanzó la sexta actualización de Plasma 5.18, la cual solo trae (que no es poco) soluciones a los bugs encontrados en este tiempo de existencia de vida del escritorio y mejoras en las traducciones.
Es por tanto, una actualización 100% recomendable que sigue la filosofía LTS, es decir, ofrecer un escritorio congelado en cuanto a novedades pero cada versión más robusto: ideal para los que ponen la estabilidad por encima de las nuevas funcionalidades.
Las novedades básicas de Plasma 5.18 LTS
Ya he hablado en varios artículos la lista de novedades, pero he aquí un breve resumen de las mismas.
- Nuevo selector de Emojis.
- Nuevo modo de edición global que sustituye el botón del cuadro de herramientas de escritorio y le permite personalizar fácilmente la disposición del escritorio.
- Mejorado el uso del lanzador de aplicaciones Kickoff y de la edición de los widgets en dispositivos táctitles.
- Mejoras en las aplicaciones que utilicen las librerías visuales GTK.
- Múltiples mejoras en las notificaciones como la información del nivel de energía en dispositivos bluetooth vinculados.
- Posibilidad de activar una opción de comentarios de usuario (deshabilitado por omisión), que permite dar información detallada del sistema y estadísticas de la frecuencia con la que utilice las funcionalidades individuales del Plasma.
- Añadido un control deslizante para la velocidad de animación global.
- Diversas mejoras en Discover como la adición de comentarios anidados para los complementos.
Más información: KDE
Echoes of Hack Week 20
Last week, we celebrated the 20th edition of Hack Week. During this time, we are meant to invest our working hours in any project we want: it can be related to your daily duties, something you want to learn or just a crazy experiment. It is up to you. But the idea is to foster collaboration and innovation. And it is not limited to SUSE; the openSUSE community is welcome to join us.
In this blog post, we would like to share some of the projects the YaST team members were working on, even if they are not related to YaST (and some of them aren’t). We encourage you to join the discussion if you are interested in any of them.
YaST Rake Tasks: Run GitHub Actions Locally
Let’s start presenting something that is actually related to YaST. Ladislav Slezak brought some cool stuff to Yast::Rake, a package that provides YaST developers with useful helpers for our daily tasks like running test suites, submitting new package versions and so on.
Now, containers are first class citizens for Yast::Rake, so it is possible to run YaST client
directly on containers and, even better, run GitHub actions locally. If you are
interested, you should readh Ladislav’s announcement on the mailing list.
Type Check YaST with Sorbet
Martin Vidner has been working for some time to bring type checking to YaST using Sorbet, a gradual type checker for Ruby. YaST is a rather big and old project, and given the dynamic nature of Ruby, we routinely get bug reports caused by typos, wrong method names, and so on.
At this point, we can check a big part of yast2-ruby-bindings.rpm and a small portion of
yast2.rpm, which is a significant step forward. But if you want to know more about this promising
project, do not hesitate to have a look at the project’s page.
QDirStat: Finding Files that are Shadowed by a Mount
QDirStat is a pretty neat application that helps you to know how your disk space is used, so you can keep your file system clean and tidy. Stefan Hundhammer, author and maintainer of QDirStat, has done extensive research to find files that are shadowed by a mount. The problem with those files is that they will occupy disk space, although they are not accessible.
As a result, Stefan has written a detailed document about that matter, including a nice script to help you in your quest for shadowed files.
gfxboot2: a graphical interface to bootloaders
Steffen Winterfeldt is one of our experts when it comes to system booting (and stack-based languages :wink:). During this Hack Week, he decided to work in gfxboot2, a rework of the original gfxboot that he maintains but written in C. In case you do not know, gfxboot is the software behind the graphical menu that you get when you boot an openSUSE installation medium.
If you are interested, read the project’s README because it contains useful information and a cat picture. :smiley:
UCMT: Unified Config Management Tool
Josef Reidinger has been exploring an interesting concept: the Unified Config Management Tool. This tool allows you to configure your local system and export the configuration to multiple machines. It is a pretty convenient way to go from local to 1:N management.
Wait a minute, it sounds like another configuration management tool, isn’t it? Well, not really. UCMT sits on top of those tools, and it is able to write the configuration in a way that can be used by Salt, Ansible, and so on. Moreover, the plan is to provide additional features like a good-looking user interface and a plugins system.
Do you want to know more? Then, check the project’s repository because it contains many ideas, use cases and even a screencast. You know, a picture is worth a thousand words.
Tracking Horses
Perhaps this is the most original project. Michal Filka started to work on a low-power GPS tracker for animals, although he targets horses at this point. He has identified several problems with the current solutions, so he decided to work on an alternative.
The project is still in the research phase, but it is worth reading his notes. Initially, he thought about using RFID, but lately, he decided to go for an Arduino-based solution adding a GPS or GPRS chip. Even an Android application is on his roadmap!
Even if most of us do not own any horse :smiley:, we cannot wait to see how this project evolves in the future.
Playing with WebAssembly
Finally, the rest of the team (Áncor González, David Díaz, Imobach González, Jose Iván López and Knut Andersen), decided to spent the Hack Week playing around with WebAssembly, the Rust programming language and JavaScript.
The project’s main goal was to see whether the WebAssembly’s promise of using the same compiled code in multiple environments was true. For that matter, they decided to write a simplified data model representing the network configuration, compile it to WebAssembly and try to use it from both environments.
They learned that things are not that straightforward, and you need to keep separate bindings for each platform. So, in the end, it might be better to use JavaScript bindings for the web and FFI based ones for the local system.
By the way, they took the opportunity to play with Glimmer, an interesting DSL framework for writing GUI applications in Ruby.
Closing Words
We are sure that this Hack Week was rather challenging for the organizers, as they needed to work-around the limitations imposed by the COVID-19 mess. But we think they did a great job! We had a lot of fun meeting our colleagues in Work Adventure, we enjoyed the social hours, learned a lot with the Rust Bootcamp and we managed to share our projects and collaborate with each other.
So thanks a lot to everyone involved!
USB Powered Clock-Fan | Widget Review
Los progresos de Plasma Mobile – vídeo
Los que amamos el Software Libre tenemos un sueño todavía por cumplir: tener un smartphone libre a nuestra disposición. Los intentos son muchos y constante, y creo que poco a poco se va acercando ese momento. Es hora de ver los progresos de Plasma Mobile en una vídeo review a cargo de The Linux Experiment.
¿Qué es Plasma Mobile?
Para quienes no lo sepan, Plasma Mobile es la respuesta de la Comunidad KDE a la necesidad de los usuarios que ponen en alto valor su privacidad y libertad como premisa para conseguir un dispositivo móvil.

En palabras de sus desarrolladores Plasma Mobile (y que podemos leer en su declaración de intenciones) «pretende convertirse en un sistema de software completo y abierto para dispositivos móviles.» y «está diseñado para devolver a los usuarios conscientes de su privacidad el control sobre su información y comunicación.»
No obstante, Plasma Mobile adopta un enfoque pragmático y es inclusivo con el software de terceros, lo que permite al usuario elegir qué aplicaciones y servicios utilizar, a la vez que proporciona una experiencia sin fisuras en múltiples dispositivos.
Como no podía ser de otra forma. Plasma Mobile implementa estándares abiertos y se desarrolla en un proceso transparente en el que cualquiera puede participar.
Estas ideas necesitan un dispositivo físico para desarrollarse, y uno de los más famosos y con los que más se está trabajando en el PinePhone, un smartphone ya presentado en el blog, y que poco a poco va tomando forma.
Los progresos de Plasma Mobile – vídeo
Fruto de este trabajo lo podemos observar ya que ya se están realizando algunos vídeos de análisis de estos dispositivos, como el que ha realizado The Linux Experiment en su canal de youtube, donde destaca tanto lo positivo y lo negativo del PinePhone desde el punto de vista técnico, ya que desde el punto de vista ético no hay discusión alguna.
Las conclusiones se podrían resumir en un «vamos por el buen camino pero todavía no está listo, aunque con un dispositivo más potente o un software más optimizado casi estaría para usarse». Esta ha sido mi impresión.
No obstante, os dejo el vídeo aquí mismo para que vosotros mismos os forméis la vuestra.


