Do not let the AI to remove the fun part from software development. We shouldn't allow gen AI to write software just because it "can". First, we must ask if it "should" do it, and even then, we should ask if we want to delegate the fun part, the thinking, the writing, the learning. Remember what's important, journey before destination, we are the Code : Do not let AI to destroy the community, do…
openSUSE is migrating the package source management from osc to git . I will try to explain here what it is the "git workflow" in openSUSE and give some practical information for contributors and maintainers. You can find some documentation in the openSUSE wiki Why? openSUSE uses Open Build Service to store package sources (.spec files and patches). The source control is similar to subversion , so…
As a follow up of the Hackweek 24 project , I've continued working on the gnome-tour fork for openSUSE with custom pages to replace the welcome application for openSUSE distributions. GNOME Tour modifications All the modifications are on top of upstream gnome-tour and stored in the openSUSE/gnome-tour repo Custom initial page A new donations page . In openSUSE we remove the popup from GNOME shell…
This week is the last week of Google Summer of Code for this year edition, and I'll do a summary of what we have been doing and future plans for the Log Detective integration in openSUSE. I wrote a blog post about this project when it starts, so if you didn't read, you can take a look . All the work and code was done in the logdetective-obs github repository . Aazam, aka the intern, also wrote…
I'm glad to say that I'll participate again in the GSoC , as mentor. This year we will try to improve the RPM packaging workflow using AI, as part of the openSUSE project. So this summer I'll be mentoring an intern that will research how to integrate Log Detective with openSUSE tooling to improve the packager workflow to maintain rpm packages. Log Detective Log Detective is an initiative created…
In 2020, the Python foundation declared Python 2 as not maintained anymore . Python 2 is really old, not maintained and should not be used by anyone in any modern environment, but software is complex and python2 still exists in some modern Linux distributions like Tumbleweed. The past week the request to delete Python 2 from Tumbleweed was created and is going through the staging process. The main…
It's the time for a new Hack Week . The Hack Week 24 was from November 18th to November 22th, and I've decided to join the New openSUSE-welcome project this time. The idea of this project is to revisit the existing openSUSE welcome app, and I've been trying to help here, specifically for the GNOME desktop installation. openSUSE-welcome Right now after installing any openSUSE distribution with a…
I'm glad to say that I'll participate again in the GSoC , as mentor. This year we will continue the work done during the past year, as part of the openSUSE project. So this summer I'll be mentoring an intern and we'll continue working on improving the testing framework of the rpmlint project . This year we've a better testing framework, thanks to the work done during the past Summer of Code, by…
Python 3.13 beta 1 is out , and I've been working on the openSUSE Tumbleweed package to get it ready for the release. Installing python 3.13 beta 1 in Tumbleweed If you are adventurous enough to want to test the python 3.13 and you are using openSUSE Tumbleweed, you can give it a try and install the current devel package: # zypper addrepo -p 1000…
Python is a interpreted language, so the python code are just text files with the .py extension. For simple scripts it's really easy to have your files located, but when you starts to use dependencies and different projects with different requirements the thing starts to get more complex. PYTHONPATH The Python interpreter uses a list of paths to try to locate python modules, for example this is…
Hack Week is the time SUSE employees experiment, innovate & learn interruption-free for a whole week! Across teams or alone, but always without limits. The Hack Week 23 was from November 6th to November 10th, and my project was to gvie some love to the GNOME Project . Before the start of the Hack week I asked in the GNOME devs Matrix channel, what project needs some help and they gave me some…
The new version of the GNOME desktop was released more than one month ago. It takes some time to arrive to the final user, because distributions should integrate, tests and release the new desktop, and that's not something simple, and it should integrate in the distribution release planning. So right now, it's possible that there's just a few people with the latest version of the desktop right…
More than a year has passed since I switched to openSUSE Tumbleweed Linux distribution, in both, my work computer (for obvious reasons) and in my personal computer and I can say that I'm really happy with the change. Tumbleweed is a rolling release distribution, and in this kind of distributions there are a lot of changes every week, if you want the latest software, this kind of distribution is…
We are at the end of the summer and this means that this year Google Summer of code is ending. The recent changes applied now in the main branch include: Remove usage of pkg_resource because it's deprecated. Fix elf binary check with ELF files with a prefix. New check for python packages with multiple .pyc files for different python versions. Improve the testing framework (merged the work done…
openSUSE Tumbleweed is a rolling release distribution, so it's ideal for developers and users that like to have the bleeding edge software. It's also really "stable" to be a rolling release, from time to time you can find a broken package because of one package is updated and another one is not compatible yet, but it's something that doesn't happen too often thanks to openqa tests , so you don't…
I'm spending some time every week working in the rpmlint project. The tool is very stable and the functionality is well defined, implemented and tested, so there's no crazy development or a lot of new functionalities, but as in all the software, there are always bugs to solve and things to improve. The recent changes applied now in the main branch include: Update the usage of rpm to not use old…
I'm glad to say that I'll participate again in the GSoC , as mentor. This year will be a bit different from the previous ones, because I'm not mentoring a GNOME project but a openSUSE project. I started to work at SUSE the past year and with this new job I get involved in the openSUSE community and I started to contribute to rpmlint . So this summer I'll be mentoring an intern and we'll work on…
Hack Week is the time SUSE employees experiment, innovate & learn interruption-free for a whole week! Across teams or alone, but always without limits. This year the Hack Week was this week, the last week of January and for my first SUSE hack week I decided to work in something funny, LILS . Linux Immersive Learning System (LILS) I don't think that this is a good name, but don't focus on it. The…
Is the end of 2022 and the beginning of 2023, so it's the right time to look back and see what great things happened during the year, and also it's the time to plan some new year resolutions. My contribution to GNOME in 2022 I've been focused this year on the GNOME Translation Editor , migrating it to Gtk4. It's not ready yet, but I hope I will be able to have a working version soon™. It started…
This week I've started to work at SUSE . I'll be working as Python Specialist, in the packaging team, so I will go back to work on packaging and distribution after more than ten years. My first job in 2008 was working on a Ubuntu based local distribution, Guadalinex , so packaging and distribution work is not something new for me. Python Python was the first language that I fell in love. I learned…
The GUADEC is back! This year, the famous GNOME developers meeting event, the GUADEC , gets back to "normal" after the last year global COVID-19 situation. And when I say normal, I'm talking about people meeting in one place to share knowledge and to build a great community around this great software project. This year the even was in Guadalajara, Mexico, and that's great, but a bit far to go from…
Chess I've been always interested in Chess, but never learned to play it correctly or even spent some time playing more than a couple of matches with friends. But during the COVID lockdown I started to watch people playing chess , and then I realized that the game is even more fun than I expected. After that I started to play a bit online and discovered the great online platform Lichess , that's…
GNOME Translation Editor, Road to Gtk4 It's time to move to Gtk4. That could be an easy task for new project or for small projects without a lot of custom widgets, but gtranslator is old and the migration will require some time. Some time ago I did the Gtk2 to Gtk3 migration. It was fun and during the journey we redesigned a bit the interface, but the internals didn't change a lot. Now we can do…
This year I've started with something that I wanted to do since the first COVID lockdown, but never did. So as a first year resolution I decided to start streaming and I created my Twitch channel Abentogil . I've been thinking about streaming since lockdown, when a group of Spanish people created a nice initiative to teach kids how to code and other tech stuff. I never participated on that…
In the last year I've seen some really good musician that performs all the instruments in a song with just a loop machine, recording each instrument one by one in tracks and looping. I was thinking that it should be easy to have a desktop application that does exactly the same, just some tracks to record some sounds and the playback with a loop option, and that's what I created during this week.…
The past Friday was the last day of the Endless Orange Week . It was a nice and fun experience, and even if I was not able to do as much as I wanted, we were able to make something that "works" in the Hack project. The Hack Quest editor The first step to have custom quests on the Hack app was to complete the Ink language support. We started to work on this some time ago, but never completed the…
This week (Nov 8 – 12) I am participating in Endless Orange Week, a program where the entire Endless team engages in projects designed to grow our collective learning related to our skills, work and mission. We propose a project, that could be anything, and then work during the whole week, without distraction. I've choosed to work on the Hack project , that's a really nice project that needs some…
In this year GSoC, Alejandro is working on Fractal, moving code from the backend to the client, to try to simplify the code used to communicate with the matrix.org server and maybe in the future we can replace fractal-matrix-api with the matrix-rust-sdk . And then we'll have less code in our project to maintain. This is a great work, something needed in a project with a technological debt of…
I'm glad to say that I'll participate again in the GSoC , as mentor. This summer we'll try to implement multi-account support in Fractal . The selected student is Alejandro Dominguez (aledomu), that is collaborating with Fractal since the Seville Hackfest in December 2018, doing a great work in the backend. Alejandro is young developer with a lot of energy and ideas, so it's great to have this…
The Outreachy Program The outreachy program ended the past week and we've done great improvements during this four months of work. I'm very happy with the result and with the work of the two interns and also the GNOME co-mentors that make this possible. If we're lucky the interns will continue contributing in the future and we can see the GNOME comunity growing in developers and diversity 🎉.…
The Outreachy Program The Outreachy program provides internship to work in Free and Open Source Software. This year I've proposed two projects as part of the GNOME project and we've two interns working for three months, so we'll have a lot of improvements in the following months! I'll be mentoring these interns, so I will need to spend some time helping them to work on the existing codebase, but…
The event The Linux App Summit (LAS) is a great event that bring together a lot of linux application developers, from the bigger communities, it's organized by GNOME and KDE in collaboration and it's a good place to talk about the Linux desktop, application distribution and development. This year the event was organized in Barcelona, this is not too far from my home town, Málaga, so I want to be…
Spain is a big region with a lot of languages, we've the official one for the whole region, Spanish or Castilian (es-ES), and other officials languages spoken in other regions, like the Galician (gl-ES) spoken in Galicia, the Basque (eu-ES), spoken in the Basque Country, the Catalan (ca-ES) spoken in Catalonia. But we've more languages that doesn't have the same official support, the Valencian,…
I've a ThinkPad X1 Yoga , that's basically a ThinkPad X1 Carbon 4th but with a touch screen with a pencil that works like a wacom tablet. I've this laptop since 2016. The first thing that I did when I received it was install a GNU/Linux operating system. I'm a GNU/Linux user since the year 2000 going through a lot of distributions, Debian, Ubuntu, Archlinux, etc. When I received this computer I've…
Recently I've been working in the EOS update. The change is really big because EOS has some modifications over the upstream code so there are a lot of commits applied after the last stable upstream commit. EOS 3.5 was based on gnome 3.26 and we are updating to use the gnome 3.32 so all the downstream changes done since the last release should be rebased on top of the new code and during this…
I've the strength of the one that fails, trains and returns Some time ago I wrote about my interview process trying to get a job at GNOME. After this blog post was published in the GNOME planet, I received a lot of comments from the Great GNOME community. This guided me to take a look to the companies that was looking for GNOME developers and after some interviews I finally get an offer to work on…
This week I started a new small project called Timetrack , you can find the code in the gnome gitlab . This is a simple app to store an activity log in a sqlite database and to provide useful reports in the future. The main idea is to use this for may day to day work, so I'll be able to keep track of my working hours and other activities. The need There's a lot of timetrack applications. There are…
The Outreachy program is a three month internship to work in FOSS. There are two periods for the outreachy, the first one from December to March and the other one from May to August. It's similar to the Google Summer Of Code, but in this case the interns doesn't need to be students. I proposed some ideas for interts to work on GNOME, with me as a mentor. I wrote three proposals this time: Extend…
The Friday 14th was the last day of the second Fractal Hackfest . I've not spend much time writing real code, the Thursday was mainly another hacking day and I've been able to continue with the fractal-backend creation, but there's a lot of work to do there. But the hackfest was really productive, we've talked about big issues, project management, some design ideas, new functionalities, the…
First two days of work The Tuesday 11th started the second Fractal Hackfest . I've organized this hackfest in Seville, the city where I studied computer science and here I've a lot of friends in the University so is a good place to do it here. The weather was important too for the hackfest selection, in December Seville is a good choice because the weather is not too cold, we're having sunny days.…
I tried and I failed. This summer, during the GUADEC 2018, the GNOME foundation announces some job positions. One of that job was for a Gtk+ core developer . I tried to get that job and after a long period I was rejected. The final developer selected for this possition is Emmanuel Bassi , a very active developer in the core of GNOME and the one that's behind the great The History of GNOME Podcast…
I'm pleased to announce the new GNOME Translation Editor Release. This is the new release of the well known Gtranslator . I talked about the Gtranslator Ressurection some time ago and this is the result: This new release isn't yet in flathub, but I'm working on it so we'll have a flatpak version really soon. Meantime you can test using the gnome nightly flatpak repo. New release 3.30.0 This…
The last week I received a telegram message about Gtranslator , that was unmaintained for a long time. GNOME translators uses different tools to translate .po files, Gtranslator is a tool for translator that is integrated with the GNOME desktop, but with the time, Gtranslator is getting old and there are several known bugs that never get fixed. So I decided to go ahead and become the maintainer of…
Recently I've been working again in the rust port of libgepub , libgepub is C code, but in the rust-migration branch almost all the real functionality is done with rust and the GepubDoc class is a GObject wrapper around that code. For this reason I was thinking about to use gnome-class to implement GepubDoc . Gnome-class is a rust lib to write GObject code in rust that's compatible with the C…
In 2010 I was working with evince, the gnome PDF document viewer, trying to add some accessibility to PDF files. That was really hard, not because GTK+ or ATK technology but because the PDF format itself. The PDF format is really cool for printing because you know that the piece of paper will look the same as the PDF doc, and because it's vector it scales and don't loose quality and files are…
The last month I wrote a blog post about the LMDB Cache database and my wish to use that in Fractal. To summarize, LMDB is a memory-mapped key-value database that persist the data to the filesystem. I want to use this in the Fractal desktop application to replace the current state storage system (we're using simple json files) and as a side effect we can use this storage system to share data…
GUADEC 2018 GUADEC is the GNOME Users And Developers European Conference , is an annual conference that take place in Europe, and this year was in Spain, so I should go. I've became a foundation member this year and I've two Google Summer of Code students from GNOME organization working on Fractal, so this year GUADEC was an important one for me. This year GUADEC was in Almería and I was there for…
Some days ago I was in a meeting talking about the E2E implementation for Fractal, to know the current implementation state and to talk with other developers. This meeting was promoted by Puri.sm people, because they want to use Fractal for the Librem5 phone and they want to have E2E. There's people working in the E2E and I think we can have this on Fractal at the end of the year, but this is not…
Yesterday I read a blog post about the new Riot.im Stickers. This is not a matrix.org feature, it's implemented as a widget, when you send an sticker you're sending a new event with the type "m.sticker", which is similar to the "m.image" event. The matrix.org protocol is flexible so this is a good example of how to add new features to the clients that uses matrix without the need to change the…
The second day of Fractal hackfest was really productive, we talk about a lot of topics and takes some important decisions. E2E Encryption The encryption is a needed feature but encryption is hard to do in rooms. Matrix uses public-key cryptography, for rooms they are using Megolm , that's a protocol to exchange encrypted messages with more than one and share that message keys in a one-to-one…