Skip to Main Content Skip to Footer

Articles

Thank you for reading my articles! Most of my articles focus on the Linux desktop ecosystem, specifically GNOME, Flatpak, freedesktop.org, and related projects.

You can subscribe to this blog’s RSS feed at tesk.page/feed.xml.

Libadwaita: Splitting GTK and Design Language

Recently, the Linux Mint Blog published Monthly News – April 2024, which goes into detail about wanting to fork and maintain older GNOME apps in collaboration with other GTK-based desktop environments.

Despite the good intentions of the author, Clem, many readers interpreted this as an attack against GNOME. Specifically: GTK, libadwaita, the relationship between them, and their relevance to any desktop environment or desktop operating system. Unfortunately, many of these readers seem to have a lot of difficulty understanding what GTK is trying to be, and how libadwaita helps.

In this article, we’ll look at the history of why and how libadwaita was born, the differences between GTK 4 and libadwaita in terms of scope of support, their relevance to each desktop environment and desktop operating system, and the state of GTK 4 today.

Coming Out as Trans

I am publicly announcing that I am transgender. I have experienced gender dysphoria for almost ten years, but I have found a label that I feel comfortable with now.

In this article, I’m going to go over:

  • The environment I’ve lived for the last ten years
  • My gender identity
  • How to seek help
  • Tips for those exploring themselves or seeking to understand trans individuals

Rewriting nouveau's Website

We spent a whole week rewriting nouveau’s website — the drivers for NVIDIA cards. It started as a one-person effort, but it led to a few people helping me out. We addressed several issues in the nouveau website and improved it a lot. The redesign is live on nouveau.freedesktop.org.

In this article, we’ll go over the problems with the old site and the work we’ve done to fix them.

Misconceptions About Immutable Distributions

I find that many Linux users have a misconception about immutable distributions without knowing what it actually is. There is a lot of misinformation and generalization in the Internet about immutable distributions being “locked down”, “inflexible”, etc., when we could argue the same with many traditional distributions.

In this article, we’ll look at what makes an immutable distribution, the concept of an immutable distribution versus implementations, misconceptions about immutable distributions (both pro and con), and why they exist in the first place.

Opt-in Telemetry and Asking Users for Feedback May Not Work in Practice

Telemetry is one of the biggest controversial topics in the Linux community. Many people believe that telemetry is entirely meaningless, because developers can “just” ask their users. Some people also argue that users can opt into telemetry if they want to participate, but most of these users are in consensus that opt-out telemetry shouldn’t be there in the first place.

However, I don’t believe that asking users or explicitly opting into telemetry helps to a degree where developers and designers can form educated conclusions, as both methods share many issues regarding gathering data accurately. In this article, we’re going to explore the issues around asking users and opting into telemetry, and then I will explain why opt-out telemetry is a better approach to gather accurate data and forming educated conclusions.

Problems With Not Raising Awareness and Protecting Marginalized Groups in FOSS

A common problem I notice on the internet is the lack of awareness of many problems in the world. Of which, there are times when someone may be aware of the problem, but not to what extent. One of the common problems is a lack of effort to raise awareness and protect marginalized groups, particularly in the free and open-source software (FOSS) community.

In this article, we’re going to go over the problems associated with not raising awareness and protecting marginalized groups. I’ll also go over the “keep politics out of FOSS” demand from many free software activists who oppose raising awareness.

Response to “Developers are lazy, thus Flatpak”

Recently, the article “Developers are lazy, thus Flatpak”, by Martijn Braam, was published to criticize a few things regarding Flatpak. I want to go over the article and address some points that were raised.

While Martijn, the author, contrasted Flatpak with Alpine Linux, I’m going to be contrasting Flatpak with popular Linux distributions, as, to me, it makes sense to contrast Flatpak with some of the most used distributions.

I recommend reading his article before my response, as I won’t be replying to every point raised.

Overview of Flatpak's Permission Models

Flatpak’s permissions can be confusing. Some are technical and need knowledge on how they work, and others are self-explanatory. Some are added before the app starts, known as static permissions, and some are requested when the user runs the app, known as dynamic permissions. Many may also criticize Flatpak for lacking Android-style permissions while being unaware of the existence of XDG Desktop Portals.

In this article, I’m going to explain:

  • What static and dynamic permissions are
  • The differences between static and dynamic permissions
  • The issues with static permissions
  • What XDG Desktop Portals are and how they work
  • Why static permissions exist in the first place

What is GNOME's Philosophy?

GNOME’s philosophy is sophisticated and there is a lot of room for forgetting important information, as design and user experience are, in my opinion, really difficult to understand, while being really easy to misunderstand as well.

For starters, I will explain the key focus of GNOME. Then, I will be explaining and elaborating on how GNOME approaches it. I will also share my opinion on that matter.

How to Propose Features to GNOME

Recently, GNOME added an option into GNOME Settings to adjust pointer acceleration, which was a feature that the developers and designers were originally against. One person managed to convince them, by giving one reason. Thanks to them, pointer acceleration options are now available in GNOME Settings!

Firstly, I’m going to summarize the relevant parts of the proposal and discussion behind the addition, and explain how it was accepted. Then, to build on top of that, GNOME’s philosophy and the importance of taking it into consideration. And lastly, how to propose features to GNOME and what to avoid.

However, this article is not about whether GNOME is successful with their philosophy, and the tone of developers and designers. Additionally, this isn’t about where to propose features, rather how to formulate the proposal and what to consider.

On the GNOME Project and “My Way or the Highway”

For the longest time, the GNOME Project has created many controversies because of their sheer resistance in public pressure, very opinionated and sometimes unpopular stances on the Linux desktop, and, from time to time, dismissive behavior.

While the GNOME Project is not without their faults, I often see people claim that the GNOME Project is anti-collaborative because they follow the “my way or the highway” mindset. I would like to explain where this mindset comes from, why this is an aggravated claim, and what you can do if you are negatively affected by the GNOME Project’s decisions.

Where Fedora Linux Could Improve

The Fedora Project is a great organization to gain experience no matter the team you are in. I am currently a part of the Fedora Websites & Apps team improving my technical writing, communication and design skills.

With all the things the Fedora Project does well, there are several places that, in my opinion, need to be improved. I’d like to go over some key areas where we could improve Fedora Linux from a user perspective without breaking the Fedora Project’s core philosophies.

How I Started Programming, and How You Can Too

I am writing this article on my birthday to give my thanks and appreciations to those who helped me start and continue my journey with programming. I want to return the favor by explaining how I started programming, for those who are struggling with getting started with programming, and give them some motivation to continue their journey.

I’ve had a lot of trouble getting started with programming. About 6 years ago, I tried reading free books and documentation online all by myself. The complications and assumptions from these resources caused me to lose motivation very quickly. I tried this approach several times every couple of months, but the results were consistent – it always ended with me giving up and not making much progress.

Last year, I tried a completely different approach: taking a course from Harvard University, and then contributing to free and open source projects. This approach was really effective and got me to a point where I joined the Bottles project, one of the most popular applications on Flathub. And later became a member of the GNOME Foundation, a leading organization on the Linux desktop.

The Fedora Project Remains Community Driven

Recently, the Fedora Project removed all patented codecs from their Mesa builds, without the rest of the community’s input. This decision was heavily criticized from the community. For that decision, some even asked the Fedora Project to remove “community driven” from its official description. I’d like to spend some time to explain why, in my opinion, this decision was completely justified, and how the Fedora Project remains community driven.

What Not to Recommend to Flatpak Users

Whenever I browse through the web, I find many “tips and tricks” from various blog writers, YouTubers and others who recommend users to take steps that either they aren’t supposed to, or have better alternatives. In this article, I will go over some of those steps you should not be taking and explain why.

Traditional Packaging is not Suitable for Modern Applications

Article also posted on It’s FOSS News.

I repeatedly encounter users complaining about LTS and stable distributions having issues with application packages, but then claim that no such thing ever happens with bleeding-edge distributions. However, with my experience and knowledge with the technical side of packaging, I can’t emphasize enough that this is untrue.

Distribution model is hardly the issue here; the fundamental issue is that traditional packaging is not suitable for modern graphical applications, no matter the distribution model. And how formats like Nix and Flatpak have managed to address these fundamental problems. Interestingly, most servers do make use of containerization (i.e. Docker), because it improves reproducibility and enhances maintainability. We could take inspiration from this and adopt a similar standard that is suitable for the Linux desktop.

Libadwaita: Fixing Usability Problems on the Linux Desktop

Libadwaita is a huge controversy in the Linux desktop community, because of GNOME’s stance towards themes.

I have heard a lot of misinformation surrounding GTK4 and libadwaita, mainly based on misunderstanding. I’d like to take some time to explain what GTK4 and libadwaita are, why GNOME decided to go this route and why it’s a huge step in the right direction.

A Letter to Discord for not Supporting the Linux Desktop

Discord is popular among the Linux desktop community. Thanks to Electron, the framework that Discord uses, it was possible for Discord to port the client over to Linux very easily. Electron facilitates deploying the same application in different desktop platforms.

However, Electron has one major drawback: it is up to the application developer to update (rebase) to a newer version of Electron to fix security bugs, improve stability and improve compatibility with newer technologies. The Discord client uses an Electron version that is questionably low.

In this article, we’re going to look at PipeWire and Wayland compatibility, specifically the lack thereof; and the potential security risk with their practices.

Response to “Flatpak Is Not the Future”

Late last year, this interesting article “Flatpak Is Not the Future” was published to the public, and very quickly grabbed the Linux community’s attention. I want to go over some of the author’s arguments and explain some of the misunderstanding and claims.

Do keep in mind that I have nothing against the author’s opinion. The point of this response is to reduce the amount of misinformation and misunderstanding that the article might have caused, as I have seen (and still see) many users post this article very frequently, without having a proper understanding of the subject.

A Letter to Microsoft for not Attributing Authors of the Edge Flatpak Application

Microsoft recently posted an article and an announcement about cloud gaming on the Steam Deck. The authors promoted the Edge Flatpak application in a way that would lead people to believe that Microsoft itself is the maintainer of the Flatpak application when that isn’t the case. I am the maintainer and author of the Edge Flatpak application, re:fi.64 is the author of the Chromium base app and the person who got Chromium working inside a Flatpak container with Zypak. And many other contributors have been the ones who continued improving the Flatpak application.

Comparison of Fedora Flatpaks and Flathub Remotes

Article originally posted on Fedora Magazine.

In the previous article in this series, we looked at how to get started with Fedora Flatpaks and how to use it. This article compares and contrasts between the Fedora Flatpaks remote and the Flathub remote. Flathub is the de-facto standard Flatpak remote, whereas Fedora Flatpaks is the Fedora Project’s Flatpak remote. The things that differ between the remotes include but are not limited to their policies, their ways of distribution, and their implementation.

An introduction to Fedora Flatpaks

Article originally posted on Fedora Magazine.

Flatpak is a distribution agnostic universal package manager leveraging bubblewrap to separate applications from the system, and OSTree to manage applications. There are multiple Flatpak repositories (remotes in Flatpak terminology), such as Flathub (the de-facto standard), GNOME Nightly, KDE and finally Fedora Flatpaks, Fedora Project’s Flatpak remote.

This article explains the motivation behind Fedora Flatpaks, how to add the remote, how to use it and where to find resources.

Why You Shouldn't Recommend Manjaro to Newcomers

Manjaro is often considered as a good entry-level distribution for those switching from Windows. However, there are many issues regarding this recommendation — most of which lie in the areas of ethicality, technicality, and general bad practices. This post tackles the misinformation that the Manjaro team and/or the individuals within the Manjaro community often spread to attract users to use Manjaro. Many of these issues impact several aspects of Manjaro.

Some people think that the problems plaguing Snap also apply to Flatpak, but this is untrue

Flatpak and Snap are universal package formats that provide sandboxed and containerized environments for Linux. Although they have many similarities, they have more differences. Some people think that the problems plaguing Snap also apply to Flatpak, but this is untrue. I have seen many users unintentionally enumerating Snap’s problems, which I believe needs to be addressed.

This post taps into a couple of arguments that users make when they are assuming that Flatpak and Snap suffer the same issues, or the problems are equally bad. Do keep in mind that the quotes below are pseudoquotes, meaning that they are not the exact wording from those users, but from what I have interpreted when discussing with them.

Access freenode Using Matrix Clients

Article originally posted on Fedora Magazine.

Matrix (also written [matrix]) is an open source project and a communication protocol. The protocol standard is open and it is free to use or implement. Matrix is being recognized as a modern successor to the older Internet Relay Chat (IRC) protocol. Mozilla, KDE, FOSDEM and GNOME are among several large projects that have started using chat clients and servers that operate over the Matrix protocol. Members of the Fedora project have discussed whether or not the community should switch to using the Matrix protocol.

The Matrix project has implemented an IRC bridge to enable communication between IRC networks (for example, freenode) and Matrix homeservers. This article is a guide on how to register, identify and join freenode channels from a Matrix client via the Matrix IRC bridge.

Check out Beginner’s guide to IRC for more information about IRC.

My Experience with Fedora Silverblue so far

Fedora Silverblue is an immutable Linux distribution, meaning the state of the operating system (OS) cannot be tampered at all. The OS is read-only, meaning the contents cannot be written by any user, including root. Some directories, such as /etc are read-write however. Each time a change is occured, the distribution will generate a tree (bootable image) in which you can boot from once the tree has been completed.

This page is about my experience with Fedora Silverblue, what I dislike about it and what I like about it. A slight warning that this page is opinionated.

Response to flatkill.org

A lot of flatkill.org’s statements are made to incite fear in the Linux community. Given that all Flatpak packages and application build scripts are available and able to be edited by anyone, the appropriate response is to educate on why this is a problem, and then fix it. The way that flatkill.org approached this issue says a lot.