Bomber, un juego arcade para Linux
Hoy me apetece seguir presentando algunos juegos de la división más lúdica y divertida de KDE, que aunque no está en la página oficial de KDE Games, si que está en la de aplicaciones, como lo estaba Killbots. Hoy ha llegado el turno a Bomber, un juego estilo arcade para Linux donde debemos destruir todos los edificios y avanzar al siguiente nivel.
Bomber, un juego arcade para Linux
Ya han pasado por este humilde blog un buen número de juegos de la división KDE Games como los recientes Kiriki, LsKat o KPatience o los pasados Kbounce, KSnakeDuel, Kmines, KBreakout, KTuberling, Granatier, KSudoku, KGoldrunner, Kolor Lines (o Klines), KBlocks, Bovo, Kapman, Knights, Palapeli, KSquares, KBlackbox, KShinsen o Kubrick.
Hoy toca hablar de Bomber es un juego de arcade para un solo jugador. El jugador está invadiendo varias ciudades en un avión que está disminuyendo en altura.
El objetivo del juego es destruir todos los edificios y avanzar al siguiente nivel. Cada nivel se hace un poco más difícil aumentando la velocidad del avión y la altura de los edificios.

En realidad es como los clásicos Galaxian o Galaga pero invirtiendo los términos, el que se mueve sin control por parte del jugador es su nave, no la de los enemigos.
El juego es una creación John-Paul Stanford <jp@stanwood.org.uk> y tiene la posibilidad de poner pieles para variar el aspecto del mismo.
Más información: KDE Apps
¿Y cómo se instala?
Al ser un juego de la rama de KDE la instalación es sumamente sencilla. Básicamente debemos abrir una sesión de la consola y escribir:
En KDE Neon, Kubuntu y Linux Mint: $sudo apt install bomber
En openSUSE: $sudo zypper bomber
En Mageia (gracias a Hurr) tenéis 3 opciones:
$ sudo dnf in bomber
o
$ sudo dnf install bomber
o
$ sudo urpmi bomber
[… comenta y añadimos cómo se instala en tu distribución favorita]
Actualización de septiembre del 2020 de KDE Frameworks
Hoy toca entrada recurrente ya que llegamos a la actualización mensual de rigor que demuestra que los desarrolladores de KDE no dejan de trabajar ni durante su encuentro anual: Akademy. Así que se congratulan en anunciar la actualización de septimebre del 2020 de KDE Frameworks. Con esta se llega a la versión 5.74, un suma y sigue de compromiso y constancia que no parece que tenga un final cercano.
Actualización de septiembre del 2020 de KDE Frameworks

A pesar de que para los usuarios corrientes esta noticia sea algo confusa ya que no se trata de realzar una nueva aplicación ni de una nueva gran funcionalidad del escritorio, el desarrollo de KDE Frameworks tiene repercusiones directas en él a medio y largo plazo.
La razón de esta afirmación es que KDE Frameworks es básicamente la base de trabajo de los desarrolladores para realizar sus aplicaciones, es como el papel y las herramientas de dibujo para un artista: cuanto mejor sea el papel y mejores pinceles tenga, la creación de una artista será mejor.
De esta forma, las mejoras en KDE Frameworks facilitan el desarrollo del Software de la Comunidad KDE, haciendo que su funcionamiento, su estabilidad y su integración sea la mejor posible.
El pasado domingo 6 de sepriembre de 2020 fue lanzado KDE Frameworks 5.74, la nueva revisión del entorno de programación sobre el que se asienta Plasma 5, el escritorio GNU/Linux de la Comunidad KDE, y las aplicaciones que se crean con para él.
Hay que recordar que los desarrolladores de KDE decidieron lanzar actualizaciones mensuales de este proyecto y lo están cumpliendo con puntualmente. La idea es ofrecer pocas pero consolidadas novedades, a la vez que se mantiene el proyecto evolucionando y siempre adaptándose al vertiginoso mundo del Software Libre.
Una gran noticia para la Comunidad KDE que demuestra la evolución continua del proyecto que continua ganando prestigio en el mundo de los entornos de trabajo Libres.
Más información: KDE
¿Qué es KDE Frameworks?
Para los que no lo sepan, KDE Frameworks añade más de 70 librerías a Qt que proporcionan una gran variedad de funcionalidades necesarias y comunes, precisadas por los desarrolladores, testeadas por aplicaciones específicas y publicadas bajo licencias flexibles. Como he comentado, este entorno de programación es la base para el desarrollo tanto de las nuevas aplicaciones KDE y del escritorio Plasma 5.

Aquí podéis encontrar un listado con todos estos frameworks y la serie de artículos que dedico a KDE Frameworks en el blog,
Recuerda que puedes ver una introducción a Frameworks 5.0 en su anuncio de lanzamiento.
#DuckDuckGo dona 750.000$ a diversas organizaciones
El buscador de internet DuckDuckGo dona 750.000$ a diversas organizaciones que defienden la privacidad en internet y otros derechos civiles

En internet, no solo se pueden realizar búsquedas con la gran G, también existen otros buscadores, entre ellos DuckDuckGo, que tiene como premisa respetar la privacidad de los usuarios.
De manera anual, la empresa detrás de DuckDuckGo, realiza unos donativos a diversas organizaciones y asociaciones. Esta vez, por décimo año, ha vuelto a donar dinero, esta vez llegando a la cantidad de 750.000$ que ha repartido entre varias organizaciones.
En estos 10 años de donaciones, el total de dinero repartido llega hasta más de 2.5 millones de dólares. Pero echemos un vistazo al dinero que ha repartido este año 2020 y a quien se lo ha donado.
- 200.000$ para Center for Information Technology Policy (CITP)
- 150.000$ para Electronic Frontier Foundation (EFF)
- 50.000$ para European Digital Rights (EDRi)
- 50.000$ para Public Knowledge
- 50.000$ para The Markup
- 25.000$ para Algorithmic Justice League
- 25.000$ para Bits of Freedom
- 25.000$ para Center for Critical Internet Inquiry (C2i2)
- 25.000$ para Electronic Frontiers Australia (EFA)
- 25.000$ para Competition Law Forum
- 25.000$ para Freiheitsrechte (GFF)
- 25.000$ para Open Rights Group
- 25.000$ para Restore The Fourth
- 25.000$ para TechFreedom
- 25.000$ para Tor Project
Organizaciones de diferentes países y continentes que de una u otra forma defienden luchan o protegen la libertad de expresión, la privacidad y otros derechos civiles básicos para vivir en una sociedad democrática sana. Y que son derechos que lamentablemente hay que seguir reclamando y exigiendo como propios, ya que se ven amenazados por corporaciones o gobiernos.

The benefits of making code worse
A recent twitter discussion reminded me of an interesting XTC discussion last year. The discussion topic was refactoring code to make it worse. We discussed why this happens, and what we can do about it.
I found the most interesting discussion arose from the question “when might this be a good thing?”—when is it beneficial to make code worse?
Refactorings are small, safe, behaviour-preserving transformations to code. Refactoring is a technique to improve the design of existing code without changing the behaviour. The refactoring transformations are merely a tool. The result may be either better or worse.
Make it worse for you; make it better for someone else
Refactoring ruthlessly can keep code habitable, inline with our best understanding of the domain, even aesthetically pleasing.
They can also make the code worse. Whether the result is better or worse is in the eye of the beholder. What’s better to one person may be worse to another. What’s better for one team may be worse for another team.
For example, some teams may be more comfortable with abstraction than others. Some teams prefer code that more explicitly states how it is working at a glance. Some people may be comfortable with OO design patterns and find functional programming idioms unfamiliar, and vice versa.
You may refactor the code to a state you’re less happy with but the team as a whole prefers.
Refactoring the code through different forms also allows for conversations to align on a preferred style in a team. After a while you can often start to predict what others on the team are going to think of a given refactoring even without asking them.
Making refactoring a habit, e.g. as part of the TDD cycle accelerates this, as do mechanisms for fast feedback between each person in the team—such as pairing with rotation or collective group code review.
Learning through Exploration
Changing the structure of code without changing its behaviour can help to understand what the code’s doing, why it’s written in that way, how it fits into the rest of the system.
In his book “Working effectively with legacy code” Michael feathers calls this “Scratch Refactoring”. Refactor the code without worrying about whether your changes are safe, or even better.
Then throw those refactorings away.
Exploratory refactoring can be done even when there’s no tests, even when you don’t have enough understanding of the system to know if your change is better or worse, even when you don’t know the acceptance criteria for the system.
Moulding the code into different forms that have the same behaviour can increase your understanding of what that core behaviour is.
A sign it’s safe to take risks
If every refactoring you perform makes the code better, it seems likely that we could be more courageous in our refactoring attempts.
If we only tackle the changes where we know what better looks like and leave scary code alone the system won’t stay simple.
If we’re attempting to improve code we don’t fully understand and don’t intuitively know the right design for we’ll get it wrong some of the time.
It’s easy to try so hard to avoid the risk of bad things happening that we also get in the way of good things happening.
Many teams use gating code review before code may make its way to production. Establishing a gate to stop bad code making it into production, that also slows down good code getting to production.
Refactorings are often small steps towards a deeper insight into the domain of the code we’re working on. Sometimes those steps will be in a useful direction, sometimes wrong. All of them will build up understanding in the team. Not all of them will be unquestionably better at each integration point, and could easily be filtered out by a risk-averse code review gate. Avoiding the risk that a refactoring might be taking us in the wrong path may rob us of the chance of a breakthrough in the next refactoring, or the one after.
A team that’s not afraid to make improvements to the system will also get it wrong some of the time. That has to be ok. We learn as much or more from the failures.
Making it safe to make code worse
Extreme programming practices really help create an environment where it’s safe experiment with code in this manner.
Pair programming means you’ve got a second person to catch some of the riskiest things that could happen and give immediate feedback in the moment. It gives two perspectives on the shape the code should be in. Tom Johnson calls this optician-style “Do you prefer this… or this”. Refactorings are small changes so it’s feasible to switch back and forth between each structure to compare and consider together.
Group code review. (Reviewing code together as a team, after it’s already in production) can build a shared understanding of what the team considers good code. Help you foresee the preferences of the rest of your team. Between you build a better understanding of the code than you could even in a pair. Spot the refactoring paths we’ve embarked on that have made code worse rather than better. Highlight changes to make the next time we’re in the area.
Continuous integration means we’re only making small steps before getting feedback from integrating the code. The size of our mistakes is limited.
Test Driven Development gives us a safety net that tells us when our refactoring may have not just changed the structure of the code but also inadvertently the behaviour. i.e. it wasn’t a refactoring. Test suites going red during a refactoring is a “surprise” we can learn from. We predict the suite will stay green. If it goes red then there’s something we didn’t fully understand about the code. Surprises are where learning happens.
Test Driven Development also makes refactoring habitual. Every micro-iteration of behaviour we perform to the system includes refactoring. Tidying the implementation, trying out another approach, simplifying the test, improving its diagnostic power (maybe not strictly a refactoring). If you never move onto writing the next test without doing at least some refactoring you’ll build up the habit and skill at refactoring fast. If you do lots of refactorings some of them will make things worse, and that’s ok.
The post The benefits of making code worse appeared first on Benji's Blog.
#openSUSE Tumbleweed revisión de la semana 37 de 2020
Tumbleweed es una distribución “Rolling Release” de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

openSUSE Tumbleweed es la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.
Hagamos un repaso a las novedades que han llegado hasta los repositorios estas semanas.
El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este enlace:
Esta semana ha sido tranquila y no han ocurrido incidencias que retrasen o dificulten la publicación de nuevas “snapshots”. Pero eso no significa que no haya habido un buen número de actualizaciones y algunas de ellas muy importantes
En total se han publicado 6 nuevas snapshots: (0904, 0905, 0906, 0907, 0908 y 0909)
Que entre otros, se pueden destacar estos cambios como los más notables:
- KDE Plasma 5.19.5
- KDE Applications 20.08.1
- LibreOffice 7.0.1.2 (aka 7.0.1rc2)
- Mesa 20.1.7
- Libvirt 6.7.0
Y entre lo que podremos encontrar en próximas actualizaciones, podemos destacar:
- systemd 246
- glibc 2.32
- binutils 2.35
- gettext 0.21
- bison 3.7.1
- SELinux 3.1
Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.
Mantente actualizado y ya sabes: Have a lot of fun!!
Enlaces de interés
-
-
- ¿Por qué deberías utilizar openSUSE Tumbleweed?
- zypper dup en Tumbleweed hace todo el trabajo al actualizar
- ¿Cual es el mejor comando para actualizar Tumbleweed?
- Comprueba la valoración de las “snapshots” de Tumbleweed
- ¿Qué es el test openQA?
- http://download.opensuse.org/tumbleweed/iso/
- https://es.opensuse.org/Portal:Tumbleweed
-

——————————–
openSUSE Tumbleweed – Review of the week 2020/37
Dear Tumbleweed users and hackers,
Based on my gut feeling, I’d claim week 37 was a bit quieter than other weeks. But that might be due to the fact that I had some day off in the middle of the week, where I only did a check-in round, but not actually pushing on the Stagings. Some of you might have seen that Richard Brown has been helping out on this front, which can just be another reason for things to look more relaxed for me. But let’s look at the 6 snapshots (0904, 0905, 0906, 0907, 0908, and 0909) we released during this week.
The changes included were:
- KDE Plasma 5.19.5
- KDE Applications 20.08.1
- LibreOffice 7.0.1.2 (aka 7.0.1rc2)
- Mesa 20.1.7
- Libvirt 6.7.0
That leaves the list of things being worked out in stagings almost the same:
- systemd 246
- glibc 2.32
- binutils 2.35
- gettext 0.21
- bison 3.7.1
- SELinux 3.1
Ninja Cookie ! Non, ce n’est pas une énième réplique du Commissaire GIBERT dans Taxi !
Mañana del tercer día de Akademy 2020 en línea
En un par de días finaliza el evento más importante de la Comunidad KDE Internacional pero en el blog seguimos repasando cómo fueron las ponencias. Bienvenidos a la mañana del tercer día de Akademy 2020 en línea, donde se habló desde Plasma BigScreen a robots animales animados con tecnología KDE pasando por un repaso a GCompris.
Mañana del tercer día de Akademy 2020 en línea
Sigo empezando los artículos dedicados a Akademy 2020 con este vídeo de bienvenida… me ha encantado la diversidad cultural que nos muestra.
Al igual que la tarde del sábado, tenemos dos salas simultáneas donde los miembros de la Comunidad siguen compartiendo conocimientos. De esta forma hablaremos de la Room 1 y la Room 2.
De esta forma nos encontramos en la Room 1 ponencias como:
- C++17 and 20 Goodies de Ivan Čukić donde habló de las nuevas características que C++17 y 20 traen y cómo podrían combinarse entre sí.
- Rust from a KDE Perspective de Méven Car en la que explicó lo que Rust podía ofrecer a la comunidad de desarrolladores de KDE y las características que lo convertían en un lenguaje de programación único.
- Test It! en la que Andreas Cord-Landwehr propuso a los desarrolladores dar vuelta las cosas y preparar pruebas para el código antes de escribirlo.
- KIO: A Story of Young and Old Jobs por David Faure donde nos habló del trabajo del mecanismo KIO y como se utiliza. Además, expuso los trabajos añadidos en los últimos dos meses y explicó el concepto de «delegados» que se utilizan para resolver el problema de la dependencia inversa.
- Static Code Analysis with Gitlab CI de Daniel Vrátil donde mostró los beneficios de usar herramientas de análisis estático y linters para comprobar automáticamente la calidad del código generado en GitLab, y explicó cómo configurar Gitlab CI para que ejecute esas herramientas automáticamente en cada solicitud de extracción o como parte de construcciones regulares.
Mientras que para la Room 2 nos encontramos con:

- Showcasing Plasma Bigscreen por Marco Martin y Aditya Mehra, locs cuales mostraron Plasma Bigscreen, la interfaz de KDE para los grandes televisores inteligentes. Marco y Aditya llevaron a los asistentes a través de las diversas características y la tecnología que impulsa a Bigscreen, como Plasma, Kirigami, y los marcos de KDE con un toque de la plataforma de asistencia de voz de código abierto de Mycroft
- Free Software, Press Freedom & KDE por Ambady Anand S. donde nos contó el caso de éxito de migración de un diario local de Kerala con 100.000 lectores al Software libre.
- Celebrating 20 Years of GCompris por Timothée Glee, el cual nos mostró algunas de las nuevas actividades que están llegando a GCompris, como nuevos juegos de conteo y aritmética, y un simulador de circuitos eléctricos de aspecto divertido.
- A Year in KDE from Outside por Marta Rybczynska que nos contó sobre su visión de KDE tras un año «fuera» de la Comunidad analizando los reportajes de los medios de comunicación sobre KDE y rastreó en qué sitios de noticias, blogs y podcasts eligieron enfocarse cuando hablaban de KDE.
- KDE Wags Your Tail por Leinir y Andrew Shoben que explicaron cómo controlar las colas y orejas de los animales animatrónicos usando un software basado en software libre y el framework Kirigami de KDE.

Las charlas relámpago
No quiero olvidar las charlas relámpago que se realizaron en la Room 1:
- Bhushan Shah habló de su experiencia con los sprints en línea y dio consejos al respecto
- Adriaan de Groot explicó el Acuerdo de Licencia Fiduciaria, una herramienta que la comunidad de KDE utiliza para gestionar las licencias a largo plazo
- Kai Uwe Broulik reveló algunos de los consejos y trucos menos obvios para sacar el máximo provecho del escritorio Plasma de KDE.
Material audiovisual Akademy 2020 en línea
Una de las cosas positivas de esta Akademy es que todo el material debe ser emitido digitalmente, lo cual hace que ya puede estar listo para ser compartido en diferido, aunque sea sin editar.
De esta forma, en caso de que te lo hayas perdido, las charlas de hoy ya están disponibles en línea en tres bloques – uno para la mañana y dos para cada una de las habitaciones utilizadas por la tarde. También se ha grabado grabado todas las charlas por separado y pronto podrás verlas en las plataformas de vídeo disponibles de KDE.
Firefox, Ceph Major Versions Arrive in Tumbleweed
Six openSUSE Tumbleweed snapshots have arrived in the rolling release since the last Tumblweed update.
KDE’s Plasma 5.19.5, php and Ceph were among more of the known updates.
The display-oriented email client Alpine updated to version 2.23 in the 20200908 snapshot and provided support for the Simple Authentication and Security Layer-IR IMAP extension. The open-source disk encryption package cryptsetup 2.3.4 added support options for the 5.9 kernel and fixed a Common Vulnerabilities and Exposure affecting the memory write. A couple of RubyGem packages were updated in the snapshot and the 2.43 libcap package added some more release time checks for non-git tracked files. The snapshot is trending stable at a rating of 99, according to the Tumbleweed snapshot reviewer.
Also trending at a 99 rating, snapshot 20200907 brought two package updates with fetchmail 6.4.12 and perl-Cpanel-JSON-XS 4.23. Fetchmail provided some regression fixes that were introduced in the versions between the 6.4.12 update and the previous 6.4.8 version in Tumbleweed.
Just four packages were updated in the 20200906 snapshot. The Heaptrack fast heap memory profiler updated to version 1.2.0; the package that allows you to track all heap memory allocations at run-time removed a fix-compile patch for 32bit. New features were added in the libvirt 6.7.0 version; added support for device model command-line passthrough for xen was one of the changes and there was also a change to the spec file that enables the same hypervisor drivers for openSUSE and SUSE Linux Enterprise. The update of php 7.4.10 fixed a memory leak and python-libvirt-python 6.7.0 add all new APIs and constants in libvirt 6.7.0.
Mesa 20.1.7 was updated in snapshot 20200905. GNU Privacy Guard 2.2.23 added regular expression support for Trust Signatures on all platforms and fixed a PIN verify failure on certain OpenPGP card implementations. The screen reader package orca 3.36.6 added some checks to prevent crashing due to a GStreamer failure. There was an improvement to the pulse layer and to GStreamer elements in the pipewire 0.3.10 update.
Plasma 5.19.5 arrived in snapshot 20200904. The desktop fixes several bugs and the Powerdevil package has restored the keyboard brightness. The Discover package of the K Desktop Environment project properly wraps text on the popup header. The Kwin window manager had a fix to properly clip a sliding popup window. LibreOffice received a small update to match up a configuration and the mail server postfix 3.5.7 fixed some random certificate verification failures. There were a handful of Python packages updated in the snapshot including python-Sphinx and python-Sphinx-test 3.2.1, python-dulwich 0.20.5, python-numpy 1.19.1 and python-sphinxcontrib-websupport 1.2.4.
The new major version of Mozilla Firefox 80.0 arrived just more than a week ago in snapshot 20200902. The major version update of Ceph 16 was also in the snapshot, which has shown the lowest score of the week thus far at a 97 rating.