Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.


Wednesday
22 January, 2020


face

Ayer se anunció la sede y desde este momento el blog se va a dedicar a promocionar al máximo el mimso. Y es que en abril se celebrará en Málaga la reunión anual en España de usuarios y desarrolladores de KDE, Akademy-es 2020. Concretamente se celebrará del 24 al 26 de abril y es el momento de seguir preparando el programa. Como el evento es una celebración comunitaria se abrió en el momento del anuncio de la sede la posibilidad de que todo el mundo, además de acudir,  participara de forma activa. Así que presenta tu charla para Akademy-es 2020 de Málaga que se celebra conjuntamente con Opensoutcode y muestra a toda el mundo tu proyecto personal o comunitario.

Presenta tu charla para Akademy-es 2020 de Málaga

En Akademy-es se realizan las típicas charlas que presentan las novedades tanto de las aplicaciones como de las herramientas de programación, siendo un gran escaparate para potenciar proyectos o mostrar al mundo el trabajo realizado por los diversos equipos.

Presenta tu charla para Akademy-es 2020 de Málaga

En anteriores ediciones en estas charlas (extraído del programa de Akademy-es 2018 de Valencia) descubrimos 5 maravilla de Plasma 5,  aprendimos más de Discover, conocimos la asociación KDE España, vimos a Mycroft en directo, vimos pinceladas de un posible futuro de KDE, aprendimos como colaborar con KDE sin ser programador, conocimos mejor la relación de Slimbook con KDE, aprendimos a hacer aplicaciones para el móvil y tuvimos un mesa debate de la gente de GNU/Linux Valencia, entre otras cosas.

Recordemos que este año Akademy-es 2020 se celebrará en Málaga del 24 al 26 de abril dentro del gran evento libre Opensouthcode

¿Y qué encontraremos en esta edición? Pues depende de ti, ya que si tienes algún tema que crees que interesará a la Comunidad KDE y sus simpatizantes, no lo dudes a y presenta tu charla para Akademy-es 2020. Estaremos encantados en escuchar tu propuesta.

Si quieres más información visita la web oficial de Akademy-es 2020, no obstante aquí te lo puedo contar yo:
Para proponer actividades se deberá enviar un correo a akademy-es-org@kde-espana.es antes del 29 de febrero con un resumen breve de la presentación.

Presenta tu charla para Akademy-es 2018Es importante tener en cuenta las siguientes consideraciones:

  • Se puede elegir entre dos formatos de charlas:
    • Charlas de 45 minutos.
    • Lightning talk de 10 minutos.
  • Si la duración de las charlas propuestas no se ajusta a ninguno de estos dos esquemas (por ejemplo, si se necesita más tiempo), esto debe indicarse claramente en la comunicación.
  • Se permitirá a KDE España la distribución bajo una licencia libre de todo el material utilizado para la realización de la actividad, así como de la grabación de la misma.
  • La charla puede ser tanto a nivel de usuario como de nivel técnico.

Se trata de una gran oportunidad de darte a conocer en el mundo KDE y en


face

The information below might fall into the "unsung heroes of openSUSE" category - we think it is clearly worth to be mentioned and getting some applause (not saying that every user should owe the author a beer at the next conference ;-).

  • You are searching for a nice font for the next document?
  • You want to install such a font directly via 1-click-install once you had a closer look?
  • You want to know more about rendering or language information or the character set for a font you want to install?

Just have a look at https://fontinfo.opensuse.org/, which provides all these information for you + some more. Special thanks to Petr Gajdos, who maintains the page and the package with the same name since years.


face

For many years – especially after syslog-ng changed to a rolling release model – users I talked to asked for up-to-date RPM packages. They also asked for a separate repository for each new release to avoid surprises (a new release might accidentally or even intentionally break old features) and to be able to use a given release if they want to (“if it works, do not fix it”). That is how my unofficial RPM repositories were born.

Recently some long-time syslog-ng users and members of the Splunk community started to ask for a repository, which always has the latest syslog-ng version available. Most users still prefer to use separate repositories. That is how I came up with the idea for the syslog-ng-stable repository: I push a new release to this new rolling repo only after at least a week of delay. This is enough to spot most major problems. Once the delay is over and everything seems to be OK, I can push the latest release to the syslog-ng-stable repo. If there is a bigger problem, I can skip the release in the stable repo or wait for a fix.

Which package to install?

You can use many log sources and destinations in syslog-ng. The majority of these require additional dependencies to be installed. If all the features would be included in a single package, installing syslog-ng would also install dozens of smaller and larger dependencies, including such behemoths as Java. This is why the syslog-ng package includes only the core functionality, and features requiring additional dependencies are available as sub-packages. The most popular sub-package is syslog-ng-http (or syslog-ng-curl on openSUSE), which installs the HTTP destination driver used to store messages to Elasticsearch, Splunk or Slack, but there are many others as well. Depending on your distribution: “zypper search syslog-ng” or a similar command will list you all the possibilities.

Installing syslog-ng on RHEL and CentOS 7 (& 8)

1. Depending on whether you have RHEL or CentOS 7 (or 8), do the following:

  • On RHEL 7: Enable the so-called “optional” repository, which contains a number of packages that are required to start syslog-ng:

subscription-manager repos --enable rhel-7-server-optional-rpms
  • On RHEL 8: Enable the so-called "supplementary" repository

subscription-manager repos --enable rhel-8-for-x86_64-supplementary-rpms
  • On CentOS: The content of this repo is included on CentOS, so you do not have to enable it there separately

2. The Extra Packages for Enterprise Linux (EPEL) repository contains many useful packages, which are not included in RHEL. A few dependencies of syslog-ng are available in this repo. You can enable it by downloading and installing an RPM package (replace 7 with 8 for RHEL 8):

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh epel-release-latest-7.noarch.rpm

3. Add my syslog-ng-stable repo from the Copr build service, which contains the latest unofficial stable build of syslog-ng. Download the repo file to /etc/yum.repos.d/, so you can install and enable syslog-ng:

cd /etc/yum.repos.d/
wget https://copr.fedorainfracloud.org/coprs/czanik/syslog-ng-stable/repo/epel-7 

face

Vamos a aprender a borrar rápidamente texto “encerrado” entre comillas, paréntesis, corchetes u otros delimitadores utilizando el editor de texto Vim

Quizás editando código o un texto, necesitamos borrar texto que está dentro de unas comillas o un paréntesis o unos corchetes o llaves o comillas simples. Veamos cómo realizar esa operación rápidamente gracias a la potencia del editor vim y sus comandos.

Este artículo forma parte de la serie de artículos sobre Vim que vengo realizando desde hace meses con aquello que voy descubriendo o aprendiendo y que puedes seguir en este enlace:

Si tenemos un texto dentro de unas comillas que queremos borrar, con el editor vim es muy sencillo decirle que borre todo lo que hay dentro de las comillas, mediante la combinación de teclas:

di"

Diseccionando el comando, encontramos:

  • d → delete o acción que queremos hacer, en este caso borrar
  • i → inside o donde lo queremos hacer, en este caso dentro
  • ” → delimitador de lo que queremos borrar, en este caso las comillas

Con esto nos borraría el texto que se encuentra dentro de las comillas, de las primeras comillas que encuentre desde la posición del cursor en adelante. Nos borra el texto y posiciona el cursor dentro de las comillas, por si queremos escribir algo.

También podemos decirle que borre, no solo el texto, si no también las propias comillas, para eso en vez de decirle inside le diríamos around

da(

Con este comando nos borraría lo que hay dentro de los paréntesis y los propios paréntesis (lo mismo para otros delimitadores).

A diferencia de las comillas, con los paréntesis, corchetes y llaves, vim borrará aquellas donde el cursor este dentro. Si hay varios anidados, borrará los paréntesis donde el cursor se encuentre.

Pero no solo podemos borrar, podemos utilizar otras acciones que nos ofrece Vim. Así por ejemplo podemos cambiar el texto dentro de unos corchetes por otro, mediante

ci[

Con esto Vim borrará el texto dentro de los corchetes y se pondrá en modo edición para poderlo cambiar por lo que deseemos.

¿Conocías esto? Seguro que ves el potencial que tiene!! Tienes un ejemplo práctico en el siguiente vídeo:


Tuesday
21 January, 2020


face

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!!

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 enero de 2020

La FSF no puede hacer campaña a favor del software libre sin tu ayuda

El equipo de campañas de la Free Software Foundation (FSF) trabaja incansablemente para difundir el mensaje al mundo de que todo el software debe ser libre. Hacer campañas por el software libre requiere creatividad, trabajo duro y una comunidad dedicada.

Ampliamos las organizaciones de software libre y los proyectos, movilizamos a los activistas y proporcionamos recursos. Sólo somos tres personas, pero somos el punto de conexión para cientos de miles de partidarios anualmente. Tienes el poder de aumentar exponencialmente este número. Es nuestro objetivo hacer de la conversación sobre el software libre un tema de la mesa de cocina, ¡y necesitamos tu ayuda!

Para el a


face

 ¡Ya tenemos sede! Hoy ha sido anunciada la gran noticia de la semana para los simpatizantes y miembros de la Comunidad KDE: Akademy-es 2020 se celebrará en Málaga del 24 al 26 de abril Un evento que al que no puedes dejar de acudir  si te gusta el Software Libre, y más si eres usuarios o colaborador del proyecto KDE.

Akademy-es 2020 se celebrará en Málaga

Como me gusta recordar cada cierto tiempo,el momento clave de mi vida que hizo que en estos momentos sea un miembro orgulloso de la Comunidad KDE fue mi primera Akademy-es, la del 2010 de Bilbao.

A lo largo de este evento me encontré con grandes personas y actuales amigos, descubrí lo enorme y fabulosa que era la gente que rodeaba a KDE. De esta forma llegué a la conclusión mientras conducía camino a casa que era un buen proyecto donde focalizar mis proyectos intereses personales y mis momentos de ocio.

Por eso me llena de alegría que KDE España siga realizando eventos de este tipo que no son más que unos excelentes momentos para compartir mucho más que conocimiento digital.

En fin, el escueto anuncio oficial, al que pronto le seguirán muchas más novedades, es el siguiente:

«La asociación KDE España anuncia la celebración de Akademy-es 2020 en Málaga, dentro del gran evento libre Opensouthcode del 24 al 26 de abril.»

Akademy-es 2020 se celebrará en Málaga

Foto de grupo de Akademy-es 2019 de Vigo.


 

Durante el evento, como es costumbre, se realizarán charlas tanto para usuarios como para desarrolladores, ademas de talleres prácticos y otras actividades de carácter más social con las que se pretenden cumplir los siguientes objetivos:

  • Poner en contacto a desarrolladores de KDE de toda España, para que puedan hablar de los proyectos en que están trabajando, compartir código, experiencias y conocimiento.
  • Dar a conocer los proyectos KDE como el entorno de escritorio nuevos usuarios.
  • Divulgar acerca de las tecnologías KDE, tanto para nuevos desarrolladores como para usuarios que quieran conocer mejor KDE.
  • Y por supuesto, el objetivo principal es que todos disfrutemos aprendiendo más sobre Software Libre y KDE.

 

¡Os esperamos!

 


face

These days, I came across spontaneous kiwi image build failures in a private OBS instance.
The images were SLES15-SP1, they had not been touched for quite some time, rebuilds were only triggered due to new packages in the update channel.
The error was grub2-install failing with the error message "not a directory".
Looking at the recent changes in the update repo showed no obvious reason (some python packages that had nothing to do with grub2-install), so I started to investigate...

... 3 days later, after following some detours, I finally found the issue.

grub2-install scans the installation device for filesystems, and probes all known (to grub2) fs types. The probe of "minix_be" fails fatally. Sometimes.

After building my own grub2 package with lots of debug-printf's, I finally found out, that the minix fs detection of grub2 is a little "fragile". It does the following (pseudo code):

  • grub_mount_minix(device) || return "not minix fs"
  • grub_minix_find_file("/") || fatal_error()
The problem is, that grub_mount_minix() only does pretty simple magic numbers checks, which can lead to false positives.

Comparing the superblock structures of ext[234] and minix filesystems (from the grub2 source code) side by side, you see this:

struct grub_minix_sblock         |struct grub_ext2_sblock
{ |{
grub_uint16_t inode_cnt; | grub_uint32_t total_inodes;
grub_uint16_t zone_cnt; |
grub_uint16_t inode_bmap_size; | grub_uint32_t total_blocks;
grub_uint16_t zone_bmap_size; |
grub_uint16_t first_data_zone; | grub_uint32_t reserved_blocks;
grub_uint16_t log2_zone_size; |
grub_uint32_t max_file_size; | grub_uint32_t free_blocks;
grub_uint16_t magic; | grub_uint32_t free_inodes;
};

This already hints at the issue: at the same disk location where ext2 stores the free inodes number, minix stores its magic number, which is used by grub to detect if it is a minix file system.

Now if you happen to have an ext3 file system with a free_inodes number whose lower 16 bits resemble one of the GRUB_MINIX_MAGIC numbers, chances are grub_mount_minix() will succeed, but then the attempt to acces the root directory will fail with a fatal error.

This is a plain grub2 bug, which I will probably report upstream and try to get fixed.
However, I need a fix to have my images build again, and the chances of getting a fix into SLES15-SP1 are ... low (and it is a daunting task, even if you are reporting this bug as a big SLES customer), so I built a workaround in my (locally built, lucky me...) python-kiwi package.

It basically does the following, before calling the "chroot grub2-install ...".

  • statvfs() to get the free_inodes number
  • check if the lower 16 bits resemble one of the MINIX_MAGIC numbers
    • if it does, touch a temporary file in
    • unmount and mount again to update the superblock (I missed this at first and wondered why it did not work)
    • unlink the temporary file
  • continue as before
This workaround is ugly as hell, but it does work for me.

P.S.: the detours included first noticing that almost every change I made to the image, like wrapping grub2-install into a wrapper script for debugging) made the issue go away (because of a different free_inodes number), so I always needed to check after every change that the issue was still present


face

As much as I like playing in the terminal, the jury is still out as to how much I like working with Cisco. To be as objective as possible, I need to tell myself that: 1, I am not familiar with the command set or how they like to do things so I must be open minded; 2, Relax, the command line is a happy place to be and 3, this is new territory, don’t get frustrated, just write it down and enjoy the learning process. Also, my brother in-law, whose career is in network administration just loves this Cisco business so it turned out to be quite educational. The scope of this article is not how to set up a router, just, this is how I was able to get going with it.

The specific Cisco switch I configured was a Catalyst 3560 series PoE-48. I am sure these direction will work with other similar devices. Since I am an openSUSE user, the directions are tailored as such.

Minicom Installation

My first step was to find a piece of software that would work for me for this and I am sure that there are a ton of solutions but the one that worked the easiest for me was minicom. I am open to other suggestions, of course.

This is in the official repository so you can go into the terminal and type this to install it:

sudo zypper install minicom

I would give the alternative option to do the Direct Installation but since you will be in the terminal anyway, why would you do that?

https://software.opensuse.org/package/minicom

Set User Permissions

Before you run minicom you will need to add your user as a member of the groups: dialout, lock and uucp.

In all fairness, I don’t know if you actually need uucp but since I use it for serial transfers to Arduino type devices, I am just assuming.

To do this in YaST, select the Security and Users section, open the User and Group Management module and make the changes required for the user.

Alternatively, you can do this from the command line, enter the following as root:

usermod -a -G dialout,lock,uucp

The terminal method is way cooler, just saying.

Minicom Configuration

Before you can set up Minicom, you will have to determine where the serial port is that is connected to your computer. In my case, I have ttyS0 but if you have a USB serial port device, you may have something like ttyUSB0 or similar.

Now that you have an idea as to the name of your serial port you can begin the setup process. Some adjustments are needed so that you can successfully communicate with the router. In the terminal type:

minicom -s

This will bring you to a ncurses style menu system. Arrow down to Serial port setup entry.

To change the serial device to what you have, select A and adjust it to your particular serial


Monday
20 January, 2020


face

En este mes de enero de 2020 la comunidad de openSUSE vuelve a decidir sobre quien quiere que ocupe los puestos vacantes en el Consejo de openSUSE

Desde el pasado día 16 de enero de 2020 y hasta el próximo 31 de enero de 2020 las personas que forman la comunidad de openSUSE tienen el poder para decidir quien formará parte del Consejo de openSUSE.

Las fases previas de presentación de candidaturas y presentación de los candidatos finales ya han llegado a su fin. Ahora toca el tiempo de votar y decidir.

Para los 2 puestos vacantes al Consejo de openSUSE, se han presentado 4 candidaturas:

Ahora los miembros de la comunidad de openSUSE tienen el poder de decidir qué personas de esos candidatos ocuparán los 2 puestos vacantes.

A los miembros de openSUSE se les supone suscritos a listas de correo de esta comunidad que desarrolla y mantiene esta distribución de GNU/Linux, por lo que ya les sonarán los nombres de algunos de los candidatos.

Esas 4 personas que se han presentado al cargo han desarrollado tareas en mayor o menor medida para la comunidad de openSUSE como responsables de paquetes, encargándose de la infraestructura o en otros proyectos relacionados con openSUSE.

Las personas elegidas se unirían al Consejo de openSUSE, formado por 5 miembros de la comunidad elegidos por la comunidad y un presidente escogido por SUSE.

Antes del periodo de votación las personas que se presentan al cargo ya han expresado sus intereses y lo que pretenden impulsar o realizar desde su cargo si son elegidas.

Entre las tareas de este consejo no están el dirigir por uno u otro lado el rumbo del desarrollo de la distribución, o tomar decisiones, el consejo de openSUSE está para mediar, para tomar decisiones en cuestiones en las que los grupos de trabajo no se pongan de acuerdo, etc

Precisando más, estas son las tareas del Consejo de openSUSE:

  • Actuar como un punto central de contacto
  • Ayuda a resolver conflictos
  • Comunicar los intereses de la comunidad a SUSE
  • Facilitar la comunicación con todas las áreas de la comunidad
  • Facilitar los procesos de toma de decisiones donde sea necesario
  • Iniciar discusiones sobre nuevas iniciativas para todo el proyecto

Solo los miembros de la comunidad de openSUSE tienen derecho a voto. Si ya eres miembro, habrás recibido un correo a tu “alias” de correo de openSUSE  con las credenciales para votar.

Es hora de expresar tu decisión. ¡Quizás en una próxima ocasión te decidas tu mismo/a a ser protagonista de otras elecciones!


face

 

19 Januari 2020, cuaca cukup cerah di bilangan Kuningan Barat, Jakarta. #MozTalk – Open Source Day (openSUSE and Mozilla Firefox Edition) dibuka oleh perwakilan dari Komunitas Mozilla Indonesia, lalu dilanjutkan oleh pembicara pertama dari Komunitas openSUSE Indonesia, yang diwakili oleh mas Kukuh Syafaat yang memperkenalkan kembali openSUSE. Perkenalan kembali dengan openSUSE dimulai dari openSUSE Project, teknologi yang ada di openSUSE, bagaimana cara berkontribusi di proyek FOSS, dan juga tentang Komunitas openSUSE Indonesia.

Pembicara kedua ada mas Herpiko Dwi Aguno dengan “Ngoprek Mozilla Firefox“. Mas Piko menjelaskan bagaimana berkontribusi langsung ke peramban Mozilla Firefox dari mulai mengirimkan kutu ke bugzilla, membangun Mozilla Firefox di lokal, membenahi kutu, dan bagaimana mengirimkan tambalan tersebut hingga akhirnya masuk dalam rilis.

Tidak ketinggalan, openSUSE-ID juga bagi-bagi hadiah untuk beberapa hadirin yang bertanya. Terima kasih kepada Komunitas Mozilla Indonesia yang sudah menyediakan tempat yang kece. Sampai jumpa di acara keren selanjutnya


face
Chromecast devices in the sound settings

This morning, while browsing the web, I wanted to listen to a Podcast from my laptop, and thought “Hey, can I stream this to our stereo?”. As it turns out, that’s rather easy to achieve, so I thought I’d share it here.
The media devices in our home are connected using Chromecasts, which are small dongles that allow playing media on them, meaning you can play for example a video from your phone on the projector in the living room: very convenient.

I didn’t know if that was easily achievable with audio from my Plasma/Linux laptop and a quick search turned up “pulseaudio-dlna” which adds Chromecast devices on the local networks as output devices.

On my KDE Neon laptop, it’s as easy as installing pulseaudio-dlna from the standard repositories and then starting “pulseaudio-dlna” from the commandline. Then, I can pick an output device from the panel popup and the audio stream changed to my stereo.

$ sudo apt install pulseaudio-dlna
[...]
$ sudo pulseaudio-dlna
[...]
Added the device "Stereo (Chromecast)".
[...]

face

Que el escritorio Plasma de la Comunidad KDE es increiblemente configurable es un hecho incontestable. Y desde hace unas cuantas versiones de Plasma todavía más ya que es posible descargar nuevos tipos de fondos de pantalla en nuestro escritorio. De esta forma se puede ampliar las opciones básicas como el color plano, la imagen fija o el carrusel de imágenes. Hoy me congratula compartir con vosotros uno más: Animated Image Wallpaper, el cual nos posibilita añadir animaciones a tu fondo de pantalla de una forma fácil, sencilla y, además, también configurable.

Animated Image Wallpaper, añade animaciones a tu fondo de pantalla

Hace unos mese os hablé de Video Wallpaper, un plugin con el que podíamos poder un vídeo como fondo de pantalla en Plasma. Era una opción muy interesante y, que según el vídeo a reproducir, consumía pocos recursos.

Hoy os quiero comentar otra opción, Animated Image Wallpaper otro plugin de fondo de pantalla creado por Dark-Eye con el que podemos poner imágenes animadas como fondo de pantalla y que soporta los formatos animado GIF, MNG y WEBP.

Además, dispone de una pocas opciones de configuración como son el desenfoque (blur), control de velocidad de animación y sombreado día/noche.

Animated Image Wallpaper, añade animaciones a tu fondo de pantalla

En mi caso me he animado a poner el clásico fondo de pantalla de letras de cromo verde cayendo sobre fondo negro que aparecía en la película «Matrix» y que tan fuerte pegó en su tiempo. Eso si, parece que el consumo de CPU se dispara según que fondo utilices.

Y por cierto, os dejo un enlace a una web donde se pueden descargar este tipo de fondos de pantalla.

Y como siempre digo, si os gusta Animated Image Wallpaper 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 2017 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


Saturday
18 January, 2020


face

Tumbleweed es una distribución “Rolling Release” de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

Tumbleweed

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 esta semana

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este enlace:

Está ha sido una semana intensa en lo que se refiere a la publicación de nuevas snapshots.

Tumbleweed ha publicado 6 nuevas snapshots (0110, 0111, 0112, 0113, 0114 y 0115).

Las actualizaciones más notables son:

  • RPM 4.15.1
  • Mozilla Firefox 72.0.1
  • Mozilla Thunderbird 68.4.1
  • KDE Applications 19.12.1
  • KDE Plasma 5.17.5
  • KDE Frameworks 5.66.0
  • Linux kernel 5.4.10
  • Kubernetes 1.17.0

Esto cubre muchas de las tareas pendientes de la semana pasada, pero no todas. Todavía hay muchas cosas interesantes que están esperando y pronto estarán disponibles.

Lo más destacable es:

  • systemd 244 (Snapshot 0116+)
  • Mesa 19..3.2 (disponible para la snapshot 0116+)
  • Qt 5.14
  • Python 3.8
  • La eliminación de python 2

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

Geeko_ascii

——————————–


face
Greenfoot on openSUSE

ΤΙ ΕΙΝΑΙ ΤΟ GREENFOOT

Το Greenfoot είναι ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης Εφαρμογών (IDE) που έχει ως σκοπό τη διδασκαλία του Αντικειμενοστραφούς προγραμματισμού με τη γλώσσα Java. Με το Greenfoot μπορεί να δημιουργηθεί ένας κόσμος μέσα στον οποίο αλληλεπιδρούν μορφές (actors) με τις οποίες μπορούν να προγραμματιστούν παιχνίδια, προσομοιώσεις και άλλα προγράμματα με γραφικά. Χρησιμοποιείται δε για την εξοικείωση των μαθητών Δευτεροβάθμιας Eκπαίδευσης με την γλώσσα προγραμματισμού Java.

Στην ιστοσελίδα των λήψεων βλέπουμε ότι είναι διαθέσιμο για όλα τα λειτουργικά συστήματα. Όσον αφορά δε τα συστήματα GNU/Linux, υπάρχει διαθέσιμο ως deb (για Ubuntu και Debian). Εμείς εδώ θα δούμε την περίπτωση του Pure Java πακέτου.

Επίσης λίγη προσοχή στην έκδοση που δουλεύει η ομάδα εργασίας σας. Για παλαιότερες εκδόσεις, μπορείτε να επισκεφθείτε την σελίδα των λήψεων παλαιών εκδόσεων.


ΕΓΚΑΤΑΣΤΑΣΗ


0. Πρέπει να τσεκάρετε ότι έχετε εγκατεστημένη την java.

Εγκατάσταση του πακέτου java-1_8_0-openjdk-devel (πιθανό να θέλει και άλλα πακέτα. Εγώ εγκατέστησα java develipement pattern από το Yast).

sudo zypper in java-1_8_0-openjdk-devel

Στη συνέχεια ελέξτε την έκδοση της java με την εντολή:

java -version

Βλέπετε ποια έκδοση έχετε εγκατεστημένη. Εγώ είχα τα εξής:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (IcedTea 3.14.0) (build 1.8.0_232-b08 suse-1.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Με την εντολή θα χρειαστεί να επιλέξετε πως θα εκτελείται η Java:

sudo update-alternatives --config java

τσεκάρετε την επιλογή:

/usr/lib64/jvm/jre-1.8.0-openjdk/bin/java


1. Τώρα πρέπει να εγκαταστήσετε το openjfx, έτσι ώστε να μπορείτε να φτιάξετε προγράμματα-παιχνίδια με Java. Για το openSUSE, μπορείτε να το εγκαταστήσετε από εδώ.

https://software.opensuse.org/package/java-1_8_0-openjfx

2. Στη συνέχεια ανοίξτε το τερματικό στον κατάλογο που έγινε η λήψη και εκτελέστε το αρχείο με την εντολή:

java -jar Greenfoot-*.jar

Εγκατάσταση με java -jar Greenfoot-*.jar

3. Στο παράθυρο που θα ανοίξει, φροντίστε τους καταλόγους.
Προτιμώ τον κατάλογο bin μέσα στον προσωπικό μου κατάλογο, ώστε να γνωρίζω που έκανα την εγκατάσταση. Όσον αφορά τον JDK κατάλογο, τον βρήκε αυτόματα (Tumbleweed). Εάν δεν τον βρει, τότε προσπαθήστε να βρείτε εδώ /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0. Εάν δεν υπάρχει, μάλλον δεν έχει εγκατασταθεί σωστά η Java.

Εγκατάσταση Greenfoot σε openSUSE

Απλά πατήστε το Install και περιμένετε να ολοκληρωθεί η εγκατάσταση.



ΡΥΘΜΙΣΕΙΣ

1. Το πρώτο που πρέπει να κάνετε είναι να προσθέσετε μια συντόμευση στο μενού σας. Αλλιώς θα πρέπει να ανοίγετε τον κατάλογο /bin/greenfoot και να εκτελείτε το greenfoot.

2. Αλλαγή γλώσσας στα Ελληνικά.
Ανοίξτε το Greenfoot.

Άνοιγμα Greenfoot σε openSUSE

Στη συνέχεια πάμε στο Edit.

Περιβάλλον εργασίας Greenfoot

Στο Preferences.

Αλλαγή ρυθμίσεων του Greenfoot

Στην καρτέλα Interfaces αλλάζουμε σε Greek.

Αλλαγή γλώσσας στα Ελληνικά

Αφού τελειώσει, κλείστε και ανοίξτε ξανά το πρόγραμμα.

Greefoot στα Ελληνικά

3. Μπορείτε να φτιάξετε την δικιά σας εφαρμογή.

Greenfoot σε πλήρη λειτουργία

Εάν θέλετε να κατεβάσετε και να δοκιμάσετε τα αρχεία που δημιούργησα στα πλαίσια του σχολικού μαθήματος, μπορείτε να επισκεφθείτε το github μου εδώ.

face

Dear Tumbleweed users and hackers,

This has been a busy week when looking at the snapshots. Tumbleweed has received 6 fully tested snapshots that were published (0110, 0111, 0112, 0113, 0114 and 0115).

The most noteworthy updates there were:

  • RPM 4.15.1
  • Mozilla Firefox 72.0.1
  • Mozilla Thunderbird 68.4.1
  • KDE Applications 19.12.1
  • KDE Plasma 5.17.5
  • KDE Frameworks 5.66.0
  • Linux kernel 5.4.10
  • Kubernetes 1.17.0

That was quite a bunch of what was on the todo list of last week, but definitively not all of it and a few new things are already incoming again. Things currently being worked on or being shipped in the near future

  • systemd 244 (Snapshot 0116+)
  • Mesa 19..3.2 (also snapshot 0116+)
  • Qt 5.14: we are awaiting some legal reviews. Tests by openQA have all passed
  • Python 3.8: Salt seems to be the main blocker here, as it still relies on Tornado 4.x
  • Removal of python 2


Jason Evans: Thoughts on LBRY

10:04 UTCmember

face

At the behest of people like Bryan Lunduke and DTLive on YouTube, I have started using LBRY more and last night I even uploaded a few test videos of my own. I would eventually like to put up some of my own tutorial videos.

With that said, LBRY has some serious issues. So, let’s be frank. LBRY has no rules against hardcore porn or if they do, they are not enforced. That’s fine, and I don’t care. It’s not hard to find porn on YouTube also. However if a porn channel doesn’t flag their own content as mature, then it will be in your search results and there’s no way right now to flag it yourself. The suggestions that I got in the help forum (aka the discord server) was to report it to the #report-spam room which I did. Will that result in these channels being told to reflag their content? Who knows. It seems a little iffy.

I realize that this is a startup and there is only so much time and energy to put into such things for a small team. I am rooting for them to make LBRY a great alternative to YouTube.


Friday
17 January, 2020


face
FOSSCOMM 2019 - Lamia

FOSSCOMM (Free and Open Source Software Communities Meeting) is a Greek conference aiming at free-software and open-source enthusiasts, developers, and communities. This year was held at Lamia from October 11 to October 13.

It is a tradition for me to attend this conference. Usually, I have presentations and of course, booths to inform the attendees about the projects I represent.

This year the structure of the conference was kind of different. Usually, the conference starts on Friday with a "beer event". Now it started with registration and a presentation. Personally, I made my plan to leave Thessaloniki by bus. It took me about 4 hours on the road. So when I arrived, I went to my hotel and then waited for Pantelis to go to University and set up our booths.

FOSSCOMM 2019 - Stathis at openSUSE and GNOME booth

ALERT: Long projects presentation...


Our goal was to put the stickers and leaflets on the right area. This year we had plenty of projects at our booths. We met a lot of friends at Nextcloud conference and we asked them for brochures and stickers. So this year our basic projects were Nextcloud and openSUSE (we had table cloths). We had stickers from GNOME (I had couple of T-Shirts from GUADEC just in case someone wanted to buy one). Since openSUSE sponsorts GNU Health, I was there to inform students about it (it was great opportunity since the department organizing was Bioinformatics department). We had brochures, stickers, chocolate and pencils from ONLYOFFICE, also we had promo material from our friends Turris. We are happy that Free Software Foundation Europe gave us brochures when we were in Berlin, and we were able to inform attendees about the campaigns and the work they are doing for us. We met Collabora guys also and we asked them if they want to promote them, since Collabora and Nextcloud are working together. Finally, our friends from DAVx5, gave us their promo material since the program works with Nextcloud so well.

I warned you!!! Well, the first day we met the organizers and the volunteers. I was surprised by the number of volunteers and they're willing to help us (even with setting up the booths). The first day ended with going out to eat something. Thank you, Olga, for introduce us to FRESCO. I used to eat at FRESCO when I was in Barcelona. I guess they're not franchise :-)

Well, Saturday started with registration. We put more swag on the booth (we saw that last night they took almost everything). Personally, I went to meet other projects. I was glad that my friend Julita applied to present what she's doing at the university (Linux on Supercomputers). I was kind of surprised but happy for her that her talk upgraded to Keynote. Glad I met her at GUADEC. Glad also that she had Fedora booth and gave some different aura to the conference. Check out her blogpost about her FOSSCOMM experience .

Glad I met Boris from Tirana. He did a presentation about Nextcloud

face
How to survive a health crisis during a FOSS conference

The title describes everything. This is not only for FOSS conferences but events in general. Attending a conference means to meet friends (usually you meet once a year) and have fun in general.

The organizers are responsible for everything that happens during the conference hours. We are grown people, so we have to be responsible for the rest of the day. Sometimes bad things might happen (bad: the critical meaning is health issues). Although the organizers aren't responsible for that, they are the key people, who know the system in their country and it's a good and human thing to help the person with the problem. Everyone wants to have fun and be happy at the end of the conference.

Being an organizer and volunteer, I felt the frustration of having everything covered. I lived a couple of times the health crisis during the conference.

Here are some points to cover before and during the conference. Please leave a comment if you want to share your experience.

Before the conference:


0. If the conference takes place within European Union, you can ask the European citizens to get the European Insurance Card. It doesn't cover everything, but at least you'll avoid some stupid bureaucracy. If they're not EU citizens or they don't have insurance, ask them to buy one for their trip. Usually, when you buy the plane ticket, they suggest buying a medical insurance. Do it, because it will save you from a lot of trouble.

1. During the online registration, ask for an emergency contact (ask for name and phone number). It will help you and doctors just in case they need the medical history of the person, the allergies, etc.

2. If they're not feeling comfortable to provide name and number, ask them to enable a feature of emergency call on their phone or even better to install a program with the emergency call and some medical history and their medication. Personally I have the Medical ID (Free) installed (you can choose other). It will help the doctors because it has a field to add your medical history so they can treat you correctly.

3. This might be very personal, but ask them to enter where they will stay. You might need to go to their hotel and bring a special medication they "forgot" to bring with them. And that leads to another issue. Ask them to bring the medication at the conference with them.

4. During registration, it's good to have a field for write down a disease that the attendee feels comfortable to share. There is the code of conduct committee that can guarantee this information. For example, if the attendee has epilepsy, it's good for the organizers to know and be prepared. Usually, people with epilepsy tell that information to their friends, so they won't be surprised just in case of a seizure.

5. During registration, ask for special types of food. It's not

face

With all the talk of VPN (Virtual Private Network) services to keep you safe and my general lack of interest in the subject, I was talking to Eric Adams, my co-host on the DLN Xtend podcast about the subject. He was telling me that he was hesitant to recommend any service so he gave me some option to try out. The one I chose, after doing a little reading was Windscribe.

I am new to the VPN game so I want to be careful in saying, I am recommending this as the perfect solution but rather demonstrating how I set it up and how I am using it on my openSUSE Tumbleweed system. Much in the same way Eric informed me about it.

Installation

For starters, I navigated to the Windscribe website, https://windscribe.com/

It’s a nice looking site and I like they have, front and center a Download Windscribe button. I am always annoyed when you have to go digging around to download anything. I give a resounding, “boo” when I am forced to play a scavenger hunt game to find the download link. Thank you Windscribe for not making this part difficult.

Another well presented download for Linux button. No hunting here either. Although, I did notice that there was a lack of definition of my favorite Linux distribution. They have left out openSUSE and that makes me just a bit frowny faced. No matter, I am not a complete “noob” to the Linux-ing and since Fedora and openSUSE packages are like close cousins (in my experience, but I am often wrong), setting this up for openSUSE was pretty darn straight forward.

These instructions are easily adapted to the fantastic Zypper package manager. This is my adaptation of their instructions for openSUSE and is well tested on Tumbleweed.

1. Get a Windscribe Account

Create a free account if you don’t have one already

2. Download and Install the repo as root

zypper ar https://repo.windscribe.com/fedora/ windscribe

This is telling zypper to add the repository (ar) https://repo.windscribe.com/fedora and naming it “windscribe”.

3. Update Zypper

zypper refresh

4. Install Windscribe-CLI

zypper install windscribe-cli

5. Switch to non-root user

exit

6. Login to Windscribe

windscribe login

Follow the steps with your newly created account

7. Connect to Windscribe

windscribe connect

And that is all there is to it. You will be connected and ready to be part of the cool-kid VPN club.

Side Note

If you need further help about how to use the different functions of Windscribe.

windscribe --help

If you need further information on how to use these other features, please visit the windscribe.com site as I am just using the basic functionality of it here.

If the windscribe daemon service does not automatically start up, you may have to start it manually as root.

systemctl start windscribe

and if you want to have it enabled at startup

systemctl enable windscribe

Those may or may not be necessary


face

In a recent official communiqué, AFRINIC, the Regional Internet Registry (RIR) for Africa, wished its members and the community a happy new year while giving updates about some changes in the different committees.

In the same email, AFRINIC CEO, Eddy Kayihura, informed the community that following allegations of fraudulent manipulation of the AFRINIC WHOIS database, the matter has been referred to the Central Criminal Investigation Division (CCID) of the Mauritius Police Force for further investigation. Also, due to the serious nature of the allegation, an employee of AFRINIC, whose name has been cited in the allegation, has been immediately dismissed on grounds of very serious professional misconduct.

AFRINIC is working to "restore" the WHOIS database accuracy, as per the email.


face

When you host your own website on a Virtual Private Server or on a DigitalOcean droplet, you want to know if your website is down (and receive a warning when that happens). Plus it’s fun to see the uptime graphs and the performance metrics. Did you know these services are available for free?

I will compare 3 SaaS vendors who offer uptime performance monitoring tools. Of course, you don’t get the full functionality for free. There are always limitations as these vendors like you to upgrade to a premium (paid) account. But for an enthousiast website, having access to these free basic options is already a big win!

I also need to address the elephant in the room: Pingdom. This is the golden standard of uptime performance monitoring tools. However, you will pay at least €440 per year for the privilege. That is a viable option for a small business. Not for an enthousiast like myself.

The chosen free alternatives are StatusCake, Freshping and UptimeRobot. There are many other options, but these ones are mentioned in multiple lists of ‘the best monitoring tools’. They also have user friendly dashboards. So let’s run with it.

StatusCake

The first option that I have tried is StatusCake. This tool not only offers the uptime monitoring, but also offers a free SpeedTest. Of course you can use the free speedtests of Google and Pingdom. But this won’t allow you to see the day-to-day differences.

The images below show the default dashboard for uptime monitoring, the detailed uptime graph for one URL and the webform for creating a new uptime test.

Default dashboard
Uptime for 1 URL
Creation of a new uptime test

The next images show the default dashboard for speed tests, the detailed speed graph results and the webform for creating a new speed test.

Overview of speed tests
Speed test results
Creation of a new speed test

The basic plan is free and this gets you 10 uptime tests and 1 page speed test. A paid superior plan will set you back €200 per year, which is way to much for an enthousiast like myself.

Freshping

Freshping is the second alternative that I tried. This is a Freshworks tool, so that means that it works together with other Freshworks tools such as Freshdesk, Freshsales, Freshmarketeer, Freshchat and Freshstatus. And all of these tools have a free tier. Wow, that is a lot of value for a start-up business. Of course they will like you to upgrade later on and stay with their company.

However, we are now focussing on Freshping. The below images show the default dashboard, the detailed uptime graph for one URL and the webform for creating a new uptime test.

Default dashboard
Uptime for 1 URL
Creation of a new uptime test

It looks nice, but it gives you much less information than StatusCake. However they do provide value. The sprout plan is free and this gets you 50 uptime tests. A paid blossom account


face

Our openSUSE Chairman has some questions for the candidates for the openSUSE Board. My answers are here:

1. What do you see as three, four strengths of openSUSE that we should cultivate and build upon?

1) Fantastic coherence in the community
2) Great products with collaboration all over the world
3) Quality

2. What are the top three risks you see for openSUSE? (And maybe ideas how to tackle them?)
1) Dependency on SUSE (humans and financials)
Background: I was asked really often at open source events how another company can sponsor openSUSE. We had to say that it would not possible because all of our money is going via a SUSE credit card and the money would be lost (same with the GSoC money, which has to be transferred to other organizations because of this issue). No company wants to pay Open Source Developers with such a background of an open-source project. Therefore, most openSUSE Contributors are working for SUSE or SUSE Business Partners. This topic popped up more than 3 times during my last Board Membership (really created by SUSE employees each time!).
Solution: Creation of the foundation! I had to suggest this solution more than 3 times before that was accepted by SUSE employees in the Board. I told about all the benefits how we can manage our own money then, receive new sponsors, SUSE can use more money for their own, SUSE can sponsor us continuously and we would be able to receive more Contributors.

2) openSUSE infrastructure in Provo
Background: I am one of the Founders of the openSUSE Heroes Team and was allowed to coordinate our first wiki project between Germany and Provo. The openSUSE infrastructure is in Microfocus hands and they need very long to respond on issues and we are not allowed to receive access as a community. Additionally, SUSE is not part of Microfocus any more which makes it more difficult to receive good support in the future.
Solution 1: Migration of all openSUSE systems from Provo to Nuremberg / Prague (perhaps missing space?)
Solution 2: Migration of all openSUSE systems from Provo to any German hosting data centre with access for openSUSE Heroes

3) Bad reputation of openSUSE Leap & openSUSE Tumbleweed
Background: We are the openSUSE project with many different sub-projects. We don’t offer only Linux distributions, but we are well known for that and most people are associating us with that. I had given many presentations about openSUSE during my last Board Membership and represented us at different open source events. The existing openSUSE Board does not do that very much. They have another focus at the moment.
Solution: We need more openSUSE Contributors representing openSUSE and I can do that as an openSUSE Board Member again. After that, we can be one of the top Linux distributions again. 😉

3. What should the board do differently / more of?
The existing openSUSE Board is working mostly on the topic with the foundation. That is good. Thank you! But the role


face

Being a performance engineer (or an engineer who’s mainly concerned with software performance) is a lot like being any other kind of software engineer, both in terms of skill set and the methods you use to do your work.

However, there’s one area that I think is sufficiently different to trip up a lot of good engineers that haven’t spent much time investigating performance problems: analysing performance data.

The way most people get this wrong is by analysing numbers manually instead of using statistical methods to compare them. I’ve written before about how humans are bad at objectively comparing numbers because they see patterns in data where none exist.

I watched two talks recently (thanks for the recommendation Franklin!) that riffed on this theme of “don’t compare results by hand”. Emery Berger spends a good chunk of his talk, “Performance matters” explaining why it’s bad idea to use “eyeball statistics” (note eyeball statistics is not actually a thing) to analyse numbers, and Alex Kehlenbeck’s talk “Performance is a shape, not a number” really goes into detail on how you should be using statistical methods to compare latencies in your app. Here’s my favourite quote from his talk (around the 19:21 mark):

The ops person that’s responding to a page at two in the morning really has no idea how to compare these things. You’ve gotta let a machine do it.

And here’s the accompanying slide that shows some methods you can use.

"Did behavior change?" slide from Alex Kehlenbeck's talk

Yet despite knowing these things I stil have a bad habit of eyeballing perf.data files when comparing profiles from multiple runs. And as we’ve established now, that’s extremely dumb and error prone. What I really should be doing is using perf-diff.

Here’s a gist for random-syscall.c, a small program that runs for some duration in seconds and randomly calls nanosleep(2) or spins in userspace for 3 milliseconds. To generate some profile data, I ran it 5 times and recorded a profile with perf-record like this:

$ gcc -Wall random-syscall.c -o random-syscall
$ for i in $(seq 1 5); do sudo perf record -o perf.data.$i -g ./random-syscall 10; done
Executing for 10 secs
Loop count: 253404
[ perf record: Woken up 14 times to write data ]
[ perf record: Captured and wrote 3.577 MB perf.data.1 (31446 samples) ]
Executing for 10 secs
Loop count: 248593
[ perf record: Woken up 12 times to write data ]
[ perf record: Captured and wrote 3.185 MB perf.data.2 (28252 samples) ]
Executing for 10 secs
Loop count: 271920
[ perf record: Woken up 12 times to write data ]
[ perf record: Captured and wrote 3.573 MB perf.data.3 (31587 samples) ]
Executing for 10 secs
Loop count: 263291
[ perf record: Woken up 13 times to write data ]
[ perf record: Captured and wrote 3.641 MB perf.data.4 (32152 samples) ]
Executing for 10 secs
Loop count 

Thursday
16 January, 2020


face

There comes a time in the lifespan of a computer where you decide that the performance becomes a little lacking. That was my case with this computer and the state of the drive was becoming a little dubious as it felt like it was getting slower and having periodic file system errors. Rather than just reinstall openSUSE on the same drive, I decided, I wanted to make an inexpensive upgrade so I purchased a Solid State Drive (SSD) for it.

After completing this write-up, I realized that this is very uninteresting… so… for what it’s worth, this is basically a blathering for my own records. If you find this useful, great, if you don’t care about this bit of hardware, this is not worth your time… so… go ahead and click that [X} in the corner now.

Installation

Since this computer hangs above my sink using a VESA mount, there is a bit of work involved in pulling it down. My preferred method is to use a

Since I have taken this unit apart before, I already knew what I was doing with it. The back of computer comes off but does take some time to get all the snaps to release. I would really prefer that this was held together with screws instead of snaps.

Upon releasing the back cover from the chassis, it exposes the 2.5″ drive which sits in the lower left corner of the machine.

The drive is held in a caddy that snaps in to the chassis, no tools required to remove or insert the drive. I think this is actually quite the clever design.

The last bit of assembly is snapping the back cover back together, with a little family assistance.

After hanging the computer back on it’s VESA mount, I proceeded to install openSUSE Tumbleweed once again, creating a 60 GiB Root partition

The one thing I can note is that the software installation proceeded so much faster on the Solid State Drive than on the traditional Hard Disk Drive. I didn’t time it but I can assure you it is noticeably faster.

Application Installation

After installation of openSUSE Tumbleweed, I began the setup of my applications that I wanted, specifically on this machine. Things to note, this computer has a touch screen interface, so I made some changes as compared to my more traditional desktop setups. For starters, I switched the menu to the “Application Dashboard” because it is more “touch friendly” than the “Application Launcher” and “Application Menu”. At least, from my perspective.

Some of my applications have shifted a bit from the original setup. Many are the same but the core set of applications I use, not likely to change, on this machine are as follows:

Kontact Personal Information Manager

Mostly for the calendar application and it works fantastically well. I use this to synchronize my activities using the Google Calendar plugin. I am not proud of using Google Calendar but I am sort of


face

Bereits Anfang 2019 habe ich für das Board von openSUSE kandidiert. Nachdem inzwischen wieder zwei Plätze offen sind, stehe ich auch diesmal wieder für die Aufgabe zur Verfügung und stelle mich zur Wahl.

Einen allgemeinen Überblick über meine Vorstellungen und Ziele gibt es hier.

Im Vorfeld zur Wahl stehen alle Kandidaten der Community natürlich für Fragen offen. Einen Katalog aus 5 Fragen von Gerald Pfeifer, derzeit Chairman des Boards, habe ich beantwortet und möchte diesen auch hier bereitstellen.

Ein Hinweis: Fragen und Antworten sind ursprünglich auf Englisch. Dies ist nur eine Übersetzung.

1. Was sind deiner Meinung nach die drei, vier Stärken von openSUSE, die wir kultivieren und auf denen wir aufbauen sollten?

1) Vielfalt der Features
OpenSUSE ist vor allem für die Distributionen Leap und Tumbleweed bekannt. Die große Bandbreite der verschiedenen Teilprojekte und wie sie zusammenpassen, ist eine große Stärke. Wir sollten einen Weg finden, oS mit den ganzen Projektteilen wie YaST, OBS, openQA etc. in Verbindung zu bringen.

2) “Erbe”
Linux-Distributionen kommen und gehen, manche bleiben jahrelang, andere verschwinden in den Tiefen des Internets. OpenSUSE gibt es nun schon seit Jahrzehnten und es muss diese Tatsache in Richtung einer Anerkennung als zuverlässiger Freund für den Betrieb von Computern verändern.

3) Genehmigungsfreie Gemeinschaft
Die openSUSE-Community lebt von Menschen, die einfach Dinge tun und versuchen, andere durch Ergebnisse zu überzeugen. Das ist nicht überall bei FOSS üblich. Einige andere Gemeinschaften versuchen, die Dinge über Komitees und Oberbosse zu vereinheitlichen.

2. Was sind die drei größten Risiken, die du für openSUSE siehst? (Und vielleicht Ideen, wie man sie angehen kann?)

1) Vergessen werden
2) Teilweise unbekannt bleiben
3) Im eigenen Saft schmoren

Es könnte auch andere Risiken geben, aber diese drei passen alle zu einem großen Thema: Kommunikation – oder eher dem Fehlen einer solchen.

Meine Idee, dies anzugehen, ist es, das Marketingteam (irgendwie) wiederzubeleben und als treibende Kraft für alles, was von openSUSE in Richtung des Restes der Welt geht, zu pushen. Es gibt bereits Initiativen, Artikel zu schreiben, mit Community-Leuten in Interviews zu sprechen und neues Marketingmaterial zu erstellen. Dies erfordert natürlich Koordination und Manpower, aber es läuft bereits recht gut.

Das Marketing-Team, das ich im Sinn habe, ist eine Initiative, die in zwei Richtungen arbeitet: Neben der Arbeit in Eigenregie möchte ich es offen haben für Menschen, die Ideen, Wünsche und Projekte einbringen. Mitglieder können Tickets öffnen, Nichtmitglieder können E-Mails senden oder in Chatrooms erklären, was sie wollen oder brauchen. Die Marketingleute erledigen dann entweder die Anfrage selbst oder versuchen, jemanden zu finden, der bereit ist, dies zu tun, z.B. in Artwork, l10n oder einem anderen geeigneten Team.

Das Hauptziel ist es, einen konstanten Fluss interessanter Inhalte für den Rest der Gemeinschaft und für jeden außerhalb von openSUSE aufrechtzuerhalten.

Die Antwort auf die folgende Frage erweitert diesen Punkt noch ein wenig.

3. Was sollte der


face

Already in the beginning of 2019 I have been a candidate for the board of openSUSE. Since there are now two places open again, I am again available for the task and run for election.

A general overview of my ideas and goals can be found here.

In the run-up to the election all candidates of the community are of course open for questions. I have answered a catalogue of 5 questions from Gerald Pfeifer, currently chairman of the board, and would like to make it available here.

1. What do you see as three, four strenghts of openSUSE that we should cultivate and build upon?

1) Variety of features
OpenSUSE is mostly recognized for the distributions Leap and Tumbleweed. The broad scale of different sub-projects and them fitting together is a big strength. We should find a way to get oS associated with the whole project bits like YaST, OBS, openQA etc.

2) “Heritage”
Linux distributions come and go, some stay for years, others vanish in the depths of the internet. OpenSUSE has been around for decades now and needs to plot twist that fact towards a recognition as reliable friend for running computers.

3) Permission-free community
The openSUSE community lives from people that just do things and try to convince others by results. That is not usual everywhere in FOSS. Some other communities try to streamline things into committees and head honchos.

2. What are the top three risks you see for openSUSE? (And maybe ideas how to tackle them?)

1) Getting forgotten
2) Staying unknown in some parts
3) Stewing in our own juice

There might be other risks as well but these three all fit into one major topic: communication – or more the lack of it.

My idea to tackle this is to revive (somehow) and to push the marketing team as a driving spot for everything going from openSUSE towards the rest of the world. There are already initiatives to write articles, talk to community people in interviews and to create new marketing material. This of course needs coordination and manpower, but is already taking off quite good.

The marketing team I have in mind is an initiative working in two directions: Besides doing things on our own I want to have it open for people dropping ideas, wishes and projects. Members can open tickets, non-Members can send emails or join chat rooms to explain what they want or need. Marketing people then either fulfill the request by themselves or try to find someone willing to do that, e.g. in artwork, l10n or any other appropriate team.

The main goal is to keep a constant stream of interesting content towards the rest of the community and to anyone outside openSUSE.

The answer to the following question extends this point a bit more.

3. What should the board do differently / more of?

Communicate. Though most people here (including me) don’t like the hierarchy thing it’s something that should not be left unused. In


face

Veamos cómo utilizar fzf junto con dmenu como lanzador de aplicaciones para el gestor de ventanas i3

Cada vez me encuentro más cómodo utilizando mi openSUSE con aplicaciones Plasma, pero utilizando i3wm como gestor de ventanas.

Encuentro a i3 cada vez más cosas buenas: es sencillo, es cómodo, es adaptable a gustos, es infinito en opciones y posibilidades, etc.

En este caso voy a escribir sobre cómo hacer el lanzador de aplicaciones dmenu, más atractivo visualmente y más potente gracias a el buscador fzf

fzf es una aplicación que he instalado hace poco y estoy conociendo poco a poco, pero sin duda bien merece un extenso tutorial para ella sola, quizás en otra ocasión. Vamos por partes, primero el de i3 🙂

Este artículo es uno más de la serie de artículos sobre el gestor de ventanas i3 sobre el que he escrito en mi blog. Puedes encontrarlos todos en este enlace:

Lo primero, obviamente es utilizar en nuestro sistema el gestor de ventanas i3, después deberemos instalar fzf, disponible para la mayoría de distribuciones de GNU/Linux

Ya escribí en un artículo anterior, cómo darle otro aspecto a nuestro dmenu, que era la configuración que venía utilizando hasta ahora, pero en este caso, vamos a renovar la forma en que lanzamos aplicaciones en nuestro sistema.

fzf es un potente y gran buscador que podemos utilizar en nuestro sistema, y que en este caso vamos a utilizar junto con dmenu para que busque y filtre los ejecutables en nuestro sistema y los presente en una terminal flotante.

Este artículo está basado de la wiki de documentación del propio fzf que tiene muchos ejemplos de uso de la aplicación para otros casos. De verdad que fzf me ha sorprendido gratamente!!

Para ello editamos el archivo de configuración de i3 que quizás lo tengas en la siguiente ruta: ~/.config/i3/config y comentamos la línea donde tengamos la configuración de dmenu y añadimos estas dos líneas:

bindsym $mod+d exec --no-startup-id xfce4-terminal -e 'i3-dmenu-desktop --dmenu=fzf' 
for_window [title="xfce4-terminal"] floating enable

En mi caso he utilizado el emulador de terminal de xfce para que presente los resultados de dmenu, pero en tu caso puedes utilizar cualquier terminal que quieras y que permita establecer un título a la ventana de la terminal.

La segunda línea lo que hace es a esa ventana con ese título establecerle la característica de flotante en vez de ejecutarse a pantalla completa.

Guardamos los cambios de nuestro archivo y forzamos la lectura de la configuración de i3 mediante Meta+Shift+r para que tenga en cuenta los cambios.

Y ahora ejecutamos la combinación de teclas para lanzar dmenu, en mi caso Meta+d y veremos el nuevo aspecto de dmenu junto con el buscador fzf.

Al lanzarse la aplicaci


Wednesday
15 January, 2020


face

Plusieurs paquets ont été mis à jour cette semaine dans openSUSE Tumbleweed comme prévu après la saison des vacances. Cinq instantanés de cette version évolutive ont été livrés cette dernière semaine après avoir passé les tests rigoureux appliqués par openQA.

Ces versions sont incroyablement stables avec des notes enregistrées au-dessus 95, selon le Tumbleweed snapshot reviewer.

L'instantané le plus récent, 20200112, a mis à jour Xfce avec une mise à jour pour xfce4-session 4.14.1 et xfce4-settings 4.14.2.

Divers changements visibles pour les développeurs ont été apportés dans l'instantané 20200101 dont re2 de Google une bibliothèque pour expressions régulières . frogr, l'application GNOME pour la gestion des images avec un compte Flickr, a été mis à jour en 1.6 et a supprimé l'usage obsolète de GTimeVal. La plate-forme open source pour le scale-out du stockage cloud public et privé, glusterfs 7.1, a corrigé le rééquilibrage du stockage provoqué par une erreur d'entrée et une fuite de mémoire dans glusterfsd.

La version 7.0.9.14 de ImageMagick a optimisé les performances des effets spéciaux de Fx et de virglrenderer 0.8.1, qui est un projet visant à étudier la possibilité de créer un GPU 3D virtuel pour une utilisation à l'intérieur des machines virtuelles qemu afin accélérer le rendu 3D.

L'instantané a continué de mettre à jour les paquets pour KDE Applications 19.12.1 qui avaient été intégré dans l'instantané 20200111 . Des améliorations ont été apportées à la vitesse de la molette de défilement pour Dolphin de KDE et le logiciel de montage vidéo Kdenlive avait plusieurs correctifs et un ajustement pour un rendu plus rapide, du code obsolète a aussi été supprimé du paquet de diagramme des applications parapluie. La plupart des paquets Applications KDE ont également mis à jour l'année du copyright à 2020.

En plus des paquets KDE Applications 19.12.1 qui ont commencés à arriver dans l'instantané 20200111, Plasma 5.17.5 de KDE est également arrivé dans l'instantané. Cette mise à jour de Plasma a corrigé une régression intervenue dans la transition l'applet de pageur hors de QtWidgets et a corrigé le glisser-déposer de fichiers depuis Dolphin vers un widget de bureau virtuel. Le Plasma NetworkManager avait également un correctif pour un crash lors du changement de configuration IPv4.

Le correctif très attendu de la vulnérabilité de sécurité dans Firefox a été effectué avec la mise à jour de Mozilla vers Firefox 72.0.1; il y avait huit Common Vulnerabilities and Exposures (CVE) traitées dans la mise à jour de la version précédente 71 incluse dans Tumbleweed, mais la version 72.0.1 a corrigé le bogue que des pirates pouvaient utiliser pour accéder à un ordinateur de toute personne utilisant le navigateur en raison d'informations d'alias incorrectes


face

Librsvg exports two public APIs: the C API that is in turn available to other languages through GObject Introspection, and the Rust API.

You could call this a use of the facade pattern on top of the rsvg_internals crate. That crate is the actual implementation of librsvg, and exports an interface with many knobs that are not exposed from the public APIs. The knobs are to allow for the variations in each of those APIs.

This post is about some interesting things that have come up during the creation/separation of those public APIs, and the implications of having an internals library that implements both.

Initial code organization

When librsvg was being ported to Rust, it just had an rsvg_internals crate that compiled as a staticlib to a .a library, which was later linked into the final librsvg.so.

Eventually the code got to the point where it was feasible to port the toplevel C API to Rust. This was relatively easy to do, since everything else underneath was already in Rust. At that point I became interested in also having a Rust API for librsvg — first to port the test suite to Rust and be able to run tests in parallel, and then to actually have a public API in Rust with more modern idioms than the historical, GObject-based API in C.

Version 2.45.5, from February 2019, is the last release that only had a C API.

Most of the C API of librsvg is in the RsvgHandle class. An RsvgHandle gets loaded with SVG data from a file or a stream, and then gets rendered to a Cairo context. The naming of Rust source files more or less matched the C source files, so where there was rsvg-handle.c initially, later we had handle.rs with the Rustified part of that code.

So, handle.rs had the Rust internals of the RsvgHandle class, and a bunch of extern "C" functions callable from C. For example, for this function in the public C API:

void rsvg_handle_set_base_gfile (RsvgHandle *handle,
                                 GFile      *base_file);

The corresponding Rust implementation was this:

#[no_mangle]
pub unsafe extern "C" fn rsvg_handle_rust_set_base_gfile(
    raw_handle: *mut RsvgHandle,
    raw_gfile: *mut gio_sys::GFile,
) {
    let rhandle = get_rust_handle(raw_handle);        // 1

    assert!(!raw_gfile.is_null());                    // 2
    let file: gio::File = from_glib_none(raw_gfile);  // 3

    rhandle.set_base_gfile(&file);                    // 4
}
  1. Get the Rust struct corresponding to the C GObject.
  2. Check the arguments.
  3. Convert from C GObject reference to Rust reference.
  4. Call the actual implementation of set_base_gfile in the Rust struct.

You can see that this function takes in arguments with C types, and converts them to Rust types. It's basically just glue between the C code and the actual implementation.

Then, the actual implementation of set_base_gfile looked like this:

impl Handle {
    fn set_base_gfile(&self, file: &gio::File) {
        if let Some(uri) = file.get_uri() {
            self.set_base_url(&uri);
        } else {
            rsvg_g_warning("file has no URI; will not set the base URI");
        }
    }
}

This is an actual method for a Rust Handle struct, and takes Rust types as arguments — no conversions


face

Announcement

The Kubic Project is proud to announce that Snapshot 20200113 has just been released containing Kubernetes 1.17.0.

This is a particually exciting release with Cloud Provider Labels becoming a GA-status feature, and Volume Snapshotting now reaching Beta-status.

Release Notes are avaialble HERE.

Special Thanks

Special thanks to Sascha Grunert, Ralf Haferkamp and Michal Rostecki who all contributed to this release, either through debugging issues or by picking up other open Kubic tasks so other contributors could focus on this release.

Please look at our github projects board for an incomplete list of open tasks, everyone is free to help out so please join in!

Upgrade Steps

All newly deployed Kubic clusters will automatically be Kubernetes 1.17.0 from this point.

For existing clusters, you will need to follow the following steps after your nodes have transactionally-updated to 20200113 or later.

For a kubic-control cluster please run kubicctl upgrade.

For a kubeadm cluster you need to follow the following steps on your master node: kubectl drain <master-node-name> --ignore-daemonsets.

Then run kubeadm upgrade plan to show the planned upgrade from your current v1.16.x cluster to v1.17.0.

kubeadm upgrade apply v1.17.0 will then upgrade the cluster.

kubectl uncordon <master-node-name> will then make the node functional in your cluster again.

For then for all other nodes please repeat the above steps but using kubeadm upgrade node instead of kubeadm upgrade apply, starting with any additional master nodes if you have a multi-master cluster.

Thanks and have a lot of fun!

The Kubic Team

Older blog entries ->