Skip to main content

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

openSUSE Asia Summit 2023 Report

Tahun ini adalah tahun ke 7 openSUSE digelar. Dan kali kedua openSUSE Asia Summit kembali digelar di China.

Ini juga adalah Summit pertama luring paska COVID19. Summit tahun ini diadakan di Chongqing University of Posts and Telecommunications, Chongqing, China 21-23 Oktober 2023. Kali ini kontingen Indonesia hanya mengirimkan tiga personil, Pak Edwin Zakaria, Pak Yan Arief dan saya. Masing masing hadir sebagai pembicara dengan materi yang berbeda.

Setelah selesai mengurus visa China dengan segala kerepotannya, akhirnya visa keluar tanggal 10 Oktober, 10 hari sebelum keberangkatan. Kita lanjut memesan tiket pesawat ke Chongqing. Pak Yan Arif dan saya akan memulai perjalanan dari Jogja.

19 Oktober: Berangkat

Kita memulai perjalanan dengan Pelita Air pukul 19.15 dari NYIA menuju CGK.

Pukul 20.45 kita mendarat di Terminal 3 CGK. Kemudian menunggu Pak Edwin yang bergerak dari Fatmawati. Jam 21.30 sudah lengkap dan menuju konter checkin. Kita menggunakan maskapai China Southern Airlines karena alasan jadwal terbang dan budget yang paling sesuai.

Setelah selesai checkin bagasi, kita bergeser ke imigrasi dan ke ruang tunggu.

20 Oktober: Masih di Udara

Pukul 23.30 WIB kita boarding ke pesawat Airbus A321neo dan lepas landas dijadwalkan pukul 00.20 WIB. Pesawat ini berbadan kecil dan panjang, kursi 3-3. Rute kita adalah CGK-SZX-CKG.

Kita nanti akan transit di Shenzen selama 6 jam. Lanjut sarapan (dini hari).

Saya kebetulan duduk di jendela, dan sempat mengabadikan matahari terbit di ufuk timur.

Pukul 06.35 CST pagi pesawat mendarat di Shenzen. Kita lanjut imigrasi. Mengisi borang kesehatan, kemudian ambil bagasi. Toilet dan mengisi air putih. Kemudian checkin tiket dan bagasi kembali.

Untuk internet (whatapps, email, telegram), kita berbekal kartu DIGITravel dari Indonesia yang hanya memiliki akses data 500MB/hari dan dibeli dari toko online Rp 80rbu/5hari. Sudah lebih dari cukup.

Memasuki ruang tunggu, saya sempatkan sarapan mie gelas. Oh iya. dispenser minum tersedia dimana-mana, termasuk air panas. Jadi tidak susah untuk menyeduh minuman sashet atau mi instan.

Pukul 11.40 CST kita boarding. Kali ini pesawat berbadan lebar. Kursi 3-4-3. Airbus A330 twin jet.

Kemudian makan siang sekitar pukul 13.00.

Pesawat mendarat pukul 14.45 CST. Kita lanjut ambil bagasi dan rehat sebentar. Sembari mencari lokasi stasiun metro (MRT/LRT).

Ya panitia menyarankan menggunakan metro (LRT/MRT) untuk sampai hotel. Tiket metro 5Yuan, atau sekitar Rp 11ribu.

Stasiun ditemukan, dilanjutkan membeli tiket. Bertanya jalur berapa ke mbak-mbak yang jaga. Dan kemudian dilanjut berjibaku bagaimana caranya bisa bayar tiket. Mesin tiket menerima tunai, kartu kredit unionpay dan lainnya. Pembayaran yang disarankan menggunakan Wechat/AliPay.

Akhirnya setelah beberapa percobaan berganti akun Alipay, tiket terbeli. Lanjut MRT jalur 10, kemudian ganti ke jalur 2. Saya sempat mengambil foto senja di Sungai Jialing, sebelumnya dikenal dengan banyak nama lain, adalah anak sungai utama Sungai Yangtze di Cekungan Sichuan.

Turun di Stasiun Linjiangmen. Jalan kaki kemudian mencari hotel yang ternyata di gedung besar depan pintu keluar Stasiun. Butuh akses lift ke lantai 5. Kita menginap di Vienna Hotel (Chongqing Jiefangbei Hongyadong)

Proses checkin cukup lama, karena keterbatasan bahasa dan juga belum pernah mengurus tamu dari Indonesia. Checkin selesai dan masuk kamar. Finally kasur setelah 24 jam perjalanan. Saya sekamar berdua dengan Pak Yan Arief.

Setelah berberes, kita lanjut mencari resto halal di sekitar hotel dengan berjalan kaki.

Resto yang kita tuju berada tidak jauh dari lokasi Masjid Besar Chongqing lama. Menu yang kita pesan daging, salad dan tofu.

Pulang dari resto kita singgah di gerai sate kambing muslim dan membeli 9 tusuk beserta 3 roti untuk sarapan besok.

Balik ke hotel sebagai penutup hari ini, eh belum. Slide saya belum jadi, maka saya utik-utik dulu hingga dini hari.

21 Oktober: Summit Day

Selain kontingen Indonesia, ada Sakana dari Taiwan, Takeyama dan Syuta dari Jepang yang menginap di hotel ini. Jadi kita barengan saja ke kampus menaiki 2 buah taksi. Harga taksi di sini cukup murah, perjalanan 20KM ke kampus hanya dikisaran 60-70rbu. Untuk urusan memesan taksi, ada Sakana yang fasih berbahasa china.

Sesampai di gerbang kampus, kita bertemu dengan Patrick Fitzgerald, salah satu board openSUSE. Kemudian kita lanjut mencari gedung acara kesana kemari.

Akhirnya setelah berapa kali bertanya sampai juga di lokasi summit. Melakukan swafoto kemudian berkeliling mencari kelas tempat saya mengisi. Sesi saya ada di sore hari di ruang A108/A107.

Acara dibuka oleh perwakilan kampus, kemudian Sakana. Dilanjut keynote speaker dari Board: Patrick Fitzgerald tentang Geeko Foudation.

Setelah rehat kopi, Pak edwin membawakan materi di ruang utama dengan materi Managing Indonesia openSUSE community Mirror Infrastructure.

Kemudian saya bergabung di kelas lain untuk melihat sesi dari Houge Langley openSUSE running on RISC-V. Seorang dokter beneran dan kontributor Arch/Gentoo. Riset yang ia kerjakan dapat dilihat pada laman https://github.com/HougeLangley/riscv.

Kemudian saya bergeser untuk ikut sesi dari Sakana Max tentang Using openSUSE in the Public Cloud.

Lanjut makan siang, kita diajak jalan kaki keluar kampus menuju restoran. Ciri khas makan besar di sini, selalu menggunakan meja putar.

Saya mulai mengisi kelas setelah sesi dari Simon Lees, tentang OBS: Packaging Workshop. Pak Yan Arief dan saya memiliki jadwal yang serentak namun beda ruang. Berikut sesi saya. openSUSE inside WSL.

Diujung sesi, saya menyempatkan diskusi dengan peserta terkait beberapa isu DevOps dalam keseharian mereka.

Sesi pak Yan Arief membawakan materi Securing Docker Containers: Preventing Privilege Escalation and Enhancing Vulnerability Detection.

Saya bertemu Joey Lee yang sudah lama tidak bersua.

Setelah sesi selesai, kita kembali ke ruang utama. Saya menonton sesi dari Sunny yang membawakan judul Open Source is an option of life.

Kemudian sesi ditutup dengan penyerahan album ke panitia lokal dan foto bersama.

Akhirnya ketemu Colie Li yang selalu rajin menjadi sponsor individu untuk openSUSE Asia Summit tiap tahunnya.

Acara dilanjut makan malam. Kita menuju resto dengan Bis tidak jauh dari area kampus. Restonya masih dengan meja putar.

Setelah selesai makan, kita lanjut balik dengan naik taksi ke hotel, hari kedua selesai. Mandi dan tidur.

22 Oktober: 1 day tour

Pagi hari kita berkumpul tidak jauh dari hotel menunggu bis jemputan. Hari ini kita akan menuju Dazu Rock Carvings, sekitar 150KM dari pusat kota chongqing. Pukul 10.00 CST bis bergerak.

Setelah 3 jam perjalanan, sampai juga di lokasi. Kemudian membeli tiket masuk. Karena sampai di lokasi sudah jam makan siang, kita kemudian lanjut makan siang dulu di sekitar lokasi.

Kembali ke Dazu Rock Carvings. Dari gate tiket kita akan diantar bus menuju pintu objek wisata. Kemudian ada pemandu dengan alat seperti handytalky untuk mendengarkan orasi pemandu. Kali ini dengan translasi bahasa inggris. Jalan-jalan dimulai. Rutenya lumayan jauh, hampir 5km.

Kita selesai jalan-jalan pukul 15.00 CST. Jam 16.00 kita bergerak kembali ke kota. Pukul 18.30 kita sampai di kota, dan menujur resto untuk makan malam. It is HotPot time.

Sampainya di resto, setelah jalan berliku-liku, kita memesan hotpot varian vegant.

Setelah makan selesai, saya melanjutkan diskusi dengan panitia lokal terkait liku-liku menjadi mahasiswa dan pekerja IT di sana.

Pukul 10 kita bersiap pulang sekaligus sebagai penutup rangkaian openSUSE Asia Summit 2023.

23 Oktober: Pulang

Kita pulang dengan pesawat pukul 10 malam. Paginya kita isi dengan istirahat dan kemudian mengunjungi Masjid Raya Chongkinq dan menikmati makan siang sate kambing.

Pukul 16.00 kita bergeser ke Bandara. Menyempatkan diri memotret tepian sungai saat kita transit jalur metro.

Tiba di Bandara, checkin bagasi dan bersiap masuk ruang tunggu. Rute kali ini akan transit di Guangzhou, dengan bagasi yang langsung diambil di Jakarta. CKG-CAN-CGK. Boarding pukul 22.50 CST. Pukul 02.00 kita mendarat di Guangzhou. Penerbangan selanjutnya pukul 08.25 pagi. Mencari sofa tidur, popmie dan tidur.

24 Oktober: Pulang

Pukul 07.00 CST kita boarding menuju Jakarta. Sarapan di pesawat. Pukul 12.20 WIB kita mendarat di CGK. Welcome home. Lanjut antrian Imigrasi kemudian ambil bagasi.

Untuk makan siang kita mencari nasi goreng di Solaria Terminal 3. Ah makanan cita rasa Indonesia memang yang terbaik.

Kita bertiga berpisah setelah makan di sini. Pak Edwin memesan taksi dan kembali ke Jakarta. Pak Yan Arief menunggu pesawat selanjutnya ke Yogyakarta dari Terminal 3 Pukul 4 sore. Saya sendiri masih akan ke Malaysia via Johor, penerbangan pukul 20.00 dari terminal 2. Long journey.

Terimakasih untuk panitia lokal atas terselenggaranya Summit tahun ini. Terimakasih openSUSE yang mensponsori perjalanan kami. Sampai jumpa tahun depan.

Estu~

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

Episodio 20 de KDE Express: En 110d vuelve el cubo

Tras un parón obligado por razones de peso, me congratula presentaros que tenemos a nuestra disposición el episodio 20 de KDE Express, titulado «En 110d vuelve el cubo» donde David y un servidor, con el apoyo de Jorge Lama en los controles técnicos, damos un vistazo a las novedades candentes del próximo Plasma 6 y a las novedades podcasteras de este audio.

Episodio 20 de KDE Express: En 110d vuelve el cubo

Comenté hace tiempo que había nacido KDE Express, un audio con noticias y la actualidad de la Comunidad KDE y del Software Libre con un formato breve (menos de 30 minutos) que complementan los que ya generaba la Comunidad de KDE España, aunque ahora estamos tomándonos un tiempo de respiro por diversos motivos, con sus ya veteranos Vídeo-Podcast que todavía podéis encontrar en Archive.org, Youtube, Ivoox, Spotify y Apple Podcast.

Episodio 20 de KDE Express: En 110d vuelve el cubo

De esta forma se llega al número 20, el octavo de su segunda temporada y que cuenta con el incombustible e hiperactivo David Marzal y un servidor, Baltasar Ortega con la producción de Jorge Lama, donde damos un breve resumen al aluvión de novedades que nos esperan en febrero de la mano de la Comunidad KDE y a las nuevas funcionalidades que ofrece este audio al subirse al carro de Podcasting 2.0.

En palabras de David, que es quien hace la entradilla:

Empezado el curso escolar y acabada la temporada opositora respectivamente, Baltasar y David comentán en este episodio la fecha de la MEGA publicación de KDE6 en Febrero, la recuperación del efecto cubo, la campaña de donaciones y membresía de KDE Internacional y algunas cosas más que tendréis que escuchar para estar al día de que se mueve en la comunidad KDE.

Enlaces de interés:

Subtitulos disponibles en podverse.fm o en podcastindex.org si vuestra aplicación no implementa las transcripciones.

Y, como siempre, os dejo aquí el listado de los episodios. ¡Disfrutad!

Por cierto, también podéis encontrarlos en Telegram: https://t.me/KDEexpress

La entrada Episodio 20 de KDE Express: En 110d vuelve el cubo se publicó primero en KDE Blog.

the avatar of Robert Riemann

Is developing word processing software hard?

Hello LibreOffice Planet!

This is my first blog post on the topic of LibreOffice. Let me quickly explain my link to LibreOffice. I work for a data protection authority in the EU and help navigate the digital transformation of our office with about 100 staff members. While many of our partner organisations adopt Microsoft 365, our office decided to pilot Nextcloud with Collabora Office Online.

In the future, I want to blog (in my personal capacity) about my thoughts related to the use of alternative word processing software in the public sector in general and in our specific case.

As there are no dedicated resources for training, preparation of templates etc., during the pilot of LibreOffice, the experience so far covers a large spectrum of user satisfaction. Generally, our staff has been spent years of their life using Microsoft Office and has the expectation that any other software works the same way. If it does not, they send an email to me (best case) or switch back to Microsoft Office.

During the week, I discussed again some smaller LibreOffice bugs. Then, I showed this weekend some FOSS Blender animated short videos to family members. It seems that Blender is more successful in its domain than LibreOffice. Is that possible? Or are animated short videos just more capturing due to their special effects? 😅

You can watch the 1min Blender animated short movie “CREST” on Youtube or the making-off. The latter you find here below.

I find it very inspiring to see what talented artists can do with Blender. For my part, I have once installed Blender and deinstalled it. Back then it was not easy to use for people not familiar with video animation software. Blender competes with proprietary software such as Maya or Cinema 4D. The latter is about 60 USD per month in the annual subscription plan. Not exactly cheap.

Then, I read in the fediverse about people working with LibreOffice:

I just tried to use #LibreOffice #Draw to draw some arrows and boxes onto JPEG images for emphasizing stuff.

The UX is really bad for somebody not working with Draw all the time.

Whatever I do, instead of drawing onto the image, the image gets selected instead.

Could not find any layer-sidebar.

Could not scale text without starting the “Character …” menu, modifying font size blindly + confirming > just to see its effect and then start all over.

Dear #FOSS, we really should do better.

— Author Karl Voit (12 November 2023 at 14:51)

In my past, I have worked on online voting systems. They are not very good yet despite years of efforts. xkcd dedicated a comic to voting software

Elections seem simple—aren’t they just counting? But they have a unique, challenging combination of security and privacy requirements. The stakes are high; the context is adversarial; the electorate needs to be convinced that the results are correct; and the secrecy of the ballot must be ensured. And they have practical constraints: time is of the essence, and voting systems need to be affordable and maintainable, and usable by voters, election officials, and pollworkers.

— Author Matthew Bernhard et al. in their paper Public Evidence from Secret Ballots from 2017

What is the unique challenge of developing word processing software? Happy to hear back from you in the blog comments or on the companion fediverse post!

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

Actualización de noviembre del 2023 de KDE Frameworks

Los meses pasan volando. Me complace anunciar la actualización de noviembre del 2023 de KDE Frameworks. Con esta se llega a la versión 5.111 que evidencia el compromiso y constancia que no tiene un final cercano, a no ser que consideremos el salto al número 6 dado que ya se está haciendo la migración a Qt 6.

Actualización de noviembre del 2023 de KDE Frameworks

A pesar de que para los usuarios corrientes esta noticia sea algo confusa ya que no se trata de realzar una nueva aplicación ni de una nueva gran funcionalidad del escritorio, el desarrollo de KDE Frameworks tiene repercusiones directas en él a medio y largo plazo.

La razón de esta afirmación es que KDE Frameworks es básicamente la base de trabajo de los desarrolladores para realizar sus aplicaciones, es como el papel y las herramientas de dibujo para un artista: cuanto mejor sea el papel y mejores pinceles tenga, la creación de una artista será mejor.

Actualización de noviembre del 2023 de KDE Frameworks

De esta forma, las mejoras en KDE Frameworks facilitan el desarrollo del Software de la Comunidad KDE, haciendo que su funcionamiento, su estabilidad y su integración sea la mejor posible.

Este domingo 12 de noviembre de 2023 ha sido lanzado KDE Frameworks 5.1112la nueva revisión del entorno de programación sobre el que se asienta Plasma 5, el escritorio GNU/Linux de la Comunidad KDE, y las aplicaciones que se crean con para él.

Más información: KDE

La constancia del equipo de desarrollo de la Comunidad KDE

Hay que recordar que los desarrolladores de KDE decidieron lanzar actualizaciones mensuales de este proyecto y lo están cumpliendo con puntualmente. La idea es ofrecer pocas pero consolidadas novedades, a la vez que se mantiene el proyecto evolucionando y siempre adaptándose al vertiginoso mundo del Software Libre.

Una gran noticia para la Comunidad KDE que demuestra la evolución continua del proyecto que continua ganando prestigio en el mundo de los entornos de trabajo Libres.

¿Qué es KDE Frameworks?

Para los que no lo sepan, KDE Frameworks añade más de 70 librerías a Qt que proporcionan una gran variedad de funcionalidades necesarias y comunes, precisadas por los desarrolladores, testeadas por aplicaciones especí­ficas y publicadas bajo licencias flexibles. Como he comentado, este entorno de programación es la base para el desarrollo tanto de las nuevas aplicaciones KDE y del escritorio Plasma 5.

Actualización de agosto del 2023 de KDE Frameworks

Aquí podéis encontrar un listado con todos estos frameworks y la serie de artículos que dedico a KDE Frameworks en el blog,

Recuerda que puedes ver una introducción a Frameworks 5.0 en su anuncio de lanzamiento.

La entrada Actualización de noviembre del 2023 de KDE Frameworks se publicó primero en KDE Blog.

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

Circle Clock, más relojes para plasma – Plasmoides de KDE (233)

Sigo con estas pequeñas aplicaciones que se conocen como applets, widgets o plasmoides y que dotan de funcionalidades de todo tipo a nuestro entorno de trabajo KDE y que parece que van a sufrir un lavado de cara considerable en Plasma 6. Hoy toca un plasmoide sencillo pero muy visual: Circle Clock, otro reloj para tu fondo de pantallas con una estética muy original, de nuevo ideal para los viernes de escritorio. Con este ya serán 233 los elementos de esta serie presentados en el blog.

Circle Clock, más relojes para plasma – Plasmoides de KDE (233)

Como he comentado en otras ocasiones, de plasmoides tenemos de todo tipo funcionales, de configuración, de comportamiento, de decoración o, como no podía ser de otra forma, de información sobre nuestro sistema como puede ser el uso de disco duro, o de memoria RAM, la temperatura o la carga de uso de nuestras CPUs.

En esta caso vuelvo uno de los clásicos, los relojes con Circle Clock, una creación del prolífico Zayronxyo (que se está convirtiendo en un clásico ya que hace unas semanas ya presenté otra creación suya y hace menos Nemmayan Clock and Date) que nos muestra un simple reloj, envuelto en un círculo con la frase «It is» y la hora transparente. Una maravilla visual que creo que aparecerá en mi próximo Viernes de Escritorio.

Circle Clock, más relojes para plasma - Plasmoides de KDE (233)

Y como siempre digo, si os gusta el plasmoide 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 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

¿Qué son los plasmoides?

Para los no iniciados en el blog, quizás la palabra plasmoide le suene un poco rara pero no es mas que el nombre que reciben los widgets para el escritorio Plasma de KDE.

En otras palabras, los plasmoides no son más que pequeñas aplicaciones que puestas sobre el escritorio o sobre una de las barras de tareas del mismo aumentan las funcionalidades del mismo o simplemente lo decoran.

La entrada Circle Clock, más relojes para plasma – Plasmoides de KDE (233) se publicó primero en KDE Blog.

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

AppStream 1.0 released!

Today, 12 years after the meeting where AppStream was first discussed and 11 years after I released a prototype implementation I am excited to announce AppStream 1.0! 🎉🎉🎊

Check it out on GitHub, or get the release tarball or read the documentation or release notes! 😁

Some nostalgic memories

I was not in the original AppStream meeting, since in 2011 I was extremely busy with finals preparations and ball organization in high school, but I still vividly remember sitting at school in the students’ lounge during a break and trying to catch the really choppy live stream from the meeting on my borrowed laptop (a futile exercise, I watched parts of the blurry recording later).

I was extremely passionate about getting software deployment to work better on Linux and to improve the overall user experience, and spent many hours on the PackageKit IRC channel discussing things with many amazing people like Richard Hughes, Daniel Nicoletti, Sebastian Heinlein and others.

At the time I was writing a software deployment tool called Listaller – this was before Linux containers were a thing, and building it was very tough due to technical and personal limitations (I had just learned C!). Then in university, when I intended to recreate this tool, but for real and better this time as a new project called Limba, I needed a way to provide metadata for it, and AppStream fit right in! Meanwhile, Richard Hughes was tackling the UI side of things while creating GNOME Software and needed a solution as well. So I implemented a prototype and together we pretty much reshaped the early specification from the original meeting into what would become modern AppStream.

Back then I saw AppStream as a necessary side-project for my actual project, and didn’t even consider me as the maintainer of it for quite a while (I hadn’t been at the meeting afterall). All those years ago I had no idea that ultimately I was developing AppStream not for Limba, but for a new thing that would show up later, with an even more modern design called Flatpak. I also had no idea how incredibly complex AppStream would become and how many features it would have and how much more maintenance work it would be – and also not how ubiquitous it would become.

The modern Linux desktop uses AppStream everywhere now, it is supported by all major distributions, used by Flatpak for metadata, used for firmware metadata via Richard’s fwupd/LVFS, runs on every Steam Deck, can be found in cars and possibly many places I do not know yet.

What is new in 1.0?

API breaks

The most important thing that’s new with the 1.0 release is a bunch of incompatible changes. For the shared libraries, all deprecated API elements have been removed and a bunch of other changes have been made to improve the overall API and especially make it more binding-friendly. That doesn’t mean that the API is completely new and nothing looks like before though, when possible the previous API design was kept and some changes that would have been too disruptive have not been made. Regardless of that, you will have to port your AppStream-using applications. For some larger ones I already submitted patches to build with both AppStream versions, the 0.16.x stable series as well as 1.0+.

For the XML specification, some older compatibility for XML that had no or very few users has been removed as well. This affects for example release elements that reference downloadable data without an artifact block, which has not been supported for a while. For all of these, I checked to remove only things that had close to no users and that were a significant maintenance burden. So as a rule of thumb: If your XML validated with no warnings with the 0.16.x branch of AppStream, it will still be 100% valid with the 1.0 release.

Another notable change is that the generated output of AppStream 1.0 will always be 1.0 compliant, you can not make it generate data for versions below that (this greatly reduced the maintenance cost of the project).

Developer element

For a long time, you could set the developer name using the top-level developer_name tag. With AppStream 1.0, this is changed a bit. There is now a developer tag with a name child (that can be translated unless the translate="no" attribute is set on it). This allows future extensibility, and also allows to set a machine-readable id attribute in the developer element. This permits software centers to group software by developer easier, without having to use heuristics. If we decide to extend the developer information per-app in future, this is also now possible. Do not worry though the developer_name tag is also still read, so there is no high pressure to update. The old 0.16.x stable series also has this feature backported, so it can be available everywhere. Check out the developer tag specification for more details.

Scale factor for screenshots

Screenshot images can now have a scale attribute, to indicate an (integer) scaling factor to apply. This feature was a breaking change and therefore we could not have it for the longest time, but it is now available. Please wait a bit for AppStream 1.0 to become deployed more widespread though, as using it with older AppStream versions may lead to issues in some cases. Check out the screenshots tag specification for more details.

Screenshot environments

It is now possible to indicate the environment a screenshot was recorded in (GNOME, GNOME Dark, KDE Plasma, Windows, etc.) via an environment attribute on the respective screenshot tag. This was also a breaking change, so use it carefully for now! If projects want to, they can use this feature to supply dedicated screenshots depending on the environment the application page is displayed in. Check out the screenshots tag specification for more details.

References tag

This is a feature more important for the scientific community and scientific applications. Using the references tag, you can associate the AppStream component with a DOI (Digital object identifier) or provide a link to a CFF file to provide citation information. It also allows to link to other scientific registries. Check out the references tag specification for more details.

Release tags

Releases can have tags now, just like components. This is generally not a feature that I expect to be used much, but in certain instances it can become useful with a cooperating software center, for example to tag certain releases as long-term supported versions.

Multi-platform support

Thanks to the interest and work of many volunteers, AppStream (mostly) runs on FreeBSD now, a NetBSD port exists, support for macOS was written and a Windows port is on its way! Thank you to everyone working on this 🙂

Better compatibility checks

For a long time I thought that the AppStream library should just be a thin layer above the XML and that software centers should just implement a lot of the actual logic. This has not been the case for a while, but there was still a lot of complex AppStream features that were hard for software centers to implement and where it makes sense to have one implementation that projects can just use.

The validation of component relations is one such thing. This was implemented in 0.16.x as well, but 1.0 vastly improves upon the compatibility checks, so you can now just run as_component_check_relations and retrieve a detailed list of whether the current component will run well on the system. Besides better API for software developers, the appstreamcli utility also has much improved support for relation checks, and I wrote about these changes in a previous post. Check it out!

With these changes, I hope this feature will be used much more, and beyond just drivers and firmware.

So much more!

The changelog for the 1.0 release is huge, and there are many papercuts resolved and changes made that I did not talk about here, like us using gi-docgen (instead of gtkdoc) now for nice API documentation, or the many improvements that went into better binding support, or better search, or just plain bugfixes.

Outlook

I expect the transition to 1.0 to take a bit of time. AppStream has not broken its API for many, many years (since 2016), so a bunch of places need to be touched even if the changes themselves are minor in many cases. In hindsight, I should have also released 1.0 much sooner and it should not have become such a mega-release, but that was mainly due to time constraints.

So, what’s in it for the future? Contrary to what I thought, AppStream does not really seem to be “done” and fetature complete at a point, there is always something to improve, and people come up with new usecases all the time. So, expect more of the same in future: Bugfixes, validator improvements, documentation improvements, better tools and the occasional new feature.

Onwards to 1.0.1! 😁

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

#openSUSE Tumbleweed revisión de la semana 45 de 2023

Tumbleweed es una distribución de GNU/Linux «Rolling Release» o 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 este enlace:

De nuevo otra semana en la que se han publicado nada más y nada menos que 6 nuevas snapshots (1102, 1103, 1105, 1106, 1107, y 1108) lo que está bastante bien.

Estas seis snapshots han traido entre otras, las siguientes novedades:

  • GNOME-Shell/Mutter 45.1
  • libxml 2.11.5
  • Pipewire 0.3.84
  • systemd
  • Libvirt 9.9.0
  • xfconf 4.18.3
  • fwupd 1.9.7
  • VLC 3.0.20
  • BlueZ 5.70
  • LLVM 17.0.4
  • SQLite 3.44.0

La snapshot 1109 ya está en QA, 1110 se está compilando, esta y próximas actualizaciones traerán cambios como:

  • Linux kernel 6.6 (Snapshot 1109+)
  • gAWK 5.3.0
  • Binutils 2.41 (Snapshot 1110+)
  • KDE Gear 23.08.3
  • Mozilla Firefox 119.0.1
  • RPM 4.19
  • dbus-broker como gestor de sesión predeterminado de dbus

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

——————————–

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

Tercera actualización de KDE Gear 23.08

La Comunidad KDE es una comunidad responsable y no solo se preocupa en lanzar novedades sino que también en mejorarlas. Me complace presentar la tercera de KDE Gear 23.08 que apareció hace unos meses. Más estabilidad, mejores traducciones y pequeñas mejoras para las aplicaciones de nuestro entornos de trabajo.

Tercera actualización de KDE Gear 23.08

A pesar de lo que puedan pensar muchas personas, las aplicaciones no son perfectas. Entre las líneas de código se pueden colar errores de tipografía o que el usuario realice alguna opción que en un principio no estaba prevista por los desarrollador, por poner solo un par de ejemplos de imperfecciones.

Este no es un problema del Software Libre ya que el Software actual funciona de esta manera ya que no se piensa en él como un producto final que se encierra en una caja y se olvida. En la actualidad se sabe que el Software está vivo y sería estúpido ir guardando las mejoras sin dejarlas a disposición del gran público.

Con esto se gana en rapidez y evolución pero puede aumentar el número de errores (por norma general) leves, los cuales son subsanables con pequeñas actualizaciones.

La Comunidad KDE lo tiene claro: grandes lanzamientos cada cuatro meses y actualizaciones mensuales para subsanar errores.

Tercera actualización de KDE Gear 23.08

Por ello me congratula compartir con vosotros la primera actualización de KDE Gear 23.08 que nos ofrece más de 120 errores resueltos entre aplicaciones, librerías y widgets, algo que mejora el rendimiento del sistema.

Aquí podéis encontrar la lista completa de cambios de KDE Gear 23.08.3, pero por poner unos cuantos ejemplos de los errores que sea han resuelto tenemos:

  • Ark: Solucionada la compatibilidad con shared-mime-info >= 2.3
  • Kate: Ya no se bloquea al soltar un archivo en el panel de proyecto
  • Akonadi: No guardar enormes registros MySQL de sesiones pasadas

Más información: KDE Gear 23.08.3

La entrada Tercera actualización de KDE Gear 23.08 se publicó primero en KDE Blog.

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

openSUSE Tumbleweed – Review of the week 2023/45

Dear Tumbleweed users and hackers,

This week was all in the name of Hackweek, which means some people diverged their efforts a bit away from Factory/Tumbleweed and others have finally found the time they craved and could submit what they had on their wish-list. The Release Team was trying to keep up with the submissions while also having their own time dedicated to hackweek. Seeing that we published 6 snapshots (1102, 1103, 1105, 1106, 1107, and 1108) I dare say this worked out pretty well.

The six delivered snapshots contained these changes:

  • GNOME-Shell/Mutter 45.1
  • libxml 2.11.5
  • Pipewire 0.3.84
  • systemd: disabled utmp support
  • Libvirt 9.9.0
  • xfconf 4.18.3
  • fwupd 1.9.7
  • VLC 3.0.20
  • BlueZ 5.70
  • LLVM 17.0.4
  • SQLite 3.44.0

Snapshot 1109 is already in QA, 1110 is building, and stagings are getting ready. All in all, you can expect these changes to happen soon-ish:

  • Linux kernel 6.6 (Snapshot 1109+)
  • gAWK 5.3.0
  • Binutils 2.41 (Snapshot 1110+)
  • KDE Gear 23.08.3
  • Mozilla Firefox 119.0.1
  • RPM 4.19: Some preparation work has happened to ensure packages still build (e.g. %patch with unnumbered patches is no longer supported)
  • dbus-broker as the default dbus session manager
the avatar of Timo's openSUSE Posts

My containerized websites

Coincidentally I have had multiple needs for serving websites from behind containers instead of directly from the host. After some practicing, which can be also described as ”hacking without carefully documenting what I did”, I decided not to explicitly describe my setup but how I achieved (towards) my goal of serving my web sites (3 on the same server) from behind containers. This will enable me to consider using things like PHP or other notorious pieces of software thanks to a level of sandboxing.

Here in this rant paragraph I note that I'm not overtly fan of pulling random images from the web even if not quite as bad as using curl-sudo ”install method”. Containers are at least sandboxed, but coming from Linux distribution background perspective I somewhat dislike all software vendors acting as OS image providers. I will need to learn more about the aspects of where the images come from, what is the trust model, and what happens if eg Official Nginx (tm) image or Official Certbot (tm) image or Docker Hub gets compromised. I do mostly trust Debian, SUSE, Ubuntu etc infrastructure, so it will take some time until I construct my trust towards alternatives. One possible option could be of course to use my pre-trusted vendors via some alternative image registry, and do a bit more work with Ansible for example to utilize them instead of trusting Nginx or Certbot via Docker Hub.

My setup is looking like ending up like this, involving docker-compose, nginx as a proxy, several web host containers, and a Certbot container that is used to renew certificates via a cronjob:

A diagram showing docker-compose handling the proxy, websites and certbot, with a humorous hint of hoping to ansible it at some point

But before I ended up with that I said hello to Search Engine. One result showed the general idea of sharing directories. Another reminded how to serve acme-challenge in nginx since I’ve been mainly Apache user. There were several guides about Apache and Let’s encrypt too, without proxy. I probably read this when figuring out the actual nginx proxy setup. At some point I needed to check that nginx is ”nginx” while certbot is ”certbot/certbot”. I was happy to find certbot command line option ideas although I learned the hard way to use --dry-run as well especially in the case of forgetting restart option in docker-compose.yml. I did not need any kind of bootstrap phase since I already had existing Let’s Encrypt certificates.

Finally, in practice what I have done so far is a proof that it works and can be used as drop in replacement for my on-host Apache. I have served all of the web sites from inside a container (pointed to the same content as the on-host), and Certbot container works to renew the certificate, replacing acme-tiny I have used before. Currently however the setup is not complete for simultaneous serving of all the 3 sites, cronjobs are not set up (or tested to be functional). I can’t have my on-host Apache and containerized Nginx proxy competing for ports 80 and 443 at the same time, so I can really enable the setup only when everything is fully complete. It’s nice however how easy switching between the two already is!

Finally², I can’t say it would be 100% complete even then! At some point in the past I have largely but not completely ”ansibled” my host when I sadly moved from a really old quad-core ARM server to x86_64 server. I like different architectures, but the ARM servers were decommissioned by Scaleway. Anyway, regarding Ansible this kind of containerization obviously increases ”Ansible debt” further by a fair amount, and that would be a different story to get that fully done…

But it has been some nice hacking!