Igor Bubelov
About Blog Notes Photos

October 2021

Notes ยท Oct 31, 2021

Table of Contents

Speeding Up F-Droid

I spent a good number of years working on Android apps, mostly because I believe that mobile platforms should be open, and it was the only viable option. Android was (and still is) the only thing that keeps the market from getting back to the dark ages of closed platforms. That said, some parts of Android ecosystem are horrible. For instance, it’s really hard to distribute your apps via Google Play Store, and things are only getting worse. With a closed platform, developers and users have no choice but to accept the rules set by a vendor, and that’s exactly where the open source nature of Android gives us much needed leverage which allows us to fix the things we don’t like.

Google Play is a sad place which regularly bans good apps for bullshit reasons while having no problem with apps filled with trackers and all kinds of dark patterns. Fortunately, we don’t really need Google Play in order to use Android. Some people think that Google Play is the only way to install apps, but it’s mostly a result of (probably criminal) conspiracy by Google and friends to fend off competition. Every Android user can switch to alternative stores and one of those alternatives is F-Droid.

I like to think of F-Droid as of Android’s apt. It’s basically a collection of open source software maintained by a group of volunteers. I have an app there, and my experience with this repository has been great so far. As a developer, I love it. The problems start when I try to recommend it to more users. The most important thing an app store can do is to allow users to quickly discover and install apps. Unfortunately, F-Droid is extremely bandwidth-constrained, and it’s practically impossible to download apps, unless you’re living in Europe in proximity to their servers.

Why is F-Droid so slow and unreliable? It turns out, it doesn’t use a CDN for static assets. It’s a very easy problem to solve, and it can have a huge impact on F-Droid popularity. It looks like the maintainers realize the severity of this problem, and they have a solution in the works:

https://gitlab.com/fdroid/admin/-/issues/229

I tried a CDN-backed repo, and it was blazing fast. Hopefully, CDN will soon become a default option for F-Droid.

Jitsi

Gone are the days when remote work was seen as something extraordinary. I never had any doubts that remote work will prevail, but I’m not entirely sure if we’re ready for that, infrastructure-wise. There are plenty of fundamental questions which haven’t been answered yet, such as: how should we communicate when we work remotely most of the time? Text is king, and we have some nice email and chat software. WhatsApp and Telegram need to go, but luckily we have Matrix, Signal and other trustworthy software that can be used by companies and individuals alike.

Text is essential, but our remote workflows also require some form of audio and video communication. I honestly don’t understand why, but Zoom seems to be the most popular choice when it comes to virtual meetings and even one on one calls. We can do much better than that, and, frankly, we absolutely should. People who’re willing to install non-auditable apps made by shady Chinese companies are either incompetent or naive.

That said, we really need to have an easy to use, open and auditable alternative to Zoom. Recently, I’ve been hearing a lot of good things about Jitsi, so I decided to give it a go. Jitsi is an open source software which doesn’t even need to be installed because it’s a browser app. It has a ton of features and its user interface is pretty smooth and modern-looking.

Firefox Shows Ads

Well, Firefox can’t stop finding new ways to alienate its users. It is no wonder it loses its market share at a staggering pace. This time, Firefox management have decided to show ads in its address bar. I mean, I get it: Firefox needs to break its dependence on Google’s money, but adding ads kind of defeats the purpose of the whole project. I hope Firefox team will recognize it before it’s too late.

AMD RX 6600 XT

Finally, I was able to get a GPU for my new PC. I’ve been waiting for a long time for this specific model, and it works like a charm with my setup. One of the main benefits of AMD GPUs is the fact that they are built into the Linux kernel, so they are expected to work out of the box with zero additional setup. Nvidia refuses to open their drivers, and they’re lagging on a few important fronts, such as Wayland support. Also, AMD is a kind of underdog, so why not support more competition in the GPU space?

Steam on Linux

Of course, the best way to test a new GPU is to play some games. Gaming have long been a Windows-exclusive activity, but things are changing at a rapid pace. Installing Steam on Linux is even easier than doing the same thing on Windows, but that’s not the main thing which stopped Linux gaming for a long time. The main problem is: a lot of games aren’t cross-platform, and they choose to target Windows exclusively. Things are getting better, but it’s unlikely that we ever reach 100% coverage for Linux, unless we find a way to run Windows games from Linux. It’s not an easy task, but Proton team works really hard on that, and it shows.

Today, a little more than 50% of my Steam library is officially supported on Linux. Frankly, it’s enough games to keep me busy for the rest of my life, but the trend is clear. As Proton gets better, we will be able to play pretty much any game on Linux, even if its own developers didn’t plan for that. I’m pretty sure 90%+ is doable in the next few years. Personally, I stopped using a separate Windows environment for gaming because most games I like to play are working great on Linux.

Desktop Motherboard Firmware Updates

It turns out, updating motherboard firmware is no fun. I’ve been using Dell XPS 13 for a few years, and it can handle firmware updates automatically, so I never had to think about it. Desktop motherboards are different though. About a week ago, I found out that my new GIGABYTE motherboard has an outdated firmware. To add insult to injury, many updates I missed out on included various improvements for systems with my kind of CPU.

How hard is it to update desktop firmware? Well, I had to find a flash drive, format it to legacy FAT filesystem and then do a few manual adjustments in BIOS. None of those missed updates had any critical fixes, but it would be naive to dismiss the importance of being able to update firmware quickly and easily. There is certainly a room for improvement in the desktop segment.

awk

I was always scared of awk. Who needs to learn one more language just to do some basic string manipulation? Any “full-scale” language I already know would do the trick, won’t it? This line of thinking kept me from learning awk, but it’s hard to ignore a thing which is a part of POSIX and is so widely used everywhere. So, finally, I decided to give it a go. So far so good, awk is actually not that hard at all, and it does its job very well. It can do pretty much anything that grep and sed can, so using one thing instead of two other things can actually decrease mental burden and simplify my workflow.

Here is a cool introduction to awk:

https://earthly.dev/blog/awk-examples/

Running Android Apps on PinePhone

Many people find it surprising but Linux phones exist, and they are usable. I know that because I have one myself. The problem is, it’s not enough to be able to run Linux on our phones, we also need to find a way to make it popular. Some may argue that it doesn’t have to be popular to succeed, but it’s hard to deny that more popular platforms tend to have more attention and polishing. There are many purely egoistical reasons to promote open platforms, and I find them pretty convincing.

What can be done to promote mobile Linux? For starters, we need a lot of apps. Platforms are as valuable as the value of things they enable you to do. Unfortunately, mobile Linux is in its early stages and there are only a few apps which are usable on mobile screens. Writing more apps is a way to go, but that can take a lot of time. One of the quicker solutions might be the ability to run apps from other mobile platforms directly from Linux phones. Android is the ideal “app donor”, since it’s an open system.

Recently, I came across an article which describes a way to run Android apps on Mobian:

https://wiki.mobian-project.org/doku.php?id=waydroid

Seems a bit complicated for now, but I’ll be watching this project. It’s still in alpha, but stable Android runtime on mobile Linux can allow a lot of people to transition from their Android phones without losing access to their favorite apps.

Movie: Squid Game

It was impossible to avoid all the hype around Squid Game. I’m not sure if this movie lives up to that hype, but it’s a decent movie indeed. I wouldn’t say the plot is unique, but this movie is made with effort, and it shows. Interestingly, there is a movie on Netflix called Alice in Borderland, which is an almost exact clone of Squid Game. This movie was made much earlier, but it wasn’t hyped at all. Makes me wonder if I missed something unique about Squid Game.

Another interesting thing about Squid Game is its production costs. There is a consensus among movie producers that US had become too expensive to make movies. Many are saying that Netflix can cut its production costs by a few times by moving production overseas. I think it’s a great news and hopefully movie making will become more geographically and culturally diverse.

Movie: Midnight Maas

This movie is pretty strange, and it’s not for everyone. I almost stopped watching it after the first episode, but it becomes more interesting as the story progresses. Personally, I liked its unique approach to “vampire stories”, and I also liked how it portrays the life of a poor American fishing village. I’m a bit tired of movies about middle and upper classes of American society, and as a person who never lived in US, I’m more interested in its darker and grimmer side, which is surprisingly shy of a public eye.

Game: Europa Universalis IV

Now that I have a GPU, I’m back to desktop gaming. EU IV is one of my favorite games, and it runs natively on Linux. This time, I’ve decided to play for native Americans in order to find out a bit more about their civilisation and history. I haven’t made contact with the Old World yet, but I’m sure it will be a tough situation to get out of alive.