Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Lanzada la segunda actualización de Plasma 5.20

Tal y como estaba previsto en el calendario de lanzamiento de los desarrolladores, ayer martes 27 de octubre la Comunidad KDE ha comunicado que ha sido lanzada la segunda actualización de Plasma 5.20. Una noticia que aunque es esperada y previsible es la demostración palpable del alto grado de implicación de la Comunidad en la mejora continua de este gran entorno de escritorio de Software Libre.

Lanzada la segunda actualización de Plasma 5.20

No existe Software creado por la humanidad que no contenga errores. Es un hecho incontestable y cuya única solución son las actualizaciones. Es por ello que en el ciclo de desarrollo del software creado por la Comunidad KDE se incluye siempre las fechas de las actualizaciones.

Lanzada la segunda actualización de Plasma 5.20

De esta forma, el martes 27 de octubre ha sido lanzada la segunda actualización de Plasma 5.20, la cual solo trae (que no es poco) soluciones a los bugs encontrados en esta semana de vida del escritorio y mejoras en las traducciones. Es por tanto, una actualización 100% recomendable.

Más información: KDE

Las novedades básicas de Plasma 5.20

Os dejo las novedades más destacada de esta nueva versión son:

  • La barra de tareas por defecto será la de Solo Iconos, y además será un poco más ancho (una de las primeras cosas que suelo cambiar cuando configuro mi escritorio)
  • Las visualizaciones en pantalla (OSD) que aparecen al cambiar el volumen o el brillo de la pantalla (por ejemplo) se han rediseñado para ser menos intrusivas.
  • Ahora se notifica cuando el sistema está a punto de agotar el espacio incluso si el directorio personal es a una partición diferente.
  • Ahora se pueden componer mosaicos con las esquinas de las ventanas combinando los atajos de mosaico izquierda/derecha/arriba/abajo. Por ejemplo, pulsando Meta+flecha arriba y después la flecha izquierda para hacer el mosaico de una ventana a la esquina superior izquierda.
  • Las páginas de Configuración de Inicio automático, Bluetooth, y Gestión de usuarios se han rediseñado según los estándares modernos de interfaz de usuario y se han reescrito desde cero.
  • Notificaciones de monitorización y fallo de discos S.M.A.R.T
the avatar of openSUSE News

openSUSE Community To Have Kickoff Session for Leap 15.3

The openSUSE community is inviting package maintainers, contributors, open source developers and Leap 15.3 stakeholders to join the openSUSE community for a kickoff of Leap 15.3.

The kickoff session starts Nov. 4 at 16:30 UTC on https://meet.opensuse.org/LeapKickoff.

The session will start with a short pre-recorded video updating attendees about the status of Jump 15.2.1, explaining what to expect from the Leap 15.3 release and presenting a roadmap forward for the release.

“Let me share with you the next steps with Closing The Leap Gap and openSUSE Leap and what I’ve agreed upon today with openSUSE Board members,” wrote release manager Lubos Kocman in an email for developers on the Factory mailing list. “ I believe we have no issues with meeting Alpha/Beta criteria for Leap 15.3, unlike criteria used for Go/noGo for 15.2.1. We should have an initial setup done by the 4th of November to meet the roadmap.

“I want to close one chapter so the openSUSE Release team can focus on the upcoming Leap release,” he wrote.

The kickoff is meant to be an informative session followed by a friendly chat/social over a virtual coffee, tea or beer (BYOCTB).

a silhouette of a person's head and shoulders, used as a default avatar

Último día para presentar tu charla para Akademy-es 2020 en línea

Esta edición va a ser muy especial. En poco más de un mes se va a celebrar Akademy-es 2020 en línea, la reunión anual en España de usuarios y desarrolladores de KDE.Con el objetivo de dar una oportunidad a los rezagados, entre los que me incluyo, Akademy-es 2020 amplió el plazo para presentar las charlas hasta el 27 de octubre de 2020. Así que estamos en el Último día para presentar tu charla para Akademy-es 2020 en línea, no desaproveches la ocasión y muestra a toda el mundo tu proyecto personal o comunitario.

Último día para presentar tu charla para Akademy-es 2020 en línea

Recordemos que en Akademy-es se realizarán las típicas charlas que presentan las novedades tanto de las aplicaciones como de las herramientas de programación, sin olvidar de los proyectos activos o de aquellos de los que se quieren lanzar en un futuro cercano.

En esta ocasión, Akademy-es 2020 se va a realizar en línea, es decir, que no podremos estrechar los lazos presenciales tan necesarios pero la Comunidad KDE ha pensado que esto no debe ser un impedimento para que del 20 al 22 de noviembre podamos compartir un fin de semana a través de las pantallas. Ya tendremos tiempo de compartir cervezas o café en otra ocasión.

Esta edición es una ocasión única para la comunidad latinoamericana ya que puede participar de forma directa pues las limitaciones geográficas han desaparecido, así que esperamos que tengamos ponencias que vengas del otro lado del charco. Además, si sale bien (que saldrá) puede convertirse en una excelente forma de participar en futuros eventos, aunque sean presenciales.

Ampliado el plazo para presentar tu charla para Akademy-es 2020 en línea

En anteriores ediciones en estas charlas (extraído del programa de Akademy-es 2019 de Vigo) se ha hablado de móviles, de aplicaciones convergentes, de privacidad y seguridad, de la visión del desarrollador, de lenguajes de programación, del Software Libre

¿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 ya 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 18 27 de octubre con un resumen breve de la presentación.

Ampliado el plazo para presentar tu charla para Akademy-es 2020 en línea

Es importante tener en cuenta las siguientes consideraciones:

  • Se puede elegir entre dos formatos de charlas:
    • Charlas de 30 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 el mundo del Software Libre en general.

Más información: Akademy-es 2020

¿Qué es Akademy-es?

Akademy-es (#akademyes, que es la etiqueta para las redes sociales) es evento más importante para los desarrolladores y simpatizantes de KDE, que se ha ido celebrando desde el 2006 con éxito creciente.

En general, las Akademy-es son el lugar adecuado para conocer a los desarrolladores, diseñadores, traductores, usuarios y empresas  que mueven este gran proyecto.

En ellas se realizan ponencias, se presentan programas, se hace un poco de caja para los proyectos libres (camisetas, chapas, etc) pero sobre todo se conoce a gente muy interesante y se cargan baterías para el futuro.

Podéis repasar las anteriores ediciones en estas entradas del blog (y si, me tengo que poner a actualizar ya!)

the avatar of Nathan Wolf
the avatar of Federico Mena-Quintero

Librsvg's test suite is now in Rust

Some important changes are afoot in librsvg.

Changes to continuous integration

Some days ago, Dunja Lalic rewrote the continuous integration scripts to be much faster. A complete pipeline used to take about 90 minutes to run, now it takes about 15 minutes on average.

Graph with pipeline timings, which shrink drastically

The description of changes is interesting. The idea is to make tests fail as fast as possible, close to the beginning of the pipeline. To speed up the whole pipeline, Dunja did the following:

  • Move the cargo check stage to the beginning. This test means, "does this even have a chance of compiling?".

  • Have the code style and formatting tests, cargo clippy and cargo fmt, run in parallel with the unit tests. These lints can fail, but they are easy to fix after one is finished modifying the main code.

  • Run the unit tests and the smoke tests in debug mode, so they compile quickly.

  • Run the complete integration test suite in release mode. This takes longer to compile, but there are some slow tests that benefit a lot from faster execution.

  • Move the release tests until the end, and only run them once a week — or whenever, by hand. These take a good amount of time to run, because they do a full make distcheck and autotools is slow. Even then, now these tests take 30-40 minutes, instead of the 90 from before.

  • Between each stage of the pipeline, don't cache what doesn't help reduce compilation time. It seems that keeping around a big cache, with the whole build target, between each pipeline stage can be worse than not having one at all.

Complete pipeline with all the stages

Test suite in Rust

Beteen Sven Neumann, Dunja Lalic, and myself we have finally ported the test suite to Rust: all of librsvg's tests are now in Rust, except for the C API tests. We had to do a few things:

  • Review the old tests and remove some obsolete ones.

  • Port each of the test modules to Rust. They are small, but each one has special little things — test for crashes in the XML loading code, test for crashes during rendering, test the library's security limits.

  • Fix the small tests that come as part of the documentation.

  • Untangle the reference tests and port them to Rust.

  • Move little chunks of code around so the unit tests and integration tests can share utilities to compare images, compute file paths for test fixtures, etc.

The most complicated thing to port was the reference tests. These are the most important ones; each test loads an SVG document, renders it, and compares the result to a reference PNG image. There are some complications in the tests; they have to create a special configuration for Fontconfig and Pango, so as to have reproducible font rendering. The pango-rs bindings do not cover this part of Pango, so we had to do some things by hand.

Anyway, the tests are now in Rust. One nice thing is that now the tests run automatically in parallel, across all CPU cores, so we save on total testing time.

What's next: cargo-c and publish to crates.io

We want to be able to publish librsvg in crates.io as a normal crate; this implies being able to compile, test, and publish entirely from Cargo. The compilation and testing part is done.

Now, we have to reorganize the code so it can be published to crates.io. Librsvg comes in three parts, rsvg_internals with the implementation of the library, librsvg with the traditional C API, and librsvg_crate with the Rust API. However, to publish the Rust API to crates.io, it would be more convenient to have a single crate instead of one with the internals and one with the API.

The next step is thus to reorganize the code:

  • Make it possible to implement the C API as a compile-time option on top of the normal Rust code. We want to use cargo-c to compile the traditional shared library librsvg.so, instead of depending on C tools for compiling and linking.

  • Combine rsvg_internals and librsvg_crate in a single crate, to publish them together. Crates.io has a 10 MB limit per crate; now that the test suite lives in a separate tests crate, this shouldn't be a problem.

  • I would like to polish the public error types before publishing the Rust API; right now they expose some implementation details that are of no interest to callers of the library.

What remains to be ported to Rust?

Only two things, which amount to less than 900 lines of C code:

  • rsvg-convert - the command-line program that everyone uses to convert SVG to PNG and other formats. Fortunately, Sven Neumann wrote some fantastic tests for rsvg-convert, as it is like an API that we need to keep stable: if we change the command-line options or the program's behavior, we would break everyone's scripts.

  • The gdk-pixbuf module for loading SVG. Alberto Ruiz has started porting it to Rust. The generic part of this code could later serve to wrap other Rust image codecs and plug them to gdk-pixbuf.

a silhouette of a person's head and shoulders, used as a default avatar

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Sigo la tradicional serie dedicada a la última actualización del entorno de trabajo de la Comunidad KDE con más novedades de plasma 5.20, cuyo segundo capítulo está dedicado las visualizaciones en pantalla y KWin.

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Continuo esta serie de artículo con el vídeo promocional de Plasma 5.20 que ya presenté hace unos días y que me parece sencillamente espectacular, para pasar más abajo a describir las novedades de Plasma 5.20 aportando mi opinión personal.

Como se suele decir, dentro vídeo…

Visualizaciones en pantalla

Una de las grandes novedades del nuevo entorno de Plasma es el trabajo realizado en el pulido de las visualizaciones en pantalla.

Básicamente estamos hablando de la «ventana» emergente que se muestran al cambiar el volumen o el brillo de la pantalla (por ejemplo), las cuales se han rediseñado para que resulten menos agresivos.

Además la visualización en pantalla del volumen le mostrará una advertencia sutil cuando supere el volumen del 100%.

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Por último, y quizás lo que más me está gustando, el cambio de brillo de la pantalla se realizará ahora mediante una transición suave, lo cual le confiere una simple pero efectiva mejora.

KWin

El gestor de ventanas adquiere un par de novedades interesantes a la hora de situar las ventanas en nuestra pantalla.

La primera es que se ha cambiado la tecla para poder mover las ventanas si tener que arrastrarlas desde su barra de título de [Alt] a [Meta]

En anteriores versiones de Plasma anteriores a 5.20, se podía situar el cursor sobre una ventana, mantener pulsada la tecla [Alt] y luego arrastrar con el ratón para mover la ventana. Debido a que la tecla [Alt] entra en conflicto con muchas aplicaciones de productividad populares ahora se ha cambiado a la tecla [Meta] («Windows»).

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.
Poniendo ventanas en mosaico con el teclado.

Por otra parte ahora se puede desplazar una ventana a una sección de la pantalla para que ocupe la mitad o un cuarto del espacio disponible (disponerla en forma de «mosaico») usando un acceso rápido de teclado.

Así que ahora para desplazar una ventana a la mitad superior de la pantalla, por ejemplo, mantenga pulsada la tecla [Meta] y pulse la tecla de flecha arriba. Si lo que quiere es desplazarla al cuarto superior izquierdo, mantenga pulsada la tecla [Meta] y pulse a continuación las teclas de las flechas arriba e izquierda.

Más información: KDE

a silhouette of a person's head and shoulders, used as a default avatar

Lanzado Kubuntu 20.10 «Groovy Gorilla»

Hace mucho tiempo que no hablo de una distribución. La razón es que KDE Neon se ha instalado en mis dispositivos y ya no tengo ojos para otra distro. No obstante me alegra que tenga alternativas y me complace anunciar con retraso que ha sido lanzado Kubuntu 20.10 «Groovy Gorilla», una nueva versión de esta veterana distribución basada en Ubuntu.

Lanzado Kubuntu 20.10 «Groovy Gorilla»

«La Comunidad de Kubuntu se complace en anunciar la liberación de Kubuntu 20.10 Groovy Gorilla. Para este lanzamiento Kubuntu se envía con Plasma 5.19.5 y Aplicaciones 20.08. El escritorio lleva el nuevo y fresco aspecto y el magnífico diseño del fondo de pantalla seleccionado por el Grupo de Diseño Visual de KDE.«

Así se anuncia en la página oficial de Kubuntu el lanzamiento de su nueva versión estable de soporte limitado, es decir, cuyo ciclo de mantenimiento no es muy extenso pero que sirve de puente en versiones LTS.

Y es que es ideal para aquellos que estén interesados en estar a la última en la versión de aplicaciones no-KDE.

Lanzado Kubuntu 20.10

Esta nueva versión tienen novedades interesantes como:

  • Soporte para LXD 4.6 y MicroK8s 1.19 para micro nubes resistentes, pequeños clusters de servidores que proporcionan VMs y Kubernetes.
  • Inclusión de las aplicaciones de la rama KDE Aplicaciones 20.08 con jugosas novedades como.
  • Actualizado Latte-dock a su versión 0.9.10.
  • Navegador web Firefox 81
  • Suite ofimática LibreOffice 7.0

Para su descarga e instalación os aconsejo visitar la página web oficial de Kubuntu, y para darle un vistazo nada mejor que un vídeo de Tyler’s Tech donde no solo nos muestra como instalarlo sino que nos hace una pequeña reseña.

Más información: Kubuntu

the avatar of openSUSE Mauritius

Flatpak on openSUSE

Flatpak on openSUSE

I did a presentation during the virtual Hacktoberfest Mauritius on Friday night, 23 October 2020. I had the freedom to choose a topic. So, I decided to talk about setting up Flatpak on openSUSE.

What is Flatpak?

Flatpak is a system for building, distributing, and running sandboxed desktop applications. It was developed in 2015 by Alex Larsson and is currently maintained by an independent community of developers. It is written in C and its source code is available on GitHub.

Installation process is straightforward using zypper.

zypper in flatpak

The flatpak utility can then be used at the command line to add a repository. In our case, we are going to add the flathub repository.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

We specify the option remote-add to indicate that we wish to add a repository, --if-not-exists to execute the command only if the repo does not exist on the system already, then followed by a name for the repo. We named the repo flathub but we could have called it something else as well, e.g myfavoriterepo. Lastly, we specify the url of the repository.

Next, we check whether the repo has been added.

ish@coffee-bar:~> flatpak remotes
Name    Options
flathub system

We can now start searching and installing apps from the flathub repo.

ish@coffee-bar:~> flatpak search postman
Name             Description                                                 Application ID                  Version          Branch         Remotes
Postman          Postman is a complete API development environment.          com.getpostman.Postman          7.31.0           stable         flathub

We install the application by specifying the Application ID.

flatpak install com.getpostman.Postman

The necessary icons and application shorcuts will be created as the installation completes. Therefore, launching the application from the desktop will follow the usual steps.

However, if you wish to run the application from the command line, e.g Postman, you cannot do so by simply typing postman at the terminal prompt. It should be run as follows:

flatpak run com.getpostman.Postman

Sandbox

With Flatpak, each application is built and run in an isolated environment. By default, the application can only 'see' itself and its runtime. Access to user files, network, graphics sockets, subsystems on the bus and devices have to be explicitly granted.

Flatpak on openSUSE
Diagram source: flatpak.org

Under the hood

Flatpak uses a number of pre-existing technologies. It generally isn’t necessary to be familiar with these in order to use Flatpak, although in some cases it might be useful. They include:

  • The bubblewrap utility from Project Atomic, which lets unprivileged users set up and run containers, using kernel features such as:
    - Cgroups
    - Namespaces
    - Bind mounts
    - Seccomp rules
  • systemd to set up cgroups for sandboxes
  • The OSTree system for versioning and distributing filesystem trees

the avatar of Ish Sookun

Hacktoberfest Mauritius 2020

Hacktoberfest Mauritius 2020

Saamiyah pinged me a few days ago about the Hacktoberfest event that she was organising and asked whether I would be free to present a topic. Sure, why not?

As many tech meetups at the moment, the Hacktoberfest event also was virtual. It was hosted on the Jitsi instance of the Mauritius Software Craftsmanship Community. The event was scheduled to start at 19h30 on Friday, i.e last evening. I was late to join but "luckily" so was everybody.


As the event started, we had some small-talk before the presentations really kick-off. We talked about flexi-time, work-from-(home|anywhere), and how they compare to being full-time in office.

Saamiyah did the first presentation in which she talked about the concept of Hacktoberfest, a month where open source software is celebrated. Sandeep spoke about local open source projects on GitHub.

I spoke about Flatpak and how to set it up on openSUSE. I concluded my presentation with an observation on the rise of Flatpak fuelled by the idea of having immutable & maintenance-free systems such as Fedora Silverblue and openSUSE MicroOS Desktop.

Hacktoberfest Mauritius 2020
Hacktoberfest Mauritius - Flatpak on openSUSE

The presentation slides are available at speakerdeck.com.

The next speaker, Alan, spoke about Docker Swarm, followed by Pritvi who talked about software licenses. It was 22h00 by that time and I could not stay longer. I bid goodnight on the chat room and wished everyone to continue having fun!

the avatar of Chun-Hung sakana Huang

AWS 流程日誌發佈至CloudWatch with AWS CLI 小記

 AWS 流程日誌發佈至CloudWatch with AWS CLI 小記


OS: container with openSUSE Leap 15.2



上次流程日誌啟用是使用 Console 的方式



今天要來寫 透過 AWS CLI 啟用流程日誌

  • 建立方式使用 AWS CLI 方式

  • 發佈至 CloudWatch




==== 建立IAM Role ====


參考官方文件

  • https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html 


建立檔案  Trust-Policy-VPC-flow-logs.json

內容如下


{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "",

      "Effect": "Allow",

      "Principal": {

        "Service": "vpc-flow-logs.amazonaws.com"

      },

      "Action": "sts:AssumeRole"

    }

  ]

}


使用 AWS CLI 建立  IAM Role


# aws  iam  create-role  --role-name  VPC-Flow-Log  --assume-role-policy-document  file://Trust-Policy-VPC-flow-logs.json


  • file:// 後面要注意是否有對應到 Trust-Policy-VPC-flow-logs.json 所在路徑



==== 建立IAM Policy ===== 


參考官方文件

  • https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html



建立檔案 VPC-Flow-Log-Policy.json

內容如下


{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Action": [

        "logs:CreateLogGroup",

        "logs:CreateLogStream",

        "logs:PutLogEvents",

        "logs:DescribeLogGroups",

        "logs:DescribeLogStreams"

      ],

      "Effect": "Allow",

      "Resource": "*"

    }

  ]

}   


使用 AWS CLI 建立  IAM Policy


# aws  iam  create-policy  --policy-name  VPC-Flow-Log-Policy  --policy-document  file://VPC-Flow-Log-Policy.json




==== 關聯 Policy 到 Role上 ====

  • 參考官方文件 https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html


# aws  iam  attach-role-policy  --policy-arn  arn:aws:iam::111111111111:policy/VPC-Flow-Log-Policy  --role-name   VPC-Flow-Log


  • policy arn 部分請換成自己的 ID

  • Role-name 對應剛剛建立的 Role




==== 切換到VPC所在的region ====


參考官方文件


可以用指令先觀察目前所設定的 Region


# aws  configure  list

或是

# aws  configure  get  region


設定 Region

# aws  configure  set  region  us-east-2


  • 也可以去觀察 ~/.aws/config



==== 建立 Log Group ====


建立 Log Group


# aws  logs  create-log-group  --log-group-name  flow-log-groups



==== 建立 VPC Flow log ====


建立VPC Flow log



# aws  ec2  create-flow-logs  --resource-type  VPC  --resource-ids  vpc-c11111ac  --traffic-type  ALL  --log-destination-type  cloud-watch-logs   --log-group-name  flow-log-groups  --deliver-logs-permission-arn  arn:aws:iam::111111111111:role/VPC-Flow-Log



  • resource-ids 請換成自己的ID

  • deliver-logs-permission-arn 請換成自己的 ARN


這樣就建立完成


驗證的方式可以參考上一篇的 blog




這樣算是又向 AWS 前進一步


~ enjoy it





Reference: