Fed Up With Spam and Misconduct? OBS Acts Accordingly
Skull Buster
I’ve been wanting to make a game for as long as I remember. Granted I don’t remember much, it’s been on my mind since I was about 10. But somehow it never happened. Regardless how low of a bar I’ve set, I’ve never gotten to it. Until today!
Pixel Art Obsession
During the lockdown years a good friend of mine became a fulltime game dev and I’ve been getting that sweet sweet smell of pixels in a very high concentration. You probably noticed my fascination for pixel art in recent years.

A couple of weeks ago I was introduced to PICO8. While it’s confusingly identified as a fantasy console, what it really is, is a full blown platform. While writing LUA in a 128x128 screen is not everyone’s thing, I have largely enjoyed the super constrained world of PICO8. Its 16 color palette, 8x8px sprites, a super quick iteration workflow with integrated graphics, sound effects and music editors. To put it in perspective, yes, GNOME icons are exactly the same size as the whole PICO8 environment. But its highly integrated editor allows for a very quick iterative approach and I love that.
HTML5 Release
You can give the game a shot here. Let me know what you think. Initially the game was pretty easy and approachable, but given how short it is, the final boss stage is now only for the devoted arcade lovers. :)
Let me know what you think of it and post your high scores at me on Mastodon/Fediverse!
![]()
I’m not planning to ever make another game, but I will definitely use the PICO8 platform to do some small interactive demos for projects like Weeklybeats. It’s dope!
Open VFS Framework for the free Desktop
A few days ago Volker Krause posted this blog about the Nextcloud conference - a very interesting read.
One of the topics is the VFS (Virtual Filesystem-) API for the Linux desktop. Indeed that is a topic for us at ownCloud as well, and I like to share our perspective on it, discussing it in the scope of the free desktop.
The topic is very important, as “syncing” of data from and to cloud storages has changed over time. From having all files mirrored from client to server and vice versa, it has now shifted to keep all files in the cloud, and have them as so called placeholders on the desktop. That means that most files on the client appear with size zero to save space, but the complete filesystem structure is available.
If a user starts to interact with such a dehydrated file, the content is of the file is downloaded transparently utilizing the cloud system client, for example ownClouds desktop client. The same happens when an application accesses such a file. As a result, the placeholders look and behave like the normal filesystem we are used to.
On Windows and on MacOSX, the problem is kind of solved. Both have added APIs to their OS that can be used to implement the access of data on the cloud.
On Linux, we do not have this kind of API yet. That means that it is close to impossible to implement this user experience. Volker already said that desktop environment specific solutions probably do not scale, which I agree with.
At ownCloud we have looked into the implementation of a specific FUSE file system. That should certainly be possible, and is probably a part of the solution, but is considerable effort because of the asynchronous nature of the topic. Given that the market share of Linux desktop systems is pretty small it is not attractive for companies to invest a lot into a Linux only system. Here the power of community could make a difference again.
It would be best if we as open source community would come up with a shared solution as a free desktop standard, that might be oriented on one of the existing APIs, maybe the MacOSX File Provider API: A library and little framework that the linux desktop environments can work with abstracting the VFS.
While collaborating on that, all data clouds could implement the bindings to their storage. With that, the extra implementation efforts for the Linux solution hopefully wouldnt be dramatic any more.
Let’s call this system openVFS as a work title. How can we evolve it? I’d like to invite all interested parties to discuss in this temporary Github repo to collect ideas and opinions. There is also a little experimental code.
Tumbleweed Gets systemd-boot Support
This week openSUSE Tumbleweed snapshots continue to deliver software updates for users wanting to enhance their systems.
Updates in this week’s snapshots brought numerous changes, bug fixes and improved functionality.
With snapshot 20230926, the 2D graphics library cairo had its first stable release in five years with the 1.18.0 version update. The package includes support for Type 3 color fonts in PDF and has several optimizations including enhancing support for the Quartz surface and the removal of the XML surface. The snapshot also updates image editor ImageMagick; the 7.1.1.17 version modifies patches and introduces alternative configuration packages, eliminating a redundant dependency on p7zip. An update of libreoffice 7.6.1.2 resolves a crash issue when editing a date field, fixes animation effects for rectangles and fixes an accuracy problem with SUM() calculations. The new 4.4.0 version of transactional-update has a new setup-fips command and improved cleanup processes for snapshots created through various methods. Previously, only snapshots created by the transactional-update shell script were cleaned up. The update of yast2-bootloader 5.0.2 fixes issues in the testsuite for architectures other than x86_64 and introduces support for systemd-boot on x86_64, which can be enabled/disabled by the enable_systemd_boot flag in the product description file for each product. The update of yast2-installation 5.0.1 accommodates those changes in yast2-bootloader for systemd-boot experimental support. Several other packages were updated in the snapshot.
An update in snapshot 20230925 includes a package to make computer programs run faster; the highway 1.0.7 package introduces new features like LoadNOr, GatherIndexN, and ScatterIndexN. The new version also had fixes for WASM, GNU Compiler Collection 13, GCC 8.2, QEMU 7.2 and more. The GObject library interfacing with system block devices, udisks2, updates to version 2.10.0 and has improvements with changes to partitioning using libfdisk and has support for native NVMe devices. The package also enhances the handling of filesystems and adds new features like setting filesystem and partition UUIDs. The libHX 4.15 update introduces new functions for computing the Least Positive Residue and enhances the HX_strrtrim function to work with strings longer to improve its string manipulation capabilities. An update of the Library for manipulating block devices libblockdev had a major verison update to 3.0.2. The package improvements include using ntfsinfo for faster operations, brings extensive Application Programming Interface changes, removes certain plugins, and has new features like NVMe support. A few other packages updated in the snapshot.
An update of bind 9.18.19 arrived in snapshot 20230922. The update of this DNS protocol package fixes a few Common Vulnerabilities and Exposures. Both CVE-2023-3341 and CVE-2023-4236 were fixed and the latter could occurs when handling DNS-over-TLS queries are under heavy load. This could have caused internal data structures to be incorrectly reused and potentially has an impact on the stability and reliability of the DNS server. The update of gtk4 4.12.2 prevents tooltips from crossing native boundaries in GtkTooltip and improves gradient matching and rendering in GSK. An update of the HP Linux Imaging and Printing package, hplip moved to version 3.23.5 and now supports several new printers and models like the HP Smart Tank series. An update of xwayland 23.2.1 provides a more stable and functional experience while adding a check to verify the existence of a function call. An update of Xen 4.17.2 implements two security fixes. CVE-2023-34322 addresses a security concern where the top-level shadow reference for 64-bit PV guests was dropped prematurely when dealing with memory shortages and may have lead to privilege escalation, Denial of Service (DoS), and information leaks. CVE-2023-20588 was the other vulnerability. Several other packages updated in the snapshot including ncurses 6.4.20230909, nodejs20 20.7.0, python-Pillow 10.0.1 and more.
With snapshot 20230921, ethtool 6.5 adds a feature to check the register dump for a specific driver and fixes a few issues like some problems with certain settings and an empty slot search issue. The iproute2 6.5 package, when using the rdma command will report the device protocol, which can be handy. When using iplink, it doesn’t use all the options provided and can give an error message. The Linux Kernel updates in the snapshot as kernel-source 6.5.4 improves the handling Server Message Block 3 requests after reconnects, has driver fixes and enhancements related to clocks and drivers for various hardware components. The update of lvm2 2.03.22 fixes report field types for better data accuracy and enhancing Virtual Data Optimizer and ensures more efficient data management in Linux storage systems. The audio package pipewire updates to 0.3.80 and improves better synchronization of mixer I/O areas to prevent potential crashes. The update also has Advanced Linux Sound Architecture making smarter period-size selections for batch devices and provides enhancements in audio adapter tag and latency handling. PDF render poppler 23.09.0 improves digital signatures and now provides the key location for certificates to be signed.
Shortly after releasing last week’s review, snapshot 20230920 was released and it brought GNOME users a gift for the weekend. GNOME 45 brings several changes. A new activities button in the top bar has a dynamic workspace indicator, making it more user-friendly and replacing the old app menu. There is faster search performance across various apps and a new camera indicator in the top bar shows when the camera is in use. GNOME 45 introduces a new default image viewer that’s fast, clean and adaptive and the files app is now faster and more seamless with search. The GNOME Display Manager gdm 45.0.1 fixes a critical crash issue. Has numerous code cleanups and adds support for multi-seat configurations in Wayland. An update of Flatpak 1.15.4 was also in the snapshot. The package took care of two CVEs. CVE-2023-28101 has a fix for special characters that are now escaped when displaying permissions and metadata. This prevents malicious apps from manipulating the appearance of the permissions list using crafted metadata. With CVE-2023-28100, Flatpak app is run on a Linux virtual console and ioctl is no longer allowed. This security enhancement protects against potential vulnerabilities when using virtual consoles. There were several other packages updating in the snapshot, but the major version of postgresql 16 optimizes aggregate functions, and enhances sorting that leads to faster queries. The bulk loading performance saw up to a 300 percent improvement, according to its release announcement. The other major version in the snapshot was gedit 46.1, which resolved a build issue, updated its Flatpak and did some code refactorings to improve organization.
Why is a feature not available in the syslog-ng package?
You can read about many interesting syslog-ng features in my blogs. However, it can happen that when you want to try them at home, you fail because the feature is missing. How can you solve such problems? In this blog, I discuss some of the possible solutions from installing sub-packages through using unofficial repositories, to upgrading your OS.
This blog focuses on RPM packages for openSUSE / SLES, Fedora / RHEL, and FreeBSD, because these are the packages I know – I am their maintainer. However, these problems and their solutions also apply to Debian / Ubuntu, and other Linux distributions.

syslog-ng logo
Leap Micro 5.5 reaches Beta, Leap Micro 5.3 soon to be EOL
A new version of the modern lightweight host operating system Leap Micro 5.5 just entered the Beta of its development.
A quick transition to a Release Candidate (RC) expected and the General Availability (GA) slated for the first half of October.
One of the standout features of Leap Micro 5.5 is its SELinux enhancements. Security-Enhanced Linux (SELinux) has received a significant boost; It brings podman-docker and hyper-v support for AArch64 for a more robust and secure computing experience for users.
In tandem with this exciting update, it’s important to note that Leap Micro 5.3 is nearing its End of Life (EOL). As soon as Leap Micro 5.5 makes its official debut, Leap Micro 5.3 will be retired. Users of Leap Micro 5.3 are strongly advised to consider upgrading to either Leap Micro 5.4 or the upcoming 5.5 release. This ensures access to the latest features, security enhancements, and ongoing support.
Survey to Explore openSUSE's Use Cases, More
A recently published openSUSE survey is asking IT professionals and users about their views on open-source technologies and the ever-evolving Linux ecosystem.
The Use Case Survey aims to gather insights on what will shape the future of Linux and its role in various industries. The survey has four groups with the potential of answering up to 30 questions based on the response of the first and only mandatory question. The survey can take less than 10 minutes depending on how in depth of details a surveyee would like to provide. The overarching themes and ideas of the survey are the following:
Understanding User Needs and Satisfaction
The survey kicks off by categorizing respondents based on their use of IT: work/business, home/hobby, or both. This segmentation helps tailor the approach to better serve the needs of the surveyee.
For those in the work/business category, the survey delves into IT services satisfaction. Those not satisfied have options to suggest improvement, and it explores the idea of future growth prospects for Linux.
Home and Hobby Enthusiasts
For those using Linux at home or for hobbies, the survey asks about their preferences among openSUSE’s offerings like Tumbleweed, Leap, MicroOS, and SlowRoll, and why these distributions appeal to users and developers.
Contributions and Open Source Involvement
As an open-source project, it makes sense to inquire about contributions to open-source projects and to openSUSE. This helps to recognize not only the use of open-source software and projects, but how much users are contributing to it.
General Insights and Future Trends
This section asks all respondents about broader use of Linux beyond primary use cases. The aim is to help to understand the benefits respondents experience and the challenges they encounter. Respondents are encouraged to share their preferences for specific Linux distributions and their thoughts on emerging IT trends and technologies. The community members who came up with the survey are keen to understand if Linux is well-positioned to meet the market’s evolving needs with medium to long-term strategies.
The openSUSE’s Use Case Survey is not just a set of questions; it’s a collective effort to ensure that Linux continues to evolve to meet the diverse needs of its users and to make a brighter future for open-source technologies. Stay tuned for more updates and analysis from the results of the survey, which will run until Oct. 31.
Releasing version 4
After publishing Agama 3 a month ago, it is time for a new release. Among other things, this new version fixes several issues in the startup process, allows the use of a network proxy, adds (partial) support for IPv6, includes a few improvements in the web UI and features a new tool to extract Agama-related logs.
But as important as those changes, we did some internal work that will serve as the base for other features, like proper i18n support and more flexible storage management. Some of those features will land sooner than later, but meanwhile, let's focus on what Agama 4 brings.
Agama startup issues
Our QA team is testing Agama through several scenarios and in different architectures. Those tests helped identify some issues with Agama's startup process: D-Bus activation errors, time-outs and even potential crashes.
Working closely with QA, we have identified and (hopefully) fixed most of those problems. In a nutshell, you should not see the "Cannot connect to D-Bus" error message anymore. And if that's not the case, please open a bug report attaching the logs 😉
If you are interested in the technical details, there is a bunch of fixes you might want to check: #729, #732, #747, #749, #753.
Installing through a proxy
Many users and customers are used to deploy their systems with no direct access to Internet, just
using a proxy. So it did not come as a surprise that it was one of the most requested features.
Agama 4 includes support for specifying a proxy at
boot time using the option proxy= when the installation requires to use a HTTP(S) or FTP source.
The supported proxy URL format is: protocol://[user[:password]@]host[:port].
Of course, the proxy configuration is copied to the target system at the end of the installation.
The nitty-gritty details are available in #696 and #711.
IPv6 support in the automated installation
In Agama 4 it is possible to specify the IPv6 configuration when using the automated installation. To accommodate this feature, we decided to introduce some changes in the profile definition. Here is an example that sets up IPv4 and IPv6 addresses.
"network": {
"connections": [
{
"id": "Ethernet network device 1",
"method4": "manual",
"method6": "manual",
"addresses": [
"192.168.122.100/24",
"::ffff:c0a8:7ac7/64"
],
"gateway4": "192.168.122.1",
"gateway6": "::ffff:c0a8:7a01",
"nameservers": [
"192.168.122.1",
"2001:4860:4860::8888"
]
}
]
}
Matching specific network devices
In previous versions of Agama, it was not possible specify which interface to use for a given network connection when using the auto-installation mechanism: Agama just delegated on NetworkManager to decide. Now you can associate a network connection with an specific interface by using its name or more complex conditions. See #723 for further details.
"network": {
"connections": [
{
"id": "Ethernet network device 1",
"method4": "auto",
"interface": "enp1s0"
}
]
}
Agama specific storage settings
Agama reads the information about the products offered for installation from a configuration
(/etc/agama.yaml). Such a file contains a storage section which indicates the options
(whether to use LVM, encryption, etc.) and the volumes (file systems) to create in the target
system.
Since both Agama and YaST use the same mechanism to calculate the storage layout (known as the Guided Setup in YaST), the configuration for Agama was a direct translation of the YaST settings. But although the internal components and algorithms are the same, Agama's approach for tweaking their behavior is actually different in several aspects from YaST. For that reason, Agama now implements its own storage settings, making the product configuration more straightforward and less error-prone.
This change has a direct impact in Agama's auto-installation profiles.
storage: {
bootDevice: "/dev/vda",
lvm: true,
encryptionPassword: "123456"
}
Interested in the implementation? Feel free to check: #721, #738 and #748.
Better logging support
As the project evolves and more people try Agama, we need to make the debugging process easier.
Recently, we introduced a new command that gathers all the information we need to debug the problems
you face when using Agama (similar to the venerable save_y2logs for YaST). Typing agama logs store creates a tarball you can attach to your bug reports.
This first version (#757) is rather basic but we are already working on additional features to have a pleasant debugging process 🐛.
Polishing the web user interface
Balsa Asanovic has become a regular contributor of Agama. For example, he implemented the "show password" feature (#750) and improved the error reporting in the iSCSI form (#699). But not only that, he is actively involved in our discussions in GitHub. Thank you, Balsa!
Moreover, a bug that prevented to download YaST2 logs through the web UI has been fixed (#746).
i18n support is coming to Agama
If you follow the project closely enough, you might already know that we are working on i18n support. Many of the pieces are already in place but we did not make it for this version. However, we trust that our next major version will feature a translated web interface. Actually, our translators are already working on that.
Trying Agama 4
The easiest way to try Agama is to download one of the two variants (ALP or openSUSE) of the Agama Live devel ISO. This image is built in the systemsmanagement:Agama:Devel OBS project and is updated each time we release a new version.
If you are interested in the bleeding edge, try the ISO in the systemsmanagement:Agama:Staging OBS project. It is built automatically and contains the code from Agama's Git repository, so it might get broken occassionally.
What to expect
We expect to be able to ship a translated Agama interface and better handling of the storage settings in the next release. But, meanwhile, we are already working on other important features like software patterns selection or support for the SUSE Customer Center.
Of course, we appreciate opinions and feedback. As usual, feel free to contact the YaST team at the
YaST Development mailing
list, our #yast channel
at Libera.chat or even the Agama project at
GitHub.
Stay tuned!
Announcing Agama 4
After publishing Agama 3 a month ago, it is time for a new release. Among other things, this new version fixes several issues in the startup process, allows the use of a network proxy, adds (partial) support for IPv6, includes a few improvements in the web UI and features a new tool to extract Agama-related logs.
But as important as those changes, we did some internal work that will serve as the base for other features, like proper i18n support and more flexible storage management. Some of those features will land sooner than later, but meanwhile, let’s focus on what Agama 4 brings.
Agama startup issues
Our QA team is testing Agama through several scenarios and in different architectures. Those tests helped identify some issues with Agama’s startup process: D-Bus activation errors, time-outs and even potential crashes.
Working closely with QA, we have identified and (hopefully) fixed most of those problems. In a nutshell, you should not see the “Cannot connect to D-Bus” error message anymore. And if that’s not the case, please open a bug report attaching the logs :wink:
If you are interested in the technical details, there is a bunch of fixes you might want to check: #729, #732, #747, #749, #753.
Installing through a proxy
Many users and customers are used to deploy their systems with no direct access to Internet, just
using a proxy. So it did not come as a surprise that it was one of the most requested features.
Agama 4 includes support for specifying a proxy at
boot time using the option proxy= when the installation requires to use a HTTP(S) or FTP source.
The supported proxy URL format is: protocol://[user[:password]@]host[:port].
Of course, the proxy configuration is copied to the target system at the end of the installation.
The nitty-gritty details are available in #696 and #711.
IPv6 support in the automated installation
In Agama 4 it is possible to specify the IPv6 configuration when using the automated installation. To accommodate this feature, we decided to introduce some changes in the profile definition. Here is an example that sets up IPv4 and IPv6 addresses.
"network": {
"connections": [
{
"id": "Ethernet network device 1",
"method4": "manual",
"method6": "manual",
"addresses": [
"192.168.122.100/24",
"::ffff:c0a8:7ac7/64"
],
"gateway4": "192.168.122.1",
"gateway6": "::ffff:c0a8:7a01",
"nameservers": [
"192.168.122.1",
"2001:4860:4860::8888"
]
}
]
}
Matching specific network devices
In previous versions of Agama, it was not possible specify which interface to use for a given network connection when using the auto-installation mechanism: Agama just delegated on NetworkManager to decide. Now you can associate a network connection with an specific interface by using its name or more complex conditions. See #723 for further details.
"network": {
"connections": [
{
"id": "Ethernet network device 1",
"method4": "auto",
"interface": "enp1s0"
}
]
}
Agama specific storage settings
Agama reads the information about the products offered for installation from a configuration
(/etc/agama.yaml). Such a file contains a storage section which indicates the options
(whether to use LVM, encryption, etc.) and the volumes (file systems) to create in the target
system.
Since both Agama and YaST use the same mechanism to calculate the storage layout (known as the Guided Setup in YaST), the configuration for Agama was a direct translation of the YaST settings. But although the internal components and algorithms are the same, Agama’s approach for tweaking their behavior is actually different in several aspects from YaST. For that reason, Agama now implements its own storage settings, making the product configuration more straightforward and less error-prone.
This change has a direct impact in Agama’s auto-installation profiles.
storage: {
bootDevice: "/dev/vda",
lvm: true,
encryptionPassword: "123456"
}
Interested in the implementation? Feel free to check: #721, #738 and #748.
Better logging support
As the project evolves and more people try Agama, we need to make the debugging process easier.
Recently, we introduced a new command that gathers all the information we need to debug the problems
you face when using Agama (similar to the venerable save_y2logs for YaST). Typing agama logs
store creates a tarball you can attach to your bug reports.
This first version (#757) is rather basic but we are already working on additional features to have a pleasant debugging process :bug:.
Polishing the web user interface
Balsa Asanovic has become a regular contributor of Agama. For example, he implemented the “show password” feature (#750) and improved the error reporting in the iSCSI form (#699). But not only that, he is actively involved in our discussions in GitHub. Thank you, Balsa!
Moreover, a bug that prevented to download YaST2 logs through the web UI has been fixed (#746).
i18n support is coming to Agama
If you follow the project closely enough, you might already know that we are working on i18n support. Many of the pieces are already in place but we did not make it for this version. However, we trust that our next major version will feature a translated web interface. Actually, our translators are already working on that.
Trying Agama 4
The easiest way to try Agama is to download one of the two variants (ALP or openSUSE) of the Agama Live devel ISO. This image is built in the systemsmanagement:Agama:Devel OBS project and is updated each time we release a new version.
If you are interested in the bleeding edge, try the ISO in the systemsmanagement:Agama:Staging OBS project. It is built automatically and contains the code from Agama’s Git repository, so it might get broken occassionally.
What to expect
We expect to be able to ship a translated Agama interface and better handling of the storage settings in the next release. But, meanwhile, we are already working on other important features like software patterns selection or support for the SUSE Customer Center.
Of course, we appreciate opinions and feedback. As usual, feel free to contact the YaST team at the
YaST Development mailing
list, our #yast channel
at Libera.chat or even the Agama project at
GitHub.
Stay tuned!
Kurz práce v příkazové řádce Linuxu nejen pro MetaCentrum 2024
Don’t be afraid of command line! It is friendly and powerful tool allowing to process large data and automate tasks. Practically identical is command line also in Apple macOS, BSD and another UNIX-based systems, not only in Linux. The course is designed for total beginners as well as intermediate advanced students. The only requirement is an interest (or need) to work in command line, typically on Linux computing server.