First Pixel Wheels release of 2022 is out, and this one brings in some serious translation work! While 0.21.0 was available in 2 languages: English and French, version 0.22.0 bump this number to 7, adding the following supported languages:
Thanks to the generous work of all translators!
Translations!
Last release of SFXR-Qt was in September 2019. I kept using it for Pixel Wheels, it had its quirks and bugs but I did not have the time and motivation to work on it, so the poor app was left on its own for more than two years.
Fast forward to November 2021: SFXR-Qt was added to Debian! It always feels good to see an app getting more widespread, with the minor issue that I learned about it because tests did not pass on big-endian machines... Working on that bug was a bit frustrating because I do not own a big-endian machine and failed to setup a working big-endian VM to test my changes on, but after a few blind fixes I eventually got it fixed. Kudos to Alex Myczko, the bug reporter, for the responsiveness in testing my changes.
This year I once again participated to Inktober, the yearly challenge where you draw and ink one drawing a day each day of October. The Inktober web site provides a "prompt list": a list of words for each day, which you can (but are not forced to) follow.
Inktober 2021 prompt list
I have been playing StarCraft II in the last few months so the first word: "crystal" made me think of a Protoss pylon... this ended defining my theme for this year: 31 StarCraft II drawings! Some words required a bit of creativity to find a StarCraft link for them, but I somehow managed to find an idea for all of them.
I can't believe it's been 3 months since Pixel Wheels 0.20.0 release! I am going to blame, in no particular order, holidays, changing job, and some hard-to-track bugs :)
Pixel Wheels 0.21.0 now speaks multiple languages! Actually it only speaks French in addition to English for now, but 2 counts as multiple, right? Others languages are in the queue: Spanish should be in 0.22.0 and hopefully Bengali too (but this one requires more work on the code base to be correctly supported) If you are interested in translating Pixel Wheels to another language, head over to the translation doc.
The other day I was thinking about how I came to create Gwenview and realized the story of its genesis and the reason behind its unusual (for a KDE application) name is not widely known. Time to write an article on this topic. At least one long-hidden secret is going to be revealed in this article… so let's get started!
This odd character was Gwenview 0.1.0 icon
You may have heard me complaining about it, but I struggled for a long time to understand and fix Pixel Wheels bug #119.
In the end what really helped me understand that bug was providing a way for affected players to report detailed logs when the problem was happening.
Many apps do this by collecting data and sending it to a log server. I find this a bit creepy, so I did not want to go down that way. Another approach is to log into a log file accessible to other applications and ask players to attach the log file to their bug report. That is not really convenient though: especially on Android, users are not familiar with the file system hierarchy.
When I started limiting the scope of Pixel Wheels 1.0.0 (so that I can release it before hitting retirement age 😉) I initially moved translation support out. After all, many games are English only. But after thinking about it some more I realized it was wrong: just like apps, games should be accessible to as much people as possible, so I moved translation support in the 1.0.0 milestone.
So 0.19.0 was supposed to be the last version before 1.0.0, then it was 0.19.1, but here comes 0.20.0! You might be wondering what's wrong with me...
What happened is I started piling in bug fixes and small improvements, and I felt it would be better to release them sooner instead of keeping them and release all fixes at once in this 1.0.0 version I announced. So... here is version 0.20.0.
The car now looks like a surf minibus:
The menu music is now Lightspeed, by Thomas Tripon.
I reworked the way the game tells the player when they broke a personal record. In the race time table screen, a car drives in congratulating the player, then record indicators arrive next to the matching time in the time table.
The idea: whenever your CI builds the code from your main branch, do not ditch the build results: publish them instead. This makes it easy to provide QA engineers or bug reporters with new builds to try.
I first experienced this setup at work, where we use Jenkins. Jenkins is not my preferred CI system, but to its credit, it makes it super easy to implement this feature: add a step to archive artifacts, either using the GUI or using the archiveArtifacts pipeline command.
We actually do this for all builds at work, not only master branch builds. It makes the life of our QA engineers much easier. Our workflow looks like this:
I thought it would be a good idea to setup something similar for my own projects, which are hosted on GitHub and use GitHub CI.
I expected a feature like this to be readily available, but I could not find exactly what I wanted. GitHub provides a way to download artifacts from a build but it's not ideal:
This month I spent my time on Git Bonsai and Pixel Wheels.
A user reported a bug with Git Bonsai: when working on a repository checkout with multiple work trees, Git Bonsai would crash (#5).
I fixed this and released version 0.2.1. This version fixes the crash and comes with reworked, more Rust-like error handling as I am still using the project to teach myself the Rust language.
The rest of my time was spent on Pixel Wheels. Here are the player-visible changes: