Recopilación del boletín de noticias de la Free Software Foundation – marzo de 2020
Boletín de noticias relacionadas con el software libre publicado por la Free Software Foundation.

¡El boletín de noticias de la FSF está aquí!
La Free Software Foundation (FSF) es una organización creada en Octubre de 1985 por Richard Stallman y otros entusiastas del software libre con el propósito de difundir esta filosofía.
La Fundación para el software libre (FSF) se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras. Con este objeto, promociona el desarrollo y uso del software libre en todas las áreas de la computación, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU.
Además de tratar de difundir la filosofía del software libre, y de crear licencias que permitan la difusión de obras y conservando los derechos de autorías, también llevan a cabo diversas campañas de concienciación y para proteger derechos de los usuarios frentes a aquellos que quieren poner restricciones abusivas en cuestiones tecnológicas.
Mensualmente publican un boletín (supporter) con noticias relacionadas con el software libre, sus campañas, o eventos. Una forma de difundir los proyectos, para que la gente conozca los hechos, se haga su propia opinión, y tomen partido si creen que la reivindicación es justa!!
- En este enlace podéis leer el original en inglés: https://www.fsf.org/free-software-supporter/2020/march
- Y traducido en español en este enlace (cuando este acabada la traducción): https://www.fsf.org/free-software-supporter/2020/marzo

Puedes ver todos los números publicados en este enlace: http://www.fsf.org/free-software-supporter/free-software-supporter
Después de muchos años colaborando en la traducción al español del boletín, desde inicios de este año 2020 he decidido tomarme un descanso en esta tarea.
Pero hay detrás un pequeño grupo de personas que siguen haciendo posible la difusión en español del boletín de noticias de la FSF.
¿Te gustaría aportar tu ayuda en la traducción? Lee el siguiente enlace:
Por aquí te traigo un extracto de algunas de las noticias que ha destacado la FSF este mes de marzo de 2020
Próximamente: Un nuevo sitio para colaborar totalmente libre
Del 25 de febrero
Como ya dijimos en un artículo a finales del año pasado destacando nuestro trabajo apoyando el desarrollo del software e infraestructuras, la FSF está planeando en lanzar un sitio de hospedaje de código público y una plataforma de colaboración para lanzarla en 2020.
Las personas que forman el equipo técnico de la FSF están actualmente revisando el software ético basado en una plataforma Web que ayude a los equipos a trabajar en sus proyectos, con funcionalidades como “merge request” , seguimiento de errores y otras herramientas similares.
El nuevo sitio complementaría los actuales servidores de GNU y no GNU Savannah, que continuaría dando apoyo y mejorando, en colaboración con un asombroso equipo de voluntarios.
Lo próximo para el equipo técnico de la FSF es realizar una mayor investigación sobre los sistemas que cumplen nuestros requisitos iniciales, para encontrar las mejores opciones disponibles. Una vez que sepamos en qué estamos interesados, empezaremos a probarlas y realizar unas pruebas más extensas.
¡¡No te pierdas las noticias sobre las opciones de software que escojamos y del anuncio de nuestro propio sitio!!
Noticias de la colaboración entre GNU y la FSF
Del 6 de febrero
La Free Software Foundation y el las cabezas visibles del proyecto GNU están definiendo cómo cooperan estos dos grupos separados. Nuestro deseo mútuo es trabajar juntos como compañeros, mientras minimizamos los cambios en los aspectos prácticos de esta cooperación y así poder avanzar en nuestra misión común del software libre.
Alex Oliva, Henry Poole y John Sullivan (miembros del consejo de la FSF), y Richard Stallman (cabeza del proyecto GNU), han tenido reuniones para desarrollar un marco general que servirá como fundación de una discusión futura sobre áreas específicas de cooperación.
Se han considerado los comentarios recibidos del público en fsf-and-gnu@fsf.org y gnu-and-fsf@gnu.org. Comentarios de la comunidad a sobre este tema que solicitamos hasta el 13 de febrero.
Gracias por apoyas a la FSF
Del 10 de febrero
El 17 de enero cerramos la campaña de recaudación de fondos de fin de año de la FSF, lo que llevó a que llegaran 368 nuevas personas como miembros asociados a la comunidad de la FSF.
Es tu apoyo a la FSF lo que hace nuestro trabajo posible. Tu generosidad tiene un impacto directo en nosotros. No solo mantiene la llama encendida, también es fuente de motivación para luchar a tiempo completo por la libertad del software.
Tu apoyo es la base de nuestro trabajo para promover el uso de licenca “copyleft” o GPL. También ha traido 17 nuevos dispositivos al programa Respect Your Freedom (RYF) este año y dirige nuestra campaña contra la Gestión digital de Restricciones (Digital Restrictions Management o DRM).
Estamos profundamente agradecidos a los nuevos miembros y por las donaciones recibidas este año, por no mencionar a los miembros ya existentes y las donaciones recurrentes que nos han posibilitado llegar hasta este punto.
Let’s Encrypt ha otrogado un billón de certificados
Del 27 de febrero por Josh Aas y Sarah Gran
¡Felicidades a Let’s Encrypt, que ha otorgado su billón de certificados el pasado 27 de febrero de 2020!
Let’s Encrypt es una autoridad de emisión de certificados gratuita, automatizada que tiene como objetivo el beneficio público y que es el que utilizamos aquí en la FSF y en su página de blogs.
Han utilizado este hito como una oportunidad para reflejar qué ha cambiado para ellos y para internet al haber llegado hasta este punto.

Estas son solo algunas de las noticias recogidas este mes, pero hay muchas más muy interesantes!! si quieres leerlas todas (cuando estén traducidas) visita este enlace:
Y todos los números del “supporter” o boletín de noticias de 2020 aquí:
—————————————————————
Highlights of YaST Development Sprint 94
The Contents
After some time of silent work (our previous blog post was published a month ago), the YaST Team is back with some news about the latest development sprint and some Hack Week experiments. Those news include:
- Enabling YaST on the Windows Subsystem for Linux
- Usability improvements for the Online Search, the Partitioner and the Kdump module
- Better control of overridden
sysctlconfiguration values - Improvements in the default selections of the upcoming SLE 15 SP2 installer
- New features for zSeries mainframes like Secure Boot and I/O devices auto-configuration
- And, as a bonus, a couple of Hack Week projects related to YaST, Ruby and Crystal
So, as you can see, we have a little bit of everything in the menu, from WSL to mainframes, from new features to small usability improvements, from installation to system fine-tuning… So let’s dive into the details!
Improved compatibility with WSL
Have you ever heard about WSL, the Windows Subsystem for Linux? To be honest, before this sprint we haven’t payed much attention to it either. But as both openSUSE Leap and SUSE Linux Enterprise (SLE) are available to Windows users via WSL images and the 15.2 releases of both distributions are approaching, we decided it was time to dive into WSL to research how it works and how can YaST be useful there.
Setting up an (open)SUSE test system inside a WSL environment was a piece of cake thanks to the excellent documentation at the openSUSE Wiki.
Many components of YaST are useless in WSL because not everything can actually be configured from the Linux system itself and because systemd is not available (we are talking exclusively about WSL1 here). But YaST is still very useful for the initial setup of the system when running the (open)SUSE image for the first time. It can be used to setup the first user, to confirm the license and, in the SLE case, also to register the system. The YaST modules for software management can also be very handy to customize the image at any point after that initial setup.
So far, we have done three changes to improve the experience of executing YaST within WSL.
- We increased the speed of the initial boot by removing calls to systemd when it is not available.
- We fixed the registration process for YaST Firstboot.
- We implemented a feature to explicitly mark YaST modules that work in WSL and show only those modules in the YaST control center.
We also documented all our findings about WSL in this document.
As always, we are hungry for feedback. Please reach out to us and tell us what’s your experience using YaST inside WSL and which modules do you miss the most.
Improving the UX of the Online Search
As we announced one month ago, YaST will offer a mechanism to
search for packages through all SUSE Linux Enterprise modules, even if
they are not registered. This feature, known as package online search,
was already available using zypper’s search-packages command or
through the SCC web interface.
After gathering some feedback during the sprint review meeting, we decided to invest some time improving the overall UX experience. Perhaps the most relevant change is the new summary screen, which shows the list of modules to activate and packages to install.
Additionally, we improved error handling and, by the way, we fixed the case sensitive filter.
…And the Partitioner as Well
The online search is not the only part of YaST that has received some love in the UX area. We also tried to improve a bit the usability of the Partitioner. In this occasion, based on the feedback coming from our users via openSUSE’s Bugzilla.
On one hand, we got a report about this dialog been too long to properly fit in low screen resolutions.
The result was even worse in a text console with a resolution of 80 columns and 24 lines, which is the minimum size we design all YaST screens to work on.
So we dropped some obsolete options and made others more compact. Now the dialog fits in 24 lines again.
And, as you can see below, it looks also nicer (or at least less overwhelming) in graphical mode as well. It’s worth mentioning we also took the opportunity to fix other related dialogs that had similar problems.
On the other hand, we also got a report about how inconvenient was to always jump to the first tab when a device was selected in the devices tree at the left of the Partitioner, forcing the user to click in the “Partitions” tab (or any other desired one) over and over.
In that regard and as you may remember, a couple of sprints ago we made the overview screen actionable, avoiding the navigation to the device page just to perform a simple action over it. But navigating through the different devices back and forth is still possible and useful. Now such navigation has been improved by remembering the last tab and row selected per section or device whenever possible, which will save you a bunch of clicks when working with multiple devices.
Related to this, we started a public discussion about what should be the default tab the first time a device is visited. Once again, we are looking for opinions. So we would be grateful if you read the thread and contribute to the discussion.
Showing Suggested Values for Kdump Configuration
But the Partitioner was not the only YaST module for which our users pointed usability problems via Bugzilla. After some changes in how Kdump works after the migration from openSUSE Leap 42.3 to 15.0, it turned out that using YaST to re-adjust the values was not as helpful as it should be. YaST Kdump displayed the current size of the memory reservations, as well as the min and max margins. But it did not show the recommended default values for the current system, so if the user has adjusted the limits in the past it was impossible to get an up-to-date proposal from YaST calculated for the current system.
We have adapted the dialog to show those suggested values. As you can see below, we also took the opportunity to extend the help text to explain the meaning of the different values.
Better Control of Overridden Kernel Parameter Values
And talking about YaST pieces we are improving step by step, you may
remember from our report of sprint 86 that we are adapting YaST to
deal with the new structure of the sysctl configuration.
Up to now YaST has stored sysctl values mainly in /etc/sysctl.conf
and /etc/sysctl.d/70-yast.conf. But this reflects only a part of the
possibilities for storing those values. The truth is that there are many
more locations where these settings can be stored: /run/sysctl.d,
/etc/sysctl.d, /usr/local/lib/sysctl.d, /usr/lib/sysctl.d,
/lib/sysctl.d, /etc/sysctl.conf…
Now YaST also takes care of these locations and informs the user if there are some conflicting values, as you can see in the following screenshot.
The Default Pre-selected SLE Modules
We have also invested some time smoothing some rough edges off the installation process for the upcoming openSUSE 15.2 and SLE 15 SP2. For example, if you register your SLE 15 product during installation you will see the available modules and extensions in the following dialog. Some of them are by default pre-selected because they either contain the base system components (kernel, glibc,…) or the product specific packages (e.g. GNOME for SLE Desktop).
However, if you skip the registration and use the packages from the DVD medium there were no modules or extension pre-selected. The problem is that the information about the default modules was only available in the SCC data which obviously is not available in an offline installation.
In SLE 15 SP2 we added this extra information to the installer configuration files so now also in an offline installation YaST can preselect the default modules for each product.
Proposing NTP Servers During Installation
And talking about offering sensible defaults for installation, we also
improved the situation regarding the configuration of the NTP server.
For openSUSE based systems (including Kubic) and a few SUSE products,
like CaaSP or SLE High Performance Computing, YaST sets up the NTP
daemon during installation. YaST tries to determine which server to use
through the DHCP information but, when it is not available, it will
propose one from openSUSE and SUSE pools (e.g.,
n.opensuse.pool.ntp.org where n is a number between 0 and 3).
However, we still were using the novell.pool.ntp.org pool for SUSE
based products. During this sprint, we have switched to the
suse.pool.ntp.org pool of servers and, additionally, we have
refactored some code in order to reduce duplication and improve
testability.
Secure Boot Support for IBM zSeries
You may have noticed by the recent sprint reports that we are improving several aspects related to the installation and configuration of zSeries mainframes. This sprint was not an exception… and will certainly not be the last one in that regard.
As a result of that effort, YaST now supports the Secure Boot feature found on the latest zSeries machines. It’s rather similar to the existing UEFI Secure Boot so we took the opportunity to unify the Secure Boot handling found on different architectures.
This means you get this checkbox if your zSeries machine does have Secure Boot support.
In addition, we added a shortcut link on the installation summary screen that lets you enable Secure Boot with just a click.
As mentioned, we took the opportunity to unify the management of Secure Boot in all platforms, so this new shortcut link is also available in x86_64 or aarch64 machines that have UEFI Secure Boot.
Automatic Configuration of I/O Devices in zSeries
And talking about zSeries mainframes, anyone having used Linux in one of those systems know that input/output devices, like disks or network cards, must be configured and activated before they can be detected and used normally by the operating system.
But thanks to the new I/O device auto-configuration mechanism, users can now specify IDs and settings of I/O devices that should be automatically enabled in Linux. We modified the installer to detect such configuration and trigger the corresponding configuration actions, removing the need of manually activating disks and network devices during the installation process.
This is still an experimental feature and we are waiting for feedback to make sure the current implementation works in all the desired scenarios. If everything goes as expected, the feature will debut in SLE 15 SP2.
Hack Week
As said at the beginning of the post, the main reason for spending almost a month without publishing any report was that the whole YaST Team at SUSE was diving into completely different topics due to Hack Week 19, which theme was “Simplify, Modernize and Accelerate”.
There were not many projects related to YaST in this edition of Hack Week, but there are at least two that could be interesting for YaST fans and contributors. Fortunately, we have published reports for both of them in the yast-devel mailing list. So check out the results of “Learn Crystal by Porting Part of YaST to that Language” and “YaST Logs Analyzer“.
More to come
Now that we are back to our usual development pace, we should have more news about YaST development in a couple of weeks. The plan is to focus on fixing bugs for the upcoming releases of openSUSE Leap and SUSE Enterprise Linux, but we are pretty sure we will still find interesting bits of information for you.
Meanwhile, keep in touch through the usual channels and have a lot of fun!
Cómo convertir tu Linux en un Mac (II) – Vídeo
De nuevo quiero dejar claro que personalmente, o de forma intencionada, no lo haría nunca, pero esto demuestra lo camaleónico que es utilizar un entorno como Plasma. En el siguiente vídeo se muestra cómo convertir tu Linux en un Mac (II) (ya que hace un tiempo ya presenté otro) gracias a las impresionantes opciones de personalización de Plasma, todo un ejercicio de transformación al alcance de pocos escritorios.
Cómo convertir tu Linux en un Mac (II) – Vídeo
Aunque para gustos, colores, es difícil negar que los dispositivos de la marca de la manzanita mordida suelen tener un aspecto muy bueno. No es un secreto que el equipo de Steve Jobs dedicó buena parte del tiempo dedicado a sus productos en el diseño de las fuentes, colores, cursores e iconografía. De esta forma, éstas máquinas sueles ser visualmente muy atractivas.
En mi opinión, lo mismo se podría decir del estilo por defecto de Plasma Brisa (Breeze) que creó el equipo de diseño visual de Plasma 5 pero si en algo supera a todos los entornos de trabajo nuestro amado escritorio de la Comunidad KDE es en su capacidad de transformación.

Hoy os presento otro vídeo que partiendo de su escritorio por defecto Plasma consigue emular el aspecto y el comportamiento del sistema operativo MacOS. Es una creación de Linux Scoop y tiene un duración de 17 minutos, pues explica paso a paso el proceso (más o menos).
A modo de resumen básicamente se debe instalar el tema, los iconos, los cursores, los estilos de las aplicaciones GNOME/GTk, efecto Blur, instalar y configurar Kvantum Manager, configurar el panel y la instalación del Dock y, por último, configurar la pantalla de login y la pantalla de presentación.
Todo un ejercicio de personalización llevado al extremo que mejora si nos dedicamos a leer las notas a pie de vídeo ya que en ellas nos explica otras mejoras que ha realizado a posteriori y que acercan más el aspecto de Plasma a MacOS.
Comprueba el estado de múltiples repositorios de git con este script
Con este script de bash podrás comprobar el estado de varios repositorios de git en tu equipo sin necesidad de entrar en cada uno para ver en qué estado se encuentran
Tengo una carpeta en mi equipo con todos los repositorios de git en los que hago cosas y con este scipt puedo saber de una vez el estado en el que se encuentran sin necesidad de entrar en cada uno de ellos y ejecutar el comando git status.
Ejecutando este script en bash, puedo saber si un repositorio está al día respecto de la rama master, si está modificado, si está a falta de hacer push de los cambios, si tiene archivos sin seguimiento por parte de git o si simplemente no es una carpeta de git.
El script comprueba ese estado de los repositorios y ofrece un comentario en dos líneas conciso y resaltado por colores por cada uno de ellos con el estado en el que están además de incluir el nombre de la rama.
En mi caso tengo los repositorios de git agrupados en una carpeta en mi home llamada git. Ejecutando este script en esa misma ruta me hace una comprobación rápida de todas las carpetas. De manera predeterminada toma la ruta de la carpeta en la que está, pero se le puede indicar la ruta de otra carpeta.
Si quieres probarlo, descárgalo desde el repositorio de GitHub, guarda el script y dale permisos de ejecución y ejecútalo en tu equipo para probarlo:
wet https://raw.githubusercontent.com/victoriadrake/git-rundown/master/git-rundown.sh chmod +x git-rundown.sh ./git-rundown.sh
El script original desarrollado por una programadora llamada Victoria Drake no me funcionaba, porque el script buscaba unas cadenas de texto en inglés y mi equipo está configurado en Español y git me daba esos comentarios en ese idioma y por eso no encontraba nada.
Así que me decidí a adaptarlo un poco y hacer que el script comprobase la variable global $LANG y en función del valor de esa variable buscar unas cadenas y mostrar los mensajes en un idioma u otro.
Modifiqué el script y le envié un PR a la desarrolladora y lo aceptó y después de solucionar algún problemila, hora el script funciona para idiomas en_US-utf8 y es_ES-utf8. Si quieres probarlo en tu equipo ejecuta en una consola:
echo $LANG
Si el valor que devuelve est alguno de las opciones soportadas funcionará, si no pues tendrás que adaptarlo, añadiendo al comando case tu opción del valor de la variable $LANG en tu equipo y modificar los textos de las variables que el escript busca y muestra. Y si lo haces te pediría que aportases ese cambio al repositorio original y así aportar tu cambio y que sea útil a otras personas.
Enlaces de interés
Plasma, Vim et Wireshark mis à jour dans Tumbleweed
Au total, cinq instantanés openSUSE Tumbleweed ont été publiés cette semaine, ils fournissaient des mises à jour pour YaST, la version LTS de KDE Plasma et pour le système d'impression open source CUPS.
Le dernier instantané, 20200301, a mis à jour quelques bibliothèques comme libstorage-ng, qui a été mise à jour vers la version 4.2.65; la nouvelle version de la bibliothèque de stockage de bas niveau a ajouté la prise en charge de btrfs RAID1C, ajouté des fonctions being et end à ProbeCallbacks et mis à jour les traductions. La mise à jour de libyui en 3.9.3 a supprimé les balises de groupe RPM obsolètes. Une vérification pour vous assurer que le réseau fonctionne avant de démarrer les scripts d'initialisation a été effectuée avec la mise à jour autoyast2 4.2.28. Un support a été ajouté pour le démarrage sécurisé d'IBM S390 avec la mise à jour du paquet yast2-firstboot. La mise à jour de yast2 4.2.67 a apporté un changement afin d'afficher les modules capables dans le centre de contrôle pour le sous-système Windows pour Linux et une mise à jour de yast2-network 4.2.47 à 4.2.58 a ajouté une classe pour représenter les serveurs NTP. Le cliché a actuellement une côte stable de 98, selon le réviseur de clichés de Tumbleweed.
La communauté KDE a fourni plusieurs mises à jour de paquets dans la version Plasma 5.18.2, qui est arrivée dans l'instantané 20200229. Le paquet libkscreen2 dans la version 5.18.2 a corrigé un bogue de kwayland de sorte qu'il attendra plus longtemps un délai de connexion et réessayera en cas d'échec. Il y avait aussi une poignée de correctifs pour Flatpak concernant la découverte d'applications et de modules complémentaires de KDE. L'analyseur de paquets Wireshark 3.2.2 a corrigé quelques CVE pour les communications sans fil à large bande lors de plantages LTE et WiMax, ainsi qu'un correctif pour WireGuard. Le système de fichiers XFS a reçu sa première mise à jour de version mineure dans l'instantané de xfsprogs 5.0.0 à 5.4.0, qui a fourni plusieurs correctifs, une refactorisation et la suppression de fonctions inutiles. Le paquet sysconfig 0.85.4 quant à lui a créé un lien symbolique, dans ypbind, qui permet aux bots de fonctionner correctement. Cet instantané obtient une note stable de 95, selon le critique d'instantanés Tumbleweed.
Le paquet AppStream, qui est utilisé pour améliorer les métadonnées sur les composants logiciels, a été mis à jour en 0.12.10 dans l'instantané 20200228 et il fournit quelques correctifs dont l'un restaure la compatibilité avec GLib. L'application musicale de KDE, Amarok, a corrigé le chargement des paroles de lyrics.wikia.com. Le comportement d'entrée et de sortie de la recherche a été amélioré dans la mise à jour 3.34.0 de gnome-characters et krb5 1.18 a supprimé la prise en charge du chiffrement single-DES. L'instantané a également une note stable de 98.
L'instantané 20200227 a mis à jour l'outil dracut et a ajouté un avertissement lors de l'inclusion de modules non pris en charge et de modules de...
CLI Tools
I am quite happy with my zsh and its various plugins (git, kubernetes, docker, etc). Since in $DAYJOB I work with kubernetes a lot, I heavily use kubectl, kubectx, kubens etc. in combination with grep, jq, pipes, etc. and prefer these CLI tools always over clicking buttons or scrolling long pages in browser.
All these got me into thinking, if I were to write a command line application today (March 2020), which language / frameworks should I use ? Some self-imposed constraints:
- The CLI application will be short-lived and will be invoked multiple times everyday by developers/users (such as grep, ls, cat, sed, etc.) and not daemons or long running processes. It won't matter if they leak memory too ;-)
- It needs to be fast. Lightning speed.
- The tool development may also be split into two parts, a library and a binary, if it could help in developing parallel client implementations (may be in future a GUI tool)
- The tool is going to be a FOSS tool and would need some community presence in future.
- Tool needs to be cross platform (Mac, Linux, Windows)
This post is a summary of various candidates and their current strengths and weaknesses in my perspective.
C
+ Probably the language that will guarantee the fastest tool.+ Easy to write wrapper libraries/bindings for any language
+ There are libraries like glib which might help with achieving better platform portability than the default language.
- Manual memory management, crash prone
- Most young programmers of today may not bother contributing, even if they use. Heck, most do not even learn this language in most colleges anymore.
- If the tool has to work with network services, JSON etc., library support is not going to be easily available.
- i18n, Unicode support etc. may not be great out of the box
Note: C++ is just a more complicated and painful C in my personal experience. Even though I have heard nice things about SmartPointers etc., I am not really convinced that learning C++ is going to be beneficial in the long run and never really bothered to master it, after learning it at college. This is an intentional miss.
Java
+ Rich and mature libraries and ecosystem+ Complete platform independence and is guaranteed to run on Linux, Macs or Windows alike. Datatypes, Files etc. behave properly everywhere.
- Perception of slowness. There may be some JVM tweaking etc. needed and that is an extra effort. IIUC this would be a non-issue for long running processes.
- Unclear licensing: may require to pay money to Oracle
Special mention: Kotlin is a humongously better language than the Java 8 (with lambdas) that I recently used. It has been mentioned that future releases of Java would incorporate sexy aspects of Kotlin. Related talk. (Ignore the clickbait title, excellent talk really, strongly recommended).
Python
+ Good library support and hopefully all will migrate to Python 3- Not a fan of the language for various reasons. Whitespace for scope identification, Lack of static typing out of the box, type unsafety for variables, etc.
Javascript (With Typescript/Electron, etc)
+ The language with the most number of developers in today's scenario (biased as per my sample set)+ Excellent support for multiple natural languages, glyphs, diacritics, etc. Mature frameworks, processes for i18n, l10n, etc.
- Slow and hungry for memory/cpu
- Using nodejs for CLI applications though not unheard of, is not popular either (compared to the adoption of GUI applications via Electron)
D / Haskell / Rust / C#
These languages may be great but these are niche and are not widely used by a large number of programmers in my circle.Rust although is claimed to be gaining momentum for a long time now, I cannot recollect any popular application that I use everyday done with Rust. I have stopped using Firefox (in favor of Brave) and so not really sure what the current performance status of Rust is. I will however, keep a watch on Rust and would try to learn at some point of time, in near future.
Golang
+ Almost every new CLI tool that I have used fresh in the last 5 years or so, is done in Golang (docker, kube*, hugo, helm, etc)+ Excellent libraries: Cobra and Viper (Thanks to spf13)
+ Super simple to distribute. Static binaries.
+ Automatic memory management and highly performant.
+ Strong community presence
- Lack of generics is a pain. It is not a problem when developing HTTP servers, REST services etc. but definitely irritates when writing libraries
- Platform independence may be questionable. If the CLI tool is for something mission critical (a large number of users, lives depend on it, etc.), some of the discrepancies mentioned here may be dangerous.
Conclusion
I will choose Golang if it is for dayjob. I would however choose Kotlin if the development is for a hobby/pet project to learn.What will you choose, What merits/demerits do you see for these (or other) languages ? Also what libraries/frameworks will you choose for your language(s) of choice ?
Plasma, VIM, Wireshark update in Tumbleweed
A total of five openSUSE Tumbleweed snapshots were released this week that provided updates for YaST, KDE’s Long Term Support version of Plasma and the open source printing system CUPS.
The latest snapshot, 20200301, updated a few libraries like libstorage-ng, which updated to version 4.2.65; the low-level storage library’s newer version added support for btrfs RAID1C, added being and end functions to ProbeCallbacks, and updated translations. The update of libyui to 3.9.3 removed obsolete RPM group tags. A check to make sure the network is working before starting the initialization scripts was made with the autoyast2 4.2.28 update. Support was added for IBM’s S390 secure boot with the yast2-firstboot package update. The update of yast2 4.2.67 made a change to show capable modules in the control center for Windows Subsystem for Linux and a jump from yast2-network 4.2.47 to 4.2.58 added a class to represent NTP servers. The snapshot is currently trending at a stable rating of 98, according to the Tumbleweed snapshot reviewer.
The KDE community provided multiple package updates in the Plasma 5.18.2 version, which arrived in snapshot 20200229. The libkscreen2 package in the 5.18.2 version fixed a kwayland bug and it will wait longer for a connection timeout and retry. There were also a handful of fixes for Flatpak in KDE’s application and addon package discover. Packet analyzer Wireshark 3.2.2 made some Common Vulnerabilities and Exposure fixes for wireless broadband communication for LTE and WiMax crashes as well as a CVE fix for WireGuard. The XFS file system had its first minor version update in the snapshot from xfsprogs 5.0.0 to 5.4.0, which provided multiple fixes, refactoring and a removal of unnecessary functions, and the 0.85.4 sysconfig package created a symlink, in ypbind, that allows for the bots to work properly. The snapshot is trending at a stable rating of 95, according to the Tumbleweed snapshot reviewer.
The cross-distro package AppStream, which is used for enhancing the metadata about software components, updated to 0.12.10 in snapshot 20200228 and it provides a few patches in the update; one of which restores compatibility with GLib. KDE’s music app Amarok fixed the loading of lyrics from lyrics.wikia.com. The search entry and exit behaviour were improved in the 3.34.0 gnome-characters update and krb5 1.18 removed support for single-DES encryption. The snapshot is also trending at a stable rating of 98,
Snapshot 20200227 updated dracut tool and added a warning when including unsupported modules and added Peripheral Component Interconnect (PCI) host controller modules. The Linux Kernel was also updated to version 5.5.6 in the snapshot, which included some Device Tree Source (DTS) fixes for dwmmc clock in a couple Rockchip products. The snapshot is trending at a stable rating of 97.
The snapshot from 20200226 had quite a few important package updates for users like ImageMagick 7.0.9.25 that adapt a change in command-line options in the SVG Inkscape delegate. Mozilla Firefox 73.0.1 fixed an unexpected exit when leaving Print Preview mode and resolved problems when connecting to the Royal Bank of Canada website (for those of you wanting to check out a cool game made on the Bank of Canada’s website, click on spin the $10 bill multiple times and see what happens). The cups-filters 1.27.1 package added support for Chinese/Japanese/Korean (CJK) fonts. The wayland 1.18.0 added an Application Programming Interface (API) to tag proxy objects to allow applications and toolkits to share the same Wayland connection. Other package updates in the snapshot were made to text editor vim , xen, mariadb 10.4.12, gegl 0.4.22 and ibus 1.5.22. The snapshot recorded a stable rating of 93.
GNU Compiler Collection 10 should arrive in the next Tumbleweed snapshot and it will be used as a library provider but not as the default compiler yet.
Qué es la tecla leader de #Vim y cómo modificarla a nuestro gusto
Veamos para qué sirve la utilización de la tecla <leader> en el editor Vim, cómo modificarla a nuestros gustos y crear nuestros propios atajos de teclado

Quizás en algún tutorial sobre Vim o en un fichero .vimrc de otra persona te has topado con la mención a la tecla <leader> y no sabes exactamente a qué se refiere, cómo configurarla a nuestros gustos y utilizarla.
Trataré en este tutorial de dejarte esas preguntas más claras, espero conseguirlo. Este artículo se une a la serie de artículos sobre el editor Vim que vengo publicando en mi blog desde hace meses y que puedes consultar en este enlace:
La tecla <leader>de Vim es una manera de crear unos atajos de teclado personalizados para comandos que quieras definir. Ya sabes que Vim utiliza atajos de teclado con la combinación de teclas Ctrl + (otra tecla)
Gracias a la tecla <leader> el propio usuario puede definir sus propios atajos de teclado, o puede que algún plugin de Vim los utilice y así no interferir con atajos de teclado ya establecidos en Vim.
Imagina por ejemplo que de manera habitual mientras utilizas Vim tienes que saltar al siguiente párrafo y borrar 3 líneas, si esta tarea la usas mucho en tu trabajo con Vim, quizás es buena idea crear un atajo de teclado que haga eso.
Vamos a crear un atajo con la tecla <leader>d para ello podemos escribir este comando en nuestro .vimrc:
nmap <leader>d }d3j
Así al pulsar la tecla <leader> + la tecla d (la segunda pulsación deberás hacerla en menos de 1 segundo) hará lo que he puesto en el ejemplo. Al utilizar la tecla <leader> nos aseguramos que no “pisamos” ningún atajo de teclado ya configurados de Vim.
De manera predeterminada en Vim la tecla <leader> está asignada a la contrabarra, es decir: \ Pero podemos configurarla a la tecla que nos parezca más cómoda de utilizar. Por ejemplo a la coma (,) o a al espacio ( )
La tecla del espacio es bastante inútil en el modo de comandos de Vim y es una tecla cómoda de pulsar por ambas manos, podemos definir nuestra tecla <leader> al espacio, añadiendo esta línea a nuestro archivo .vimrc
let mapleader = "\ "
Y ahora vamos a crear un atajo de teclado en nuestro .vimrc con la tecla <leader> en el que en vez de tener que escribir :w para guardar los cambios en un documento, simplemente pulsemos <leader>w y haga lo mismo
nnoremap w :w
Guardamos los cambios, y salimos y volvemos a entrar en Vim. Ahora podemos hacer un cambio en nuestro archivo y para guardarlo, pulsar la tecla espaciadora, nuestra nueva tecla <leader>w y Vim escribirá nuestro comando.
Como véis las posibilidades son muchas y esto hace que podamos adaptar Vim a nuestras necesidades y gustos para ahorrarnos un montón de trabajo repetitivo.
Espero que haya quedado más claro qué es eso de la tecla <leader> y te animes a utilizarla ¿Qué atajos de teclado utilizas tu con la tecla <leader>? Compártelos en los comentarios…

Primera Raspberry Jam Russafa en València
Hoy quiero promocionar el la primera Raspberry Jam Russafa que se va a celebrar en València, concretamente en los locales de Nube7 de la capital del Turia. Otro evento más de una ciudad que sigue «on fire» en lo que se refiere a eventos.
Primera Raspberry Jam Russafa en València
Tengo una Raspberry… mentira… ya tengo tres de estos pequeños dispositivos que llegaron a mi vida de forma casual y que se ha convertido en un imprescindible en mi casa… y en mis viaje, gracias a su extraordinaria potencia en en espacio tan diminuto (frase que cojo prestada del genio de la lámpara de Aladdin)
Para quienes no lo conozcan, una Raspeberry Pi no es más que un pequeño ordenador de potencia limitada pero suficiente para emular decentemente una Playstation 1, que funciona a la perfección con software GNU/Linux y que no para de evolucionar para ofrecer todo tipo de soluciones: centro multimedia, centro de juegos retro, estación meteorológica, ordenador de escritorio, etc.
Si quiere conocerlo más a fondo os invito a acudir este sábado 7 de marzo de 12h a 20h en nube7, donde se celebrará el octavo cumpleaños de la Raspberry Pi con diversas actividades que harán que descubras todo un mundo lleno de posibilidades.
Siendo más concretos está previsto realizar:
- Showrooms (demostraciones) de proyectos como PiWall, RetroPie, ControReleitor, Kano OS, Raspbian, modo quiosco, etc.
- Talleres de Scratch para niñ@s, RetroPie y Raspbian Headless.
Es importante destacar que esta Raspberry Jam se enmarca dentro de la iniciativa de la Raspberry Pi Foundation de festejar el 8º cumpleaños de la Raspberry Pi por todo lo alto organizando este tipo de eventos del 15 de febrero al 15 de marzo de 2020. En total están previstas 130 Raspberry Jam en 40 paises a lo largo y ancho de todo el planeta.
Por cierto, también se está organizando una Raspberry Jam en Almería, para los que la capital del Turia les quede lejos.
Más información: Primera Raspberry Jam Russafa en Nube7, València
Álvaro Nova, fotografía y GNU/Linux en el #95 y #96 de Podcast Linux
Sigo con el repaso de los programas de los podcast de Juan Febles. En esta ocasión por partida doble ya que comparto con vosotros los episodios dedicados a la fotografía en GNU/Linux y a Álvaro Nova en los episodios #95 y #96 de Podcast Linux en los que nos explican como trabajar de forma profesional el material fotográfico que creamos.
Álvaro Nova, fotografía y GNU/Linux en los episodios #95 y #96 de Podcast Linux
No negaré que me gusta la fotografía, pero también que no tengo la paciencia necesaria (ni el tiempo preciso) para poder sacarle el máximo rendimiento a una cámara fotográfica.
Por ello simplemente tomo fotografías con mi móvil y, como mucho, las ordeno con digiKam, pero cualquier linuxero que tenga más pretensiones que esas no tendrá ningún problema en encontrar Software Libre adecuado para realizar cualquier tarea fotográfica como un profesional.
Y así ha querido demostrarlo Juan Febles dedicando dos programas a la fotografía digital en GNU/Linux, uno en forma de introducción y el segundo hablando con un experto.
De esta forma, y siendo más explícito, en el primer episodio (#95) Juan se dedicó a introducir conceptos de fotografía en GNU/Linux, además de las secciones habituales en sus podcast, y en el segundo episodio (#96) Juan entrevistó a Álvaro Nova que nos explicó cómo podemos afrontar el proceso digital de fotografía desde el Software Libre y cómo evitar otros problemas relacionados con el almacenaje de las mismas.
Como siempre, os dejo los audios para que los podáis escuchar:
- Twitter: @podcastlinux
- Mastodon: @podcastlinux
- Telegram Juan Febles: @juanfebles
- Correo: podcastlinux@avpodcast.net
- Web: avpodcast.net/podcastlinux
- Blog: https://podcastlinux.com
Podcast Linux forma parte de la red de podcasting Avpodcast y esta alojado en Neodigit.net, un proveedor de confianza con instalaciones en España.










