Skip to main content

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

Reciclando una entrevista. ¿Merece la pena ser bloguero?

En el blog Tecnoysoft publicaron el pasado 9 de agosto de 2026 una entrevista ficticia realizada por una IA. A raíz de ese artículo, me pareció interesante «reciclar» la entrevista y publicar en mi blog mis propias respuestas.

Actualizandome !!
Se me ve inclinado detrás de un monitor CRT en el que está conectado un Amstrand 128

El artículo original de la web Tecnoysoft lo podéis leer en este artículo con sus respuestas:

Con el permiso del autor original, he «reciclado» las preguntas, ya que me pareció interesante responderlas yo mismo y así lo he hecho. Aquí tenéis mis respuestas a esta entrevista.

¿Qué significa para ti ser bloguero en un mundo dominado por vídeos cortos, redes sociales y podcasts?

A pesar del movimiento de «small web», en estos tiempos tener una web propia es algo parece que minoritario. Muchas empresas, y usuarios han decidido que grandes plataformas son el sitio en el que quieren estar. Así muchos contactos se realizan mediante enlaces a esas grandes redes.

En mi caso, siempre me he movido alejado de esas redes por creerlas recintos cerrados. Muy grandes, pero en los que siempre se habla el mismo lenguaje. Además de la dependencia exlcusiva de la gran corporación de turno y estar a expensas de lo que decida en cada momento que será aquello más beneficioso siempre para la empresa, nunca el usuado, perdón, el usuario quería decir…

Puedes montar una gran comunidad digamos en la novedosa Google+, en la que llegas a muchos usuarios, etc… hasta que Google da el cerrojazo y pierdes todo… Lo mismo con otras grandes empresas.

Al tener tu web, posees una parte de internet que es exclusivamente tuya. Dices lo que quieras y te expresas como desees. Y si te cierran el hosting, puedes migrar tu contenido a otro y continuar.

En mi caso es un triple salto mortal en lo referente a ser un «outsider» (no, no quiero con esto dármelas de victima exclusivista, ni de autor maldito). Tengo una web, que utilizo como blog en el que escribo sobre GNU/Linux y software libre. Creo que es un triple tirabuzón en cuanto a número reducido de lectores y lectoras…

Así que mantener un blog en el que prima el texto reposado frente a la estridencia del scroll infinito y la atención de 15 segundos como máximo, me parece ser un iluso. Pero nunca me importó ser un iluso. Internet ha hecho posible la conexión de las ilusiones de ilusos como yo por todo el mundo…

¿Cómo decides qué merece convertirse en un artículo?

Simplemente lo que me apetece. No soy de dar la última noticia del la distro de moda, ni de saltar con el último cotilleo en cuanto a tal o cual reacción dentro de la comunidad de GNU/Linux.

Mi blog empezó como un sitio para apuntar técnicamente lo que iba solucionando. Como eso ya hace tiempo que dejó de ser un problema, por la estabilidad de GNU/Linux, pasé a hacer traducciones de artículos en inglés que me resultaban úiles o de noticias minoritarias que a mí me apetecía publicar sobre aquello que utilizo: openSUSE, KDE, Vim, GNU/Linux, software libre…

¿Escribes lo que realmente quieres escribir o lo que sabes que tu audiencia va a consumir?

Escribo únicamente lo que me apetece escribir. Nunca sé qué va a consumir la audiencia. Pasa que artículos que hago en 10 minutos son más leídos que aquellos a los que he dedicado más tiempo. Nunca deja de sorprenderme no poder predecir tal cosa.

Aunque últimamente los artículos son cada vez menos leídos. Sé que publico para una pequeña minoría. Pero sigo haciéndolo frente a toda lógica. No me obsesionan las métricas, si lo hiciera ya habría abandonado esta supuesta acción estéril de publicar para 20 lectores hace tiempo.

¿Cómo gestionas las críticas o los comentarios negativos?

Realmente tengo muy buena suerte con eso. No tengo comentarios negativos. Siempre hay alguno que se expresa de manera más cruda sobre algún tema, pero realmente las personas que me leer me tratan muy bien. También yo lo hago con quien me lee 🙂

Después de tantos años creando contenido, ¿qué te sigue dando ganas de sentarte frente al ordenador y publicar algo?

Me sigue motivando el creer que el trabajo de tal o cual comunidad, que tal o cual herramienta está muy bien, pero necesita ser difundida de alguna manera para darla a conocer y que se sepa de su existencia para que más gente lo utilice. Ese es mi pequeño granito de arena, dar a conocer (en las medidas de mis muy modestas posibilidades y el corto alcance de mi blog minoritario) aquello sobre lo que escribo.

Hay otras webs, en las que te podrás enterar de lo último, de la más novedosa tendencia. En mi blog, sigo publicando aquello que muchas veces pasa desapercibido y que a mí me interesa, más allá de modas o tendencias.


Si has leido hasta aquí, mi enhorabuena por esa capacidad de atención y por el interés mostrado. A tu lectura paciente le precedió mi escritura delante de un teclado. Mi blog sigue siendo escrito a mano. Nada de contenido sintético, nada de adulteraciones.

Me gustaría que otros blogueros «reciclaran» la entrevista con las mismas preguntas leer sus respuestas, sería un interesante ejercicio. Cada vez somos menos los blogueros, así que no sé si este deseo caerá en /dev/null, pero me gustaría que no fuera así ¿alguien más se anima?

Me gustaría saber tu opinión en los comentarios…

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

Conmutador de ventanas Circular Alt-Tab para Plasma 6

El movimiento lineal está muy bien, pero el circular hacer que se minimicen los desplazamientos, con lo que es una opción muy válida para crear menús, lista de opciones o la propuesta que os traigo hoy. Os presento un conmutador de ventanas circular que nos permite movernos entre ellas de forma muy eficiente. Se llama Circular Alt-Tab para Plasma 6 y es muy posible que cuando lo conozcas no quieras utilizar otro.

Conmutador de ventanas Circular Alt-Tab para Plasma 6

Una de las primeras cosas que aprendí en informática (hace más tiempo del que me gusta admitir) era que con la combinación de teclas Alt+Tab podías cambiar la ventana activa, ahorrando tiempo de movimiento de ratón. Esta funcionalidad sigue siendo una de las que más uso a lo largo de mis sesiones con el ordenador y, como es habitual, la Comunidad KDE no te ofrece una forma de visualizarlo, sino varias: rectángulo clásicos, columna lateral, pantallas completa, carrusel de ventanas, etc.

Pero siempre hay alguna forma más de hacerlo ya que en la Store de KDE hay verdaderas joyas ocultas, y algún desarrollador o contribuidor se le ha ocurrido alguna otra forma de visualizarlo.

Os presento el conmutador de ventanas Circular Alt+Tab para KDE Plasma 6 con el que las ventanas se organizan como sectores circulares alrededor del cursor.

Conmutador de ventanas Circular Alt-Tab para Plasma 6

Se trata de una creación de Lubdhak7414 y tiene las siguientes características:

  • Diseño en sectores circulares centrado en el cursor.
  • Miniaturas en tiempo real de las ventanas (iconos para las ventanas minimizadas).
  • Navegación con el ratón (pasar el cursor, clic, rueda) y teclado.
  • Diseño multianillo cuando tienes más de 8 ventanas.
  • Clic con el botón central para cerrar ventanas.
  • Fondo semitransparente que se adapta a tu tema de Plasma.
  • Probado en Plasma 6.6.5 y 6.7.0 (Wayland y X11).

Este complemento requiere qt6-5compat para el renderizado de la máscara de opacidad y está basado en PieTabSwitcher-KWin de Pavel K.

Conmutador de ventanas Circular Alt-Tab para Plasma 6

Sus opciones son básicas pero me gustaría destacar que tiene un opción que me ha parecido muy interesante: la posibilidad de acceder al escritorio como si fuera una ventana más, minimizando el resto de aplicaciones.

Para activarlo simplemente se debe ir a las opciones del conmutado y activar la opción «Incluye la opción Un Vistazo al escritorio», tal y como se muestra en la imagen inferior.

Conmutador de ventanas Circular Alt-Tab para Plasma 6

Y como siempre digo, si os gusta este conjunto de cursores Volantes podéis «pagarlo» de muchas formas en la 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

La entrada Conmutador de ventanas Circular Alt-Tab para Plasma 6 se publicó primero en KDE Blog.

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

Vigesimonovena actualización de KDE Frameworks 6 y KConfig

Como los lectores habituales del blog sabrán,el 28 de febrero de 2024 la Comunidad KDE realizó un importante salto tecnológico, uno que marcó su evolución para los próximos años. Este gran cambio a las librerías Qt 6 nos proporcionó el nuevo escritorio Plasma 6, del que ya he hablado a lo largo de muchas entradas. Pero no solo fue eso, sino que además nos trajo el salto también a KDE Frameworks 6, las librerías propias del proyecto KDE. El pasado 14 de agosto fue anunciado la vigesimonovena actualización de KDE Frameworks 6, el motor del proyecto que soporta todo el resto de la infraestructura. Como extra de este año voy a complementar esta serie con el listado y descripción de los componentes de esta importante pieza de la maquinaria de KDE.

Vigesimonovena actualización de KDE Frameworks 6 y KConfig

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.

Vigesimonovena actualización de KDE Frameworks 6 y KConfig
Konqi tiene un corazón Qt

Para los que no lo sepan, KDE Frameworks añade unas 83 librerías a la propias de 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.

De esta forma, KDE Frameworks se convierte en la base de trabajo de los desarrolladores para realizar sus aplicaciones o sus desarrollos para los entornos de trabajo (escritorio para ordenadores, plasma mobile, etc).

Un buen símil es que KDE Frameworks 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.

Como he dicho, el pasado 28 de febrero de 2024 KDE Frameworks saltó de la versión 5 a la 6, y el 14 de agosto de 2026 fue anunciado que ya tenemos la vigesimonovena actualización de la rama, es decir, que ha sido lanzado KDE Frameworks 6.29.

Hay que destacar que esta versión forma parte de una srie de versiones mensuales planificadas para poner las mejoras a disposición de los desarrolladores de forma rápida y previsible y que es absolutamente recomendable su actualización.

Más información: KDE |KDE Frameworks en el blog.

Librería KConfig

Tal y comenté el a principio de año, voy a ir describiendo cada una de las librerías que nos ofrece KDE Frameworks. El mes de febrero empecé con la única de Tier 0, o nivel base de KDE Frameworks, Extra CMake Modules (ECM), y desde el mes de marzo inicié la serie de las Tier 1 con Attica, BluezQt,KArchive, KCalendarCore y KCodecs.

Este mes seguimos con la sexta librería de KDE Frameworks, KConfig cuya función principal es proporcionar un sistema de configuración avanzado para todo el ecosistema.

Esta librería consta de dos partes: KConfigCore y KConfigGui.

KConfigCore proporciona acceso a los propios archivos de configuración. Incluye:

  • Generación de código: describe la configuración en un archivo XML y utiliza kconfig_compiler para generar clases que lean y escriban entradas de configuración.
  • Archivos de configuración en cascada (los ajustes globales son sobrescritos por los locales).
  • Soporte opcional para la expansión del shell.
  • Capacidad para bloquear opciones de configuración.

KConfigGui proporciona una forma de vincular widgets a la configuración, de modo que se inicialicen automáticamente desde ella y propaguen sus cambios de forma automática a sus respectivos archivos de configuración.

Más información:

Las librerías de KDE Frameworks 6

Las librerías que conforman KDE Frameworks se categorizan, según podemos leer en la documentación de KDE API Reference/KDE Libraries, en varios niveles de complejidad, categorías o, en inglés,Tier, que es como lo vamos a leer en muchos sitios.

De esta forma tenemos el siguiente listado categorizado.

Tier 0: nivel base de KDE Frameworks, independiente de cualquier otro framework de KDE.
Extra CMake Modules (ECM)
Módulos extra de CMake

Tier 1: dependen solo de Qt (y posiblemente un pequeño número de otras bibliotecas de terceros), por lo que pueden usarse fácilmente en cualquier proyecto basado en Qt.

Tier 2: dependen adicionalmente de frameworks de Tier 1, pero aún tienen dependencias fácilmente manejables.

Tier 3: son generalmente paquetes más potentes y completos, y por consiguiente tienen dependencias más complejas.

Tier 4: pueden ser en gran parte ignorados por los programadores de aplicaciones; este tier consiste en plugins que actúan en segundo plano para proporcionar funcionalidad adicional o integración de plataforma a frameworks existentes (incluyendo Qt).

El único tier de esta categoría o nivel es FrameworkIntegration

En un futuro iremos describiendo cada una de estas librerías, con sus usos más comunes.

La entrada Vigesimonovena actualización de KDE Frameworks 6 y KConfig se publicó primero en KDE Blog.

the avatar of openSUSE News

openSUSE Asia Summit 2026 Pre-Schedule Is Now Available

openSUSE.Asia Summit 2026 Pre-Schedule Is Now Available

Hello Geeko! 👋

After a long selection process, the openSUSE.Asia Summit 2026 Organizing Committee is pleased to announce that the Pre-Schedule is now available!

This year, we received 114 proposals from 85 speakers, making the selection process both exciting and challenging. We are grateful to everyone who shared their ideas and contributed to the program.

Curious about what will be presented at the summit? Explore the sessions and start planning which talks and workshops you would like to attend.

👉 View the openSUSE.Asia Summit 2026 Schedule

Important Note

This is a preliminary schedule. Some changes to session times, rooms, speakers, or the overall program may still occur before the conference. We will share further updates as the schedule is finalized.

We look forward to welcoming the openSUSE and open source communities to Yogyakarta, Indonesia, on 3–4 October 2026.

See you at the summit! 💚

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

Hacia un verdadero soporte LTS de todo el ecosistema KDE (de nuevo)

Hoy me hago eco de una noticia que me ha sorprendido porque hace meses parecía que se cerraba esta vía pero que creo que es sumamente positiva. De hecho este es una de las sinergias más positivas entre Comunidades de Software Libre y empresas privadas. Y es que hoy os comparto que se ha iniciado el trabajo hacia un verdadero soporte LTS de todo el ecosistema KDE, una rama que por motivos razonados fue cancelada hace un tiempo.

Hacia un verdadero soporte LTS de todo el ecosistema KDE (de nuevo)

Los que seguimos la evolución del proyecto KDE el año pasado, los desarrolladores de Plasma cancelaron la versión de soporte a largo plazo (LTS) de Plasma por diversos motivos entre los que se encuentraban que el reporte de errores no era satisfactoria, que casi nadie utilizaba la LTS (básicamente Kubuntu) y que en realidad no era una LTS de verdad ya que solo se hacían correcciones para Plasma, pero nada para KDE Frameworks ni para las aplicaciones de KDE alineadas con Gear.

Pero esto ha cambiado con esta versión de Plasma 6.6, que se convierte en una versión LTS con tres años de mantenimiento. El soporte abarcará también KDE Frameworks 6.24 y KDE Gear 25.12, es decir, las versiones que incluye Kubuntu 26.04. De este modo, no se mantendrá únicamente la capa visible del escritorio, sino el conjunto de componentes KDE del sistema.

Hacia un verdadero soporte LTS de todo el ecosistema KDE (de nuevo)

Y esto ha sido posible gracias a la un acuerdo entre Kubuntu Focus y Techpaladin Software llamado Bullet-Proof KDE Initiative que se estructura de la siguiente forma:

  • La financiación económica del proyecto corre a cargo de Kubuntu Focus.
  • Kubuntu Focus patrocina a Techpaladin Software para investigar y corregir los errores reportados por los usuarios de Kubuntu 26.04.
  • Asimismo, Kubuntu Focus financia recursos adicionales de integración continua (CI) que son propiedad de KDE e.V. (la asociación sin ánimo de lucro de KDE). La iniciativa requiere el acuerdo expreso y la aprobación de KDE e.V. para aceptar los fondos e integrar dicha infraestructura.

Evidentemente, este esfuerzo comercial entre Kubuntu Focus y Techpaladin, sus beneficios estarán disponibles para todos los usuarios de Kubuntu 26.04, no solo para quienes compren hardware de Kubuntu Focus. También espera que parte de la infraestructura y de las correcciones resulte útil para el desarrollo general de KDE.

Más información: Adventures in Linux and KDE

La entrada Hacia un verdadero soporte LTS de todo el ecosistema KDE (de nuevo) se publicó primero en KDE Blog.

the avatar of openSUSE News

openSUSE Asia Summit Pre-Schedule Is Now Available

openSUSE.Asia Summit 2026 Pre-Schedule Is Now Available

Hello Geeko!

After a long selection process, the openSUSE.Asia Summit 2026 Organizing Committee is pleased to announce that the Pre-Schedule is now available!

This year, we received 114 proposals from 85 speakers, making the selection process both exciting and challenging. We are grateful to everyone who shared their ideas and contributed to the program.

Curious about what will be presented at the summit? Explore the sessions and start planning which talks and workshops you would like to attend.

View the openSUSE.Asia Summit 2026 Schedule

Important Note

This is a preliminary schedule. Some changes to session times, rooms, speakers, or the overall program may still occur before the conference. We will share further updates as the schedule is finalized.

We look forward to welcoming the openSUSE and open source communities to Yogyakarta, Indonesia, on 3–4 October 2026.

See you at the summit!

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

Integración de NFC en Plasma Mobile

Integración de NFC en Plasma Mobile

Volker Krause, un desarrollador de la Comunidad le ha dado por examinar el estado de la tecnología NFC (Near Field Communication) en el ecosistema de Linux y las iniciativas para integrarla en Plasma Mobile (KDE) llegando las siguientes conclusiones:

En primer lugar Volker ha pensado en los casos en los que utilizamos preferentemente NFC. En un principio la lectura de etiquetas NDEF estáticas era la aplicación básica, pero en la práctica ha sido desplazada por los códigos QR.

Integración de NFC en Plasma Mobile

De esta forma, los usos más relevantes del NFC residen en la interacción mediante el enfoque de tarjeta inteligente (smart card), donde se envían comandos bidireccionales:

  • Autenticación con tokens FIDO2 / Passkeys.
  • Lectura de documentos de identidad digitales (como la AusweisApp en Alemania).
  • Cerraduras digitales (protocolo Aliro) o llaves de hotel en carteras digitales.
  • Emulación de tarjeta (HCE – Host Card Emulation), fundamental para simular una tarjeta de crédito en los pagos móviles.

Con este panorama, Volker, ha decidido estudiar el el conjunto de componentes actuales en el ecosistema Linux, los cuales presentan varias deficiencias:

  • Controladores: Conviven el sistema de controladores PC/SC (orientado a lectores USB en escritorio) y el subsistema NFC del kernel de Linux (utilizado por teléfonos y lectores integrados en portátiles).
  • Middleware (neard): Es el servicio estándar para hacer de puente entre el hardware y las aplicaciones a través de D-Bus. Sin embargo, se encuentra prácticamente desatendido o estancado: se cuelga con ciertos tipos de etiquetas, solo admite operaciones básicas NDEF y carece de soporte para enviar comandos personalizados o para HCE. Por otro lado, la alternativa nfcd (de SailfishOS) soporta características avanzadas pero depende de la interfaz NFC de Android en lugar del kernel de Linux.
  • API y Aplicaciones (Qt NFC): Soporta las funciones necesarias, pero la integración con Linux tiene limitaciones estrictas (los backends PC/SC y neard se eligen en tiempo de compilación y no se pueden alternar dinámicamente; las funciones avanzadas fallan por falta de soporte en neard).

A partir de la situación actual, Volker, opina que probar hardware físico como lectores NFC o dispositivos como Proxmark3 suele ser engorroso. De esta forma piensa que se debe aprovechar que el kernel de Linux soporta dispositivos NCI virtuales, y ha creado una herramienta en espacio de usuario para emular lectores y etiquetas NFC totalmente por software, lo que facilita las pruebas en entornos de desarrollo o en imágenes de postmarketOS.

Y dado que es desarrollador de Plasma Mobile se dispone de dotar a Plasma Mobile de soporte NFC, el autor ha desarrollado las primeras interfaces y demonios:

  • Applet de Plasma: Un interruptor rápido en el sistema para activar/desactivar el NFC y controlar su estado.
  • Neardevil: Un demonio para la sesión de usuario (al estilo de bluedevil para Bluetooth) que gestiona el estado de los lectores, lanza notificaciones al detectar etiquetas NDEF, gestiona el emparejamiento Bluetooth/Wi-Fi mediante NFC y permite recibir contactos (vCards).

No obstante, Volker piensa que existe el problema de depender de neard bloquea el desarrollo de los casos de uso más avanzados e interesantes (pagos, FIDO2, tarjetas de identidad). Para avanzar, el autor plantea tres posibles vías a la comunidad de Linux Móvil:

  1. Revivir y actualizar el proyecto neard.
  2. Crear un backend nativo para el kernel de Linux en nfcd.
  3. Desarrollar o bifurcar (fork) una solución propia que sirva como estándar unificado para todo el ecosistema de Linux Móvil.

¿La solución? Mejor os dejo la reflexión final de Volker:

«Sin embargo, ese “nosotros” no se refiere solo a KDE; necesitamos algo que funcione para todo el ecosistema de Linux móvil. Se trata de una infraestructura de plataforma compartida que suele requerir acceso exclusivo al hardware, por lo que no va a funcionar si cada uno intenta hacer la guerra por su cuenta.

¡Cualquier opinión o aportación sobre esto será enormemente bienvenida!»

Así que ya sabéis, si tenéis algo que aportar no dudéis en plasmarlo en el hilo de comentarios del artículo original: NFC Integration for Plasma Mobile

La entrada Integración de NFC en Plasma Mobile se publicó primero en KDE Blog.

the avatar of Nathan Wolf

Linux Saloon 216 | Open Mic Night

The content discusses various technology and Linux-related updates, including a live weekend discussion about user experiences with Fedora and job openings at Epic Games focused on Linux security. It also covers IBM's new chip architecture advancements and Dell surpassing HP in U.S. PC sales amid a shrinking market.

the avatar of openSUSE News

openSUSE Kudos Recognitions for July 2026

Welcome to our monthly report from the openSUSE Kudos recognition platform, where we take a moment to put a spotlight on the people who stepped up, helped others, and made this community a little brighter.

During 1-31 July 2026, 4 users received 4 kudos, and 4 badges were awarded to 3 contributors.

Badges

  • Got First Kudo: @bmwiedemann, @dgarcia, @voztuzun
  • First Kudos Given: @voztuzun

Congrats on your badges!

Kudos

@lkocman -> @bmwiedemann for Code & Engineering “Thank you for your quick help with Leap 16.0 respin torrents Bernhard! strong” (view recognition)

@lkocman -> @dgarcia for Code & Engineering “Many thanks for your work and creativity at fixing the beets CVE. Thanks to your extra steps we could avoid update of the problematic python-numpy. Community really appreciates your help Daniel!” (view recognition)

@lkocman -> @voztuzun for Code & Engineering “Many thanks for helping me out with the cecpes and python-requests-gssapi updates Volkan! Your quick help was very much appreciated!” (view recognition)

@voztuzun -> @lkocman for Code & Engineering “Thank you Lubos!!!! Please come to the next concert!” (view recognition)

Thank you to everyone who made this period so active and welcoming. The community is strongest when we notice each other’s work and celebrate it openly.

Generated by kudos-bot-news-o-o from https://kudos.opensuse.org/api/reports/monthly for the period 1-31 July 2026.

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

GSoC 2026 Final Report: Enhancing openSUSE Git Workflow


1. Project Overview & Objectives

In openSUSE, package maintainers rely on the Open Build Service (OBS) to build software packages across multiple distributions and architectures. The autogits repository hosts core automation services for openSUSE’s Gitea forge (src.opensuse.org), including obs-status-service, a Go service deployed at br.opensuse.org that renders build results as SVG badges and matrices for repository READMEs and pull requests.

Proposal Goals & Evolution

The main goal of the proposal was to modernize obs-status-service to make OBS build results more accessible and visually integrated into Gitea.

During the coding period, together with my mentor, we prioritized:

  1. Refactoring the core engine: Replacing legacy manual XML/SVG string concatenation with modular Go text/template architecture.
  2. Modern UI & Theming: Incorporating native Gitea light/dark CSS variables and responsive dimensions.
  3. Scalability & Performance: Optimizing rendering for large distributions with thousands of packages like openSUSE:Factory by introducing aggregated Repository Summaries (?mode=repos) and Project Progress Bars (?mode=bars).
  4. Real-time Interactivity: Investigating browser SVG execution environments and creating a client-side polling prototype.
  5. Ecosystem & Upstream Work: Contributing UI improvements directly to upstream Gitea.

2. Deliverables & Technical Achievements

Pre-GSoC Tooling & Developer Experience

  • Offline Mock Test Mode (PR #118 - Merged): Created a RedisClient interface mocking strategy loading compressed OBS data (factory.results.json.bz2), enabling offline local testing via the --test-run flag.
  • Interactive Link Builder (PR #119 - Merged): Replaced the root 404 handler with an interactive Pico CSS web UI that generates direct badge URLs, live SVG previews, and ready-to-copy Markdown snippets.

Core Architecture & Template Engine

  • Go text/template & go:embed (PR #364 - Merged): Replaced manual string formatting with modular, embedded templates (shared.tmpl, status-badge.tmpl, package-summary.tmpl, project-summary.tmpl, project-matrix.tmpl) with explicit XML data escaping and matrix integration tests.

Theming, Responsiveness & Scalability

  • Native Gitea Theming (PR #402 - Merged): Extracted official Gitea light/dark theme CSS variables and resolved :root selector styling bugs inside SVG containers.
  • Responsive Compact Mode (PR #402 - Merged): Added ?compact=true|false|auto with 90° rotated headers and square indicator cells for wide matrices.
  • Repository Summary View (PR #451 - Merged): Implemented ?mode=repos to aggregate builds by repository and architecture, providing a fast and lightweight overview for large distributions like openSUSE:Factory.
  • Project Progress Bars & Unified API (PR #462 - Merged): Added ?mode=bars and unified visualization query endpoints under a clean ?mode= parameter (repos, bars, compact, matrix). Fixed link targets with target="_top".

Before (Legacy String Concatenation):

Legacy SVG

After (Go Templates & Native Gitea Theme):

New Template-based SVG

Real-Time SVG Interactivity & Polling

  • Browser Security & Execution Research (test-js): Tested SVG script execution across browser contexts (<img> sandboxes scripts, while <object> tags execute JavaScript in trusted Gitea contexts).
  • Throttled Polling Prototype (PR #487 - In Review): Embedded client-side JavaScript in SVG templates that uses throttled setTimeout polling against JSON endpoints (Accept: application/json) to update badge text and CSS classes in real time without page reloads.

Upstream Gitea Contributions

  • Reputation Labels Frontend (Commit 1e5a39c - Proposal / Initial Implementation): Implemented an initial proposal and frontend implementation for user and organization reputation badges across profile headers and explore pages (/explore/users, /explore/organizations).

3. Pull Requests & Code Contributions

Primary Repository (git-workflow/autogits)

PR Title Status Description
#118 Implement initial test-run option (#113) Merged Mock Redis client and --test-run mode with realistic test data.
#119 Add default landing page with link builder (#114) Merged Root / interactive badge builder UI and Markdown generator.
#364 refactor(obs-status-service): migrate SVG rendering to templates Merged Migration to Go text/template architecture with go:embed.
#402 feat: responsive compact mode, layout fixes & Gitea theming Merged Gitea light/dark colors, dynamic column sizing, and compact view.
#451 feat: Restore Project Matrix SVGs and fix bugs Merged SVG CSS selector fixes, link targets, and repository summaries.
#455 svg_fixes In Review SVG fixes and enhancements branch consolidating recent updates.
#462 feat: Use '?mode=' param for SVG visualizations Merged Unified ?mode= API (repos, bars, compact, matrix).
#487 feat: dynamic SVG status badge polling and DOM updates In Review Real-time client-side polling with throttled setTimeout.

Upstream & Research Repositories

Item Repository Status Description
Commit 1e5a39c mmarhin/gitea Proposal Initial implementation of frontend reputation labels in profiles and explore views.
test-js mmarhin/test-js Completed SVG JavaScript execution testbed across browser contexts.

4. openSUSE Conference 2026 Presentation

During the program, I was invited to attend the openSUSE Conference 2026 (oSC26) in Nuremberg. I delivered a 4-minute lightning talk showcasing the project architecture, SVG modernization, and real-time status updates, and had the chance to meet and connect in personal with the openSUSE team and community.

oSC26 Lightning Talk Presentation

Lightning talk at openSUSE Conference 2026

openSUSE Conference 2026 Group Photo

openSUSE Conference 2026 group photo in Nuremberg


5. Current State & Future Work

  • Current Status: All primary milestones are completed, tested, and deployed in production on br.opensuse.org, rendering live template-based SVG build status and repository matrices across openSUSE repositories. The consolidated enhancements are merged, alongside the dynamic polling prototype (PR #487).
  • Next Steps:
    • Extend real-time client-side polling to project matrix and repository summary views.
    • Integrate structured build status summaries into automated Gitea PR comment bots.
    • Explore Log Detective integration for automated build failure triage in pull requests.

6. Acknowledgments

I would like to express my deepest gratitude to my mentor Daniel García Moreno (@dgarcia) for his constant mentorship, code reviews, and architectural guidance throughout the summer.

A special thanks to Adam (@adamm), maintainer of the autogits repository, for his valuable feedback and insights on scaling the service for large OBS distributions like openSUSE:Factory.

Finally, thank you to the openSUSE Community and Google Summer of Code for this incredible opportunity.