Came Full Circle
As mentioned in the previous post I've been creating these short pixel art animations for twitter and mastodon to promote the lovely apps that sprung up under the umbrella of the GNOME Circle project.
I was surprised the video gets actually quite long. It's true that a little something every day really adds up. The music was composed on the Dirtywave M8 and the composite and sequence assembled in Blender.
Please take the time to enjoy this fullscreen for that good'ol CRT feel. If you're a maintainer or contributer to any of the apps featured, thank you!
Came Full Circle
As mentioned in the previous post I’ve been creating these short pixel art animations for twitter and mastodon to promote the lovely apps that sprung up under the umbrella of the GNOME Circle project.
I was surprised the video gets actually quite long. It’s true that a little something every day really adds up. The music was composed on the Dirtywave M8 and the composite and sequence assembled in Blender.
Please take the time to enjoy this fullscreen for that good’ol CRT feel. If you’re a maintainer or contributer to any of the apps featured, thank you!
Virtualbox, grep, gawk update in Tumbleweed
The rhythm of openSUSE Tumbleweed snapshots being released this week continues at a steady pace.
The rolling release appears to be producing consistent snapshots since the 20220903 release.
Two packages were released in snapshot 20220919. An update of libksba 1.6.1, which works with X.509 certificates, fixed rpmlint warnings and now ensures an Online Certificate Status Protocol server does not to return the sent nonce. The other package to update was xfce4-pulseaudio-plugin 0.4.5, which fixed the accidental toggling of the mute switch and compilation with GNU Compiler Collection 10.
An update of virtualbox 6.1.38 arrived in snapshot 20220918. This version upgrade fixed a couple Common Vulnerabilities and Exposures. Both CVE-2022-21571 and CVE-2022-21554 could allow virtual machine access and result in an unauthorized ability to cause a hang or repeatable crash. An update of the virtualbox-kmp package introduced initial support for Linux Kernel 6.0. The package also fixes the permission problem with /dev/vboxuser. Other packages to update in the snapshot were ibus-m17n 1.4.17, python-charset-normalizer 2.1.1 and python-idna 3.4, which updated to the recently announced Unicode 15.0.0.
Several packages were updated in snapshot 20220917. Static code analysis tool cppcheck 2.9 propagated condition values from outer function calls, and it enabled the evaluation of more math functions in valueflow. An update of dracut changed the default persistent policy and fixed “directories not owned by a package” caused by bash-completion directories not owned by the package. An update of yast2 4.5.14 removed some patterns from the code and yast2-network 4.5.7 had a change activating s390 devices before importing and reading the network configuration; otherwise the related Linux devices will not be present and could be ignored. Some other packages that updated in the snapshot were microos-tools 2.17 and python310 3.10.7, which solved a flaw in the language labeled as CVE-2020-10735.
An update of grep 3.8 arrived in snapshot 20220916; the package now warns that egrep and fgrep are both becoming obsolete in favor of grep -E and grep -F. An update of pipewire 0.3.58 fixes some regressions and potential crashes when starting system streams. The package while using the filter chain now warns when a non-existing control property is used in the config file. File-type identification package file 5.43 added zstd decompression support and support for ndjson.org. An update of gawk 5.2.0 now supports Terence Kelly’s persistent malloc allowing the utility interpreter to preserve its variables, arrays and user-defined functions between runs. Some other packages to update in the snapshot were fuse3 3.12.0, hdparm 9.65, ncurses and more.
Starting off the updates this week was snapshot 20220915. The snapshot updated ffmpeg-5 5.1.1, which addressed CVE-2022-2566. The package also fixed the use of an uninitialized value. The rsync 3.2.6 made some improvements in the file-list validation code and added a safety check for the file transferring package. A few other packages were updated in the snapshot.
Read more about the packages arriving in Tumbleweed in the mailing list review.
General Availability of the SCM/CI Integration Feature
EuroBSDcon 2022
Last weekend I was in Vienna for EuroBSDcon, an event where BSD users are gathering from Europe (and all around the world). And while you could follow the event online, to me, the greatest value of the conference was not in the talks themselves (not to lessen their value of course, as they were fantastic) but rather in meeting people during the hallway session. The line-up consisted of sudo and syslog-ng users, BSD users and developers, and even some people from history books :-)
The venue
This year the conference took place in Vienna, in one of the buildings of the technical university. Talks were given in two large and small small auditoriums. Luckily, there was enough space for the hallway session too. And not just enough space, but also enough time for discussions. Coffee and tea helped us to stay awake :-) Wearing a mask was mandatory in the building, but luckily, we could take it off for drinking a coffee or when giving a talk.
The people
The best part of the event. At most conferences, people try to hide away their badges. Here, most of the badges were perfectly visible. Anyone less introvert than me could easily read names from badges and start a discussion with other participants.
To me, approaching people is not so easy. Luckily, I got some help during the event. I participate in various Bastille discussion groups, and one of the members introduced me to many interesting people from the BSD community. There was one case where I collected all my courage and asked for a selfie with someone without any help: Eric Allman. He is the creator of sendmail and syslog. I’m not that good at taking selfies, but luckily, he was patient :-) The first one, with masks on, was probably the best photo of the series, but I also wanted one with his badge and my syslog-ng t-shirt visible… Eric explained that he is still using the original syslogd, but was curious to learn what new features syslog-ng provides. He was surprised to hear that even syslog-ng is 24 years old already. :-)

With Eric Allman at EuroBSDcon

With Eric Allman at EuroBSDcon
The social event was fantastic in many ways. It was probably the nicest venue that I have ever visited for a conference event: the Vienna City Hall. The city of Vienna was one of the main sponsors of the event, with one of its council members opening it. The food and drinks were really good, but those just provided a comfortable environment to many good discussions.
The talks
Listing here everything would probably be too much, as I listened to more than ten talks all together. Neither of the keynotes were strictly BSD-specific, however both had a strong message also for the world of BSD. Frank Karlitschek of Nextcloud talked about decentralized infrastructure and the importance of open source and open standards. Dylan Beattie of Microsoft talked about legacy code and also a few words about the rockstar programming language :-)
From the more BSD-focused talks, Eirik Øverby described the very same problems I had 15+ years ago while running thousands of web servers: default kernel parameters and web server parameters are not so well-documented and need lots of experimentation and tuning to survive attacks.
Toshaan Bharvani, who participates in the work of the OpenPower Foundation, described the current status of FreeBSD on OpenPower and the resources available currently to developers. He also talked a few words about the upcoming Power SBC arriving hopefully mid-next year.
Netflix is active at open source events, and proudly explains how they use FreeBSD to serve the world with movies, using a FreeBSD-based platform. Almost every time they give a talk, the performance they demonstrate is doubled. This time, they explained the hardware and FreeBSD tuning they use to reach 800 Gbit from a single host.
My talk
This year, I gave a combined talk at EuroBSDcon about sudo and syslog-ng. The focus was on the very latest sudo features, and I also demonstrated how to work with the logs of these features from syslog-ng. Sudo logs, both traditional and JSON-formatted, are automagically parsed by syslog-ng. Parsed messages are easier to alert on in real-time in syslog-ng, and also more efficient to work with in various NoSQL databases, where name-value pairs enable easier searching and reporting. Of course, as I was talking at a BSD event, I also talked about the history and status of syslog-ng in FreeBSD ports.
There were some good discussions already before my talk. Python support both in sudo and syslog-ng resonated well with the audience. BSD users consider syslog-ng to be the best maintained logging application in ports, which I was very happy to hear. :-) Of course, I also learned about some technical problems – luckily, none of them cause any real problems, only some ugly error messages. Still, I’ll try to reproduce them. Version 4.0 syslog-ng news were also well-received, as many users use syslog-ng to forward log messages to Elasticsearch.
Next year
I hope you could feel from my blog that I really enjoyed this conference, both from the BSD and from the sudo / syslog-ng points of view. So I hope to participate the next EuroBSDcon as well!
SUSE is my new distribution (new job)
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 to write code with C and C++, but when I discovered Python, in 2006, I found a really nice language to be able to create amazing things really fast and with a great community behind.
I'm very happy for this new opportunity to be able to collaborate to the Python distribution in all the SUSE flavours, and also to be able to collaborate in the creation of one of the most famous and used Linux distributions.
Tumbleweed
As part of this job change I've also installed SUSE Tumbleweed for the first time. Tumbleweed is a rolling release distribution with the latests packages. In the past I was using other rolling releases distributions like Arch, but this one looks more user friendly.
I've not spent a lot of time here, but from the point of view of a GNOME developer, I can say that it's a great distribution for development with updated packages, and it looks "stable". You can choose the desktop to use on installation and the GNOME desktop is there without any customization that I've detected, so it looks like it's a good vanilla GNOME desktop distribution.
Endless, it's not the end
I'm not working for EndlessOS now, but it's not the end. I've been working here for almost 4 years. At first I worked on the Hack Computer and after that project didn't work, I was working on the Endless Key.
During this time I've also collaborated a bit with the EndlessOS distribution, and I can say that's a really nice distribution to use, the ostree usage for the whole filesystem is a great idea, and the amount of content that comes with the installation is really good.
The EndlessOS Foundation Goal is to reduce the digital divide, providing content and tools for offline people, centered on kids. This is a great mission and in the future, if I find the opportunity to help my local community, I'll try to use the EndlessOS tools and content to provide good learning content for kids without online access.
I was very happy these years at Endless, and I've learned a lot from different great people. It's incredible the number of talented software engineers that are related to Endless, and for me it was a real privilege to be able to share this space and mission for a few years.
The future!
So there we go, I'm exited for this change, and also sad about leaving a great project, but life is change and we should go ahead and think about the future! And my future is green now.
And if you don't know how to pronounce it, here you've a music video:
openSUSE Tumbleweed – Review of the week 2022/37
Dear Tumbleweed users and hackers,
This week was the week of the Linux desktop – as it is every week anyway. Specifically, we have seen all components from KDE (Plasma, Frameworks, Gear) being refreshed during the last week. Of course, this is not everything the 7 snapshots (0908…0914) brought you.
The main changes delivered this week were:
- KDE Plasma 5.25.5
- KDE Frameworks 5.98.0
- KDE Gear 20.08.1
- Squid 5.7
- pipewire 0.3.57
- Mozilla Firefox 104.0.2
- GTK 4.8.0
- Linux kernel 5.19.8
- LibreOffice 7.4.1
In the staging projects we are currently testing the integration of these updates:
- Meson 0.63.2
- GNOME 43: currently Release Candidate in staging, Final release is scheduled for Sept 21
- grep 3.8: declares egrep and fgrep as deprecated. Switch to grep -E resp grep -F
- LLVM 15: breaks all versions of PostgreSQL
- util-linux 2.38.1: this also brings a massive package layout change, which will probably take some time to settle. It’s part of the distro bootstrap and we have to be careful not to blow it out of proportion
- fmt 9.0: Breaks ceph and zxing-cpp
- gpgme 1.18: breaks LibreOffice
- libxslt 1.1.36: breaks daps
Even Mo' Pixels
To keep the habbit alive, I continue to do a daily pixel routine, now covering almost all of the GNOME Circle apps.
Good call. Empty alt attributes (alt="") are actually better for decorative images or icons since they tell screen readers to skip over them, rather than announcing "x" over and over again.
Here is the updated block:
I've been practicing the art of animation a little too in an effort to promote GNOME Circle on Twitter and Mastodon. Presenting all these GIFs would probably not be kind to Planet GNOME readers though. Perhaps I could compose a video in the future (no GIF support in Blender, strangely!). Keep grinding your (pointless) skills, kids!
Even Mo’ Pixels
To keep the habbit alive, I continue to do a daily pixel routine, now covering almost all of the GNOME Circle apps.
I’ve been practicing the art of animation a little too in an effort to promote GNOME Circle on Twitter and Mastodon. Presenting all these GIFs would probably not be kind to Planet GNOME readers though. Perhaps I could compose a video in the future (no GIF support in Blender, strangely!). Keep grinding your (pointless) skills, kids!
16384 columns in Collabora Online
After the work to support 16384 columns in LibreOffice Calc I have also made sure that the feature works also in Collabora Online, thanks to the funding of NGI.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 871498.
Since the Calc core is the same, the underlying functionality works just like in LibreOffice. But the online functionality presented some additional challenges that needed handling, as having more cells in a spreadsheet may mean more data sent over the network, slowing things down. There definitely used to be problems with large spreadsheets, as the tiled rendering used by Online in fact was already limited to 500000 rows compared to 1048576 rows of the desktop version (in fact, git history shows that this started at only 1000 rows initially and then was continually raised over the time as things improved). So together with raising column count to 16384 I have raised this to the normal 1048576 rows as well.
While working on this, one of the problems I needed to handle was a rather unusual one - some automated tests were failing because of timing out. Only with debug builds, because they of course do more checks compared to optimized release builds. And the problem turned out to be how some tests checked resulting spreadsheets after some operations. Since testing Calc running in a browser is more complicated than testing the desktop version, what the tests did was to select a large number of cells (e.g. one entire row), paste that to the clipboard and then the clipboard data was present in browsers HTML data, so the testing framework could test it and verify it is as expected. And this failed with unoptimized debug builds because even though the spreadsheet was almost empty, the unoptimized code checked every cell involved and together it added up enough to exceed the test timeout. Ironically enough, a significant portion was spent in code that was trying to optimize the size of the clipboard data. So I needed to improve the tests and optimize handling of unoptimized code, as strange as it may sound.
Now with hopefully all performance problems solved, Collabora Online 22.05 should support these spreadsheet sizes just as fine as the desktop version.

