<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on Trafotin.com</title>
    <link>https://trafotin.com/tags/linux/</link>
    <description>Recent content in Linux on Trafotin.com</description>
    <generator>Hugo -- 0.163.3</generator>
    <language>en</language>
    <lastBuildDate>Sun, 22 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://trafotin.com/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Distrobox: The Last Frontier of Installing Linux Things</title>
      <link>https://trafotin.com/v/distrobox/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/distrobox/</guid>
      <description>Distrobox is a universal way to run virtually any Linux application. Want to install a Debian package on Fedora? Are you tired of Linux distributions screwing around with software or failing to update it? Are you sick and tired of installing every single Linux package under the sun? Here&amp;rsquo;s some of the cool ways Distrobox can serve you!</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Distrobox: The Last Frontier of Installing Linux Things" width="100%" height="100%" src="https://spectra.video/videos/embed/bJci6dH8qSwyGLasnyjzUK?subtitle=en" allow="fullscreen" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="border: 0px; position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=kx3HJlXrjsg"  >
	
YouTube

</a>
</button>
</center>

<p>If you every used Linux for an extended period of time, you no doubt have been inundated with the varieties of packages and vast number of distributions. Despite this, if a program is worth its salt, it&rsquo;s available as Flatpak, but what happens when you encounter something that isn&rsquo;t a Flatpak? There&rsquo;s hundreds of ways outside of Flatpak and many of them like Debian .debs and Red Hat&rsquo;s .rpms are restricted to specific Linux distributions. This is where an important, but a relatively new skill in Linux comes in: making Distroboxes.</p>
<p>A Distrobox is running another specific flavor of Linux with near native performance on your main machine. Distrobox functions as a compatibility layer. Unlike a virtual machine, applications installed in a Distrobox have standard access to your system and to run virtually any Linux application you want anywhere. This means any configuration files are stored in the same locations they would as if you had installed them normally. Whether it&rsquo;s a graphical application, a web browser, or build tools for a development project, Distrobox is the most flexible way to run almost any application from any Linux distribution.</p>
<h1 id="getting-started-with-distrobox">Getting Started With Distrobox</h1>
<p>First, I&rsquo;m going to present a use cases. If you are installing programs the you intend to use on a regular basis, I recommend consolidating them to a single Distrobox. When it comes to more specialized programs or development workflows, create a new Distrobox. While you can make the majority of applications work, often times, this requires getting in the weeds and learning more about that specific environment before you take a deep dive.</p>
<p>One common usecase for Distrobox are applications that are restricted to a specific distribution. One example is Signal, which is unofficially supported as a Flatpak, but also only endorses a Debian or Ubuntu installation. Furthermore, this locks out all non-Ubuntu distributions from using Signal.</p>
<p>The first thing you&rsquo;ll need to <a href="https://distrobox.it/#installation">download Distrobox from your Linux distribution&rsquo;s repositories</a>, which shouldn&rsquo;t be a problem for the vast majority of Linux users. If you prefer a more forward-facing way to play with Distrobox, you can use <a href="https://github.com/Dvlv/BoxBuddyRS">BoxBuddy</a>, which adds some of the more day to day operations visible in an interface. I&rsquo;m going to focus more on the main application, which requires using a terminal. Whether you want to use an interface like BoxBuddy or not, you will need to use a terminal to do something at some point, so I would recommend learning it.</p>
<p>To start with building a Distrobox,  you need to evaluate which Linux system you need. There a <a href="https://github.com/89luca89/distrobox/blob/main/docs/compatibility.md#containers-distros">list on Distrobox&rsquo;s GitHub documentation</a> or the &ldquo;Image&rdquo; dropdown menu in BoxBuddy. The list might be daunting, but you don&rsquo;t know, start with <code>fedora:latest</code> or <code>ubuntu:latest</code>, which means running Fedora or Ubuntu respectively. Since Signal asks for a Debian/Ubuntu-based distribution, we&rsquo;re going to use <code>ubuntu-latest</code>.</p>
<p>To create your first Distrobox, use `distrobox create -n yourdistrobox -i fedora:latest</p>
<p>If you are doing this for the first time, it will prompt you to pick the image from one of the latest Ubuntu mirrors. After, Podman will pull the latest Ubuntu image down so you can run it. Afterwards, you will be prompted to &ldquo;enter&rdquo; your
Distrobox with <code>distrobox enter yourdistrobox</code>. This command can also be appended with commands your want to run in your Distrobox like <code>distrobox enter yourdistrobox -- sudo dnf upgrade -y</code>.</p>
<p>In terms of maintenance, you need to manually upgrade each of your containers as each system is independent of each other, even if they share the same image. Distrobox provides a basic command to run on every Distrobox you control in <code>distrobox upgrade --all</code>.</p>
<h2 id="exclusive-applications">Exclusive Applications</h2>
<p>The first thing to do is create a new Ubuntu Distrobox and run the commands from Signal&rsquo;s website to install Signal as normal. Here&rsquo;s where a bit of Linux know-how and trial and error comes in. Because Distroboxes are stripped down, some quality of life is missing and basic features aren&rsquo;t installed out of the box. While Signal functions when you launch it, a few things are missing like the file picker for uploading images, localization of non-Latinized languages, and sound for audio/video calls. If you have issues, examine these issues.</p>
<ul>
<li>If you need a file picker, you will need the <code>xdg-utils</code>.</li>
<li>Corresponding language fonts are needed, such as <code>google-noto-sans-cjk-fonts</code> for Chinese, Japanese, and Korean support on Fedora. On Ubuntu, this package is called<code>fonts-noto-cjk</code></li>
<li>If you require sound, you will need the package for Pipewire. In the case of Ubuntu and Fedora, this is simply <code>pipewire</code>.</li>
</ul>
<p>Here&rsquo;s a sample Ubuntu one-liner:</p>
<pre tabindex="0"><code>sudo apt install xdg-utils fonts-noto-cjk pipewire
</code></pre><p>Afterwards, we need to integrate Signal through your GNOME or KDE menu, so we don&rsquo;t have to open the terminal each time to run your Distrobox applications. Depending on the kind of application you use, you need to use a different <code>distrobox-export</code> command. Typically, this is named after the desktop file (e.g. Signal) from Signal&rsquo;s website.</p>
<pre tabindex="0"><code>distrobox-export --app &#34;Signal&#34;
</code></pre><p>For command line programs, use the <code>-b</code> flag and the path of the binary.</p>
<pre tabindex="0"><code>distrobox-export -b /usr/bin/signal-desktop
</code></pre><p>Lastly, to stop or remove a Distrobox it&rsquo;s a quick <code>distrobox stop &lt;yourdistrobox&gt;</code> and <code>distrobox rm &lt;yourdistrobox&gt;</code>.</p>
<p>So that&rsquo;s our first application! Signal is a more simple example, but it&rsquo;s not far off from what most applications are like. Most programs will automatically install these things for you, but the first time you install something, you should be prepared to take action.</p>
<h1 id="the-workflow-distrobox">The Workflow Distrobox</h1>
<p>Moving away from special applications, let&rsquo;s make what I call a workflow Distrobox. This is where you use one Distrobox to house various utilities that you intend to use on a regular basis. One example is a home for a particular development workflow. For me, one example is compiling <a href="https://github.com/ggml-org/whisper.cpp">whisper.cpp</a>, which I use to make subtitles for my videos. I use a Fedora container with <code>cmake</code> and <code>gcc-c++</code> to do C++ compilation.</p>
<p>Like with Signal, you can take this to the next level by using a Distrobox to version software or clump all of your daily applications together. I typically have &ldquo;personal&rdquo; containers appended by the corresponding container distributions, such as &ldquo;fedora-personal&rdquo; or &ldquo;ubuntu-personal.&rdquo; In these containers, this is where you would install things like web browsers. Some of the most popular web browsers like Brave and Vivaldi are not available officially Linux distributions outside of Ubuntu, Debian, or Debian. While you can run Brave or Vivaldi in their equivalent Flatpaks, the official install methods still stand by their Debian .debs and Red Hat .RPMs.</p>
<p>Like Vivaldi, <a href="https://proton.me/authenticator">Proton Authenticator</a> only provides a raw Debian or Red Hat package. This is also a great way to show Distrobox has full access to your home folder and stores your configuration data identically as if the application was installed natively.</p>
<p>To install a .deb or .rpm package, run <code>distrobox enter yourdistrobox</code>, then download the corresponding package and install it as if you were on that distribution. If you are using BoxBuddy, you get the option to upload distribution packages to install. Next, you run the corresponding package commands to install the packages you downloaded.</p>
<pre tabindex="0"><code>cd ~/Downloads
sudo apt install ./vivaldi-stable.deb ./proton-pass.deb
</code></pre><p>Another common task for me as a video editor is to use <a href="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html">NVIDIA&rsquo;s CUDA container toolkit</a> to make rendering videos easier. With NVIDIA&rsquo;s CUDA binaries, they often require specific versions of Ubuntu, Fedora, or openSUSE and are slow to support new versions.</p>
<p>Instead of installing CUDA as a distribution package and creating a potential conflict with what&rsquo;s already installed or compiling ffmpeg from source to get CUDA support, I can use a Distrobox based on <a href="https://hub.docker.com/r/linuxserver/ffmpeg">LinuxServer.io&rsquo;s full featured image of ffmpeg</a>. Distrobox lets you create new Distroboxes using existing container images.</p>
<pre tabindex="0"><code>distrobox create -i docker.io/linuxserver/ffmpeg:latest -n ffmpeg
</code></pre><p>This creates a new Distrobox with ffmpeg, compiled with CUDA thanks to LinuxServer.io, and in a new container for us to use.</p>
<h2 id="complex-usecases">Complex Usecases</h2>
<p>One of the newest uses for this is <a href="https://github.com/zelikos/davincibox">Davincibox</a>, which allows anybody to run the video editor DaVinci Resolve on any Linux distribution. Currently on NVIDIA cards specifically, you need to change some specific rendering options in the settings.</p>
<ul>
<li>In DaVinci Resolve&rsquo;s top menu, navigate to DaVinci Resolve → User → UI Settings → Uncheck &ldquo;Stop playback when a frame or clip cannot be processed.&rdquo; Despite this option&rsquo;s wording, I have not experienced any issues in rendering videos.</li>
</ul>
<p>In addition to these problems, <a href="https://github.com/zelikos/davincibox/issues/154#issuecomment-3373427461">DaVinci Resolve attempts to claim permissions of specific CUDA libraries, which breaks their functionality when you stop the container or reboot your system</a>. As a workaround, you need to remove these libraries, then &ldquo;rebuild&rdquo; these libraries when davincibox repulls the main image with pristine libraries.</p>
<pre tabindex="0"><code>#!/bin/sh
# davincibox-fix
distrobox stop -Y davincibox
distrobox enter davincibox -- sudo rm -vf /lib/libcuda.so /lib/libnvcuvid.so /lib64/libcuda.so /lib64/libnvcuvid.so
distrobox stop -Y davincibox
</code></pre><h1 id="building-assemble-files">Building Assemble Files</h1>
<p>But more simple than something like Davincibox, you can take every step I used to create my Signal container and repeat that process in an .ini file that works on every Linux distribution. Distrobox has the ability to &ldquo;assemble&rdquo; applications using a custom .ini file. This means you can theoretically make any Distrobox container of most desktop Linux applications and replicate it in a file. The concept of Distrobox&rsquo;s assembly files comes from the cloud computing world and it&rsquo;s also a new way to share applications with other people. Instead of sharing a shell script that only works on a specific distribution or accounting for changes in one&rsquo;s setup, you can distribute Distrobox .ini files to quickly install new applications through the magic of containers.</p>
<p>Let me break down some of the commands and what they look like when you make your own .ini file.</p>
<ul>
<li>Image: Location of the source container. This can be generic like <code>quay.io</code> or <code>docker.io</code> image of Ubuntu or something specialized like LinuxServer.io&rsquo;s ffmpeg.</li>
<li>Additional packages: Any package you want installed. This is run <em>after</em> the initial hooks from below.</li>
<li>Init: Integration with systemd or openrc. I have never had to touch this.</li>
<li>NVIDIA: Whether you need NVIDIA support or not.</li>
<li>Pull: Whether you want to pull the image again when running <code>distrobox assemble</code></li>
<li>Root: Whether you want to enter the container as a root account</li>
<li>Replace: Whether you want to replace your existing container of the same name after the <code>distrobox assemble signal.ini</code> command runs.</li>
</ul>
<pre tabindex="0"><code>[signal]
image=docker.io/library/ubuntu:latest
additional_packages=&#34;xdg-utils pipewire fonts-noto-cjk&#34; 
init=false
nvidia=false
pull=true
root=false
replace=true
# Instructions from https://signal.org/download/
init_hooks=wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor &gt; signal-desktop-keyring.gpg;cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg &gt; /dev/null &amp;&amp; rm signal-desktop-keyring.gpg
init_hooks=echo &#39;deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main&#39; | sudo tee /etc/apt/sources.list.d/signal-xenial.list
init_hooks=sudo apt update &amp;&amp; sudo apt install signal-desktop -y
</code></pre><h2 id="distrobox-limitations">Distrobox Limitations</h2>
<p>That said, Distrobox has its limitations. While the vast majority of programs you might use work, there&rsquo;s a few catches. Here&rsquo;s some of the things you can&rsquo;t use with Distrobox or issues you might run into.</p>
<ul>
<li>Distroboxes will take some time when they are launched for the first time. This can be alleviated by adding them to your <code>~/.config/autostart</code> folder to start them when you boot up, but you might not need every container to start when you log in. Afterwards, they will launch with near native performance.</li>
<li>Programs like VeraCrypt or GNOME Disks, which require direct access to your filesystem or disks.</li>
<li>VPN provider specific software, where VPNs and containers are a massive rabbit hole. Alternatively, you can use Wireguard or OpenVPN configuration files from your provider, especially since Wireguard is part of the Linux kernel.</li>
<li>Using Distrobox isn&rsquo;t a widespread practice yet, so certain programs may have unintended issues or need additional packages. Brave fails to show the icon in GNOME&rsquo;s task switcher and DaVinci Resolve has unusual rendering problems unless certain options in the menu are checked.</li>
<li>This might be an edge case, but using Fedora Distroboxes require internet connectivity. I&rsquo;m not sure why this is, but I have not experienced this with Ubuntu, Debian, or openSUSE.</li>
</ul>
<p>Despite these issues, Distrobox is an improvement to desktop Linux in a major way&mdash;you don&rsquo;t have to install programs that mess around with your system. When you install system packages, it increases the chance that something will go wrong. This is why verified Flatpaks are important, because they won&rsquo;t cause update problems or block your system for turning on. Where you need to run these kinds of programs, this is where Distrobox serves an important purpose and can run them without breaking your system. You&rsquo;re not getting an opinionated view on that software, but using it as it was intended.</p>
<h1 id="ragebait-compilation">Ragebait Compilation</h1>
<ul>
<li><a href="https://www.youtube.com/watch?v=kluoZ9RhmVo">Linus Tech Tips&rsquo; video &ldquo;FINE! I&rsquo;ll Try Linux ONE MORE TIME&hellip;&rdquo;</a></li>
<li><a href="https://mastodon.social/@pid_eins/116259741293391896">Lennart Pottering&rsquo;s Mastodon on age verification in systemd/Linux</a></li>
<li><a href="https://android-developers.googleblog.com/2026/03/android-developer-verification.html">Google&rsquo;s Matthew Forsythe: &ldquo;Android developer verification: Balancing openness and choice with safety&rdquo;</a></li>
<li><a href="https://www.nvidia.com/en-us/geforce/news/dlss5-breakthrough-in-visual-fidelity-for-games/">NVIDIA&rsquo;s Henry Lin: &ldquo;NVIDIA DLSS 5 Delivers AI-Powered Breakthrough In Visual Fidelity For Games&rdquo;</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/detail/7650">shimtone - Heartwarming (ほのぼの)</a></li>
<li><a href="https://dova-s.jp/bgm/detail/8492">KK - Starry winter (星が輝く冬)</a></li>
<li><a href="https://dova-s.jp/bgm/detail/17188">crepe (くれっぷ) - Fairy Lullaby (妖精の子守歌)</a></li>
<li><a href="https://dova-s.jp/bgm/detail/17485">H★ - Saturday morning</a></li>
<li><a href="https://dova-s.jp/bgm/detail/13884">gooset - Bittersweet</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>The Way Steven Deobald Left GNOME Should Be Celebrated</title>
      <link>https://trafotin.com/blog/2025-09-03-gnome-foundation/</link>
      <pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/blog/2025-09-03-gnome-foundation/</guid>
      <description>I wasn&amp;rsquo;t going to make a video about this until a certain YouTuber with hundreds of thousands of subscribers took bad information from conspiracy theorists online.</description>
      <content:encoded><![CDATA[

<center>
<iframe title="The Way Steven Deobald Left GNOME Should Be Celebrated" width="560" height="315" src="https://spectra.video/videos/embed/isVEmFxVYoFcfDePa3QPJn?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
</center>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=uVkBBBQMR-s"  >
	
YouTube

</a>
</button>
</center>

<h1 id="references">References</h1>
<ul>
<li><a href="https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/">Allen Day&rsquo;s announcement of Steven&rsquo;s departure</a></li>
<li><a href="https://blogs.gnome.org/steven/2025/08/29/so-short-and-thanks-for-all-the-flinch/">Steven&rsquo;s farewell post</a></li>
<li><a href="https://www.tiktok.com/@instaagraace/video/7527910323681070367">Coldplay concert exposes Astronomer CEO cheating on his spouse (@instaagraace on TikTok)</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://calumbowen.bandcamp.com/track/the-artists-house">Calum Bowen - The Artist&rsquo;s House</a> (from Pikuniku)</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>It&#39;s Impossible to Self-Host Anything &#34;Correctly&#34;</title>
      <link>https://trafotin.com/v/websites-are-impossible/</link>
      <pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/websites-are-impossible/</guid>
      <description>Why it&amp;rsquo;s insurmountable to self-host this website. If it wasn&amp;rsquo;t for YouTube and Patreon, I&amp;rsquo;d shut it down forever.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="It's Impossible to Self Host Anything &quot;Correctly&quot;" width="100%" height="100%" src="https://spectra.video/videos/embed/oJstArHg6sQmZ7i2iS781R" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=WtqhMTKJSdk"  >
	
YouTube

</a>
</button>
</center>

<p>I spent 1 entire week of my channel, which I could have spent doing better things learning about making a server the right way. Using solely information on the internet and leveraging what power I have as a content creator and I&rsquo;m throwing in the towel and am close to deterring people from making their website. Obviously it&rsquo;s impossible to make the &ldquo;perfect&rdquo; website, but I&rsquo;m going to break down why it&rsquo;s near impossible to have a website today.</p>
<h1 id="bot-protection">Bot Protection</h1>
<p>One of the growing problems with posting content on the internet is AI. This includes the torrent of garbage that hits your server. I doubt there are people visiting my website from outdated versions of Internet Explorer or attempting to visit common WordPress PHP exploits that totally exist on your website.</p>
<p>Recently, <a href="https://web.archive.org/web/20250331074510/https://thelibre.news/foss-infrastructure-is-under-attack-by-ai-companies/">generative AI has changed this for the worst</a> where now every tech company boarding the AI train wants to scrape your website for data. This results in your website getting hammered by AI trying mine your artwork and text content for who knows what and this isn&rsquo;t counting the mainstream crawlers like Google, Microsoft, and <a href="https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/">Perplexity</a> are doing!</p>
<p>Unfortunately, modern problems call for modern solutions and whatever you pick in today&rsquo;s day and age must have a way to integrate AI blocking. There are two programs for this: Anubis and Cloudflare. If you don&rsquo;t implement either, you are doing yourself a disservice. &ldquo;B&hellip; B&hellip; But Cloudflare controls so much of the internet,&rdquo; tell these gatekeepers to touch grass.</p>
<h1 id="containers-choices-and-restrictions">Containers: Choices and Restrictions</h1>
<p>The worst way to build a server is using native distribution repositories and there are still many people brainwashed into thinking that this is the only way to do things, both from Linux losers online and in documentation. This is where containers come in as universal ways to package applications in the way the original application developer intended.</p>
<p>For example, as of time of writing, Debian 13 (trixie) was released, but with <a href="https://packages.debian.org/source/trixie/podman">an outdated version of Podman</a>. Mere days later, Podman receives <a href="https://github.com/containers/podman/releases/tag/v5.6.0">a new release</a>. This is further proof of Debian shooting themselves in the foot where the version of Podman in Debian 12 (bookworm) had no Quadlet support, which is essential to updates, maintaining feature parity with Docker, and includes bug fixes.</p>
<p>The problems have less to do with containers themselves but rather the two standards competing for attention: Docker and Podman. Of the two, Podman is the better choice as it doesn&rsquo;t require root privileges but also mostly backwards compatible.</p>
<p>The issues come in when certain programs are not made with Podman in mind because they are targeting features that are only available in Docker. For example, if you want to run Traefik, you have to use a Docker container because of the way Traefik expects things to be done the Docker way.</p>
<p>This is compounded by distribution modifications or hindrances, further most server distributions running outdated versions of Podman that won&rsquo;t support Quadlets, which autostart your containers on login. Granted, <a href="https://github.com/containers/podlet">making Quadlets requires a script to do this correctly</a>, but this is a reason distributions matter a lot and I don&rsquo;t have a good solution to these mismatched versions, especially given server software is always out of date.</p>
<h1 id="website-name--server-software">Website Name &amp; Server Software</h1>
<p>The problem is the actual implementation process is very bad and poorly explained. It&rsquo;s one thing for Anubis as a community project, but it&rsquo;s another for a multimillion dollar company like Cloudflare.</p>
<p>For example, <a href="https://developers.cloudflare.com/ssl/troubleshooting/too-many-redirects/">this documentation Cloudflare page</a> tells you to fix a setting in your dashboard, so I spent 4 hours searching online through the dashboard. Turns out the problem is with how the proxy is going to my container and I have no clue what it is.</p>
<p>The first problem to building a website comes with server software. The technical term is &ldquo;reverse proxy,&rdquo; which is where you declare to a computer where you want everything pointed. One of the most popular of the bunch is nginx.</p>
<p>nginx is one of the oldest internet reverse proxies, but because it&rsquo;s older, there&rsquo;s a lot problems with the default configuration. For one, nginx will report your version on the default error page. This often rats out your Linux distribution and if you are vulnerable to any of crippling security issues.</p>
<p>The lesson nginx will teach you is to redirect your error pages. If you use a static site builder or another solution, you need change your error or redirect pages to be something else. This is compounded there are virtually no tutorials to setup Cloudflare with nginx online and spawned many competitors because people couldn&rsquo;t be bothered to deal with nginx since it was made in an era where these flaws weren&rsquo;t problems.</p>
<p>The alternatives include Traefik and Caddy. The worst by far is Caddy, which is sad because I found it very easy to setup by itself. The problem is integrating Cloudflare with Caddy requires building from source another module just to get Cloudflare to work properly and the moment this happened, it caused my server to crash. Turns out, despite the image optimization I&rsquo;ve done to the files on my website is not enough and building Caddy modules eats up all my memory.</p>
<p>Now there are people who say Cloudflare Pages is much better, but this introduces a different problem. Cloudflare Pages <a href="https://developers.cloudflare.com/pages/get-started/git-integration/">requires posting this information on a Git server</a>, which is likely controlled by someone else (GitHub/GitLab) since you came crawling here. The problem is the last thing I want is every mistake and typo I ever make to be published in a record for the rest of eternity. Beyond that, services like GitHub have already shown they will gladly mine information from your repositories and use it to train Microsoft&rsquo;s artificial intelligence. No thanks.</p>
<h1 id="the-real-failure-of-self-hosting">The Real Failure of Self-Hosting</h1>
<p>All of this boils down to I cannot build an effective website. In order to host a website, you need a Linux distro with everything updated, but also sane enough not to break. You also need a reverse proxy with support for bot protection so your content doesn&rsquo;t get stolen and your website stays up. But there&rsquo;s one last major problem with all these things: this information is gatekept: both by those who are experts in the field and by idiots online who believe containers are the devil and you should avoid systemd and learn binary to write a crontab instead.</p>
<p>For reference, I used a burner account to download various <a href="https://developers.redhat.com/cheat-sheets/podman-cheat-sheet">documentation</a> from Red Hat about how to use containers and Podman. Red Hat generally has very good documentation and Podman is no exception. While Podman has good documentation, in no way does it get you started with the information that actually matters. There&rsquo;s no assistance in writing a Dockerfile, which you will have to write in order to publish your website. Guides for this are scarce, but it&rsquo;s pretty easy to figure out how these work because many random strangers on GitHub publishes their Dockerfiles for all to see and they are a great reference for you to reverse engineer what is basically a shell script.</p>
<p>The problem comes in bringing all these messy aspects of server making together. I have browsed virtually every single page on YouTube, Google, or anything AI has touched and it is impossible to find information on how to get Cloudflare to stop infinitely redirecting your website to oblivion. You&rsquo;ll find someone who set up Cloudflare with Caddy or installing nginx in a Podman container, but nobody does it correctly, marrying your reverse proxy, Podman container, and Cloudflare firewall. Reading Cloudflare&rsquo;s documentation is so poorly written I cannot ascertain what to do to begin with and Podman is just as bad.</p>
<p>I also ran another test and as a content creator, I am privileged with a very technically savvy audience who are bright about these kinds of topics. So as a social experiment and also an act of desperation, I posted a calm cry for help on all of my social media accounts: Mastodon, X (Formerly Twitter), Bluesky, and my YouTube Community page. I have hundreds of followers across my social media and thousands of subscribers and only 1 person responded referring to a TechnoTim video that was actually not that bad as long as I suck it up and use Docker instead of Podman. But it was only 1 comment to a content creator. I&rsquo;m sick and tired of people saying &ldquo;ask around on a forum&rdquo; because I have burner accounts that have gone ghosted numerous times on Matrix and Discord, why should it be different for anyone else?</p>
<p>This is the real problem with self-hosting communities. Compounded by information constantly changing, people won&rsquo;t even give you answers to basic problems. Tell me what to do, don&rsquo;t give me cryptic advice or tell me to read documentation. I have a high BS tolerance, but this broke the camel&rsquo;s back. I scoured all of Google, YouTube, Reddit, Cloudflare/nginx/Caddy forums and I&rsquo;m very close to throwing in the towel. If it wasn&rsquo;t for the people who give me money to do YouTube, I wouldn&rsquo;t even bother.</p>
<h1 id="sources">Sources:</h1>
<p>These are all of the links I read for the nothing I accomplished. To protect my own privacy, I have not linked any Discord, Matrix, or forum conversations I did. Needless to the say, many of my questions went unanswered or I was talked down to. I used burner accounts to simulate the experience most people would experience and did not wish to be given special treatment.</p>
<ul>
<li><a href="https://samjmck.com/en/blog/using-caddy-with-cloudflare/">One of the first Google searches I got for using Caddy and Cloudflare</a>. When this article was originally written, it was probably fine. Since then, Caddy has made major changes to prevent most of the instructions from working. Not only that, but the &ldquo;easiest&rdquo; advice is to use a self-signed certificate (which did not work) or upload some root certificate nonsense (which also did not work).</li>
<li><a href="https://www.youtube.com/watch?v=rg4hI-0rbP4">This YouTube video by @beamnetworks1 on nginx and Cloudflare HTTPS certificates</a> at 7:27, <em>except</em> this is a self-signed certificate and does not work anyway. I got nothing but 502 errors and rejections because it wasn&rsquo;t using an auto-generated HTTPS certificate. Give up all this origin server junk.</li>
<li><a href="https://old.reddit.com/r/selfhosted/comments/1cmbl22/is_is_just_me_but_traefik_is_so_hard_to_understand/">A Reddit thread from r/selfhosted</a> <a href="https://old.reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion/r/selfhosted/comments/1cmbl22/is_is_just_me_but_traefik_is_so_hard_to_understand/">(Onion Link)</a> about Traefik&rsquo;s documentation. Many users have complained about poorly written documentation (yes!) and why you should give up and just use Caddy. This led down another rabbithole about nginx proxy manager and information about it was much more limited and it did not bypass the Docker problem either.</li>
<li><a href="https://akashrajpurohit.com/blog/setup-caddy-with-automatic-ssl-certificates-with-cloudflare/">A blog post about native installations of Caddy</a>. The problem with this guide is it focuses on using native distribution packages and doesn&rsquo;t discuss containers at all.</li>
<li><a href="https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/caddy_v2">A incredibly long GitHub guide to use Caddy</a></li>
<li><a href="https://github.com/containers/podlet">Podlet, a script to create container startup files  AKA Quadlets for Podman containers</a></li>
<li><a href="https://universal-blue.discourse.group/t/ollama-on-bazzite-with-nvidia-gpu-support/7042">A sample podlet from the Universal Blue forums</a></li>
<li><a href="https://community.traefik.io/t/how-can-i-make-traefik-v3-work-with-podman/26738">A forum post about Traefik and Podman</a>. Basically, this guy was just told to RTFM politely and make a Quadlet, so see above. They weren&rsquo;t even directed to the correct variables for their Quadlet. Icing on the cake, the issue was auto-closed by the moderation bot and nobody has asked this question since. What great help.</li>
<li><a href="https://developers.cloudflare.com/ssl/static/origin_ca_ecc_root.pem">Cloudflare&rsquo;s root certificate</a>, which buried in <a href="https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/#cloudflare-origin-ca-root-certificate">developer documentation</a> and not available to download from the dashboard. To make this worse, this is the first thing you are presented when you look up how to do basic reverse proxy stuff and might as well be worthless.</li>
<li>While I was editing this video and working on future content, I found <a href="https://fedoramagazine.org/auto-updating-podman-containers-with-systemd/">an article on Fedora Magazine about podman auto-update</a>, which is functionally similar to what Podlet is. At least it appears to be, I haven&rsquo;t had time to test it.</li>
</ul>
<p>The following were shared with me because of my influence.</p>
<ul>
<li><a href="https://github.com/TeamLinux01/daniel.melzaks.com/blob/main/Dockerfile">A guide by Daniel Melzak for making a Caddy Dockerfile</a>. My personal Dockerfile does not do the Hugo building, as that already occurs on my personal computer. This is also missing the Cloudflare integration and update management.</li>
<li>TechnoTim&rsquo;s video <a href="https://www.youtube.com/watch?v=n1vOfdz5Nm8">Traefik 3 and FREE Wildcard Certificates with Docker</a></li>
</ul>
<h1 id="video-references">Video References</h1>
<ul>
<li><a href="https://www.youtube.com/watch?v=o8NiE3XMPrM">Google I/O ‘25 Keynote</a></li>
<li><a href="https://tube.kockatoo.org/w/woce36hTzF6JdnBiBEaRZJ">Niccolò Ve&rsquo;s video: &ldquo;Open Source Infrastructure has an AI problem&rdquo;</a> <a href="https://www.youtube.com/watch?v=cQk2mPcAAWo">(YouTube Link)</a></li>
<li><a href="https://build.microsoft.com/en-US/sessions/KEY010">Microsoft Build Day 1 Keynote</a>. This version is <a href="/v/trafotin-watches-microsoft-build-2025/">edited to remove protesters who interrupted the beginning of the presentation</a>.</li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play18719.html">Kei Morimoto - Utopia</a></li>
<li><a href="https://dova-s.jp/bgm/play20029.html">gooset - Recharging</a></li>
<li>Sonic Mania - Metallic Madness Zone Act 1</li>
<li>Sonic Mania - Metallic Madness Zone Act 2</li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Why Does Linux Have So Much Drama?!</title>
      <link>https://trafotin.com/v/anatomy-of-linux-drama/</link>
      <pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/anatomy-of-linux-drama/</guid>
      <description>The Linux community seems like it&amp;rsquo;s filled with so much drama! How do we make sense of it all? Is Fedora going to kill my games? Did you hear the latest thing Linus said? Is GNOME really blocking all Wayland progress? Let&amp;rsquo;s analyze if an issue was worth our time or not and how Linux news has dire consequences to Linux&amp;rsquo;s developers.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Why Does Linux Have So Much Drama?!" width="100%" height="100%" src="https://spectra.video/videos/embed/jt1HccJBHqhUWUWgdtYZaA?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=FBFQEUyYXbY"  >
	
YouTube

</a>
</button>
</center>

<p>Recently, the Linux community is making me very disappointed. It&rsquo;s not because someone in Fedora decided to remove 32-bit libraries. It&rsquo;s not because of my precious Wayland and freedesktop.org standards being stalled. But hang on, isn&rsquo;t all of this just Linux drama? What impact does all of this have on me? Before we get into that, I want to analyze the anatomy of drama within Linux and open source communities.</p>
<h1 id="the-right-target-audience">The Right Target Audience</h1>
<p>Before we address any particular juicy drama, let&rsquo;s break down an important part of covering a story on the internet. I strongly prefer first party sources whenever possible. Reading is easy, but interpreting information isn&rsquo;t, because interpretation is what we, as users, act upon this information.</p>
<h2 id="example-of-following-a-news-trail">Example of Following a News Trail</h2>
<p><img alt="Me reading the articles below" loading="lazy" src="/i/anatomy-of-linux-drama/research.webp"></p>
<ul>
<li>You watch <a href="https://www.youtube.com/watch?v=EoOQtwp0wOM">a clip from the WAN Show</a> that mentions a lawsuit with Anthropic and Facebook involving copyright. Since Linus and his team don&rsquo;t cite sources or show the articles they are reading, just trust them bro.</li>
<li>You don&rsquo;t trust them and use a search engine to find the article they are reading.</li>
<li>The search takes you to <a href="https://www.latimes.com/entertainment-arts/story/2025-06-25/anthropic-copyrighted-books-ai-fair-use">a <em>LA Times</em> article by Lauren Harvey</a>, which mentions the aforementioned court case with a link.</li>
<li>The original document is from <em>Publishers&rsquo; Weekly</em>, who <a href="https://www.publishersweekly.com/binary-data/ARTICLE_ATTACHMENT/file/000/006/6700-1.pdf">uploaded the full court case</a>.</li>
</ul>
<p>This is why I hate reading news.</p>
<h2 id="how-i-read-linux-news">How I Read Linux News</h2>
<p>For example, let&rsquo;s say we&rsquo;re covering a new release of software like OBS Studio&rsquo;s (as of time of writing) recent <a href="https://github.com/obsproject/obs-studio/releases/tag/31.0.4">31.0.4 hotfix release</a>.</p>
<ul>
<li>Simply analyzing the patch notes is far too overwhelming unless you know what to look for, but it&rsquo;s helpful for those who are actively developing projects around OBS.</li>
<li>We could analyze the end product by opening OBS prior to the update, but it looks visually similar to the last release.</li>
</ul>


<div style="position: relative;"><iframe src="https://vt.social/@trafotin/114673463104215585/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="100%" allowfullscreen="allowfullscreen"></iframe><script src="https://vt.social/embed.js" async="async"></script>


<p>Since these ways don&rsquo;t work, we need to resort to interpretation and as your resident content creator, I can at least authoritatively say some highlights for OBS on Linux as I have experienced them. I have no proof since I updated to record this video, but I will link to issues to reference them.</p>
<p>First, there was <a href="https://github.com/obsproject/obs-studio/pull/11906">a regression in previous versions of OBS on Linux</a> where enabling the virtual webcam didn&rsquo;t work. Unfortunately, I need the virtual webcam to show people my lovely face otherwise people are quite literally interacting with a disembodied voice. Stephematician, one of the programmers for OBS and v4l2loopback, also apologized (probably not necessary).</p>
<p>The reason I made the social post was because it&rsquo;s an ongoing issue that people who use OBS need to be aware of, the issue is known, and being addressed. As a content creator, even though there are tens of thousands of creators larger than me, it&rsquo;s my responsibility for what I say, whether it&rsquo;s accurate or not, and what my audience chooses to do with this information.</p>
<h1 id="mailing-lists-and-mediums">Mailing Lists and Mediums</h1>
<p>On a similar note, it&rsquo;s a wonder to me that so many people are obsessed with the Linux kernel mailing list. First, there&rsquo;s nothing exciting there unless someone is trying to support a specific type of hardware like the new Intel or AMD processor. Then we move on with our lives and wish everyone the best.</p>
<p>Every time someone brings up the Linux kernel mailing list or virtually anything involving Linus Torvalds, I can&rsquo;t help but feel creepy reading it. First, Linus strikes me as an engineering type, yet is forced on stage to talk about silly things like leadership or interview people he barely knows. He never signed up for all this attention yet online Linux outlets obsess over him.</p>
<p>Second, mailing lists are emails&ndash;personal correspondences that just happen to be made public. A similar analogy is how Charles Dickens wrote his stories. Many of them were serialized in newspapers or pamphlets, long before they were published in the book form his readers or we read them today.</p>
<p>Do you think Torvalds or Kent Overstreet intended for anybody outside of <a href="https://lore.kernel.org/all/xl2fyyjk4kjcszcgypirhoyflxojzeyxkzoevvxsmo26mklq7i@jw2ou76lh2py/">their email chain</a> to <a href="https://lore.kernel.org/all/ahdf2izzsmggnhlqlojsnqaedlfbhomrxrtwd2accir365aqtt@6q52cm56jmuf/">read their emails</a>? I don&rsquo;t see my email in the mailing list, your email probably isn&rsquo;t in there, so it must not be relevant to my life or yours, because they didn&rsquo;t bother to address us or release a statement on social media.</p>
<p>Would you enjoy if I read through your emails? Probably not. This is because a key way to identify if something is &ldquo;drama&rdquo; or not, think about how people are addressing each other. Email is a very different form of communication from using a public social media like Mastodon or Bluesky. Because of the medium, in my humble opinion, mailing lists like the Linux kernel, Gentoo, or Debian is not worth our time because end users are not the target audience.</p>
<blockquote>
<p>The instance of the electric light may prove illuminating in this connection.
The electric light is pure information. It is a medium without a message, as it were,
unless it is used to spell out some verbal ad or name. This fact, characteristic of all
media, means that the “content” of any medium is always another medium. The
content of writing is speech, just as the written word is the content of print, and
print is the content of the telegraph. If it is asked, “What is the content of speech?,”
it is necessary to say, “It is an actual process of thought, which is in itself nonverbal.” An abstract painting represents direct manifestation of creative thought processes as they might appear in computer designs. What we are considering here,
however, are the psychic and social consequences of the designs or patterns as they
amplify or accelerate existing processes. For the “message” of any medium or
technology is the change of scale or pace or pattern that it introduces into human
affairs. The railway did not introduce movement or transportation or wheel or road
into human society, but it accelerated and enlarged the scale of previous human
functions, creating totally new kinds of cities and new kinds of work and leisure.</p>
<p>Marshall McLuhan, <a href="https://web.mit.edu/allanmc/www/mcluhan.mediummessage.pdf"><em>Understanding Media: The Extensions of Man</em></a></p>
</blockquote>
<h1 id="project-politics-processes-and-proposals">Project Politics, Processes, and Proposals</h1>
<p>The next thing to discuss is project politics. This isn&rsquo;t so much about politically right or left as much it is about project governance. Typically, when a project wants to make sweeping changes, the standard thing to do is fly it by their main contributors so they are aware of the changes that are being made. An example of this is GNOME&rsquo;s recent deprecation of X11 and the login manager GDM. GNOME&rsquo;s release manager Jordan puts up a GitLab issue and everybody responds if they are ready to go or not.</p>
<p>Recently a more extreme version of this was <a href="https://discussion.fedoraproject.org/t/f44-change-proposal-drop-i686-support-system-wide/156324">a change proposal to Fedora created by members of Fedora&rsquo;s infrastructure team</a>. Among them, Fabio Valentini made the suggestion that Fedora should stop packaging and maintaining 32-bit libraries within 2 years as it&rsquo;s aging architecture that is a struggle for programmers to manage. Returning to the target audience, developers within Fedora&rsquo;s ecosystem are the primary addressees.</p>
<p>Who aren&rsquo;t being addressed are users and unfortunately, this news was not taken well. Removing 32-bit applications caused breakages for Steam and the most oppressed group of all, gamers, lost their collective minds. A particular quote the &ldquo;users&rdquo; who opposed this was from Kyle Gospodnetich, the lead developer of Bazzite. He initially made <a href="https://discussion.fedoraproject.org/t/f44-change-proposal-drop-i686-support-system-wide/156324/78">a post in the Fedora Discourse</a>, which many perceived as trying to stop the proposal because of the detrimental effect of Bazzite.</p>
<p>Instead, many people tunnel-visioned on the harms it would do to downstream Fedora projects and ignored the overall message of developer fatigue. What&rsquo;s worse is online outlets and content creators drummed up this as some catastrophic thing that would happen. The whole thing got so much attention toxicity was sent to <a href="https://mastodon.social/@decathorpe/114762046330966084">Fabio on Fedora&rsquo;s forums</a> and Kyle had to go on tour debunking claims. In fact, Kyle said he was <em>in favor</em> of this proposal; he just felt it was too premature.</p>
<blockquote>
<p>My initial proposition was to actually close that proposal and reopen it because I felt the wording of it was going to ring alarm bells and result in bad press. Which, you know, it did, but&hellip; It happens sometimes, you know, people take things out of context or report things too early.</p>
<p>Kyle Gospodnetich, <a href="https://www.youtube.com/watch?v=XgabGSI82M0">Gardiner Bryant&rsquo;s The whole truth about Fedora&rsquo;s 32-bit proposal w/ Kyle from Bazzite</a> 4:00</p>
</blockquote>
<h1 id="block-progress-or-brigade">Block Progress or Brigade?</h1>
<p>The Fedora 32-bit fiasco is only touching the surface because when does online discussion impede development effort? One such individual is Sebastian Wick, who helps maintain Mutter, GDM, Flatpak, and countless other things we take for granted on desktop Linux.</p>
<p>One things that some trolls online focus on is Sebastian&rsquo;s work with Wayland and standards discussions with desktop Linux. Protocol discussions like Wayland and freedesktop.org standards already fails the qualifications from before: the target audience is for developers and users aren&rsquo;t meant to browse issue pages.
What&rsquo;s more Sebastian is often painted as the reason many protocols have come to a halt and inhibiting progress.</p>
<p><img alt="Various angry comments from YouTube with a Tweet from Brodie Robertson in the center" loading="lazy" src="/i/anatomy-of-linux-drama/comments.webp"></p>
<p><a href="https://x.com/BrodieOnLinux/status/1939873849178558930#m">Creators are also guilty of galvanizing this kind of behavior, even if unintentionally.</a></p>
<p>I will remind everyone users are not the primary audience and discussions between developers are not our business, especially when interactions may happen outside of these channels like Discord, Matrix, or social media. As an &ldquo;alternative reading&rdquo; to appease Linux losers, let me offer a couple thoughts.</p>
<p>First, who are we as users to define what is important for a protocol or standard? Standards are very serious things and making definitive decisions can have serious impact on all desktop Linux projects going forward. Things like the standard XDG folders are an example of this. These things <em>need</em> to be picked apart and deliberated carefully because somebody has to keep them in shape not just immediately, but in the years to come. If people aren&rsquo;t willing to step up and help run the show, why should the same people be allowed to decide what happens?</p>
<p>Second, Sebastian in particular has been sent <a href="https://hachyderm.io/@swick/114732138129234764">multiple disparaging comments</a> and frequently <a href="https://www.youtube.com/watch?v=8_BTZxEE4Nk">labelled as a troll</a>. <a href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2356">Sebastian put HDR in GNOME</a>,  maintains Flatpak&rsquo;s sandbox/compatibility, and helps run GDM, which Linux losers ironically label the most reliable and stable login manager. Give him a break! What are you doing for Linux today?</p>
<p>Let&rsquo;s consider this: if people will spread discourse like what we saw with the Fedora 32-bit libraries and with <a href="https://mastodon.online/@danirabbit/113120541276734368">threats being sent out to project leaders</a>, it&rsquo;s no wonder why Linux users are held in such low regard. I frequently get told I&rsquo;m destroying the Linux community on a regular basis, but this is far worse than whatever people think I&rsquo;m doing.</p>
<h1 id="the-consequences">The Consequences</h1>
<p><img alt="A Mastodon toot from Danielle Foré about the elementary OS team receiving death threats coinciding with a date of a video released by a transphobic YouTuber reading: If you’re gonna send me death threats please send them to me personally. Don’t bother elementary community members with this nonsense. It’s unfair to them to have to deal with the collateral" loading="lazy" src="/i/anatomy-of-linux-drama/death.webp">
These people who send threats and spread false information are wasting the time of developers who could be doing better things with their time. Instead, they have to spend their time combating trolls, putting out PR fires, or get demoralized online (and hopefully not real world harm!). This also has tangible consequences when <a href="https://web.archive.org/web/20231109211428/https://foundation.gnome.org/2023/11/09/gnome-recognized-as-public-interest-infrastructure/">literal governments pay money</a> to get things in Linux and that precious money and developer time was <a href="https://tesk.page/2025/06/18/its-true-we-dont-care-about-accessibility-on-linux/">wasted because somebody happened to create a conspiracy from a GitLab</a>.</p>
<p>It&rsquo;s the Linux losers who have not only effectively ruined online discourse, but hinder progress by beefing up the most minor of events of creating all kinds of speculation.</p>
<p>It&rsquo;s the chase for daily content, which leads to junk articles and applications that need more time to cook in the oven before people use them.</p>
<p>It&rsquo;s the people who shout and complain on social media in hopes of change, but the only thing that gets accomplished is wasting valuable volunteer hours for a developer who ultimately isn&rsquo;t getting paid and locked in for life. It&rsquo;s a disease rampant in online Linux communities and it desperately needs an Echinacea.</p>
<p><img alt="The 4 ways to identify Linux drama" loading="lazy" src="/i/anatomy-of-linux-drama/qs.webp"></p>
<p>I want to end with 4 questions that will easily determine if something is worth your time as a Linux user:</p>
<ol>
<li>Does it affect me or a loved one whose computer I touched?</li>
<li>Does it build awareness and is there a call to action?</li>
<li>Does it have the potential to cause speculation or construed as spreading FUD?</li>
<li>What can we do to counteract harm (if any)? Shouting on social media doesn&rsquo;t count!</li>
</ol>
<p>That is how you identify Linux drama and why most Linux &ldquo;news&rdquo; for that matter isn&rsquo;t worth your time. You don&rsquo;t control what happens in other people&rsquo;s lives, but you can control what happens in your life. Not what is <a href="https://linuxiac.com/the-curious-case-of-xlibre-xserver/">Bobby the fraud who runs the Linuxiac</a> going to do; what are you going to do?</p>
<p>The only thing I did as a creator was to bring this to your attention and unfortunately I don&rsquo;t have an answer. I can do one thing and it&rsquo;s shame this kind of behavior. Ask the actual people involved before you go post on Reddit and I have a zero tolerance for this behavior online. If I see this in any of my socials, I will absolutely make fun of you. Shame on you for ruining Linux for the rest of us.</p>
<h1 id="video-references">Video References:</h1>
<p><em>In order of appearance.</em></p>
<ul>
<li><a href="https://www.ted.com/talks/linus_torvalds_the_mind_behind_linux/details">The mind behind Linux - TED</a></li>
<li><a href="https://www.youtube.com/watch?v=mysM-V5h9z8">Linus Torvalds On Future Of Desktop Linux</a></li>
<li><a href="https://www.youtube.com/watch?v=OM_8UOPFpqE">Keynote: Linus Torvalds in Conversation with Dirk Hohndel</a></li>
<li><a href="https://www.youtube.com/watch?v=0m4hlWx7oRk">Pat Gelsinger and Linus Torvalds talk Linux, open source, technology and more - Intel Newsroom</a></li>
<li><a href="https://www.youtube.com/watch?v=o8NiE3XMPrM">Google I/O &lsquo;25 Keynote</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play20923.html">yuhei komatsu - GION</a></li>
<li><a href="https://dova-s.jp/bgm/play9507.html">Imataku (いまたく) - Weekend Plan (週末の予定)</a></li>
<li><a href="https://dova-s.jp/bgm/play21982.html">H★ - Summer</a></li>
<li><a href="https://dova-s.jp/bgm/play22137.html">gooset - Echoes Lost</a></li>
<li><a href="https://dova-s.jp/bgm/play19393.html">gooset - Twilight Humanoid (黄昏ヒューマノイド)</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Debugging Desktop Linux and Its Users With GNOME&#39;s Jordan Petridis</title>
      <link>https://trafotin.com/v/2025-06-17-alatiera/</link>
      <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/2025-06-17-alatiera/</guid>
      <description>I got speak with GNOME&amp;rsquo;s release manager Jordan Petridis, his journey into open source development, the work GNOME has done with Flatpak and accessibility, and how open source developers deal with harrassment from Linux losers.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Debugging Desktop Linux and Its Users With GNOME's Jordan Petridis" width="100%" height="100%" src="https://spectra.video/videos/embed/ow78HpxqBPcjASS1zssGog?subtitle=el" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=HRpyo1Ql40E"  >
	
YouTube

</a>
</button>
</center>

<p>Jordan has also published a companion blog post: <a href="https://blogs.gnome.org/alatiera/2025/06/23/x11-session-removal-faq/">&ldquo;X11 Session Removal FAQ&rdquo;</a></p>
<h1 id="follow-jordan">Follow Jordan</h1>
<p>
 <img src="/i/guests/profile-circle-alatiera.webp" alt="Image of Jordan Petridis" height=400 width=400 > 

Jordan works at Centricular and helps develop GStreamer. He is currently a release manager for Flatpak, GNOME OS, and other projects related to the GNOME Foundation. Jordan assists GNOME with building CI pipelines and organizing GNOME&rsquo;s versions with major Linux distributions. He currently resides in Greece.</p>
<ul>
<li><a href="https://blogs.gnome.org/alatiera/author/jpetridis/">GNOME Blog</a></li>
<li><a href="https://blogs.gnome.org/alatiera/author/jpetridis/feed">GNOME Blog RSS</a></li>
</ul>
<h1 id="referenced">Referenced</h1>
<ul>
<li><a href="https://blogs.gnome.org/alatiera/2025/02/19/the-fedora-project-leader-is-willfully-ignorant-about-flathub/">Jordan&rsquo;s breakdown of (now former) Fedora&rsquo;s Project Leader, Matthew Miller&rsquo;s, inaccuracies about Flatpak</a></li>
<li><a href="https://apps.gnome.org/Podcasts/">GNOME Podcasts</a>, Jordan&rsquo;s first Linux application.</li>
<li><a href="https://apps.gnome.org/Builder/">GNOME Builder</a> is a development tool for working GNOME tools like GTK, GLib, dconf, and other APIs.</li>
<li><a href="https://os.gnome.org/">GNOME OS</a> is GNOME&rsquo;s flagship way to use and test the most recent releases of GNOME.</li>
<li><a href="https://aeondesktop.github.io/">openSUSE Aeon Desktop</a>. <em>Currently in Release Candidate stage, not for daily use.</em></li>
<li><em>The Washington Post&rsquo;s</em> Joseph Menn&rsquo;s article: <a href="https://www.washingtonpost.com/technology/2025/02/21/apple-yanks-encrypted-storage-uk-instead-allowing-backdoor-access/">&ldquo;Apple yanks encrypted storage in U.K. instead of allowing backdoor access&rdquo;</a> (Soft paywall)</li>
<li>Jordan&rsquo;s talk from Linux App Summit 2025: <a href="https://www.youtube.com/watch?v=NxOH4wJkfLY">Flathub: A paradigm shift for distributing applications</a></li>
<li><a href="https://discourse.gnome.org/t/updates-from-the-release-team/29045">Matthias Clasen&rsquo;s call for fixing GNOME&rsquo;s documentation</a></li>
<li>GNOME&rsquo;s help application <a href="https://gitlab.gnome.org/GNOME/yelp">yelp</a></li>
<li><a href="https://foundation.gnome.org/2025/06/10/gnome-has-a-new-infrastructure-partner-welcome-aws/">Amazon Web Services (AWS) became a GNOME Infrastructure Partner</a></li>
<li>Signal&rsquo;s president Meredith Whittaker and dev lead Joshua Lund&rsquo;s blog post: <a href="https://signal.org/blog/signal-is-expensive/">&ldquo;Privacy is priceless, Signal is expensive&rdquo;</a></li>
<li>After leaving WhatsApp and selling it to Facebook, <a href="https://signalfoundation.org/">the Signal Foundation</a> was created by Brian Acton, who invested $50M into Signal.</li>
<li>Android Authority&rsquo;s C. Scott Brown: <a href="https://www.androidauthority.com/android-phones-dating-1152799/">&ldquo;Own an Android phone? You might be 30% less likely to get a match on dating apps&rdquo;</a></li>
<li><a href="https://youtu.be/ll71prN_EHA?feature=shared&amp;t=4866">Brodie Robertson&rsquo;s Tech Over Tea interview with KDE&rsquo;s Nate Graham at 1:21:06</a> and how KDE&rsquo;s telemetry is not very useful.</li>
<li>Richard Brown&rsquo;s talk at FOSDEM 2025: <a href="https://fosdem.org/2025/schedule/event/fosdem-2025-5893-fde-is-almost-there-how-do-we-tackle-the-last-hurdles-/">&ldquo;FDE is almost there, how do we tackle the last hurdles?&rdquo;</a>, licensed under Creative Commons Attribution</li>
<li><a href="https://www.igalia.com/">Igalia</a> is a Spanish consultancy that has dedicated time to working on GNOME&rsquo;s screen reader (orca).</li>
<li>Jordan&rsquo;s Blog Post: <a href="https://blogs.gnome.org/alatiera/2025/06/08/the-x11-session-removal/">&ldquo;An update on the X11 GNOME Session Removal&rdquo;</a></li>
<li>Jean Baptiste Lallement&rsquo;s (jibel) Ubuntu Discourse post: <a href="https://discourse.ubuntu.com/t/ubuntu-25-10-drops-support-for-gnome-on-xorg/62538/1">&ldquo;Ubuntu 25.10 drops support for GNOME on Xorg&rdquo;</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/99">The infamous GitLab issue that created conspiracies about GNOME sabotaging Ubuntu</a></li>
<li>The Register&rsquo;s Simon Sharwood: <a href="https://www.theregister.com/2025/05/13/linux_6_15_rc6_keyboards/">&ldquo;Linus Torvalds goes back to a mechanical keyboard after making too many typos&rdquo;</a></li>
</ul>
<h1 id="video-intro">Video Intro</h1>
<p><em>Warning: the following articles and videos either miss context of the original developer discussions or could spread incorrect assumptions about interactions between GNOME and Ubuntu developers.</em></p>
<ul>
<li>OMG! Ubuntu&rsquo;s Joey Sneddon: <a href="https://www.omgubuntu.co.uk/2025/06/ubuntu-25-10-dropping-xorg-support">Ubuntu 25.10 Drops Support for Using GNOME on Xorg/X11</a></li>
<li>The Register&rsquo;s Liam Proven: <a href="https://www.theregister.com/2025/06/12/ubuntu_2510_to_drop_x11/">Ubuntu 25.10 and Fedora 43 to drop X11 in GNOME editions</a></li>
<li>Brodie Robertson: <a href="https://www.youtube.com/watch?v=tw-Qyp5qfTg">Ubuntu Linux And The GNOME Wayland Problem</a></li>
<li>Michael Tunnell: <a href="https://www.youtube.com/watch?v=-BWzypViJVQ">⧸e⧸OS 3.0, GNOME Dropping X11, Alpine Linux, Ubuntu wants a Rusty Sudo, &amp; more Linux news</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li>Intro: <a href="https://en.khaimmusic.com/download">Khaim - Maybe</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
<h1 id="bonus-content">Bonus Content:</h1>
<p>Patrons and YouTube Members get access to Jordan and Winward nerding out over Apple products for half an hour.</p>
<p><a href="/donate/">Donate</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Trust Over Suspicion</title>
      <link>https://trafotin.com/blog/2025-05-29-trust-over-suspicion/</link>
      <pubDate>Thu, 29 May 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/blog/2025-05-29-trust-over-suspicion/</guid>
      <description>I think trust over suspicion is an important lesson that all of us can learn, because it makes us all better people. Especially the Linux losers.</description>
      <content:encoded><![CDATA[<p>Every once in a while, the HR department at work gathers us together for our yearly training. The company I work for has a phrase that I believe has kept work culture pretty healthy: trust over suspicion. The way it works is if somebody does something that causes you to doubt, the very first thing you should do is trust them. Especially when somebody has proven themselves repeatedly, trust them. This also the reverse too, we want to encourage this kind of trust, but it allows us to identify problematic behavior.</p>
<p>A lot of people feel like many open source developers are seemingly &ldquo;spiteful&rdquo; of &ldquo;Linux users&rdquo; or &ldquo;Linux losers&rdquo; as I&rsquo;ve taken to calling them. The reason why is because the sign of a Linux loser is the tendency to immediately assume suspicion when there&rsquo;s no reason to be distrustful. Look at how Linux losers respond to things like anything the Linux Foundation partnering with Chromium makers, GNOME and Wayland discussion, or when Canonical replaces the coreutils with Rust versions for example. I, and I presume many other open source projects, refuse to involve people in my community who are spreading uncertainty and suspicion.</p>
<p>As much as people bash corporate America, I think trust over suspicion is an important lesson that all of us can learn, because it makes us all better people. Of course, it&rsquo;s important to remember what happens when trust is violated (look at what&rsquo;s happening to Deepin/openSUSE as an example). Always give someone the benefit of the doubt, but verify and hold them to account.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Trafotin Watches: Microsoft Build 2025</title>
      <link>https://trafotin.com/v/trafotin-watches-microsoft-build-2025/</link>
      <pubDate>Sat, 24 May 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/trafotin-watches-microsoft-build-2025/</guid>
      <description>The most militant Microsoft event ever with presenters getting heckled by mobs of protestors, layoffs looming, and new AI threats. Also probably the most censored Microsoft event in recent memory.</description>
      <content:encoded><![CDATA[<p><img alt="An angry Satya Nadella at a little protester with the text &quot;Don&rsquo;t ruin Microsoft&rsquo;s big day&hellip;&quot;" loading="lazy" src="/i/2025-05-19-microsoft-build.webp">


<center>
<iframe title="Microsoft's Protesting Problem and Palestine" width="560" height="315" src="https://spectra.video/videos/embed/dUcmkbzv2mw9CTTVr8jeKT?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
</center>

</p>
<center>
<button class="button button1">
<a  href="https://youtube.com/shorts/fRFR2kb9-gY"  >
	
YouTube

</a>
</button>
</center>



<center>
<iframe title="Satya Nadella Doesn't Use Git or GitHub" width="560" height="315" src="https://spectra.video/videos/embed/cEyqYBYsAPGY3pjL7z7ACx?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
</center>


<center>
<button class="button button1">
<a  href="https://youtube.com/shorts/V2Wqm3FExzM"  >
	
YouTube

</a>
</button>
</center>



<center>
<iframe title="And the Worst CEO of the Year Goes to..." width="560" height="315" src="https://spectra.video/videos/embed/ahiXzm8hi3ESaUYtqaSeq6?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
</center>


<center>
<button class="button button1">
<a  href="https://youtube.com/shorts/3WOz6n1gOyo"  >
	
YouTube

</a>
</button>
</center>

<h1 id="references">References</h1>
<p>During all 3 keynotes, protesters claiming to be former Microsoft workers shouted at speakers. I watched the unedited Day 1 keynote with Winward as well as the unedited Day 2 keynote by myself. For the purposes of the video, I combined the keynote video with audio provided by the protesters for clarity.</p>
<p>The Microsoft Developer YouTube account later unlisted the YouTube versions around 11am EST on Tuesday, May 20th. After, Microsoft uploaded edited keynotes to the YouTube channel and the Microsoft Build sessions page.</p>
<p>According to <a href="https://www.theverge.com/news/671373/microsoft-ai-security-chief-walmart-conversation-build-protest-disruption"><em>The Verge&rsquo;s</em> Tom Warren</a>, the Day 3 keynote was also interrupted by a protester, which inadvertently led to a presenter leaking private sales conversations about Walmart. This deal was not private as it was disclosed publicly during the Day 1 keynote. These protesters have the most credibility, claiming something would happen within 2 days from Wednesday, as <a href="https://apnews.com/article/israel-palestinians-hamas-war-news-05-23-2025-ca90ad92d081bb639d75e02625d975c6">Israel launched air strikes against Gaza on Friday</a>, confirming their claims.</p>
<ul>
<li><a href="https://youtube.com/watch?v=SVkv-AtRBDY">Unedited Day 1 Keynote</a>. The protesters start speaking at 3:52.</li>
<li><a href="https://build.microsoft.com/en-US/sessions/KEY010">Edited Day 1 Keynote</a>. The audio track with the room noise and the protestors was removed.</li>
<li>No Azure For Apartheid&rsquo;s protests by Joe Lopez, the first protestor on Day 1. (<a href="https://www.tiktok.com/@noazure4apartheid/video/7506230580556713258">TikTok</a>, <a href="https://x.com/NoAz4Apartheid/status/1924536187957465256">X (formerly Twitter)</a>)</li>
<li>No Azure For Apartheid&rsquo;s protests by a woman only identified as a &ldquo;former Google worker,&rdquo; the second protestor on Day 1. (<a href="https://www.instagram.com/reel/DJ18fe2xCKN">Instagram</a>, <a href="https://www.tiktok.com/@noazure4apartheid/video/7506209978324225326">TikTok</a>, <a href="https://x.com/NoAz4Apartheid/status/1924512658587263410">X (formerly Twitter)</a>)</li>
<li>Microsoft&rsquo;s 50th Anniversary Panel with Satya Nadella, Bill Gates, and Steve Ballmer.</li>
<li><a href="https://twit.tv/shows/windows-weekly/episodes/933">According to Paul Thurrott and Richard Campbell</a> at 2:58, 2 more protestors attempted to rush both the left and right aisles when Lopez and the former Google worker were speaking. They were swiftly stopped by security and their shouting can be heard faintly in the original broadcast.</li>
<li><a href="https://youtube.com/watch?v=5sM3JguEMzQ">Unedited Day 2 Keynote</a>. The protests start at 1:00:43. Shortly into the protestor&rsquo;s speech, Jay Parikh stopped talking because the protestor was close to the front of the stage and the mics were muted.</li>
<li><a href="https://build.microsoft.com/en-US/sessions/KEY020">Edited Day 2 Keynote</a>. The section where the video is changed is around 1:00:56, which occured seconds later after the protestor was escorted out of the venue.</li>
<li>No Azure For Apartheid&rsquo;s protests by a &ldquo;Palestinian tech worker&rdquo; and others on Day 2 (<a href="https://www.tiktok.com/@noazure4apartheid/video/7506610607899135275">TikTok</a>, <a href="https://x.com/NoAz4Apartheid/status/1924911188577501558">X (formerly Twitter)</a>).</li>
<li><em>The Verge&rsquo;s</em> Tom Warren&rsquo;s article &ldquo;<a href="https://www.theverge.com/news/669362/microsoft-employee-protest-build-conference-satya-nadella">Microsoft employee disrupts Satya Nadella’s keynote with ‘Free Palestine’ protest</a>&rdquo; The photo used by <em>The Verge</em> is by <a href="https://www.gettyimages.com/detail/news-photo/pro-palestinian-demonstrators-protest-outside-the-microsoft-news-photo/2215448451">Agence France-Presse&rsquo;s Jason Redmond</a> via Getty Images</li>
<li><a href="https://xkcd.com/1597/">xkcd 1597: Git</a></li>
<li><a href="https://www.youtube.com/watch?v=FmEe3eUPWq4">&ldquo;Elon Musk is Lying About Being Good at Video Games&rdquo; by @Quin69TV</a></li>
<li><a href="https://www.nytimes.com/2025/01/20/us/politics/elon-musk-hand-gesture-speech.html">&ldquo;Elon Musk Ignites Online Speculation Over the Meaning of a Hand Gesture&rdquo; - Ryan Mac, NY Times</a></li>
<li><a href="https://www.youtube.com/watch?v=m7atGkba-Z8">&ldquo;Tesla Cybertruck event in 5 minutes&rdquo; by The Verge.</a> The original event was removed.</li>
<li><a href="https://x.com/elonmusk/status/1585341984679469056">Elon carries sink into Twitter HQ</a></li>
<li><a href="https://developers.facebook.com/m/meta-connect-developer-sessions/connect-keynote/">Meta Connect 2024</a></li>
<li><a href="https://www.youtube.com/watch?v=NSzdCAt8phE">Jeff Bezos Interview with AFA President Gen. Larry Spencer, Ret.</a></li>
<li><a href="https://www.youtube.com/watch?v=6ValJMOpt7s">Mark Zuckerberg testifies on Capitol Hill (full Senate hearing) - The Washington Post</a></li>
<li><a href="https://www.amnesty.org/en/documents/ASA16/5933/2022/en/">Amnesty International&rsquo;s report: &ldquo;Myanmar: The social atrocity: Meta and the right to remedy for the Rohingya&rdquo;</a>. The cover photo is by Tamara-Jade Kaz and <a href="https://www.amnesty.org/en/latest/news/2022/09/myanmar-facebooks-systems-promoted-violence-against-rohingya-meta-owes-reparations-new-report/">the photo is by Ahmer Khan</a>.</li>
<li><a href="https://www.hawaiinewsnow.com/story/34289685/facebook-ceo-suing-hundreds-over-kauai-land/">Facebook CEO responds to flap over Kauai land suits, Hawaii News Now</a></li>
<li><a href="https://www.youtube.com/watch?v=N-MkduVh0wM">Mark Zuckerberg&rsquo;s 2017 Puerto Rico VR Safari (Reupload)</a></li>
<li><a href="https://www.nytimes.com/2020/01/23/business/media/national-enquirer-jeff-bezos-saudi-hack.html">National Enquirer photo is by Patricia Wall of The New York Times.</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Installing Linux Doesn&#39;t Need to Change. The Experience Does.</title>
      <link>https://trafotin.com/v/linux-food-pantry-experience/</link>
      <pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/linux-food-pantry-experience/</guid>
      <description>People online complain that Linux is hard to install for new users. But who are these people and why do they levy these complaints? The biggest barrier for the new Linux user isn&amp;rsquo;t the installer; it&amp;rsquo;s the experience, the lack of empathy, and complacency of supposed Linux users.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Installing Linux Doesn't Need to Change. The Experience Does." width="100%" height="100%" src="https://spectra.video/videos/embed/sXGnj113k5GYzdzzYmr4cY?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<p>I recently made a video about making an unattended Windows installer and got flooded with a ton of comments of people asking to switch to Linux or pleading with others to switch to Linux. I&rsquo;ve wanted to analyze the problems of this for a long time, but more on the biggest issue people have with using Linux.</p>
<p>While the discussion of installation comes up, I don&rsquo;t think installation is the biggest blocker for people. If people are installing Linux, they are already willing to make a concerted effort to escape Windows. Instead, the problem lies in the experience, not in the applications being bad, but just getting all of your ducks in a row when you first get started.</p>
<p>Today, I want to take a critical examination of the mindset of the people online who beg people to use Linux. I&rsquo;m avoiding the common arguments like not having the applications you need or hardware issues&ndash;this is about the people problem of Linux. Is it standardization? Is it toxicity? You better keep on watching (or reading)!</p>
<h1 id="installing-is-fine">Installing Is &ldquo;Fine&rdquo;</h1>
<p>When discussion of Linux comes up, the installation experience is brought up every time. I&rsquo;d be lying to you if it was straight forward&ndash;it&rsquo;s not. For a lot of people, it&rsquo;s buying a USB stick, downloading the <a href="https://www.raspberrypi.com/software/">Raspberry Pi Imager</a>, then flashing your chosen distro to an ISO file.</p>
<p><img alt="Trafotin staring at a list of things that annoy him about Linux distros and distro choices, see below" loading="lazy" src="/i/linux-food-pantry-experience/distro-checklist.webp"></p>
<p>When I have done this for other people, often times, I am the one supplying the USB stick, because most people don&rsquo;t have one. They just store all their data in Google Drive or Dropbox, they don&rsquo;t need a USB stick!  On top of that, you have to pick a distro to use and whether that&rsquo;s even right or not is something people who follow my channel know I have complained about ad nauseam. It doesn&rsquo;t matter what you pick for our purposes, so I won&rsquo;t beat that drum to death.</p>
<h2 id="trafotins-non-exhaustive-distro-checklist">Trafotin&rsquo;s non-exhaustive distro checklist:</h2>
<ul>
<li>Must deliver updates when upstream does ASAP.</li>
<li>Must have secure defaults (e.g. Secure Boot, Wayland)</li>
<li>Must be run by corporation or community (not a single person)</li>
<li>Must support some form of rollback (e.g. bootc, BTRFS, etc)</li>
<li>Must be innovating upstream or changing desktop Linux.</li>
<li>Must have critical developer mindshare (no BSD).</li>
<li>Must withstand the wrath of non-technical people.</li>
<li>Patches security issues within week of issue.</li>
<li>Package manager must have rollback/redundancy</li>
<li>Must respect privacy without configuration.</li>
<li>Must support NVIDIA drivers (as good as they get anyway)</li>
<li>Must run DaVinci Resolve else you couldn&rsquo;t read this.</li>
</ul>
<h2 id="theres-only-so-much-that-can-be-done">There&rsquo;s Only So Much That Can Be Done</h2>
<p>After finding the appropriate distribution or &ldquo;distro,&rdquo; you have to somehow wrangle your Linux ISO file into Raspberry Pi imager and install it to your USB stick. Then you need to backup your data, reboot your computer, then find the boot key to boot into your Linux USB. Now this sounds painful and it certainly is for people especially the first time, but this is actually the best this installation could possibly be.</p>
<p>Replacing the operating system your computer came with is a concerted effort, but it&rsquo;s not that bad with a bit of knowledge, eve following the occasional YouTube tutorial. While mashing a random key when your computer boots up is pretty annoying, there&rsquo;s nothing Linux or people who develop for applications for Linux can do. It&rsquo;s not the best for those not in the know, but it&rsquo;s the best it can be right now.</p>
<p>A similar comparison is installing a custom Android ROM like GrapheneOS to the Pixel device of choice. GrapheneOS has done virtually everything within their power to work with the constraints of the Android security model and buttons on their website to guide and automate the installation process.</p>
<p>That leaves the actual installation process which you&rsquo;re bound to find plenty of guides about how to install something like Ubuntu. This <em>is</em> something that Linux app developers can do something about and I think it&rsquo;s also in a good spot. It&rsquo;s very clear what you need to and often times you are literally able to mash buttons and complete your installation with little issues. My only major gripe is of most major distributions is full-disk encryption is not recommended out of the box. It should be mandatory on all computers, but Windows/Mac are equally culpable in not enabling it by default too.</p>
<h1 id="installing-things-is-a-nightmare">Installing Things is a Nightmare</h1>
<p><img alt="Trafotin with gritted teeth and the NVIDIA logo" loading="lazy" src="/i/linux-food-pantry-experience/nvidia.webp"></p>
<p>Installing Linux might be a bit cumbersome, let&rsquo;s get into the real problem&ndash;most people will not use Linux because it&rsquo;s an experience problem. Once you&rsquo;ve installed Linux and logged in for the first time, getting set up is almost always where problems start to crop up. First off, if you are an NVIDIA user (statistics claim 60% of all desktop computers), you might not even be able to login upon your next update!</p>
<p>Beyond that, it&rsquo;s installing applications that&rsquo;s a big problem. You could resort to the packages in your software store, but more than not, they can often break or block updates in the majority of distros (if they even work). You also have to hope that the distro that you chose hasn&rsquo;t modified the program in a significant way or updates it in a timely fashion.</p>
<p>What&rsquo;s more there are yearly updates and of all the people I&rsquo;ve installed Linux on, none of them except one have succeeded in upgrading between major versions without my intervention. I&rsquo;ve seen this happen on Ubuntu, Fedora, and openSUSE and this is unacceptable.</p>
<p>Even though Windows conceals it, people are still able to move between 24H01 to 24H02 with little issue (even Microsoft <a href="https://www.askwoody.com/2025/is-it-a-bug-or-is-it-expected/">has to fumble for months</a>). I&rsquo;m sure part of this is rooted in the distrust Microsoft has created where people will assume updates break everything, but if you at the people who use things like Debian who stubbornly refuse to update, it&rsquo;s an example of the fear of updates infecting even the Linux users.</p>
<p><img alt="Trafotin with gritted teeth and the NVIDIA logo" loading="lazy" src="/i/linux-food-pantry-experience/distro-choice.webp"></p>
<p>A lot of people who consider themselves part of online Linux circles claim this is because of fragmentation. There&rsquo;s too many solutions for the same problem. While this is partially true, there&rsquo;s a reason that will resonate with people better&ndash;perfect is the enemy of good.</p>
<p>Many people want their packages to be perfect and we all settle for the same formats and solutions. The problem is many of those formats and solutions are often enumerating problems on top of not proliferating more opposing systems.</p>
<p><img alt="Trafotin with the Audacity logo" loading="lazy" src="/i/linux-food-pantry-experience/audacity.webp"></p>
<p>How do you download something like Audacity, the audio recorder I use? Well you go to their website and you download the AppImage they provide. The problem is AppImages are inherently broken and require out of date FUSE2 libraries that nobody uses anymore. How can I trust a package provided to me when the method of distribution is creating more problems than it intended to solve?</p>
<h2 id="things-to-ignore-in-online-linux-circles">Things to ignore in online &ldquo;Linux&rdquo; circles:</h2>
<p><img alt="Trafotin annoyed with a list of things to avoid in online Linux circles, see below for full list" loading="lazy" src="/i/linux-food-pantry-experience/avoidance.webp"></p>
<ul>
<li>Extrapolating drama from project issue trackers</li>
<li>Open source and free/libre software purity tests</li>
<li>Involving or criticizing the Linux Foundation over desktop Linux</li>
<li>Bickering over package formats</li>
<li>&ldquo;Why is &lt;XYZ Linux thing&gt; so corporate??&rdquo;</li>
<li>Controversy surrounding project governance</li>
<li>&ldquo;I switched to &lt;XYZ&gt; because&hellip;&rdquo;</li>
<li>RTFM, forced Googling, and ask your AI sessions</li>
<li>Fighting over programming languages</li>
<li>Licenses and people debating them</li>
<li>Blogs and news outlets pandering to desktop Linux</li>
<li>Messages based around fear and uncertainty</li>
</ul>
<h1 id="linux-users-are-not-part-of-the-linux-community">Linux &ldquo;Users&rdquo; Are Not Part of the Linux Community</h1>
<p>Why can&rsquo;t everyone agree on what to use? I think the problem is rooted in the chase over the unicorn of a new Linux user. The experience of desktop Linux is not very good when people have to tell people to Google a solution or read documentation. Desktop Linux will not succeed with a mainstream audience when many parts of it are one developer quitting away from going under.</p>
<p><img alt="Trafotin walking to the Linux food pantry" loading="lazy" src="/i/linux-food-pantry-experience/storefront.webp"></p>
<p>Using Linux is like being a part of a food pantry. Everybody needs to eat and there&rsquo;s lots of people who are hungry. There are people who go to get the food they need, but there&rsquo;s also people who need to bring food to the food pantry so everyone can eat, clean the food pantry so its food that doesn&rsquo;t go bad, or people to serve the food.</p>
<p>Today, Linux is only at the stage where there&rsquo;s a lot of people who are hungry, but not enough people to perform the basic functions of developing software. Most distributions can&rsquo;t even vet their packages or collapse because someone left. But food is still being put on the table and though people might complain, the minority take it the best they can.</p>
<p><img alt="A purple figure endearingly holds the NixOS logo" loading="lazy" src="/i/linux-food-pantry-experience/linux-user.webp"></p>
<p>What&rsquo;s a bigger problem to me is the people who serve the food  (the Linux users) in the Linux food pantry are too content. They want things to stay the way that it is because they like learning new things and people having the same magical experience they did. They scour the issues pages of projects for juicy gossip and tweak the presentation of the food, but it&rsquo;s still the same old food the desktop Linux food pantry has been putting out for years.</p>
<p>Most of the people who work at the desktop Linux food pantry do not or have trouble empathizing with people. These are the same people who cosplay as developers when all they did was change some words in a settings file. I was there at one point in my life and I regret it deeply and apologize to everyone who has deal with this side of me. It&rsquo;s also developers who often make applications just for themselves. Developers in the kitchen and the people being fed need empathy for each other.</p>
<h1 id="linux-doesnt-need-more-users">Linux Doesn&rsquo;t Need More Users</h1>
<p><img alt="Trafotin serving food in a cafeteria food line with various Linux distribution logos as food on trays." loading="lazy" src="/i/linux-food-pantry-experience/thumbs.webp">
Unpopular opinion: Linux doesn&rsquo;t need more users. Linux needs people who will make the experience better. Using Linux is not about customization or choice, just like using a food pantry isn&rsquo;t about the flavors of food; it&rsquo;s about the food or tool doing its job along with raising a community. Then and only then, can Linux call itself a platform for people to use.</p>
<p>There needs to be more people involved and I&rsquo;m tired of people online pretending desktop Linux is fine. We&rsquo;ve seen this over the last couple years and the contrast of behavior to people the &ldquo;Linux community&rdquo; has declared did something right and someone who &ldquo;didn&rsquo;t get it.&rdquo; How about both people have valid experiences?</p>
<p>I&rsquo;m a relatively busy person outside of YouTube and I fear for myself that my own attitude towards the &ldquo;online Linux user&rdquo; is getting too bitter. The &ldquo;online Linux user&rdquo; is not developers, it&rsquo;s the people on Reddit showing off their Hyprland configuration. Great drinking game, guess what the comments are when you open a Reddit thread or a YouTube video about what the comments are going to be. That&rsquo;s how much group think there is in the supposed Linux community and there&rsquo;s cult-like behavior stopping change.</p>
<p>The real Linux community is the people running the food pantry. It&rsquo;s not pretty, nor nice to listen to, nor interesting, but it&rsquo;s the truth. If people are going to spend time complaining about &ldquo;drama&rdquo; or &ldquo;did you hear X thing from this influencer did with Linux,&rdquo; we have a problem. The only way for this to happen is to bring the money and development power to major desktop Linux projects. It&rsquo;s time to stop wasting time on customization, packaging applications, or installing Linux. I&rsquo;ve had enough and users: it&rsquo;s time for you to actually help out around here.</p>
<p><a href="https://discourse.ubuntu.com/t/adopting-sudo-rs-by-default-in-ubuntu-25-10/60583">Related post: Canonical&rsquo;s Jon Seager announces Ubuntu will replace sudo with sudo-rs</a></p>
<h1 id="video-references">Video References</h1>
<p><em>In order of appearance.</em></p>
<ul>
<li><a href="https://www.youtube.com/watch?v=-8IgNCIRY9M">Katerina Koukiou&rsquo;s presentation of the new Fedora installer</a>, licensed under Creative Commons Attribution.</li>
<li><a href="https://archive.fosdem.org/2023/schedule/event/containerised_apps/">Richard Brown&rsquo;s FOSDEM 2023 talk: What could go wrong? Me, I was: Containerised Applications are the way</a>, licensed under Creative Commons Attribution.</li>
<li><a href="https://www.youtube.com/watch?v=3HkYJ7M119I">Sebastian Wick&rsquo;s Linux App Summit 2025 talk: The Future of Flatpak</a></li>
<li><a href="https://www.youtube.com/watch?v=K5IyMuKvcmQ">Aleix Pol Gonzalez, Felipe Borges, Sebastian Wick and Jordan Petridis&rsquo;s Linux App Summit 2025 panel: The App Ecosystem and the Future of Desktop Linux Distributions</a></li>
<li><a href="https://www.youtube.com/watch?v=pVI_smLgTY0">Pewdiepie: I installed Linux (so should you)</a></li>
<li><a href="https://www.youtube.com/watch?v=C9Gom2oQh50">Matthias Clasen &amp; Florian Leander Singer&rsquo;s Linux App Summit 2025 talk: GTK apps on Android</a></li>
<li><a href="https://tube.kockatoo.org/w/wgvoW5XBbs8ox6GCt8Z2Rf">Akademy 2025: KDE e.V. Board - Report of the Board</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play17485.html">H☆ - Saturday morning</a></li>
<li><a href="https://dova-s.jp/bgm/play22178.html">Yosuke Matsuura (松浦洋介) - Midnight Chill Coffee</a></li>
<li><a href="https://dova-s.jp/bgm/play22070.html">noru (のる) - Warm Light, with You</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Cutting Mozilla Out of Firefox With a user.js!</title>
      <link>https://trafotin.com/v/firefox-userjs/</link>
      <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/firefox-userjs/</guid>
      <description>Tired of Mozilla screwing around with unnecessary features, sponsors, and settings? Firefox comes with robust administrative policies, but it&amp;rsquo;s not exactly easy. Forget Firefox forks and clones, because it&amp;rsquo;s time for you to make it your own!</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Cutting Mozilla Out of Firefox Using a user.js!" width="100%" height="100%" src="https://spectra.video/videos/embed/7YFjuVbhU8EajtTWgvkFzY?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<p>In the next part of the Firefox saga, I&rsquo;m going to cover one of the end game of Firefox, our raid boss being Mozilla itself. I&rsquo;m a big fan of Firefox, but what really irritates me is the nagging little things Mozilla adds and turns on without my permission.</p>
<h1 id="bye-bye-mozilla-but-why">Bye Bye Mozilla! But Why?</h1>
<p>Since the making of my last video, Mozilla has added a weather widget in the new tab page, more suggestions to ads/sponsors, and made everyone angry by <a href="https://blog.mozilla.org/en/products/firefox/firefox-news/firefox-terms-of-use/">consulting a lawyer for a legally-binding terms of service</a> (<a href="https://github.com/arkenfox/user.js/issues/1937">this was pretty stupid and largely a non-story</a>). I understand Mozilla needs to make money outside of being sponsored by Google (their &ldquo;opposition&rdquo;), but a consistent claim that you&rsquo;ll find online is Mozilla has lost its way, needs to make Firefox the center of the company again, and build a &ldquo;community.&rdquo;</p>
<p>I want to give a more harsh reminder: Mozilla is not a privacy company; they are an investment firm that originally made a web browser. It&rsquo;s a factory with thousands of employees folks! The community Mozilla fosters doesn&rsquo;t involve end users (and honestly could do without entering a Mercurial server).</p>
<p>Ordering Mozilla to make Firefox a focus of the company again is the equivalent of ordering Microsoft to make Windows the focus of the company again. The reason I dislike Mozilla, but still use Firefox is until Mozilla makes some of their &ldquo;anti-features&rdquo; unchangable, there&rsquo;s no reason to leave. We&rsquo;re stuck with our current situation.</p>
<p>&ldquo;But there are forks!&rdquo; I hear some of you cry. The problem with many Firefox forks is they are poorly maintained, slow to deliver updates, or introduce problems in addition to the aforementioned problems of Firefox. This also goes without saying you need to trust your fork to keep up with all of these changes and they may not share the same sentiment to Mozilla as you. Many of them, if not all of them, are best avoided or replaced with browser extensions.</p>
<p>The road to configuring Firefox is pretty technical and requires frequent maintenance and if that isn&rsquo;t for you, there are a few pre-configured options that work great. <em>This is also your excuse to click off the video and use these instead.</em></p>
<ul>
<li><a href="/v/firefox/#mullvad-browser">Mullvad Browser</a> (for Windows, Mac, Linux)</li>
<li>IronFox (for Android; on Accrescent and F-Droid)</li>
</ul>
<h1 id="the-arkenfox-userjs">The Arkenfox user.js</h1>
<p><img alt="Thorin Oakenpants with some of the Firefox configuration lines." loading="lazy" src="/i/firefox-userjs/thorin.webp">
Now that the disclaimers are out of the way, how do we properly configure Firefox? The first step is understanding how Firefox&rsquo;s administrative policies work. Firefox stores all of your settings in your Firefox profile, which is a folder that stores various settings to Firefox, your bookmarks, and data about the websites you visit. Where your profile is stored depends on what operating system you use, but it can also be found if you navigate to <code>about:profiles</code> and navigate to your current active profile. Finally, navigate to the &ldquo;root directory&rdquo; then click &ldquo;Open Directory&rdquo;.</p>
<p>Next, Firefox&rsquo;s settings are stored in <code>prefs.js</code>, but you can&rsquo;t and shouldn&rsquo;t change this file at all, because Firefox is constantly touching it. Instead, we are going write a basic JavaScript file called a <code>user.js</code> containing all of the desired changes that we want.</p>
<p>While there are many Firefox configuration files, the most popular and consolidated <code>user.js</code> is the Arkenfox <code>user.js</code>. In addition to the normal Firefox <code>user.js</code>, you can write your own <code>user-overrides.js</code> to override Arkenfox&rsquo;s configuration. That&rsquo;s right, it&rsquo;s an override of an override of your Firefox configuration!</p>
<h2 id="no-more-firefox-forks">No More Firefox Forks</h2>
<p><img alt="Trafotin with the logos of Firefox and various Firefox-based browsers." loading="lazy" src="/i/firefox-userjs/forks.webp">
The benefit of using the Arkenfox <code>user.js</code> is you get your Firefox configured the way you want off of the security-hardened Firefox base, then the <code>user.js</code> forcibly overrides any settings in Firefox, including incoming settings from undesired Mozilla features.</p>
<p>This is why most Firefox forks are obsolete because <em>you</em> are taking the initiative to fix Mozilla problems when they won&rsquo;t. The major reason is you don&rsquo;t have to trust any developers beyond Arkenfox, where many other Firefox-based browsers take their work from. in fact, many other Firefox clones use the same work done by Arkenfox, but often do not keep up with its updates.</p>
<p>The other thing for people who have watched my content previously is Mozilla has made many backend changes to the way data is cleaned in Firefox and Arkenfox has also taken previous feedback to heart and reenabled many features people expect. It&rsquo;s so good that I never change anything, but I still included some preferential options for people who prefer to use Firefox a different way.</p>
<h1 id="downloading-arkenfox">Downloading Arkenfox</h1>
<p><img alt="The Arkenfox GitHub with a hand pointing at the download button for the repository." loading="lazy" src="/i/firefox-userjs/github.webp">
The first thing to do visit the <a href="https://github.com/arkenfox/user.js">Arkenfox user.js GitHub</a> and downloading the zip file containing the entire repository.	Next, extract these files into the profile folder. After, you must run the scripts like <code>prefsCleaner.bat</code> (Windows) or <code>prefsCleaner.sh</code> (Mac/Linux).</p>
<p><img alt="The Firefox about:profiles page." loading="lazy" src="/i/firefox-userjs/profiles.webp"></p>
<p>To get your profile path in Firefox, navigate to <code>about:profiles</code> in the URL bar, then there will be a full list of your profiles. Navigate to your desired profile under &ldquo;Root Directory&rdquo; and &ldquo;Open Directory.&rdquo;</p>
<p>You can also open the terminal on your operating system and navigate to the path of your Firefox profile, which is <code>cd &lt;your profile path&gt;</code></p>
<ul>
<li>Windows: <code>C:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;profile&gt;</code></li>
<li>Mac: <code>~/Library/Application Support/Firefox/Profiles/&lt;profile&gt;</code></li>
<li>Linux: <code>~/.mozilla/firefox/profiles/&lt;profile&gt;</code></li>
<li>Linux (Flatpak): <code>~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles/&lt;profile&gt;</code></li>
</ul>
<h1 id="your-user-overridesjs">Your user-overrides.js</h1>
<p>So this is where I present to you my own user-overrides.js. I&rsquo;ve included notes about what each option does as well as the corresponding action. Each command is enclosed in <code>user_pref(&quot;...&quot;, &quot;&lt;value&gt;&quot;);</code></p>
<p>There are three types of commands:</p>
<ul>
<li>Boolean (true/false)</li>
<li>Number (a numeric value)</li>
<li>String (anything, typically a URL)</li>
</ul>
<p>Whatever is inside matches the corresponding option in your Firefox about:config. If you want to enable a specific feature, remove the <code>//</code> in the user-overrides.js from the desired tweak.</p>
<h2 id="my-user-overridesjs">My user-overrides.js</h2>
<p><img alt="Trafotin reading a piece of paper with outdated user.js strings." loading="lazy" src="/i/firefox-userjs/user-overrides.webp">
<a href="https://gitlab.com/trafotin/dotfiles/-/blob/main/user-overrides.js">My <code>user-overrides.js</code> can be found on my GitLab.</a></p>
<h2 id="common-optionsproblems">Common Options/Problems</h2>
<p>With all of these changes being made, there&rsquo;s bound to be troubleshooting. Now before you run away to another browser, you can always spin up about another Firefox profile and make different changes, so repeat the above steps for each Firefox profile you have.</p>
<h3 id="homepage">Homepage</h3>
<pre tabindex="0"><code>// 0=blank, 1=home, 2=last visited page, 3=resume previous session
// user_pref(&#34;browser.startup.page&#34;, 1);
//user_pref(&#34;browser.sessionstore.privacy_level&#34;, 0);
// change about:blank to any website (e.g. trafotin.com)
// user_pref(&#34;browser.startup.homepage&#34;, &#34;https://trafotin.com&#34;);
</code></pre><p>By default, Arkenfox fully disables a homepage and new tab page. This is because Mozilla continues to include annoyances within the new tab page. Additionally, Arkenfox disables the internal service that saves your session when you close Firefox.</p>
<p>I added settings to re-enable these, but you can no longer change them in the menu and you must do so in your <code>user-overrides.js</code>.</p>
<h3 id="whered-my-browsing-data-go">Where&rsquo;d My Browsing Data Go?</h3>
<pre tabindex="0"><code>  // user_pref(&#34;browser.privatebrowsing.autostart&#34;, false);
//user_pref(&#34;privacy.clearOnShutdown_v2.historyFormDataAndDownloads&#34;, false); // 2811 FF128-135
//user_pref(&#34;privacy.clearOnShutdown_v2.browsingHistoryAndDownloads&#34;, false); // 2812 FF136+

// optional to match when you use settings&gt;Cookies and Site Data&gt;Clear Data
  // user_pref(&#34;privacy.clearSiteData.historyFormDataAndDownloads&#34;, false); // 2820 FF128-135
  // user_pref(&#34;privacy.clearSiteData.browsingHistoryAndDownloads&#34;, false); // 2821 FF136+

// optional to match when you use Ctrl-Shift-Del (settings&gt;History&gt;Custom Settings&gt;Clear History)
  // user_pref(&#34;privacy.clearHistory.historyFormDataAndDownloads&#34;, false); // 2830 FF128-135
  // user_pref(&#34;privacy.clearHistory.browsingHistoryAndDownloads&#34;, false); // 2831 FF136+
</code></pre><p>Related to browser session restore, Firefox has very robust data auto-deletion, which recently got an overhaul. This includes anything like cookies, browsing data, cache, everything.</p>
<p>Arkenfox includes <a href="https://github.com/arkenfox/user.js/issues/1080">this special recipe</a> for those who want session restore or more control over the Firefox auto-deletion settings.</p>
<p><img alt="The per-site settings for YouTube with a textbox reading: If you don&rsquo;t see the box, you will have to scroll further down. You&rsquo;ll find it!" loading="lazy" src="/i/firefox-userjs/cookies.webp">
Unless you need session restore, it&rsquo;s advised to not touch these and instead learn how to allow websites to store data.</p>
<ol>
<li>Visit the desired website you login, usually a login page.</li>
<li>Press <code>Ctrl + i</code> (<code>⌘ + i</code> on Mac) to open that website&rsquo;s settings. You can also click on the padlock, &ldquo;Connection (not) secure&rdquo;, then &ldquo;More information.&rdquo;</li>
<li>Navigate to permissions, then the box &ldquo;Set cookies,&rdquo; &ldquo;Allow.&rdquo;</li>
</ol>
<p>This way, you can save logins and site data without touching your Arkenfox configuration, while still deleting all that pesky browser data.</p>
<p>Before you complain, this is much harder to do in Chromium-based browsers.</p>
<h3 id="to-rfp-or-no-rfp">To RFP or No RFP?</h3>
<p>If you&rsquo;ve been using Arkenfox&rsquo;s <code>user.js</code> before today, there&rsquo;s one big configuration to cover&ndash;Firefox&rsquo;s fingerprinting resistance or RFP (Resist FingerPrinting).</p>
<pre tabindex="0"><code>user_pref(&#34;privacy.resistFingerprinting&#34;, true);
user_pref(&#34;privacy.resistFingerprinting.letterboxing&#34;, true);
user_pref(&#34;webgl.disabled&#34;, true);
user_pref(&#34;privacy.spoof_english&#34;, 2);
</code></pre><p>In previous iterations of Arkenfox, this was enabled by default, but now it is disabled. The reason is if you need such an extreme level of protection, we already have Mullvad Browser for that, which still is the closest way to get to being the Tor Browser without being the Tor Browser.</p>
<p>If you have previously watched my other video about Firefox, I strongly recommend updating and removing any changes related to RFP.</p>
<h3 id="new-tab">New Tab</h3>
<pre tabindex="0"><code>user_pref(&#34;browser.newtabpage.enabled&#34;, true);
</code></pre><p>Arkenfox disables the new tab page, as it is a common vector for Mozilla to deploy experiments and unwanted links on you. I have encountered some folks in the wild who prefer this, so you can reenable it, but be warned you might need to deal with some Mozilla stuff you might not have signed up for.</p>
<h3 id="search-engine-suggestions">Search Engine Suggestions</h3>
<pre tabindex="0"><code>user_pref(&#34;browser.search.suggest.enabled&#34;, true);
user_pref(&#34;browser.urlbar.suggest.searches&#34;, true);
</code></pre><p>Some people still prefer to have their URL bar be their search engine. Setting these options brings the predictive search back.</p>
<h3 id="disk-caching">Disk Caching</h3>
<pre tabindex="0"><code>user_pref(&#34;browser.cache.disk.enable&#34;, true);
</code></pre><p>By default, Arkenfox disables disk caching, which can improve performance. I have never enabled this because I could not notice a speed difference, but I included it for the performance freaks.</p>
<h1 id="running--updating">Running &amp; Updating</h1>
<p><img alt="The prefsCleaner.sh TUI windows" loading="lazy" src="/i/firefox-userjs/prefscleaner.webp">
When you are done with your user-overrides.js, it&rsquo;s time to put it into practice by installing it.</p>
<p>First, close Firefox and you will be modifying all the configurations in bulk using the terminal. Arkenfox can change over 5000 settings of totally random things in Firefox.</p>
<p><img alt="The updater.sh TUI windows" loading="lazy" src="/i/firefox-userjs/updater.webp">
Using the terminal in your <code>&lt;profile&gt;</code> folder, run the scripts in order by typing <code>./</code> then the script. You can also drag/drop files into your terminal to run them:</p>
<ol>
<li><code>prefsCleaner.sh</code>: Follow the on-screen instructions by typing the number (1 to start), followed by a <code>Enter</code>.</li>
<li><code>updater.sh</code>: This will make a backup of your previous Firefox configuration (not your user-overrides.js), update your <code>user.js</code>, tweak it with your <code>user-overrides.js</code>, then you should be good to go.</li>
</ol>
<h2 id="post-install">Post-Install</h2>
<p>Arkenfox disables all telemetry out of the box and while Pocket is a web-based service, capturing the network traffic shows Pocket never attempts to phone home, except when you interact with it of course. Any other changes are purely cosmetic or preference.</p>
<ul>
<li>Google is still the default as there is no about:config settings for it. You may change it to be whatever you want.</li>
<li>You may also customize your tab bar or vertical tabs as these are independent of Arkenfox.</li>
</ul>
<h2 id="updating">Updating</h2>
<p>You must also return to this folder and run these scripts when Firefox or Arkenfox receives a new release. Make a shortcut on your desktop (or somewhere else) to this folder so you can come back and run the scripts.</p>
<p>If you use multiple Firefox profiles, this process will need to be repeated on all of your profiles. I use a shell script to execute all of the scripts in sequence.</p>
<p>The best way to track updates is to subscribe to the Arkenfox GitHub RSS feed. This is because Mozilla doesn&rsquo;t have a RSS feed for stable Firefox updates, only the Nightly (Alpha) releases. <a href="https://www.mozilla.org/newsletter/">Instead, you must subscribe to their email newsletter</a>.</p>
<p>To subscribe to Arkenfox&rsquo;s RSS feed, add the following to your RSS feed reader.</p>
<pre tabindex="0"><code>https://github.com/arkenfox/user.js/releases.atom
</code></pre><h1 id="video-credits">Video Credits</h1>
<ul>
<li><a href="https://www.cnbc.com/video/2024/08/07/mozilla-foundation-president-talk-ai-integration-on-firefox-and-googles-antitrust-ruling.html">CNBC Video: Mozilla Foundation president talk AI integration on Firefox and Google’s antitrust ruling</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play4675.html">KK - Sunday-afternoon (日曜の午後)</a></li>
<li><a href="https://dova-s.jp/bgm/play17188.html">crepe (くれっぷ) - Fairy Lullaby (妖精の子守歌)</a></li>
<li><a href="https://dova-s.jp/bgm/play10105.html">KK - Lazy Club Activities (だらだら部活動)</a></li>
<li><a href="https://dova-s.jp/bgm/play20477.html">yuhei komatsu - COLOR</a></li>
<li><a href="https://dova-s.jp/bgm/play4655.html">KK - Ordinary Landscape (いつもの風景)</a></li>
<li><a href="https://dova-s.jp/bgm/play16623.html">yuhei komatsu - Holiday</a></li>
<li>Nakagawa Koutarou (幸太郎中川) - Shiunin Sora&rsquo;s Theme (紫雲院素良のテーマ) from Yu-Gi-Oh! ARC-V (遊☆戯☆王 ＡＲＣ－Ⅴ )</li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Bring Back Dash to Panel&#39;s Donation Button</title>
      <link>https://trafotin.com/blog/2025-03-11-dash-to-panel/</link>
      <pubDate>Tue, 11 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/blog/2025-03-11-dash-to-panel/</guid>
      <description>One of the lead devs of Dash to Panel, Charles Gagnon, has stepped down. Here&amp;rsquo;s my thoughts.</description>
      <content:encoded><![CDATA[<p>I love Dash to Panel. I don&rsquo;t even customize it, I just clone the default GNOME panel so I can pretend to check the time on another display.</p>
<p>It&rsquo;s sad to hear that Charles Gagnon (charlesg99) isn&rsquo;t going to be working on it anymore after people whined and complained about a donation button. I have never once experienced a bug in Dash to Panel and it&rsquo;s a testament that Charles and the other contributors have kept up this quality for years.</p>
<p>The only way open source projects will get better is if they beg for money and make the effort worth the contributors&rsquo; time. So put that donation button back in. This isn&rsquo;t a charity.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Own Your Own AI With Ollama!</title>
      <link>https://trafotin.com/v/ollama-offline-ai/</link>
      <pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/ollama-offline-ai/</guid>
      <description>AI has dominated tech over the last couple years, but are you tired of the privacy invasions, model censorship, and internet requirement? That&amp;rsquo;s why Ollama is so great and how you can have the power of large language models in the comfort of your own hardware!</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Own Your Own AI With Ollama!" width="100%" height="100%" src="https://spectra.video/videos/embed/acb38c52-68c7-4db2-aad1-5c4eb3cd7da8?subtitle=en&amp;title=0" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<p>Generative AI has been a big part of tech over the past 2 years,
everything from the latest AI nonsense OpenAI has cooked up to new
competition from DeepSeek’s R1. Let me make a different proposal to what
you might here from a lot of more traditional tech users–we need all the
AI. And I mean all the AI. I’m not talking about stuff like Claude or
Perplexity, it’s all about local models. Here’s why you need to have
local AI models that serve your needs and some examples you can use it
to augment the work that you do.</p>
<h1 id="the-ai-that-respects-you-is-open">The AI That Respects You Is Open</h1>
<p>Generative AI can be a powerful tool, but there’s more to consider than
just capability. For years, companies like Google and Facebook now
utilize their own versions of generative AI, but they also leverage
their platforms to further advantage themselves.</p>
<p>A big problem with a lot of generative AI tools is many of them are
developed in secret and we have very little knowledge of what kind of
information they were trained on beyond “publicly available
information.”</p>
<p><a href="https://x.com/vxunderground/status/1888019174133276846"><em>Tweet from vx-underground: Kadrey v. Meta shows Facebook has been
using pirated books to train their AI
models.</em></a></p>
<p>What’s more is as AI because more prevalent, people begin to expose
their most sensitive selves when they may not have intended. Many of the
major players of generative AI either have a vested interest in selling
personal information (Google, Facebook, Microsoft, etc) or parlay other
surveillance giants/governments (ChatGPT, Claude, DeepSeek, etc).</p>
<p>What’s more, large language models like ChatGPT and Perplexity are only
available in the cloud and have significant environmental impact (swept
under the rug of course). While AI companies are quick to release
research papers about their AI, reviewing sources of said papers reveals
that these papers are often pushed out with inaccurate sources and
references to boost their credibility and bypass academic peer review.</p>


<div style="position: relative; padding-top: 56.25%;"><iframe title="Mystery AI Hype Theater 3000, Episode 36 - About That 'Dangerous Capabilities' Fanfiction (feat. Ali Alkhatib)" width="100%" height="100%" src="https://peertube.dair-institute.org/videos/embed/38d5cc51-f6aa-4b40-bd84-a9a7d298253c?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<h2 id="owning-offline-ai">Owning Offline AI</h2>
<p>That being said, I’m going to be up front and admit I’m not a moralist
nor an accelerationist. The cat has been out of the bag and at this
point as many of these tools are freely available, you should use them
where you think they will work.</p>
<p>There’s a cultural problem endemic to tech enthusiasts: either you are
an accelerationist who relies so much on AI and fail to admit its
shortcomings or the doomer who will shout from high heavens at every
mistake and copyright violation.</p>
<p><em><a href="https://www.prospectmagazine.co.uk/ideas/technology/64491/two-warring-visions-of-artificial-intelligence-tescreal">Read Ethan Zuckerman’s article: “Two warring visions of
AI”</a></em></p>
<p>Owning your AI is the solution to this problem. Even if <a href="https://www.hawley.senate.gov/wp-content/uploads/2025/01/Hawley-Decoupling-Americas-Artificial-Intelligence-Capabilities-from-China-Act.pdf">someone from
your government threatens to ban the
app</a>,
open source will find a way. Even if your model is censored by its
makers, <a href="https://erichartford.com/uncensored-models">open source will find a
way</a>. Any law
banning/regulating AI only punishes the law abiding citizens and the
nefarious netizens will continue to develop in secret. It’s too late to
put the genie back in the bottle, so you might as well make the best of
the situation.</p>
<p>When you use offline AI, it’s just you and the AI. There’s total privacy
as it all happens on your device. You can give the AI greater access to
your data because you’re operating in 1 system. The best part is
integrations with stuff that’s already on your operating system–you can
write scripts and find ways to bring it into the work you do every day.</p>
<h1 id="the-weakness-of-offline-ai">The Weakness of Offline AI</h1>
<p>Before we get started, there are some drawbacks. While models like
DeepSeek have shaken the industry up, the cloud-based models are still
better in terms of performance and quality of results. The tradeoff is
you giving your data of course.</p>
<p>There’s always pushback from people online that AI is a bubble,
<a href="https://www.404media.co/zuckerberg-loves-ai-slop-image-from-spam-account-that-posts-amputated-children/">generates garbage slop that ruins the
internet</a>,
and is <a href="https://www.microsoft.com/en-us/research/uploads/prod/2025/01/lee_2025_ai_critical_thinking_survey.pdf">making people
lazier</a>.
All of those things are true, but the inverse is true as well. AI is
being used to propagate knowledge and provide new forms of
accessibility.</p>
<p>Blanket statements for and against AI do not accomplish anything, but a
real tangible problem AI has is a usecase for the individual outside of
academia and the workplace. Want to get some code quickly written? Need
to proofread a document? Want an answer to your math homework? AI has
you covered, but otherwise, there’s no reason to use AI at all.</p>
<h2 id="steep-hardware-requirements">Steep Hardware Requirements</h2>
<p>Before you get excited about offline large language models, you should
be aware of the hardware required to run many of these models. I have a
high-end NVIDIA card and running some AI is no problem, but it’s
incredibly power intensive and largely favors NVIDIA hardware.</p>
<p>There’s also a major concern for storage requirements. While you can get
some memory efficient models, they often don’t perform as well as their
highly tokenized counterparts. DeepSeek may advertise itself as a
offline ChatGPT, but what they don’t tell you is they require over 400
GB of storage to operate in addition to steep GPU requirements.</p>
<h2 id="this-is-a-developing-story">This is a Developing Story</h2>
<p>The last thing to be aware of is AI is rapidly changing and advancements
are being made all the time. Things you hear from me will likely be
outdated within a year. And for those of you who are still skeptical, if
you don’t support open source AI, you are allowing proprietary companies
like OpenAI, Claude, and Perplexity to dominate conversation.</p>
<p>If you are interested my other thoughts about AI, I wrote <a href="/v/ai-philosophy/">about it last
year</a>. All this being said, if you want to support
open source software, we need to welcome and use open source AI.</p>
<h1 id="ollama">Ollama</h1>
<p>Now we get into tooling and there’s plenty of options available for you,
but the most popular is a program called <a href="https://ollama.com/">Ollama</a>,
It pulls models from some of the big contributors to open source AI, and
provides a nice command line front-end.</p>
<p>Now this is where the complications come in, because Ollama is installed
differently depending on which operating system you use. On Windows/Mac,
there’s tray icon support. On Linux, the key differences is you don’t
get a tray icon. If you prefer a normal graphical Linux frontend, try
<a href="https://jeffser.com/">Jeff Samuel’s (AKA Jeffser)</a>
<a href="https://github.com/Jeffser/Alpaca">Alpaca</a>, which automates the
installation through Flatpak and then you can pick and choose what
models you want. Alpaca also makes it easy to manage previous chats and
upload documents.</p>
<p>If you are using Linux (or Windows) and are interested in more work with
Ollama from the command-line or with custom server commands, you can try
running the <a href="https://github.com/ollama/ollama/">official Docker
container</a>.</p>
<p>For example, I use the Ollama Docker image in a Distrobox with access to
my NVIDIA card. Then I export the Ollama binary to my host system.
Whether you are running Windows, Mac, or Linux, you will need to run the
Ollama server on your device to make your AI chat work (even if you use
Alpaca).</p>
<pre><code>distrobox create -i ollama/ollama -n ollama --nvidia
distrobox enter ollama -- distrobox-export -b /usr/bin/ollama
</code></pre>
<p>If you choose the Docker container route, you will need to periodically
update the container image. Because of Docker’s nature, it’s also
prudent to subscribe to <a href="https://github.com/ollama/ollama/releases.atom">Ollama’s GitHub
RSS</a> to get update
notifications. You can also configure a Podman Quadlet or systemd job to
auto-update Ollama for you.</p>
<pre><code>docker pull docker.io/ollama/ollama
</code></pre>
<p>From here, I can run the Ollama server,</p>
<pre><code>ollama serve
</code></pre>
<p>Then in a new tab/window, launch the Ollama client.</p>
<pre><code># List available models
ollama list
# Install a new models
ollama pull gemma2
# Run a model, install if not available
ollama run deepseek-r1
# Remove a model
ollama rm llama3.2-vision
</code></pre>
<h1 id="what-would-i-use-ai-for">What Would I Use AI For??</h1>
<p>This begs the question: I store video games and family photos on my
computer; I have limited space on my computer. How can I make the best
use of my storage and what AI models should I use?</p>
<p>I want to break this up into a few categories, then some blanket
recommendations. Especially with the general purpose ones, this can be
consolidated, so don’t go downloading all of them, just pick and choose
what you are comfortable with.</p>
<ul>
<li>Real world answers: This is where you ask questions that you would
normally ask a search engine. The benefit of this is you don’t
involve a third party service and it’s all done on your device.
Downside is you might need to fact check because AI is not perfect.
These are the big AI models most associate with: Facebook’s Llama,
Google’s Gemma, and DeepSeek.</li>
<li>Image description: This is very useful for alt-text or those with
visual impairments, but very prone to error, so be prepared to edit
responses. The best as of writing is Facebook’s Llama with is
special vision models.</li>
<li>Mathematics: Models like Phi3.5+ and Qwen excel in solving advanced
algebra and calculus when most general models fail. The best way to
word your prompts is like word problems. An example is “Jack and Joe
leave their homes at the same time and drive towards each other.
Jack drives at 60 mph, while Joe drives at 30 mph. They pass each
other in 10 minutes. How far apart were Jack and Joe when they
started?”</li>
<li>Coding: If you are a programmer or server maintainer, AI can save
you the headache of trying to search forums and documentation.
Results may vary, so don’t blindly ship the code, but test it. It’s
also a great way to experience programming languages you don’t know
or may otherwise never learn.</li>
<li>Proofreading/Summarization: If you are having writer’s block or you
need your work reviewed, feed your work to an AI and get it proofed.
It can often correct grammar or introduce counterpoints to your
arguments.</li>
</ul>
<h1 id="video-credits">Video Credits</h1>
<ul>
<li><a href="https://www.youtube.com/watch?v=N_y2tP9of8A">#MadeByGoogle ‘24:
Keynote</a></li>
<li><a href="https://x.com/deepseek_ai/status/1872242657348710721">DeepSeek’s X (Formerly
Twitter)</a></li>
<li><a href="https://www.youtube.com/watch?v=DQacCB9tDaw">Introducing GPT-4o</a></li>
<li><a href="https://www.facebook.com/MetaforDevelopers/videos/meta-connect-2024/449444780818091/">Meta Connect
2024</a></li>
<li><a href="https://www.cbsnews.com/news/randy-travis-sings-again-courtesy-of-ai-where-that-came-from/">More than a decade after a stroke, Randy Travis sings again,
courtesy of AI - Lee Cowan et al.; CBS
News</a></li>
<li><a href="https://ollama.com/blog/windows-preview">Ollama’s blogpost for the Windows preview
build</a></li>
<li><a href="https://www.wired.com/story/perplexity-is-a-bullshit-machine/">Perplexity Is a Bullshit Machine - Dhruv Mehrotra and Tim Marchman;
WIRED and animation by Jacqui VanLiew; Getty
Images</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li>Minobe Yutaka (蓑部雄崇) - City (シティ) from Yu-Gi-Oh! 5Ds
(遊☆戯☆王5D’s（ファイブディーズ）)</li>
<li><a href="https://dova-s.jp/bgm/play13884.html">gooset - Bittersweet</a></li>
<li>The song for the capital of Assyria scroll is Minobe Yutaka
(蓑部雄崇) - Break time! (休み時間)) from Yu-Gi-Oh! GX
(遊☆戯☆王デュエル モンスターズＧＸ)</li>
<li><a href="https://zukisuzukibgm.com/manager/">zukisuzuki BGM - Manager</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Debunking the Linux Foundation Chromium Conspiracies</title>
      <link>https://trafotin.com/v/linux-foundation-chromium-conspiracy/</link>
      <pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/linux-foundation-chromium-conspiracy/</guid>
      <description>The Linux Foundation does nothing for desktop Linux, so they must be evil! Well, that&amp;rsquo;s what their armchair critics would have you believe. Here&amp;rsquo;s what the Linux Foundation is actually doing.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Debunking the Linux Foundation Chromium Conspiracies" width="100%" height="100%" src="https://spectra.video/videos/embed/885706c8-abe0-4489-b3ef-6d12a1a0d2bd?subtitle=en&amp;title=0" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=FWFLvtbTCvk"  >
	
YouTube

</a>
</button>
</center>

<p>January is a slower week when it comes to tech news, but I go away for a
week and there’s drama in “the Linux community.” This week is going to
be something different from the usual for me–I’m going to dissect the
news. One thing that always grinds the gears of “Linux users” online is
anything involving the Linux Foundation.</p>
<p><img alt="/i/linux-foundation-chromium-conspiracy/comments0.webp&quot;" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/lfps.webp"></p>
<p>I’m going to break down a recent story of the Linux Foundation, because
there’s always a ton of negative sentiment from random people online and
I want to properly evaluate it and see if the concern or ideas for
change are valid and why the Linux Foundation makes the decisions they
do.</p>
<h1 id="linux-foundation-announces-the-launch-of-supporters-of-chromium-based-browsers">Linux Foundation Announces the Launch of Supporters of Chromium-Based Browsers</h1>
<p><img alt="/i/linux-foundation-chromium-conspiracy/comments0.webp&quot;" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/linux-foundation.webp"></p>
<p>A couple days ago, the Linux Foundation, who are the stewards of various
projects in the open source world, made <a href="https://www.linuxfoundation.org/press/linux-foundation-announces-the-launch-of-supporters-of-chromium-based-browsers">the announcement of the
Supporters of Chromium-Based Browsers
initiative</a>.
The initiative promises to raise funding and development support for
other projects that use Chromium.</p>
<p>There’s quite a bit to unpack here, but I think it’s important when we
read about issues like these, we don’t let our opinions be shaped by
what a journalist or content creator said online, we want to look at the
source material and come to our own conclusions like educated adults.
Online communities of “Linux people” who are generally not involved in
these projects reacted very negatively, but I want to break this down.</p>
<h2 id="reading-the-rulings">Reading the Rulings</h2>
<p><img alt="The image features the official logos for Google Chrome and Android, displayed together." loading="lazy" src="/i/linux-foundation-chromium-conspiracy/google-divest.webp"></p>
<p>Let’s dive into the Google anti-trust ruling. Here in the United States,
Google has been under a lot of pressure from regulators and now is
officially a convicted monopoly. The question is what is the remediation
to rectify their damage? Enter United States of America et al., v.
Google, which breaks down the final judgment the court made in November
2024.</p>
<blockquote>
<p>The remedy must prevent Google from frustrating or circumventing the
Court’s Final Judgment by manipulating the development and deployment
of new technologies like query-based AI solutions that provide the
most likely long-term path for a new generation of search competitors,
who will depend on the absence of anticompetitive constraints to
evolve into full-fledged competitors and competitive threats</p>
<p><a href="https://storage.courtlistener.com/recap/gov.uscourts.dcd.223205/gov.uscourts.dcd.223205.1062.0.pdf">EXECUTIVE SUMMARY OF PLAINTIFFS’ PROPOSED FINAL JUDGMENT United
States v. Google LLC (page 5), November
2024</a>.</p>
</blockquote>
<p>Key to the arguments of the federal government cite the Microsoft
anti-trust cases (everywhere where Microsoft is in parens) and the
solutions devised by the federal government is Google must divest their
ownership in Google Chrome and Android.</p>
<blockquote>
<p>Google’s ownership and control of Chrome and Android—key methods for
the distribution of search engines to consumers—poses a significant
challenge to effectuate a remedy that aims to “unfetter [these]
market[s] from anticompetitive conduct” and “ensure that there
remain no practices likely to result in monopolization in the future.</p>
<p><a href="https://storage.courtlistener.com/recap/gov.uscourts.dcd.223205/gov.uscourts.dcd.223205.1062.0.pdf">EXECUTIVE SUMMARY OF PLAINTIFFS’ PROPOSED FINAL JUDGMENT United
States v. Google LLC (page 3), November
2024</a>.</p>
</blockquote>
<h2 id="the-current-state-of-chromium">The Current State of Chromium</h2>
<p><img alt="/i/linux-foundation-chromium-conspiracy/comments0.webp" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/chromium.webp">
Whether this will come to pass is another thing entirely and
commentators say that the incoming Trump presidency will need to see it
through or not. Regardless, the threat of Google not being able to own
an open source project might also come bundled with clauses that prevent
the company and its developers from working on it anymore.</p>
<p>Chromium is used by so many projects everything from all the browsers
based on it, Electron-based applications like VS Code and Discord, the
Chromium Embedded Framework (CEF) that’s in many applications (Steam,
OBS, etc) and video game launchers (League of Legends, Warframe, etc).
The short of it: Chromium is popular and lots of projects use it.</p>
<p>This is a bit of a worst-case scenario, but that’s the reality and in
its current state, Chromium could not survive in a post-Google world.
Google knows this too. By their own disclosure, <a href="https://blog.chromium.org/2025/01/announcing-supporters-of-chromium-based.html">Google represents 94%
of all contributions to
Chromium</a>.</p>
<p>By getting the Linux Foundation involved Google and the open source
world benefit because it means there’s more non-Google voices helping
develop Chromium and this scenario where the world is stuck with an
undeveloped Chromium never comes.</p>
<h1 id="the-role-of-the-linux-foundation">The Role of the Linux Foundation</h1>
<p><img alt="The image features a striking orange title reading “WHAT ‘CRITICS’ THINK” at the top, accompanied by the Linux Foundation logo to its left. Below the title are three white bullet points outlining perceived criticisms of Linux: “SHOULD GIVE TO DESKTOP LINUX, BUT GIVES TO COMPANIES,” “WASTES MONEY ON AI AND CRYPTO,” and “DOESN’T CARE ABOUT COMMUNITIES.”" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/wct-1.webp"></p>
<p>Despite the name, the Linux Foundation is not just about Linux, nor
should they feel obligated to give anything out of the interest of its
members. Google happens to be a paying member of the Linux Foundation
and while they have not donated the Chromium trademark, having a
framework like the Supporters of Chromium-Based Browsers is great for
future proofing the project.</p>
<p><a href="https://www.linuxfoundation.org/blog/blog/the-linux-foundation-its-not-just-the-linux-operating-system">Read this blog post about the Linux Foundation’s mission
statement.</a></p>
<p>This also brings up the mission and goals of the Linux Foundation. A lot
of people online would have you believe the goal of the Linux Foundation
is to raise money for the Linux desktop, but this isn’t true when we
consider two major parts: mission statement and financial
responsibility.</p>
<p><img alt="The image features a striking orange title reading “The truth is” at the top, accompanied by the Linux Foundation logo to its left. Below the title are three white bullet points outlining perceived criticisms of Linux: “Gives to projects used by enterprise,” “Invests in future tech to prevent lock-in,” and “Desktop Linux is 3% and failing.”" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/wct-2.webp"></p>
<p>The Linux Foundation, as a non-profit 501(c)(6) lists in their bylaws:</p>
<blockquote>
<p>The purposes of this corporation are to support, promote, protect and
standardize Linux and other open source software and technologies.</p>
<p><a href="https://www.linuxfoundation.org/legal/bylaws">The Linux Foundation
Bylaws</a> (Updated March
2024)</p>
</blockquote>
<p>So as a non-profit, the Linux Foundation is serving its mission
statement by protecting open source software like Chromium? I see
nothing wrong here, sounds in-line with the mission statement.</p>
<p>Chromium is open source software, a reasonable argument could be made
it’s a standard given how many projects use it, and the fund would
protect Chromium in the event Google couldn’t develop it and give it
neutral governance.</p>
<h2 id="whats-the-alternative">What’s the alternative?</h2>
<p>Now imagine with me someone online says “How come you don’t give to the
Mozilla Foundation? It’s only fair Mozilla gets some love as the dying
web browser!” As much as I would like that, first let’s consider the
Mozilla Foundation is also a non-profit organization and makes a good
portion of income from the Mozilla royalties and expenses on software
development of “fundamental technologies like web browsing and email.”</p>
<ul>
<li><a href="https://projects.propublica.org/nonprofits/organizations/460503801">The Linux Foundation’s previous
filings</a></li>
<li><a href="https://projects.propublica.org/nonprofits/organizations/200097189">The Mozilla Foundations previous
filings</a></li>
</ul>
<p><em>If you are curious about the difference between a 501(c)(3) and a
501(c)(6), the simplified version is the Linux Foundation is allowed to
lobby for politics, the Mozilla Foundation is not.</em></p>
<p>While $18M is not a lot of their income, it’s significant enough that a
tax regulator would have a second glance if the Linux Foundation were
giving money to the Mozilla Foundation. Non-profits swapping money this
way or through a fund could get negative attention of tax regulators and
causes both the Linux and Mozilla Foundations to lose their non-profit
status in a worst case scenario.</p>
<p><img alt="An image with the logos of GNOME and KDE with x marks and the CNCF with a check mark with the annotation: Indirect giving for speicifc causes is an exception: think intermediate foundations, scholarships, or grants." loading="lazy" src="/i/linux-foundation-chromium-conspiracy/gnome-kde-cncf.webp"></p>
<p>Non-profits are supposed to be spending their money, not giving it away.
They can’t give money to the GNOME Foundation and the KDE e.V. for the
same reasons. The Linux Foundation, when they spend money on a cause,
they can’t do it when it would replace work in the organization they are
giving money, because that organization needs to reciprocate and do the
same.</p>
<p>There are also exceptions to this rule that I am not familiar enough
with: things like scholarships or grant writing. There have also been
cases where intermediate foundations do work for both parties. People
are also needed to manage the funds appropriately, so it’s a lot of
work.</p>
<p>Contrary to this, Chromium has no foundation support and the developers
as well as Google have previously expressed <a href="https://www.cnet.com/tech/mobile/google-gets-web-allies-by-letting-outsiders-help-build-chromes-foundation/">they have no interest in
opening a foundation for
Chromium</a>.
Since there’s no foundation, the initiative is also open to other
interested browser makers like
<a href="https://blogs.opera.com/news/2025/01/opera-joins-supporters-of-chromium-based-browsers-open-source-ecosystem/">Opera</a>
and
<a href="https://blogs.windows.com/msedgedev/2025/01/09/microsoft-joins-the-collective-to-support-chromium/">Microsoft</a>,
not just Google. It’s not just these companies either because the fund
is open to other Chromium interest groups/projects and can increase
non-Google voices in Chromium. So what better to invest in an initiative
like the Linux Foundation to support Chromium as the standard it has
become?</p>
<h1 id="everyone-is-sure-quiet">Everyone is sure quiet…</h1>
<p><img alt="/i/linux-foundation-chromium-conspiracy/comments0.webp" loading="lazy" src="/i/linux-foundation-chromium-conspiracy/comments1.webp"></p>
<p>This of course brings up yet another argument from the “critics” of the
Linux Foundation that claim Google is only doing this to look good. My
rebuttal is Google is being awfully quiet about this if they intended
this to look good. If Google wanted regulators to notice this, they
would typically publish it on “The Keyword,” their blog.</p>
<p>For example, Google used “The Keyword” <a href="https://blog.google/around-the-globe/google-europe/united-kingdom/cma-assessment-of-mobile-ecosystems/">to dispute a ruling from the
UK’s Competition and Markets Authority
(CMA)</a>.
In this way, the Linux Foundation differed, because they used their
equivalent newsroom to make their announcement, but no notification via
social media.</p>
<p>Similarly, if we look on Google’s X (formerly Twitter) account, news of
the Supporters for Chromium Browsers Initiative are non-existent. If
this is about Google trying to posture themselves as anything but a
monopoly, kind of weird they aren’t talking about it.</p>
<h1 id="this-was-never-about-desktop-linux">This Was Never About Desktop Linux</h1>
<p>The reality is what these “critics” just can’t stand the darling desktop
Linux users just don’t matter compared to the server and embedded device
Linux users by many orders of magnitude. The natural distrust of
companies plays a big role in this, but this is an example of what
desktop Linux users shouldn’t be.</p>
<p><img alt="An image of Trafotin staring at a comment declaring Linux dead because the Linux Foundation “betrayed” desktop Linux money and refusing to use corporate-backed software." loading="lazy" src="/i/linux-foundation-chromium-conspiracy/comments0.webp"></p>
<p>If desktop Linux users constantly beg the Linux Foundation to give to
the Linux Foundation, yet criticize the Linux Foundation for using their
spending and resources appropriately, I wouldn’t be giving money to
them. More over, the Foundation can’t give money because of the
complications of non-profit tax law in the United States (or overseas in
the case of KDE e.V.).</p>
<p>I’m going to close with the wise words of a friend of the channel, who
actually works for the Linux Foundation,</p>
<blockquote>
<p>They’re going to tell you the same thing as everyone else. “Show me
the money…” Make a better product.</p>
<p><a href="/v/2024-10-30-jorge-castro/">Jorge Castro, CNCF | October 2024</a></p>
</blockquote>
<p>Maybe when desktop Linux is actually a widely used, then there will be
funding put in place for the open source desktop. Until then, keep on
dreaming, start donating, and stop spreading these nonsense
conspiracies.</p>
<h1 id="video-credits">Video Credits</h1>
<ul>
<li><a href="https://youtu.be/e2WZU0FABXI">Open Source Summit 2024： A Hub of Innovation and
Collaboration</a></li>
<li><a href="https://apnews.com/article/trump-inauguration-tech-billionaires-zuckerberg-musk-wealth-0896bfc3f50d941d62cebc3074267ecd">Trump, a populist president, is flanked by tech billionaires at his
inauguration, Ali Swenson, Associated
Press</a></li>
<li><a href="https://www.youtube.com/watch?v=XEzRZ35urlk">Google I/O 2024</a></li>
<li><a href="https://www.bloomberg.com/news/videos/2024-05-08/sundar-pichai-google-and-the-ai-boom">Watch Sundar Pichai, Google, and the AI Boom - Emily Chang et al,
Bloomberg</a></li>
<li><a href="https://www.cbsnews.com/video/google-ceo-sundar-pichai-questioned-on-tracking-of-users-locations/">Google CEO Sundar Pichai questioned on tracking of users’
locations, CBS News (2018
hearing)</a></li>
<li><a href="https://www.wired.com/video/watch/google-ceo-sundar-pichai-at-wired25">WIRED25: Google CEO Sundar Pichai on Doing Business in China,
Working with the Military, and
More</a></li>
<li><a href="https://archive.org/details/bill-gates-deposition/Bill&#43;Gates&#43;-&#43;Deposition&#43;Part&#43;01&#43;of&#43;12.mp4">Bill Gates vs United States -
Deposition</a></li>
<li><a href="https://www.reuters.com/world/us/trump-deepseeks-ai-should-be-wakeup-call-us-industry-2025-01-27/">Trump: DeepSeek’s cheap AI should be ‘wakeup call’ for US tech,
Reuters</a></li>
<li><a href="https://youtu.be/Pv6qXfrKVos">Panel Discussion：Why a Universal Definition of ‘Open Source AI’ is
Essential for Humanity</a></li>
<li><a href="https://youtu.be/OvuEYtkOH88">Keynote： Linus Torvalds, Creator of Linux &amp; Git, in Conversation
with Dirk Hohndel</a></li>
<li><a href="https://www.cnbc.com/video/2024/02/08/alphabet-ceo-sundar-pichai-on-layoffs-important-to-create-capacity-from-within-to-invest-for-future.html">Alphabet CEO Sundar Pichai on layoffs: Important to create capacity
from within to invest for
future</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://ichinosesound.com/peach/">IchinoseSound - Summer Peach</a></li>
<li><a href="https://dova-s.jp/bgm/play14830.html">Noru (のる) - Let’s Go For a Walk
(今日はお散歩日和。)</a></li>
<li><a href="https://dova-s.jp/bgm/play12439.mp3">Sharou (しゃろう) - 10°C</a></li>
<li><a href="https://dova-s.jp/bgm/play20437.html">Kurippu (くれっぷ) - Skip of the Beginning
(始まりのスキップ)</a></li>
<li><a href="https://artlist.io/royalty-free-music/song/timeless/132125">Ann Paris -
Timeless</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>How to Use Steam on Linux (Some Hacking Required)</title>
      <link>https://trafotin.com/v/steam-for-linux/</link>
      <pubDate>Sun, 19 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/steam-for-linux/</guid>
      <description>Ever wonder what it takes to play Steam games on Linux? This is almost everything you need to know: Proton, environment variables, anti-cheat, and mandatory hacking skills.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="How to Use Steam on Linux (Some Hacking Required)" width="100%" height="100%" src="https://spectra.video/videos/embed/06cb0ef3-9944-477c-8efa-725ad228ff53?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=l1_XQIDA8f4"  >
	
YouTube

</a>
</button>
</center>

<p>A while back, I was tasked to help a friend of mine setup his new gaming
PC. Since he’s mostly a single player gamer and has a burning hatred for
Windows 11, it got me thinking. I don’t think anyone has tried to gather
everything they could about Steam on Linux. I wanted to take a revisit
the fundamentals and focus on the fast lane to get you caught up with
using Steam on Linux. A lot has happened over the last couple years and
what does it take to get started with gaming of Linux?</p>
<h1 id="a-gamers-sacrifice">A Gamer’s Sacrifice</h1>
<p>An important thing to know about Linux gameing is there are some games
you can’t play, whether using Linux in the traditional computing sense
or a Linux handheld like the Steam Deck or the Lenovo Legion Go S. I’m
proud to report if the majority of games you play are single-player
games, you will have little to no issues playing them on Linux.
Likewise, if you are considering emulating games or playing retro games,
most of the same programs like RetroArch, Dolphin, or PSX are available
and functionally similar to their Windows versions.</p>
<p>The majority of competitive games won’t support Linux. This includes
games like Call of Duty, Rainbow Six Siege, or Fortnite won’t work at
all. There have also been games like Apex Legends and League of Legends
that used to work on Linux, but don’t anymore. The reason is these games
require you to install kernel level anti-cheat into your computer to
make sure you aren’t cheating.</p>
<h2 id="meme-compilation">Meme Compilation</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=vFO4DagkCNY">Nicki Minaj skin is Distracting - Modern Warfare II from
@fadedjokeh on YouTube</a></li>
<li>[Severe profanity warning] <a href="https://www.youtube.com/watch?v=377HXCxlUCQ">The Ubisoft 2019 E3 Rainbow Six Siege
streamer match, where the rapper Lil Yachty teamkilled
someone</a></li>
<li><a href="https://www.youtube.com/watch?v=v2TRFIVZQEI">We Like Fortnite</a> from
@StrikeRoom on YouTube (reupload)</li>
<li><a href="https://help.bungie.net/hc/en-us/articles/360049024592-Destiny-2-Steam-Guide#h_01HCFS402Y0NT9JK3DT38ME8DG">Destiny 2 pledges to ban all Steam Deck and Linux users in the name
of
cheating</a></li>
</ul>
<p>This isn’t to say all multiplayer games don’t work on Linux. In
particular, certain games like the Halo: Master Chief Collection support
running on Linux using a weakened version of Easy Anti-Cheat and Fall
Guys is the same way. The outlier is games like Warframe and Overwatch
2, which employ their own brand of anti-cheat or Marvel: Rivals, who
pledge to allow Linux gamers to play. Your millege may vary, but if you
are ever in doubt, an important site to remember is <a href="https://areweanticheatyet.com/">Are We Anti-Cheat
Yet</a>, which documents the status of
games with anti-cheat and if they work on Linux or not.</p>
<p>Related: <a href="https://www.leagueoflegends.com/en-us/news/dev/dev-vanguard-x-lol/">Riot Games breaks their silence on Linux as a platform: Linux
is not allowed. They further spit in everyone’s face by releasing empty
source code for the Vanguard anti-cheat as a April Fools’
joke.</a></p>
<h2 id="linux-locks-your-future-game-choices">Linux Locks Your Future Game Choices</h2>
<p>What’s more is some AAA games with intrusive DRM for Linux can cause
issues for you. The best examples of this are the EA and Ubisoft games,
both of which deploy various types of copy-protection, virtual machine
detection, and obfuscation layers to slow down pirates
from cracking the game on day 1. This has also resulted in issues like
some of the mid-2010s Assassin’s Creed games from working on Linux. That
or clients like uPlay or Origin not working for random reasons.</p>
<p><em><a href="https://torrentfreak.com/assassins-creed-origin-drm-hammers-gamers-cpus-171030/">Related: (Former) scene cracker Voksi describes why Ubisoft uses
multiple layers of DRM on their
games.</a></em></p>
<p>Now while the DRM and anti-cheat issues may not mean much to you now,
this still affects <em>future</em> games with invasive DRM or rootkit
anti-cheat features. It’s important to remember that when you are using
Linux, you are locking yourself into playing only games that don’t
struggle with these issues, short of using Windows. It’s important that
you know this going in so you know whether or not installing Linux is
best choice for you.</p>
<p>There are also plenty of resources that document issues or potential
hiccups. <a href="https://www.protondb.com/">ProtonDB</a> documents the work that
many other Steam gamers on Linux have done to get games to work or if
games are working or not. Before buying/playing a game, visit ProtonDB
to prep for any particular issues. It’s really also a buyers’ guide if
you have no interest in troubleshooting issues.</p>
<h2 id="quick-procedure-to-see-if-your-game-works">Quick Procedure to See If Your Game Works</h2>
<p>Recent titles require some time in the oven for the Linux community to
work on them, but the majority don’t need extra attention.</p>
<ol>
<li>Visit ProtonDB to see if the game works.</li>
<li>Visit Are We Anti-Cheat Yet to see if the anti-cheat works.</li>
<li>Evaluate if the game developer will break Linux support at a future
date. If they do, is it on purpose or by accident?</li>
</ol>
<h1 id="getting-started">Getting Started</h1>
<p>So disclaimers out of the way, you’ve decided to make the plunge at
installing Linux; the first thing that we have to get into is installing
Linux itself. I won’t get too much into the weeds here, but the
distribution you pick is incredibly important. I’m going to save you the
trouble right now and tell you whatever you were told online, on Reddit,
another YouTube video–throw it out the window. There’s a lot of old
advice online, including from me.</p>
<p>As of writing this, the best gaming Linux distribution, if you need to
ask, is Bazzite. You don’t have to think about updates or using the
terminal. You just care about your games and keeping your games working.</p>
<p>Not only that, if you use one of the Windows-based gaming handhelds,
there’s a high likelihood that Bazzite will outperform Windows and
integrate better with the hardware. While most steps can be replicated
across most flavors of Linux, there are many pitfalls with libraries
games depend on, especially legacy libraries needed by Windows to play
games or need to be kept up to date to match what’s Steam or games
expect.</p>
<p><em><a href="https://www.theverge.com/2024/12/30/24329005/bazzite-asus-rog-ally-x-steam-os-editorial">Related: The Verge’s Sean Hollister’s review of Bazzite on the ASUS
ROG Ally
X</a></em></p>
<h2 id="gnome-or-kde">GNOME or KDE?</h2>
<p>Looking up Bazzite online makes it easy to think it’s only for the
handheld gaming devices, but Bazzite has a desktop mode similar to
SteamOS or you could opt for something completely different.</p>
<p>The 2 environments are KDE and GNOME. I recommend starting with KDE; KDE
is what’s used in the Steam Deck after all, but occasionally it suffers
from some bugs like copy/paste stops working randomly. GNOME is
personally a better experience for me, but it doesn’t handle monitor
scaling as well as KDE does.</p>
<p>Just try out both of them and Bazzite’s install page provides an easy
command to switch between the 2 via 1 terminal command and reboot.</p>
<h1 id="steam">Steam</h1>
<p>Bazzite comes with Steam preinstalled and various under the hood
utilities to get things like your controllers to work better or
optimizing performance as a whole. There’s optimization for hybrid GPUs
usage for laptop users.</p>


<img src="/i/steam/steam-settings.webp" loading="lazy"
alt="The menu showing Steam’s settings" />


<p>After logging into Steam, the first thing that you need to do is open
the Steam settings → Compatibility → Enable Steam compatibility for all
games.</p>


<img src="/i/steam/steamplay.webp" loading="lazy"
alt="The menu to force Steam Play and Proton for all Steam titles" />


<p>The reason is Steam will only give you access to “Steam Deck verified”
games out of the box. By changing this compatibility setting, you change
this so Steam attempts to run all games in your library using the Proton
compatibility layer. Steam will prompt you to restart, then start
installing and playing games!</p>
<h2 id="troubleshooting">Troubleshooting</h2>
<p>Of course, you should always be prepared for stuff to go wrong. As a
general disclaimer, your results may vary from others online and if you
aren’t prepared to troubleshoot, your game may not work at all. As
always, check ProtonDB and see what other people have done. If you are
having problems, try some of the suggested solutions.</p>
<h2 id="variants-of-protonwine">Variants of Proton/Wine</h2>
<p>Often times, the version of Proton that Valve ships isn’t optimal in
certain cases. Valve also provides an “experimental” version of Proton
that is periodically updated with hotfixes for newer titles.</p>
<p>To change your Proton variant, right-click on your game, Properties →
Compatibility → Force the use of a specific Steam Play compatibility
tool and select your desired Proton version (e.g. Proton Experimental).</p>
<h3 id="protonqt-up">ProtonQt-Up</h3>


<img src="/i/steam/protonqt-up.webp" loading="lazy"
alt="A screenshot of ProtonQt-Up" />


<p>Additionally, there are other third party versions of Wine. The most
popular is Proton-GE, GE being the creator Glorious Eggroll. Proton-GE
is by far the most popular, but it does need to be manually updated
every release. ProtonQt-Up is preinstalled on both SteamOS and Bazzite.</p>
<p>To update other custom Proton, you need to use
<a href="https://davidotek.github.io/protonup-qt/">ProtonUp-Qt</a>. It’s basically
a manager for installing custom Proton versions and supports all of the
Linux game launchers including Steam.</p>


<img src="/i/steam/protonup-qt-proton-ge.webp" loading="lazy"
alt="The ProtonQt-Up installer menu for Proton-GE" />


<p>To use ProtonUp-Qt, select the game launcher you want (ProtonUp-Qt
automatically detects it). In this case, select Steam and select “Add
Version.” From here, select the desired Wine fork (default is Proton-GE)
and install it when prompted.</p>
<p>Unfortunately, it does need to manually updated. If you are having a
problem launching a game, open ProtonUp-Qt again and update your Wine
fork to the latest version.</p>
<h2 id="launch-options">Launch Options</h2>


<img src="/i/steam/launch-options.webp" loading="lazy"
alt="Steam’s launch options" />


<p>In the case of troubleshooting, Steam games all have launch options if
you right-click on your game and visit Properties → General → Launch
Options.</p>
<p>Here you enter in witchcraft variables you find on ProtonDB that worked
for other people. There’s a few things to look out for and it’s how each
of them is broken down.</p>
<p>Below is a sample command; don’t use it with every game, but it’s
helpful to know the difference between each one.</p>
<p><em>Special note for GNOME users and have issues right-clicking, visit
Steam → Settings → Interface → Enable context menu focus compatibility
mode</em></p>
<p><code>mangohud PROTON_NO_ESYNC=1 __GL_SHADER_DISK_CACHE=1 __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 DXVK_HUD=compiler PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0 %command% --launcher-skip</code></p>
<h3 id="overlay-programs">Overlay Programs</h3>
<p>Every command always starts with overlay programs, which run on your
Linux system and do specific things. In this sample command, <code>mangohud</code>
is <a href="https://github.com/flightlessmango/MangoHud">MangoHUD</a>, a program
that lets you track performance in an overlay. Another popular one is
<code>gamescope</code>, a program called
<a href="https://github.com/ValveSoftware/gamescope">Gamescope</a> that can fix how
windows are drawn within games.</p>
<p>While Bazzite includes these, you will need to make sure your system is
up to date, otherwise these overlays don’t work or prevent games from
launching. If you have no interest in such tools, you need to remove
these from your launch arguments.</p>
<h3 id="environment-variables">Environment Variables</h3>
<p>Everything with an <code>=</code> are environment variables. These tweak Wine to do
things.</p>
<h3 id="esync">Esync</h3>
<p>With <code>PROTON_NO_ESYNC=1</code>, Proton is normally configured to make games
that are CPU-bound to use
<a href="https://github.com/lutris/docs/blob/master/howtoesync.md">Esync</a>, which
forces the game to be multi-threaded, even if it isn’t on Windows, which
can increase performance. Some games don’t handle this well or older
CPUs are incompatible, so it needs to be disabled in these cases.</p>
<h3 id="fossilize--shader-caching">Fossilize &amp; Shader Caching</h3>
<p>Other environment variables like the <code>__GL_SHADER_DISK_CACHE...</code> are
needed to control shader caching. On both Windows and Linux, Steam and
games on Steam need to load shaders for you to see things in a 3D
environment. On Linux, Steam uses
<a href="https://github.com/ValveSoftware/Fossilize">Fossilize</a>, which runs when
you launch a game with a popup telling you shaders are being processed.</p>
<p>The flag <code>DXVK_HUD</code> shows on-screen when shaders are being compiled by
Fossilize or in the background by DirectX/Windows.</p>
<h3 id="nvidia">NVIDIA</h3>
<p>If you have an NVIDIA graphics card, you’l learn quickly that NVIDIA is
the boogeyman of stuff not working on Linux and doesn’t support the
Steam Deck Big Picture Mode interface.</p>
<p>More over, there are environment variables for games like Batman: Arkham
Knight and the Witcher 2 to unlock the NVIDIA specific features in
games. Most of the time, it’s the variables
<code>PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0</code>, which allows Wine to
directly interact with your NVIDIA GPU.</p>
<h2 id="launch-arguments">Launch Arguments</h2>
<p>Finally are the old school Windows arguments. These are always following
the word <code>%command%</code> and the <code>--yourargrument</code>. It’s also great if you
need to bypass game launchers or intro screens.</p>
<p>Popular commands include <code>-novid</code> in Valve’s games to skip the logo
crawl and <code>--no-launcher</code> in games like Balder’s Gate 3. Most launch
arguments usually follow a wording similar to this.</p>
<h1 id="now-you-know">Now You Know</h1>
<p>Lastly, you are not limited to Steam when it comes to games, but it is
where the vast majority of games are. There are launchers that can run
games on other platforms like Epic, GOG, Battle.net, and retro games.</p>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play4655.html">KK - Ordinary Landscape
(いつもの風景)</a></li>
<li><a href="https://dova-s.jp/bgm/play16439.html">yuhei komatsu - Scattered Sakura
(桜が散る時)</a></li>
<li><a href="https://dova-s.jp/bgm/play17650.html">crepe (くれっぷ) - Fairy Gift
(妖精の贈り歌)</a></li>
<li><a href="https://dova-s.jp/bgm/play19427.html">crepe (くれっぷ) - End of Summer
(夏の終わりに)</a></li>
<li>Yu-Gi-Oh! Duel Monsters GX Spirit Summoner
(遊戯王デュエルモンスターズＧＸ ＳＰＩＲＩＴ ＳＵＭＭＯＮＥＲ) -
Deck Construction Music</li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>I Made a KakaoTalk Bottles Installer. Was It Worth It?</title>
      <link>https://trafotin.com/v/running-kakaotalk-in-bottles/</link>
      <pubDate>Fri, 20 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/running-kakaotalk-in-bottles/</guid>
      <description>I was recently tasked to get KakaoTalk working on Linux. The best option so far is Bottles, a program that runs Windows applications on Linux. It&amp;rsquo;s a great user experience, but the developer experience needs some work.</description>
      <content:encoded><![CDATA[<p>

<div style="position: relative; padding-top: 56.25%;"><iframe title="I Made a KakaoTalk Bottles Installer. Was It Worth It?" width="100%" height="100%" src="https://spectra.video/videos/embed/ef5db577-3c09-4547-8981-52f00240d2d1?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=mj_p3z_MJkY"  >
	
YouTube

</a>
</button>
</center>

Recently, I was tasked with getting a few programs working in Wine, the
translation layer responsible for getting Windows applications working
on Linux. Often times, when Wine is the topic of conversation, the first
thing people will bring up is gaming. Most games, especially single
player games, have little to no issues running on Linux (your millage
may vary).</p>
<p>Today, I wanted to dive into specific applications, but more
importantly, not video games. I won’t be talking about failures as much
because while a lot of work has gone into making video games working on
Linux, not much has been/or can be done about non-gaming applications in
Wine. Everything from Microsoft’s ClickToRun installers to applications
opening to black screens is just an indicator there isn’t much Wine can
do <a href="https://www.gamingonlinux.com/2022/10/go-tell-bungie-you-want-destiny-2-on-steam-deck-linux/">except grovel for
support</a>.</p>
<p>It’s not a total loss, because some of the right applications can work
with the correct tweaks. Today, I’m going to be using the program
Bottles to run Windows applications and highlighting what it takes to
get KakaoTalk working in Bottles</p>
<h1 id="installing-kakaotalk">Installing KakaoTalk</h1>
<p>For those who haven’t heard of KakaoTalk, KakaoTalk is a instant
messenging platform and it’s incredibly popular in Korea. Now, don’t go
using expecting any kind of privacy, it’s not private by any means, but
in many ways, it’s the WeChat of Korea.</p>


<img src="/i/running-kakaotalk-in-bottles/bottles.webp" loading="lazy"
alt="Some of the windows and menus to expect in Bottles" />


<p>The reason I’m starting with KakaoTalk is installing KakaoTalk in
Bottles is pretty easy, but it does have some quirks to it. So how do we
get it to work in Bottles?</p>
<h2 id="installing-kakaotalk-in-bottles">Installing KakaoTalk in Bottles</h2>
<p>First, download the Windows installer from the KakaoTalk website. Then
in Bottles, create a new Bottle and select “Application.” Mono will need
to installed when prompted.</p>


<img src="/i/running-kakaotalk-in-bottles/creating-bottle.webp"
loading="lazy" alt="A step by step showing how to create a bottle" />


<p>With the ellipsis (the 3 dots), click “Browse Files,” and this will open
a virtual Windows <code>C:\</code> drive. Copy/paste the KakaoTalk installer into
this folder.</p>


<img src="/i/running-kakaotalk-in-bottles/browse-local.webp"
loading="lazy" alt="A step by step showing how to create a bottle" />


<p>Copy the path to the folder. This is a location we will need to use to
install things and create shortcuts.</p>
<ul>
<li>Click “Add Shortcut” and paste the path you copied into your file
manager’s search bar. Select the KakaoTalk installer, then click the
play button in the new shortcut.</li>
<li>Proceed through the KakaoTalk installer as you would on Windows.</li>
<li>A new shortcut will need to be made for KakaoTalk, linking to
<code>C:\Program Files (x86)\)\Kakao\KakaoTalk\KakaoTalk.exe</code>. From here,
you can make this a desktop icon or add it to your Bottles library.</li>
</ul>


<img src="/i/running-kakaotalk-in-bottles/flatseal.webp" loading="lazy"
alt="A graphic showing a sample Flatpak override in Flatseal with the caption “Flatseal overrides some Flatpak controls. You download it from FlatHub.”" />


<h2 id="font-oddities">Font Oddities</h2>


<img src="/i/running-kakaotalk-in-bottles/locale-time.webp"
loading="lazy"
alt="An image of Trafotin and the KakaoTalk mascot Ryan with the text “Locale time!” and the Korean characters for Hangul." />


<p>Since KakaoTalk is a Korean application, it’s imperative to have fonts
with support for Korean Hangul. In order for a font to support this, it
needs to be a CJK font–a font that supports Chinese, Japanese, and
Korean. Bottles has an extra package to install some pre-baked CJK fonts
aptly named <code>cjkfonts</code>.</p>


<img src="/i/running-kakaotalk-in-bottles/kakaotalk-settings.webp"
loading="lazy"
alt="An arrow pointing to the gear at the top of the KakaoTalk settings window" />


<p>Afterwards, to make this change, you go into the settings of the
KakaoTalk app in the top-right corner, then change the font in the
menu…, then restarting KakaoTalk when prompted.</p>


<img src="/i/running-kakaotalk-in-bottles/font-menu.webp" loading="lazy"
alt="An arrow pointing to the font menu within KakaoTalk’s settings window" />


<p>There’s also a weird instance where Bottles pulls from your system
fonts. As a content creator, I have a lot of fonts that I’ve used for
one reason or another. Unfortunately, all of them get jammed into the
poor little KakaoTalk menu and I can’t figure out which of them are the
preinstalled <code>cjkfonts</code> or not. I’m pretty sure it’s Source Sans Han.</p>
<h1 id="the-bottles-installers-double-standard">The Bottles Installer’s Double Standard</h1>
<p>Now all of this is pretty easy to execute, but it’s not so easy to
implement in an installer. While Bottles allows you to build custom
installers, in my testing anyway, there’s a bit of double standard of
backups of programs you import versus running as an installer. In the
past, I’ve written installers for Lutris and Bottles follows a similar
format, but how do you write a Bottles installer?</p>
<p>First, let’s dig into the Bottles documentation. Installers in Bottles
are designed to bypass all of the steps we just did to install
KakaoTalk. The other reason I picked KakaoTalk is installing and using
it requires little interaction from users and largely works in Wine, so
it’s a prime example for a good installer. The only dependency it
requires is <code>cjkfonts</code> and some minor tweaks to an .ini file.</p>
<p><em><a href="https://maintainers.usebottles.com/installers/Introduction">Check out the installers writing guide from the Bottles
documentation.</a></em></p>
<p>You could do this of course, but what’s actually going on underneath the
hood? KakaoTalk stores all of its settings in a *.ini file. Let’s say I
were to make a KakaoTalk installer, all I need to do is install
KakaoTalk using the link from their website, then create a minimal .ini
file that can be populated using the KakaoTalk installer.</p>


<img src="/i/running-kakaotalk-in-bottles/deps.webp" loading="lazy"
alt="An arrow pointing to the dependencies menu in Bottles." />


<p>The installer needs to be written as a YAML file and it’s the same
format of the other files that the other built-in installers and backup
files use.</p>
<ol>
<li>Metadata for the installer: name, description, Wine rating, and
Windows architecture. I copied my information from the <a href="https://appdb.winehq.org/objectManager.php?sClass=application&amp;iId=15392">KakaoTalk
Wine AppDB
listing</a>.</li>
<li>Dependencies: These are built-in requirements in Windows to run
KakaoTalk. Internally, this list can be viewed in Bottles → Your
Bottle → Dependencies with brief descriptions about each package. It
does require a basic understanding of how Windows app development
works.</li>
<li>Info about the Windows binary: This includes the name, a
user-specified icon for Bottles, the name of the executable, and the
destination of the executable prior to running the installer.</li>
<li>The Steps: A series of scripting actions to run the installer or do
specific things to complete the installation. In my KakaoTalk
installer, I pulled KakaoTalk’s installer from their website, then
created a <code>prefs.ini</code>, which KakaoTalk uses to configure fonts so
Hangul support works without user interaction.</li>
</ol>


<img src="/i/running-kakaotalk-in-bottles/deps-list.webp" loading="lazy"
alt="A list of some of the dependencies in Bottles." />


<p>Writing the installer isn’t horribly difficult once you’ve figured out
what the steps are. What’s more difficult is running the installer
itself and this is likely why you don’t see many configurations for
Bottles out there.</p>
<p>In Bottles, loading a configuration you have previously exported has a
different standard than what is in the actual installer repo. This is on
purpose to an extent because installers are vetted through the GitHub
under <a href="https://github.com/bottlesdevs/programs">the organization’s “programs”
repo</a>. To be fair to the
developers, when you ship something in the default build of the program,
it should be held to a higher standard than what people hack together
themselves.</p>
<p><em>Background video: <a href="https://www.youtube.com/watch?v=yTL7FTsrpls">There’s more flavor with Vanilla OS - with Mirko
Brombin and Luca Di Maio (C’è più gusto, con Vanilla OS - con Mirko
Brombin e Luca Di Maio)</a></em></p>
<h1 id="improvements-are-coming-soon">Improvements Are Coming Soon</h1>
<p>As an overall installer improvement, my proposition is the backup should
be able to pull Windows installers from the internet, just like what the
built-in Bottles installers can. It would be a big improvement to the
developer experience and it wouldn’t require forking the repo to test
the installer if there was a framework that allowed users to run
installers that could download installers from the internet.</p>
<p>As a project, Bottles’ development has slowed down a lot, but their
developers been gearing up some major changes with <a href="https://usebottles.com/posts/2023-10-05-bottles-next-a-new-chapter/">Bottles
Next</a>,
a rewrite of the Bottles user interface and backend logic to better
serve its developers. I won’t get into the specifics, but since Bottles
has gotten some pretty significant sponsorships, <a href="https://usebottles.com/posts/2024-12-02-future-of-bottles/">this is now their top
priority</a>
and essential to the wellbeing/future of the project.</p>
<p>It’s clear that Bottles believes they can take development to the next
level. Right now, it’s a matter of navigating the installation process
and taking it slow. With the right application or game you want to play,
you can probably accomplish it. The experience leaves a bit to be
desired, but that’s why they’re rewriting it and can’t wait until that
day comes.</p>
<h1 id="github">GitHub</h1>
<p><a href="https://github.com/bottlesdevs/programs/pull/361">I submitted a pull request to Bottles
recently.</a></p>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://www.youtube.com/watch?v=CWYAT0qH5KY">Sarah Kang ft. Won Jang - Summer
Cold</a></li>
<li><a href="https://soundcloud.com/soulection/01-cant-you-see">J. Louis - Can’t You
See</a></li>
<li>Private Press - DEEEEEEP from Cyberpunk 2077</li>
<li><a href="https://dova-s.jp/bgm/play14515.html">gooset - Shizuku (雫)</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Universal Blue&#39;s Bluefin: 6 Months Later</title>
      <link>https://trafotin.com/v/bluefin-2024/</link>
      <pubDate>Wed, 27 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/bluefin-2024/</guid>
      <description>Over the last 6 months, I tried using Universal Blue&amp;rsquo;s Bluefin. It&amp;rsquo;s the newest addition to Fedora Atomic Desktop and revolutionary for desktop Linux, but it&amp;rsquo;s got a long way to go.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Universal Blue's Bluefin: 6 Months Later" width="100%" height="100%" src="https://spectra.video/videos/embed/849d1d5b-9a56-4bc4-ab49-e0525f0f2288?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=XBpF5C0wNo8"  >
	
YouTube

</a>
</button>
</center>

<p>For the last 6 months, I’ve used Universal Blue, a series of Fedora
images with a strong user-facing focus. On the surface, Universal Blue
is no different from your standard Linux distribution. Instead,
Universal Blue is about the future of <em>desktop</em> Linux and a glimpse of
how it could be better.</p>
<p>But more than a year ago (<a href="/v/2024-10-30-jorge-castro/">and recently</a>),
I chatted with Jorge Castro, one of the lead developers, and I have
never seen something from any other project in a long time that offers a
lot of promise. A lot has happened between now and then, so has it been
any different from using a different Linux distribution?</p>
<h1 id="picking-an-image">Picking an Image</h1>
<p>The first thing to know is Universal Blue isn’t so much a distro as
different variants of Fedora’s Atomic Desktops. you do is pick which
Universal Blue spin you want. I am using Bluefin, the GNOME experience.
There’s also Aurora, the KDE experience, and Bazzite, the gaming version
with both GNOME and KDE with the Steam Big Picture mode. For the more
technical users, you can build your own using BlueBuild.</p>
<p>Essentially, you pick the version you like the best and it provides you
a custom experience. Bluefin and Aurora are good for more desktop
computer users and Bazzite is for the gaming crowd. I’ve used both
Bluefin and Aurora as daily drivers, but haven’t tested Bazzite at all.</p>
<h2 id="universal-blue-images">Universal Blue Images</h2>
<ul>
<li><a href="https://bazzite.gg/">Bazzite (Gaming)</a></li>
<li><a href="https://projectbluefin.io/">Bluefin (GNOME)</a></li>
<li><a href="https://getaurora.dev/">Aurora (KDE)</a></li>
<li><a href="https://blue-build.org/">Base images</a></li>
</ul>
<h2 id="installation">Installation</h2>
<p>After you’ve decided on which image you want, you can add support for
specific hardware or setups. A ton is supported here.</p>
<ul>
<li>Desktops</li>
<li>Framework laptops</li>
<li>Microsoft Surface devices</li>
<li>ASUS laptops</li>
<li>NVIDIA installations</li>
</ul>
<p>This is a huge deal because a lot of these modifications require custom
kernels, installing third party drivers, or NVIDIA breaking your display
manager. All of these are a pain to install and maintain on Linux and in
an image, you don’t need to think about it.</p>
<p>After you’ve downloaded the ISO image, burned it to a USB drive, you can
install your desired distribution. Installation is very similar to
Fedora’s install, unless you install Bazzite, which is a different
process, albeit similar and more glamorous.</p>
<p>When you first boot in, especially if you are a Secure Boot user, the
very first thing to do is enter is the preset password for mokutil,
which signs your system with secure boot. Unlike many other Linux
distros, all uBlue images come with Secure Boot support enabled out of
the box.</p>
<p>To enable Secure Boot, using the arrow keys, select “Continue boot”,
Enter, then enter in the password <code>universalblue</code> when prompted.
Periodically, <a href="https://docs.projectbluefin.io/introduction#secure-boot">Universal Blue rotates keys via
updates</a>.</p>
<h1 id="whats-so-different">What’s So Different?</h1>
<p>Bluefin includes a ton out of the box. For starters, a lot of management
software not included in GNOME is included out of the box and some GNOME
extensions make Bluefin similar to Ubuntu. The thing about Bluefin is
it’s fairly unremarkable as a desktop. Under the hood, it’s how things
are handled differently.</p>


<img src="/i/bluefin-2024/ublue-structure.webp" loading="lazy"
alt="A graph explaining how Universal Blue operates" />


<h2 id="atomic-the-same-but-different">Atomic: The Same, But Different</h2>
<p>Since Bluefin and Universal Blue are part of the Fedora Atomic desktop
family, things that people know are different, but most of the same
actions are backwards compatible.</p>
<p>For one, your Linux system files cannot be changed. Instead, your system
is updated with the new system being queued up as independent systems
and brought up the next time you reboot.</p>
<p><em>Related video: <a href="https://www.youtube.com/watch?v=-hpV5l-gJnQ">Red Hat’s Adam Šamalik gives a brief rundown of Fedora
Silverblue, the parental base of Universal
Blue</a>.</em></p>
<p>This is a big bugaboo for neckbeard Linux users online, but what’s more
interesting is modification is possible using existing frameworks in
Linux, despite discourse online. This idea stems from a combination of
<a href="https://docs.fedoraproject.org/en-US/fedora-sericea/tips-and-tricks/#_working_with_ostreerpm_ostree">obscure
documentation</a>
and how Linux allows users to override developer-configurable pieces of
their system.</p>
<p>Here’s a rudimentary example: while you can’t configure your <code>/usr/</code>
directly, you can configure your application in <code>/etc/</code>. Importantly,
systemd uses <code>/etc/systemd/system</code> and you can use <code>systemctl edit</code> to
edit systemd services and jobs.</p>
<p>Another obscure example is what isn’t said in the documentation. I use
DaVinci Resolve as my video editor of choice and in theory with an
Atomic Desktop, I shouldn’t be able to edit my system files. However,
some third party applications like DaVinci Resolve are installed in the
<code>/opt/</code> folder and Fedora Atomic lets you install within <code>/opt/</code> and it
persists beyond reboots.</p>
<p>Reboots are also way for you to recover from a bad update or disaster.
If you don’t like an update, force your computer off or run a quick
version recovery to get everything in your system back before an update
was installed.</p>
<p>A criticism I and many developers have levied on “stable” Linux
distributions is stable isn’t even safer. Using this kind of rollback on
reboot is the way you keep a rolling package base and the peace of mind
knowing you will always have a system one reboot away.</p>
<p><em>Related video: <a href="https://www.youtube.com/watch?v=i8c0mg_mS7U">Richard Brown’s talk “Regular Releases are Wrong, Roll
for your life”</a>.</em></p>
<h2 id="installing-packages">Installing Packages</h2>
<p>If Fedora Atomic or Universal Blue is different, how do you install
things? Like with system configuration, there’s many avenues to install
the things that you need.</p>
<ul>
<li>For Flatpaks, you get Warehouse , which allows you to graphically
interact with Flatpak data, install Flatpaks, and take snapshots of
specific application versions.</li>
<li>BoxBuddy is a graphical way of interacting with Distrobox. Distrobox
is how you can install any program from any Linux distribution,
provided it doesn’t require a horrible amount of system access.
BoxBuddy provides a graphical way to update and also install
programs within containers.</li>
<li>For GNOME Extensions, Matthew Jakeman’s Extension Manager lets you
install GNOME Extensions without a browser extension and toggle
existing extensions.</li>
<li>AppImages are also a portable method to install specific software
that you need, albeit being messier to update and increased
application size.</li>
</ul>
<p><em>Related video: <a href="https://media.ccc.de/v/4593-developing-on-aeon-with-distrobox">Luca Di Maio (AKA 89luca89)’s talk “Developing on Aeon
with
Distrobox”</a></em></p>
<p>But what if you don’t (or can’t) use any of these? Something to remember
is Fedora Atomic still gives you an avenue to revert back to old school
Linux packaging, but you will need to reboot in order to get these
applications to appear.</p>
<p>For example, if I needed to install a .rpm file, like VeraCrypt.</p>
<pre><code>rpm-ostree install veracrypt.rpm
</code></pre>
<p>If you previously installed something, it can also be removed.</p>
<pre><code>rpm-ostree remove htop
</code></pre>
<p>Putting all of every method from configuring systemd and layering rpm
packages, we can install Mullvad’s app as an example.</p>
<p>First, let’s add the repo, then install Mullvad. Afterwards, reboot as
the new Mullvad package is queued for the next update.</p>
<pre><code>curl https://repository.mullvad.net/rpm/stable/mullvad.repo | sudo tee /etc/yum.repos.d/mullvad.repo
rpm-ostree install mullvad-vpn
</code></pre>
<p>Next, we enable the relevant systemd service files.</p>
<pre><code>sudo systemctl enable mullvad-early-boot-blocking.service
sudo systemctl enable mullvad-daemon
</code></pre>
<p>A lot of people get annoyed by this, but if you are annoyed by this, why
in the world are you installing things so frequently? There’s probably
something more productive you could be doing, even if that’s just
sitting down to watch a movie.</p>
<p>Additional customization is available in ujust for some specialty
applications. For example, DaVinci Resolve inside a Distrobox container,
Ollama, and tweaking various settings.</p>
<h2 id="installing-updates">Installing Updates</h2>
<p>Here’s one of the best parts about installing updates on Universal Blue.
You don’t have to do anything. What’s more is updates are queued and
staged automatically.</p>
<p>Normally, on Fedora Silverblue or other Atomic Desktops, you’d need to
run a rebase command periodically during Fedora’s annual releases.
Additionally, there’s no GUI way of updating, not until systemd supports
it.</p>


<img src="/i/bluefin-2024/update-graph.webp" loading="lazy"
alt="A table comparing major updates between Windows, macOS, Ubuntu, and Fedora with the title: Major updates are so seamless! (Copium)." />


<p>Something that makes me laugh is Linux users pride themselves on
updating. It’s equally frustrating with companies like Apple and
Windows, still make it difficult to move to newer versions of Windows or
macOS without manual intervention. I’m proud to say that Bluefin updated
me to Fedora 41 and I didn’t even know. That’s how it’s done!</p>
<h1 id="the-customization-conundrum">The Customization Conundrum</h1>
<p>With all of these options, this sounds really great, so now’s the time
for the “but.” What if you don’t like something that’s part of the
Universal Blue image you installed? What if you try to remove something
from the base image? You can, but there’s a catch.</p>
<h2 id="good-luck-building-an-image">Good Luck Building an Image</h2>
<p>The way Universal Blue’s (or Fedora Atomic) images work is this and I
cannot stress enough how much Universal Blue has put into the way this
works. I’m going to break it down in an ultra-simplified way.</p>
<ul>
<li>You put one of the base Universal Blue images, which are a
completely barebones installation of Fedora Silverblue or Kinoite,
but with all of the hardware support that people want (e.g. NVIDIA).
This base image is missing some specific things like VL42 Loopback
patches for OBS or specific libraries for applications that are not
installed (e.g. libxcrypt).</li>
<li>You edit a file that basically records all of the changes you are
doing. For example, if you don’t want to include GNOME Text Editor,
you can run a command when the image is built to remove it.</li>
<li>Finally, you build your constructed image on your Git server like
GitHub, GitLab, or a homelab).</li>
<li>You configure your server to build the image daily (or however long
you need updates).</li>
</ul>
<p>The reality is desktop Linux development is a niche and being able to
remove an application is just as important as installing one and it
needs to be done in a way that requires zero interaction with git voodoo
magic I still cannot learn to this day.</p>
<p>The fact of the matter is it is objectively easier to enter in one
terminal command to remove something rather than attempting to construct
your own operating system flavor.</p>
<h2 id="you-removed-what">You Removed What?</h2>
<p>This is the biggest problem in my mind with not just Universal Blue, but
Fedora Atomic as a whole. In other Linux systems, you can just plum
remove something if you don’t like it. Removing something you don’t like
in Fedora Atomic requires way too much commitment. If you think I’m
quick to blame Universal Blue, this problem transcends the project.</p>
<p>For example, some of the hardware enablement is unnecessary for many
users. As someone who uses Bluefin on bare metal, I doubt I need the
VirtualBox, VMware, HyperV, and KVM tools installed. Similarly, why
should I have AMD kernel patches? What if I don’t use VS Code, but want
to use Virt-Manager and don’t develop code?</p>


<img src="/i/bluefin-2024/ublue-wyr-image.webp" loading="lazy"
alt="A table comparing major updates between Windows, macOS, Ubuntu, and Fedora with the title: Major updates are so seamless! (Copium)." />


<p>Similarly, removing preinstalled applications is not recommended,
because it results in a higher amount of memory being used than it would
removing.</p>
<p>This is why there are so many people who complain on the forums and
online that Bluefin has too much preinstalled. In fact, I attempted to
run the base Universal Blue images and sample Aurora as well. The
process is very smooth, as smooth as moving to GNOME to KDE can be
anyway. Rebasing the image works great at keeping your system clean.</p>
<p>To rebase on another Fedora Silverblue or Universal Blue image. It’s one
quick command away:</p>
<p>For example, if I wanted to rebase on Aurora:</p>
<pre><code>rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/aurora:stable
</code></pre>
<p>I can also rebase to the base images.</p>
<pre><code>rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/silverblue-nvidia:latest
</code></pre>
<p>Using the base images leaves a lot to be desired because a lot of the
software support Universal Blue installs is unavailable. VL42 loopback
for cameras and some libraries are missing. The solution isn’t easy and
won’t be anytime soon. It’s an all or nothing situation unless somebody
is willing to help build images.</p>
<h2 id="we-need-legacy-methods-for-a-bit-longer">We Need Legacy Methods (For a Bit Longer)</h2>
<p>What’s more is project leaders like Adrian Vovk are now <a href="https://blogs.gnome.org/adrianvovk/2024/10/25/a-desktop-for-all/">stoking the
fire of dropping support for all forms of Linux package
distribution</a>
that isn’t a universal package like a container. To be fair, people like
Adrian are actively working in these spaces and deserve every right to
make such decisions.</p>
<p><em>Related video: <a href="https://media.ccc.de/v/all-systems-go-2023-247-carbon-os-homed#t=109">Adrian’s talk “Carbon OS [sic] + homed” from All
Systems Go!
2023</a></em></p>


<img src="/i/bluefin-2024/business-software.webp" loading="lazy"
alt="An image featuring the logos of Teamviewer, Zoom, Discord, Proton Drive, and Dropbox with the text “If business software can’t keep up…”" />


<p>The problem isn’t moving in this direction; it’s inevitable for the
Linux desktop to move in this direction and come closer to people who
use Linux on the server. The problem is companies who make commercial
software for Linux will not be able keep up. It’s taken years for <a href="https://web.archive.org/web/20231206045032/https://support.zoom.com/hc/en/article?id=zm_kb&amp;sysparm_article=KB0068973">Zoom
to support
Wayland</a>
and programs like TeamViewer are <a href="https://community.teamviewer.com/English/discussion/122410/teamviewer-support-on-wayland-experimental-state">still slow to adopt Wayland
support</a>.</p>
<p>For sure there will be growing pains, but when it comes to massively
popular commercial software. Mullvad needs to be installed as a native
.rpm to make the most out of its built-in killswitch. VeraCrypt is best
installed as a .rpm as it needs to be able to mount and format new
devices (although applications like <a href="https://github.com/FedoraQt/MediaWriter">Fedora’s Media
Writer</a> and <a href="https://apps.gnome.org/Impression/">GNOME Circle’s
Impression</a> disprove this) and
<a href="https://github.com/veracrypt/VeraCrypt/issues/187">would need to be rewritten to accommodate modern
standards</a>.</p>
<p><em>Related: bootc, a framework for seamless Linux system updates and
championed by Universal Blue’s contributors, <a href="https://universal-blue.discourse.group/t/red-hat-is-donating-bootc-podman-composefs-and-others-to-the-cncf/5112">has been adopted by the
Linux
Foundation</a>.
Here’s <a href="https://www.youtube.com/watch?v=wpXl_8RckB8">an announcement video from Red Hat’s Colin
Walters</a>.</em></p>
<h1 id="the-future-is-approaching-fast">The Future is Approaching Fast</h1>
<p>Despite the criticism of not being able to remove packages, the
difficulties of building/maintaining your own image, and some minor
learning curve of being slightly different than what most Linux users
know, I believe the current system Universal Blue uses is a good
combination of staying true to the ideals of the creators. It offers a
fantastic stable base and it’s a solid experience.</p>
<p>It’s so solid, it’s now my go-to recommendation for everyone using
Linux, provided you can deal with some limitations with specific types
of software. I will be working with my own friends and family across the
holiday season and beyond to move over in the future.</p>
<p>Right now, the only people who shouldn’t be using Universal Blue are:</p>
<ul>
<li>People who live in low storage systems like Chromebooks or netbooks,
but it’s something that may not be too far off in the future if
atomic systems are changed to accomodate limited space.</li>
<li>People who want to use snaps. Snaps could be made available in
theory, but it’s not an ideal experience as Fedora does not package
AppArmor and therefore does not sandbox snaps properly. Right now,
Ubuntu and Arch Linux are the best options.</li>
<li>People with software that isn’t well adapted to the filesystem
changes Fedora Atomic does compared to traditional Fedora.</li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://soundcloud.com/harris-heller-133284589/falling-up">Streambeats by Harris Heller - Falling
Up</a></li>
<li><a href="https://www.epidemicsound.com/track/eLOvJccS89/">SCENE - Move (Instrumental
Version)</a></li>
<li><a href="https://dova-s.jp/bgm/play21441.html">のる (Noru) - Yubiwa</a></li>
<li><a href="https://dova-s.jp/bgm/play21250.html">t12ya - trailing note</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Destroying Desktop Linux with Universal Blue&#39;s Jorge Castro</title>
      <link>https://trafotin.com/v/2024-10-30-jorge-castro/</link>
      <pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/2024-10-30-jorge-castro/</guid>
      <description>Recently, I got to sit down with Jorge Castro, one of the project leads of Universal Blue, its Linux spins Bazzite, Bluefin and Aurora, and its mission to make Linux easier to use for everyone.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Destroying Desktop Linux With Universal Blue's Jorge Castro" width="100%" height="100%" src="https://spectra.video/videos/embed/8418b5cd-346f-4efd-ba87-7a78f0c88e49?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=p6yHM2j_Ov8"  >
	
YouTube

</a>
</button>
</center>

<p>Recently, I got to sit down with Jorge Castro, one of the project leads
of Universal Blue, its Linux spins Bazzite, Bluefin and Aurora, and its
mission to make Linux easier to use for everyone.</p>
<h1 id="learn-more-about-universal-blue">Learn More About Universal Blue</h1>
<ul>
<li><a href="https://universal-blue.org/">Universal Blue</a></li>
<li><a href="https://bazzite.gg/">Bazzite (Gaming)</a></li>
<li><a href="https://projectbluefin.io/">Bluefin (GNOME)</a></li>
<li><a href="https://getaurora.dev/">Aurora (KDE)</a></li>
<li><a href="https://universal-blue.discourse.group/">Universal Blue Discourse</a></li>
</ul>
<h1 id="follow-jorge">Follow Jorge</h1>
<p>Jorge has previously worked with Canonical and VMware. Today, he works
with the Cloud Native Computing Foundation (CNCF) managing
developer/executive relationships and stewarding projects like
Kubernetes and deploying servers at scale.</p>
<ul>
<li><a href="https://hachyderm.io/@jorge">Mastodon (Hachyderm.io)</a></li>
<li><a href="https://bsky.app/profile/castrojo.bsky.social">Bluesky</a></li>
<li><a href="https://www.youtube.com/channel/UCyT3AcQaRx_yl1yYLa5ikXQ">YouTube</a></li>
</ul>
<h1 id="referenced">Referenced</h1>
<ul>
<li><a href="https://vt.social/@trafotin/110539974920405296">My original question post to Universal Blue’s tinkerer’s
guide</a>. <a href="https://github.com/ublue-os/base/discussions/183">Also
available via the original GitHub
discussion</a></li>
<li><a href="https://fedoramagazine.org/announcing-fedora-linux-41/">Fedora 41’s Release Announcement by Matthew
Miller</a></li>
<li><a href="https://github.com/KyleGospo">Kyle Gospodnetich</a> is the creator of
Bazzite and a maintainer of Microsoft’s Linux projects.</li>
<li>The <a href="https://www.cncf.io/">CNCF’s</a>
<a href="https://landscape.cncf.io/">webpage</a> listing all active members.</li>
<li><a href="https://docs.fedoraproject.org/en-US/fedora-sericea/tips-and-tricks/#_working_with_ostreerpm_ostree">The vague ostree/rpm-ostree documentation page that debunks the
inaccurate claims of customization of immutable/cloud native
images.</a></li>
<li><a href="https://www.youtube.com/channel/UCv1Kcz-CuGM6mxzL3B1_Eiw">Gardiner, as in the YouTuber Gardiner
Bryant</a>.</li>
<li><a href="https://www.youtube.com/watch?v=OwWRCrGoXV0">Digital Foundry’s video on
Bazzite</a></li>
<li>Jorge was stuck in the back of a British bus with <a href="https://github.com/sysrich">Richard
Brown</a>, former chairman of openSUSE’s
Board and the lead behind openSUSE Aeon (formerly MicroOS).</li>
<li>Proton Mail Bridge has shipped <a href="https://github.com/ProtonMail/proton-bridge/issues/500">stale QT libraries for a long
time</a>.</li>
<li>Proton VPN’s plans on <a href="https://old.reddit.com/r/ProtonMail/comments/1ff211y/ama_for_the_next_4h_hi_all_andy_here_its_been_a/lmrifei/">taking over the Proton VPN
Flatpak</a>
(<a href="https://old.reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion/r/ProtonMail/comments/1ff211y/ama_for_the_next_4h_hi_all_andy_here_its_been_a/lmrifei/">Onion
Link</a>)</li>
<li><a href="https://old.reddit.com/r/ProtonVPN/comments/1btzlz9/linux_cant_get_cli_working_any_more/ky00pad/">Proton VPN has less than 4 people working on their Linux
app</a>
(<a href="https://old.reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion/r/ProtonVPN/comments/1btzlz9/linux_cant_get_cli_working_any_more/ky00pad/">Onion
Link</a>).</li>
<li><a href="https://snapcraft.io/docs/snap-confinement">How snaps are sandboxed and its permission
variants</a>. Richard Brown
has previously mentioned that snap sandboxing is broken on openSUSE
because AppArmor still has not patched Canonical’s customizations
(see <a href="https://archive.fosdem.org/2023/schedule/event/containerised_apps/">this
video</a>
at 7:29). One of the other distros that supports proper snap
sandboxing is <a href="https://wiki.archlinux.org/title/Snap">Arch Linux</a>.</li>
<li>Popey refers to <a href="https://github.com/popey">Alan Pope</a>, the original
advocate for snaps.</li>
<li><a href="https://github.com/flathub/org.inkscape.Inkscape/issues/87">Inkscape’s heated discussion to convince upstream to takeover the
Flatpak</a></li>
<li><a href="https://universal-blue.discourse.group/t/flatpak-browsers-not-secure/4384/8">Jorge’s discussion on the Universal Blue Discourse about the
struggle of convincing Chromium to adopt sandboxing more friendly to
Flatpaks</a></li>
<li><a href="https://github.com/largestgithubuseronearth/addwater">Add Water</a>, a
GUI installer and maintainance program for Rafael Mardojai’s
<a href="https://github.com/rafaelmardojai/firefox-gnome-theme">Firefox GNOME
Theme</a></li>
<li><a href="https://github.com/arkenfox/user.js">The Arkenfox user.js</a> and its
lead Thorin Oakenpants. <a href="https://github.com/arkenfox/user.js/issues/1519">One of Oakenpants’ many discussions about
the effectiveness of Firefox Containers and Total Cookie
Protection</a>.</li>
<li><a href="https://github.com/chergert">Christian Hergert</a> is a maintainer for
GNOME Builder and the author of the terminal
<a href="https://gitlab.gnome.org/chergert/ptyxis">Ptyxis</a> (called Terminal
on Universal Blue). Ptyxis recently became the default terminal of
Fedora Workstation.</li>
<li><a href="https://github.com/marcoceppi">Marco Ceppi</a> is one of Canonical’s
engineers.</li>
<li><a href="https://github.com/kenvandine">Ken VanDine</a> is an engineering
manager at Canonical for Ubuntu Desktop and the creator of Ubuntu
Core Desktop. If there’s a desktop snap package, <a href="https://snapcraft.io/publisher/ken-vandine">he probably
maintains it</a>.</li>
<li><a href="https://blogs.gnome.org/adrianvovk/2024/10/25/a-desktop-for-all/">Adrian Vovk’s blog post about GNOME
OS</a>.
Adrian has been part of GNOME’s team for years and the creator of
<a href="https://carbon.sh/">carbonOS</a>.</li>
<li><a href="https://copr.fedorainfracloud.org/coprs/szydell/system76/">szydell’s import of System76’s drivers to Fedora’s
Copr.</a></li>
<li><a href="https://jeffser.com/alpaca/">Alpaca</a>, a GTK frontend for the
ollama, which itself is an interface for llama.cpp.</li>
<li><a href="https://www.npr.org/2024/05/03/1248865513/apple-quarterly-decline-iphone-sales">Apple’s mediocre sales of iPhones prior to announcing Apple
Intelligence.</a></li>
<li>The Windows package managers
<a href="https://learn.microsoft.com/en-us/windows/package-manager/">Winget</a>
and <a href="https://chocolatey.org/">Chocolatey</a></li>
<li><a href="https://rufus.ie/en/">Rufus and its ability to bypass Windows To-Go and Windows 11
requirements.</a></li>
<li><a href="https://github.com/cassidyjames">Cassidy James Blaede</a> is a partner
manager at the Endless OS Foundation. He was previously a UX
designer at System76 and a co-founder of elementary OS.</li>
<li><a href="https://tim.siosm.fr/">Timothée Ravier</a> is one of Red Hat’s
engineers and a big contributor to KDE, Fedora Atomic Desktops,
Fedora CoreOS, and Flatpaks.</li>
<li>Jorge mentioned Matt from the Linux Cast’s
(<a href="https://www.youtube.com/channel/UCylGUf9BvQooEFjgdNudoQg">YouTube</a>
and <a href="https://odysee.com/@thelinuxcast:4">Odysee</a>) video about
organizing his dotfiles
(<a href="https://www.youtube.com/watch?v=W4Dq_4seq8w">YouTube</a> and
<a href="https://odysee.com/@thelinuxcast:4/how-i-manage-my-dotfiles:1">Odysee</a>)
and his upcoming review of Bluefin
(<a href="https://www.youtube.com/watch?v=wllGUlwh9OI">YouTube</a> and
<a href="https://odysee.com/@thelinuxcast:4/my-next-long-term-review-is...:e">Odysee</a>)</li>
</ul>
<h1 id="errata">Errata</h1>
<ul>
<li>Ultramarine does not have any image based ISOs.</li>
<li>I misspoke and said the .io domain belonged to Mauritania. It
actually belongs to Mauritius.</li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li>Intro: <a href="https://w.soundcloud.com/player/?visual=false&amp;url=https%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F1771474974&amp;show_artwork=true&amp;secret_token=s-TNknXxZ7Wqz">Khaim -
Maybe</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
<h1 id="bonus-content">Bonus Content:</h1>
<p>Patrons and YouTube Members get access to the preshow/setup and Jorge
showing off his decades of Linux and cloud computing merch.</p>
<p><a href="/donate/">Donate</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>All FOSS Devs Need to Start E-Begging.</title>
      <link>https://trafotin.com/v/foss-contribute/</link>
      <pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/foss-contribute/</guid>
      <description>It&amp;rsquo;s hard for open source devs to make money, but it&amp;rsquo;s even harder to communicate. Devs becoming content creators might fix both of these problems.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="All FOSS Devs Need to Start E-Begging." width="100%" height="100%" src="https://spectra.video/videos/embed/7b1f520d-c04d-4e44-bef5-3e103d53b36a?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=R25O-JVS4Tk"  >
	
YouTube

</a>
</button>
</center>

<p>I’ve been thinking about some of the ways that you can fix open source.
Maybe a bit bigger than you. As your favorite arm chair developer whose
only IDE is Neovim, let me tell you my proposal to improve open source
work culture, introduce new avenues of communication, and why developers
of free applications need to start begging people for money.</p>
<p><a href="https://idtech.space/notice/AmJ60Dc5Vn0yigcxPM">Related: The miscommunication and fumbles of the Wayland frog
protocols.</a></p>
<h1 id="the-two-way-street">The Two Way Street</h1>
<p>The first thing is something we can start doing immediately, it’s users
need to start recognizing developers. It’s something that’s really easy
t o do and it’s get to know the people who make the applications that
you use. It doesn’t require a lot of effort and you might learn how some
of the projects or programs you use more organizationally.</p>
<p><a href="https://www.youtube.com/watch?v=0cz75cMYHRM">Video: Hong Jen Yee’s (AKA PCMan) presentation on LXQT from Debconf 18,
“LXDE &amp; LXQt - The Classic Desktop Environments After 12
Years”</a></p>
<h2 id="stop-othering-developers">Stop Othering Developers</h2>
<p>The thing that gets overlooked way too often is the names of developers.
It’s really easy to say “_____ developer(s)” rather than the names
of the people who have worked hard to contribute to the project. It’s a
reminder that the blog posts you read and the issues you read about are
written by people.</p>
<p>One of my peeves is when people talk about GNOME developers. Don’t get
me wrong, I think there’s a lot of problems with GNOME’s development
culture, but the net of people within GNOME is too wide. Are we talking
about Georges Stavracas, a big contributor to Portals, OBS, and GNOME
Calendar? What about Florian Müllner, a major contributor to GNOME’s
extension framework or the display manager Mutter?</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=hzman8jevRk">Georges’ video about GTK switching from OpenGL to Vulkan
(Portuguese with auto-translated
subtitles)</a></li>
<li><a href="https://www.youtube.com/watch?v=T-sxkx6Oqi8">Carlos Garnacho, Florian Müllner, and Georges Stavracas present
GNOME Shell’s work at GUADEC
2024</a></li>
</ul>
<p>It’s fine to criticize a project in healthy ways, but it’s time to stop
referring to work or blog posts by “_____ developers.” With names,
you’ll learn real fast that the majority of projects are run by a
minority of people actually engaging with the project online or
representing a project.</p>
<p>Just because a GitLab or GitHub shows a ton of contributors, a reminder
that this is historical contributors. With a lot of individual
applications, typically only a few people are actively contributing to
it. If you going to criticize a decision, please only discuss it with
the people whom said decision concerns.</p>
<h2 id="communications-means-contributing">Communications Means Contributing:</h2>
<p>Now that I’ve ragged on users, it’s the developers’ turn. Communication
with users and developers is important. Often times, it feels like when
you read a lot of developer blogs, they are more focused towards the
developers and they are the creators.</p>
<p>Let’s rag on GNOME again. GNOME runs a blog called This Week in GNOME
and it’s a great way to catch up on work done by various developers
within GNOME’s community. It’s also nice-looking, got great formatting,
and completely uniform with the whole libadwaita feel. That’s the good,
the bad is when you consider the content of the blog.</p>
<p>For example, from last week’s post about libadwaita updates:</p>
<blockquote>
<p>libadwaita got another new widget - AdwWrapBox - similar to GtkBox,
but wrapping children when they can’t fit onto the same line. This can
be useful for e.g. displaying tag pills</p>
<p><a href="https://thisweek.gnome.org/posts/2024/10/twig-169/">Alice Mikhaylenko, This Week in GNOME #169 Wrapped
Boxes</a></p>
</blockquote>
<p>There’s nothing inherently wrong with the content; if anything, it’s
useful to know as a (GNOME/GTK) developer. The problem is none of this
is change that users would be interested in knowing. Who is the target
audience of this blog? Is it developers to show off their work? Visiting
the “about” page redirects you to their <a href="https://gitlab.gnome.org/Teams/Websites/thisweek.gnome.org/-/blob/main/README.md">GitLab
README</a>,
which is just a bunch of submission rules and the illusion falls apart.</p>
<p>Now I appreciate it because tag pills are pretty neat, but there needs
to be clear means and it needs to be through an official channel. As
much as I like Nate Graham’s blog and Niccolò Venerandi, it’s frankly
strange that KDE developers don’t contribute “promotional” content
related to their work.</p>
<p>Oh wait, they have
<a href="https://www.youtube.com/channel/UCF3I1gf7GcbmAb0mR6vxkZQ">YouTube</a> and
<a href="https://tube.kockatoo.org/videos/local">Peertube</a>.</p>
<ul>
<li><a href="https://tube.kockatoo.org/w/iQgtMAquUSazLunJRY6D1P">Akademy 2020 - Nate Graham - Visions of the Future</a></li>
<li><a href="https://tube.kockatoo.org/w/mDV5A6LwZGFibeEkkCijxJ">Daily driving Plasma Mobile and what&rsquo;s still lacking</a></li>
</ul>
<p>This is what’s really important and this is something that’s a lot more
tangible to quantify—it’s time to start marrying developer and user
stories. If This Week in GNOME is supposed to be the developer
announcements and the prominent KDE developers are user-focused stories,
there needs to be a clear cut explanation of <em>how</em> the developer changes
positively impact the user experience.</p>
<p><a href="https://www.youtube.com/watch?v=5eOFeeJSD3Q">Recent news: Fedora’s Council Meeting on the most recent survey and use
cases of AI</a></p>
<p>It shouldn’t be surprising that the users of a free operating system
overpower its developers. It’s a tough job, but it probably makes a
great story. It just needs to be these organizations telling these
stories and putting this content in front of new users, not insiders.</p>
<h1 id="devs-need-to-be-youtubers">Devs Need To Be YouTubers</h1>
<p>Here’s the tough part: asking for money. We can’t just tell empty
stories, because there needs to be a call to action. Of course, a story
can be used to get more coding work or developers involved, but there
needs to be a way in for the people who don’t know how or never worked
in it professionally.</p>
<p>Here’s the thing, it’s also a great moment to make developer talks
higher quality and more forward facing. Every year, you get great
conferences from places like <a href="https://fosdem.org/">FOSDEM</a> or <a href="https://all-systems-go.io/">All
Systems Go!</a></p>
<p><em>Distantly related: <a href="https://media.ccc.de/v/all-systems-go-2024-275-systemd-tpm-in-2024">Lennart Pottering’s talk on systemd and
TPM</a></em></p>
<p>Here’s a great idea, organize some of the developers to do a Jitsi call
(we don’t do Zoom around here, <a href="https://citizenlab.ca/2020/04/move-fast-roll-your-own-crypto-a-quick-look-at-the-confidentiality-of-zoom-meetings/">they are
frauds</a>).
You’re going to sit down, livestream every other week, maybe every week.
It doesn’t even have to be that long, even just 20 minutes. You chat
about the cool new things happening in your project and answer questions
in chat. You can be open about it, tell jokes, it’ll be a great time!</p>
<p>All of this might sound weird, but the way you get publicity especially
in the eyes of normal people, is to act like a content creator. You
can’t just a dev, you also need to be cognizant of your social media
presence and speak with the authority of a YouTuber. It gets attention,
but more importantly, exposes you to what people think and can draw
people to your project by engaging with them,</p>
<p><em>Great example (though it goes into the unofficial side), <a href="https://www.youtube.com/channel/UCbmBY_XYZqCa2G0XmFA7ZWg">Alecaddd’s
videos on developing for Mozilla
Thunderbird</a>,
including <a href="https://www.youtube.com/watch?v=EoLb6aHakno">Thunderbird’s journey to get rid of technical debt and
modernize the code</a>.</em></p>
<h1 id="foss-should-become-donationware">FOSS Should Become Donationware</h1>
<p>All of this would also help solve the chicken and egg problem of how to
fund developers or foundations. You now have work that people know you
for and you have a way to engage with said people, therefore, you’ve
achieved the peak goal of any content creator: begging for money.</p>
<p>At any moment, open source projects need to start begging their users
for money. Of course, you can’t make it too annoying, but you have to
guilt trip them. Don’t think of like microtransactions in a mobile game!
Think of it more like the banner that appears at the top of the Wayback
Machine or Wikipedia.</p>
<p>And that’s the real rub here. Developing software for free, distributing
it to people for free, and reproducing it for free is not sustainable.
It should be something like a monthly reminder telling you donate. Now
I’m not saying there should be a way to toggle it on or off since this
is open source software and you should be allowed to do what you want to
it.</p>
<p>The content creator angle also helps because it directs people to
support the people who make a project that they enjoy a lot. it’s also
finding a good way to distribute money to people who do specific work
and a reminder to people who build the tools people use every day.</p>
<p>This is not a definitive way to raise money or improve publicity,
because there’s always something that needs to be changed, but take this
as some suggestions to how we can change the way we, as users, see
developers as people who create things. There’s a reason open source is
deprived of talent and has no financial model and a good way to change
it how developers advertise their products to the public, which in turn
generates developmental and financial contribution.</p>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://soundcloud.com/harris-heller-133284589/unwind-and-recharge">Streambeats by Harris Heller - Unwind &amp;
Recharge</a></li>
<li>The saxophone cacophony at 0:25 is Kenji Mori - Alto Form I</li>
<li><a href="https://dova-s.jp/bgm/play20197.html">Shimtone - Orbit</a></li>
<li>Hitomi Satō (佐藤仁美) - Route 216 (２１６ばんどうろ) from Pokémon
Diamond, Pearl, and Platinum</li>
<li><a href="https://dova-s.jp/bgm/play7650.html">Shimtone - Heartwarming
(ほのぼの)</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>We&#39;ve Been Installing Apps on Linux WRONG!</title>
      <link>https://trafotin.com/v/linux-install-wrong/</link>
      <pubDate>Sun, 06 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/linux-install-wrong/</guid>
      <description>Did you know that developers have an intended way to install your programs? Turns out most distributions (and people) willfully ignore them. What can we do to install our programs the “right” way? Do I really need to use Vim as an AppImage??</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="We've Been Installing Apps on Linux WRONG!" width="100%" height="100%" src="https://spectra.video/videos/embed/013473df-fed4-4d26-a429-81f361df6dee?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<p><center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=x_e5JzLn_4c"  >
	
YouTube

</a>
</button>
</center>

You know what sucks? Installing updates and not the ones of <a href="/v/windows-update/">Windows
variety</a>, but of the penguin OS. I was installing
Ubuntu for somebody the other day and encountered a few (admittedly
minor for me) updates. But it’s not just Ubuntu, it’s just a pain to
update applications on Linux the “right” way and as efficiently as
possible.</p>
<p>This is what got me thinking: what are the biggest problems with Linux
updates right now? I’m not going to focus on formats or with Ubuntu in
particular, because this problem transcends different formats and
distributions. All of this is a call for better tooling and programs to
make the process of updating easier for everyone, not just those
unfamiliar with Linux.</p>
<h1 id="the-gui-lies">The GUI Lies…</h1>
<p>Let me tell you the tale of updating Ubuntu. Ubuntu has a few methods
out of the box of updating their distribution. The first and most common
one is <a href="https://discourse.ubuntu.com/t/upgrade-ubuntu-desktop/14012/3">Ubuntu’s Update
Manager</a>,
which is capable of updating your Ubuntu packages and between different
versions of Ubuntu.</p>
<p>The big benefit of Ubuntu’s Update Manager is it provides a GUI way to
manage Ubuntu’s auto-updating and provides a very visible notification
prompting users to update.</p>
<p>The problem here isn’t so much what Update Manager does, but rather what
it doesn’t do. Inside Linux, there are multiple package formats, so for
our purposes, we’ll briefly touch on distribution packages and universal
packages like snaps and Flatpaks.</p>
<ul>
<li>Distribution packages are the traditional Linux packages and are
typically updated on a package manager exclusive to a distribution.
Common examples include Ubuntu’s apt, but also Fedora’s DNF,
openSUSE’s zypper, and Arch Linux’s pacman.</li>
<li>Universal packages are distribution agnostic (most of the time).
These are snaps, Flatpaks, and AppImages; each of them are different
universal package formats that work largely the same across multiple
distributions.</li>
</ul>
<p>There is a major difference with universal packages on Ubuntu and it’s
universal packages like Flatpaks are not treated the same as snap
packages. If you update through Ubuntu through the Update Manager, your
apt and snap packages will be updated, but your Flatpaks won’t.</p>
<p>Ubuntu could easily integrate this, but they haven’t. If you want to
update through the GUI, you’d have to use Discover or GNOME Software
from the apt repos (not to be confused with the Snap Store) and make
sure they have the appropriate packages to update your snaps and
Flatpaks.</p>
<h1 id="the-intended-way">The “““Intended””” Way</h1>
<p>This brings up matter that disappoints most Linux users is the way
you’ve been installing your packages is probably wrong. Have you been
using the streaming software OBS from your distribution’s repository?
You’re doing it wrong because <a href="https://obsproject.com/download#linux">the OBS developers only test it in 2 ways
on Linux</a>. Have you tried using
KeePassXC on Debian or Ubuntu? <a href="https://github.com/keepassxreboot/keepassxc/issues/10725">You’re doing it wrong because the
maintainer went rogue and ignores the project’s
wishes</a>.</p>


<center>
<blockquote class="mastodon-embed" data-embed-url="https://fosstodon.org/@keepassxc/112417353193348720/embed" style="background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;"> <a href="https://fosstodon.org/@keepassxc/112417353193348720" target="_blank" style="align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M74.7135 16.6043C73.6199 8.54587 66.5351 2.19527 58.1366 0.964691C56.7196 0.756754 51.351 0 38.9148 0H38.822C26.3824 0 23.7135 0.756754 22.2966 0.964691C14.1319 2.16118 6.67571 7.86752 4.86669 16.0214C3.99657 20.0369 3.90371 24.4888 4.06535 28.5726C4.29578 34.4289 4.34049 40.275 4.877 46.1075C5.24791 49.9817 5.89495 53.8251 6.81328 57.6088C8.53288 64.5968 15.4938 70.4122 22.3138 72.7848C29.6155 75.259 37.468 75.6697 44.9919 73.971C45.8196 73.7801 46.6381 73.5586 47.4475 73.3063C49.2737 72.7302 51.4164 72.086 52.9915 70.9542C53.0131 70.9384 53.0308 70.9178 53.0433 70.8942C53.0558 70.8706 53.0628 70.8445 53.0637 70.8179V65.1661C53.0634 65.1412 53.0574 65.1167 53.0462 65.0944C53.035 65.0721 53.0189 65.0525 52.9992 65.0371C52.9794 65.0218 52.9564 65.011 52.9318 65.0056C52.9073 65.0002 52.8819 65.0003 52.8574 65.0059C48.0369 66.1472 43.0971 66.7193 38.141 66.7103C29.6118 66.7103 27.3178 62.6981 26.6609 61.0278C26.1329 59.5842 25.7976 58.0784 25.6636 56.5486C25.6622 56.5229 25.667 56.4973 25.6775 56.4738C25.688 56.4502 25.7039 56.4295 25.724 56.4132C25.7441 56.397 25.7678 56.3856 25.7931 56.3801C25.8185 56.3746 25.8448 56.3751 25.8699 56.3816C30.6101 57.5151 35.4693 58.0873 40.3455 58.086C41.5183 58.086 42.6876 58.086 43.8604 58.0553C48.7647 57.919 53.9339 57.6701 58.7591 56.7361C58.8794 56.7123 58.9998 56.6918 59.103 56.6611C66.7139 55.2124 73.9569 50.665 74.6929 39.1501C74.7204 38.6967 74.7892 34.4016 74.7892 33.9312C74.7926 32.3325 75.3085 22.5901 74.7135 16.6043ZM62.9996 45.3371H54.9966V25.9069C54.9966 21.8163 53.277 19.7302 49.7793 19.7302C45.9343 19.7302 44.0083 22.1981 44.0083 27.0727V37.7082H36.0534V27.0727C36.0534 22.1981 34.124 19.7302 30.279 19.7302C26.8019 19.7302 25.0651 21.8163 25.0617 25.9069V45.3371H17.0656V25.3172C17.0656 21.2266 18.1191 17.9769 20.2262 15.568C22.3998 13.1648 25.2509 11.9308 28.7898 11.9308C32.8859 11.9308 35.9812 13.492 38.0447 16.6111L40.036 19.9245L42.0308 16.6111C44.0943 13.492 47.1896 11.9308 51.2788 11.9308C54.8143 11.9308 57.6654 13.1648 59.8459 15.568C61.9529 17.9746 63.0065 21.2243 63.0065 25.3172L62.9996 45.3371Z" fill="currentColor"/></svg> <div style="color: #787588; margin-top: 16px;">Post by @keepassxc@fosstodon.org</div> <div style="font-weight: 500;">View on Mastodon</div> </a> </blockquote> <script data-allowed-prefixes="https://fosstodon.org/" async src="https://fosstodon.org/embed.js"></script>
</center>


<p>That might come off as very harsh, but most developers have
uber-specific ways of using these applications. It’s really important
that we use programs only through official channels because that’s what
is tested and that’s the way we will have the least problems.</p>
<p>Returning to OBS, OBS has 2 official methods to install it, anybody know
what they are? The answer is Flatpak and the Ubuntu PPA (not the one in
the Ubuntu repos, a popular misconception).</p>
<ul>
<li><a href="https://nobaraproject.org/docs/modification-details/details-on-the-listed-modifications/">Nobara packages their own
OBS</a>,
which caused <a href="https://github.com/obsproject/obs-studio/issues/8816">this exchange on the OBS
GitHub</a>.</li>
<li><a href="https://github.com/obsproject/obs-studio/issues/9715">Someone had problem with the snap of OBS and was turned away
because it’s an unofficial
package.</a></li>
</ul>
<p>This is just scratching the surface; there are programs that provide
lots of avenues to install their software. Firefox offers every method
underneath the sun to use it: .deb, tar.gz, Flatpak, snap, they do
everything. Other projects might not be so lucky because of limited
resources. The email provider Tuta only provides an AppImage for
example.</p>
<p>What makes this worse is this isn’t even the other programs that you use
on your computer that aren’t snaps or Flatpaks. If your application
doesn’t have a built in way to update and you aren’t using a snap or
Flatpak, you’re out of luck and have to resort to visit the website and
download an update manually.</p>
<p>One example is the Linux application firewall <a href="https://github.com/evilsocket/opensnitch">Open
Snitch</a>. Open Snitch is not
available is any repository; instead, you must manually download the
Debian or Red Hat package from their GitHub. What’s worse, the
application has no mechanism to check for updates. Ironic for a network
firewall that’s designed to protect you.</p>
<p><em>On a completely unrelated note, the creator of Open Snitch evilsocket,
wrote about <a href="https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/">a security vulnerability in the Apple/Linux print server
cups</a>
recently.</em></p>
<p>If you need something from another programming package manager, like
Python’s pipx, npm, or Rust’s cargo, they all have their own independent
repositories, with their own ways to update, and they aren’t tied to
most GUI package managers.</p>
<h1 id="peeling-back-the-layer">Peeling Back the Layer</h1>
<p>That’s why over the last couple years, I’ve become super jaded about
where I get my packages. After becoming more conscientious of where I
download my packages from and the chaos of all of these different
package types, what can we do about it? The only thing that we can do is
“favor” packages from their official sources first and foremost,
especially if that package is a universal format like Flatpaks or snaps.</p>
<p>All you need to do is follow this procedure:</p>
<ol>
<li>Visit the website of the program you want to install. Navigate to
the “download” page, just like you would for Windows or Mac, but for
Linux.</li>
<li>If there is a Flatpak or snap available, prioritize these packages
above the others. The main reason is they are sandboxed and get
first class updates.</li>
<li>If there is no Flatpak or snap available, turn to one of the other
methods like the Debian and Red Hat packages. Other times might be
when packages try to talk you out of it, like <a href="https://brave.com/linux/#flatpak">the Brave
Browser</a>. This can also include
distribution-specific repositories too, so pay close attention.</li>
<li>Tarballs and source compilation are a last resort, often because
they need to updated manually.</li>
</ol>
<p>But what if you aren’t running the required distribution as one of the
official packages? I use the Signal desktop app and Signal only has one
way to use their application–their apt repo. As a Fedora user, I can’t
install apt packages… or can I?</p>
<p>This is where Distrobox comes in. Distrobox allows you to install
applications independent from the Linux distribution you use,
simultaneously integrating it more than a program in a virtual machine.
If you need to install a package in another distribution because it’s an
official method or it’s better maintained, you can use a container
instead.</p>
<p>In the case of Signal, I created an Ubuntu distrobox container and
installed Signal inside. This way, I can have a minimal Ubuntu
installation that has Signal and I can use Signal the way Signal’s
developers intended!</p>
<h1 id="not-everyone-is-a-admin">Not Everyone Is a Admin</h1>


<img src="/i/linux-updates-wrong/signal-desktop-verify.webp"
loading="lazy"
alt="Signal Desktop with a popup reading: Verify to continue messaging. To help prevent spam on Signal, please complete verification. After verifying, you can continue messaging. Any paused messages will be automatically sent." />


<p>Except not really if you on KDE anyway. This did open up a can of worms
because Docker and podman aren’t able to fully bridge specific actions.
When I originally set up Signal, you get asked to verify your account
with a captcha. Unfortunately, because Signal is trapped in a container,
it can’t see Firefox on a KDE Plasma host system, so I had to develop a
workaround.</p>
<ol>
<li>In a Chromium-based browser, navigate to <a href="https://signalcaptchas.org/challenge/generate">the webpage of Signal’s
captcha delivery</a>. If
you need to use Firefox, you need enable the custom signalcaptcha
URI scheme in the about:config.
<code>user_pref(&quot;network.protocol-handler.external.signalcaptcha&quot;. true);</code></li>
<li>Complete said captcha.</li>
<li>You will get a popup prompting you to open in Signal, close it, and
copy the link from the button instead. It’s really long and starts
with <code>signalcaptcha://signal-hcaptcha...</code>.</li>
<li>In the container, run signal-desktop followed by the command. In
this case, <code>signal</code> is the name of my Distrobox container.
<code>distrobox enter signal -- signal-desktop signalcaptcha://signal-hcaptcha....</code></li>
</ol>
<p><em>If you are interested in how browser URI schemes, <a href="https://developer.mozilla.org/en-US/docs/Web/URI/Schemes">Mozilla has a quick
reference page about
this</a>.</em></p>
<p>The solution isn’t perfect right now for some edge cases, including
<a href="/v/davinci-resolve/">DaVinci Resolve identifying laptop GPUs</a> or <a href="https://github.com/newsboat/newsboat/issues/1344">UTF-8
crashes with
newsboat</a>. If you need
to download something for your development in a container, a container
will receive its updates independently. If you are a Distrobox user or
use BoxBuddy because you prefer a GUI, you need update containers in
addition to your host system.</p>
<p><em><a href="https://media.ccc.de/v/all-systems-go-2024-266-bootc-generating-an-ecosystem-around-bootable-oci-containers">Related video: Ben Breard and Colin Walters talk this year from All
Systems Go: “bootc: Generating an ecosystem around bootable OCI
containers”</a></em></p>
<p>While Linux may seem daunting in this way, this issue is no different
from Windows and Mac where there isn’t way to manage updating programs
you have installed, especially since updates aren’t applied evenly
either or even through Winget on Windows. It’s some extra steps, but
Linux at least provide a way to make managing this possible, where it
isn’t as accessible on proprietary operating systems.</p>
<p>The bottom line: your computer, no matter what operating system you use
treats you like a developer or sysadmin. Updating software on computers
is a massive pain, but until a better solution is posed, we need to
evaluate packages based on how the developers want us to. One of the
biggest problems of open source software is fragmentation, but a large
part of this fragmentation is people making unnecessary versions of
programs bearing the same name and deviating from a developer’s wishes
in some way.</p>
<h1 id="track-listing">Track Listing:</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play20469.html">shimetone - citron
(シトロン)</a></li>
<li><a href="https://dova-s.jp/bgm/play20477.html">yuhei komatsu - COLOR</a></li>
<li><a href="https://dova-s.jp/bgm/play19995.html">Kamaboko Sachiko (蒲鉾さちこ) - New Year’s Party
(迎春の宴)</a></li>
<li><a href="https://artlist.io/royalty-free-music/song/still/116009">call me joseph -
still</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Verify Your Downloads like a PRO!</title>
      <link>https://trafotin.com/v/gnupg/</link>
      <pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/gnupg/</guid>
      <description>PGP keys, hashes, vendor certificates&amp;hellip; there&amp;rsquo;s so many ways to verify a file! And all of them are like pulling teeth.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Verify Your Downloads Like a PRO!" width="100%" height="100%" src="https://spectra.video/videos/embed/fb438752-a012-4c10-80d8-2387eb2a4a84?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=GtEk8bOb0cI"  >
	
YouTube

</a>
</button>
</center>

<p>Verifying downloads is something that should be ingrained into every
computer user. Unfortunately, the process is very complicated and very
few services make this easy for people. It’s intimidating to be told to
use the terminal, especially if you are on Windows or Mac.</p>
<h1 id="paid-signatures">Paid Signatures</h1>
<p>What’s more, why bother when a lot of the programs you use are probably
verified already? Windows and macOS have a built-in mechanism to
identify whether or not a program was created by the manufacturer that
claimed to make it. If you use Snaps or Flatpaks on Linux, both
implement a checkmark system to show the developer was verified by the
Snapcraft and Flathub developers.</p>
<p>Signed applications are necessary to ensure the file wasn’t tampered
with on the way from the developer to your computer. If you use a
package manager like Winget, Homebrew, or the one in your Linux
distribution, this process is also automatic. What’s more on Linux, the
vast majority of packages on Linux are not verified. Even within the
average distribution repository, most packages are not officially
sanctioned by the original developers. This doesn’t mean a application
is malware, but it can often introduce more problems.</p>
<p>The problem is signing systems like Apple’s notarization process or
Microsoft certificates are costly for developers, requiring at least a
couple hundred dollars up front just so the program you made won’t get
blocked by the default antivirus.</p>
<ul>
<li><a href="https://developer.apple.com/support/compare-memberships/">Apple’s crazy developer
fees</a></li>
<li><a href="https://learn.microsoft.com/en-us/windows/win32/seccrypto/hashes-and-digital-signatures">Microsoft’s explainer about
certificates</a></li>
<li><a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/code-signing-cert-manage">Microsoft’s list of code signing certificate
providers</a></li>
</ul>
<p>Unsigned applications don’t suggest they are malware, but it’s important
to pay attention to where you got the program to begin with.</p>
<h2 id="bypassing-signature-checks-on-macos">Bypassing Signature Checks on macOS</h2>
<p>Like Microsoft, Apple has a robust verification system. Unlike
Microsoft, Apple is more proactive at blocking unverified downloads.
When you open an application for the first time, Apple will prompt you
if you want to open the application.</p>
<p><a href="https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac">If you need to open an unsigned
application</a>
(e.g. LibreOffice, Alacritty, etc): navigate to <code>/Applications</code> and
<code>Ctrl + Click</code> the application you want to open. Then select “Open.”</p>
<p>If you are on <a href="https://developer.apple.com/news/?id=saqachfa">macOS Sequoia or
higher</a>, you will need to
go to the Settings, “Privacy &amp; Security” and manually allow an unsigned
app.</p>
<h1 id="manual-verification">Manual Verification</h1>
<p>Naturally, people aren’t accustomed to verifying their downloads.</p>
<p>A couple years ago, <a href="https://blog.linuxmint.com/?p=2994">Linux Mint was
hacked</a> and the ISO was modified to
mine cryptocurrency off the unlucky souls who downloaded it. Thankfully,
Mint’s team shut down the attack very quickly, but it goes to show how
important it is to verify your downloads.</p>
<p>The attack was easily prevented if users verified their downloads.
Unfortunately, verifying downloads is something that doesn’t get enough
attention. The hacker of the Linux Mint, Peace, made the bold, but
accurate claim:</p>
<blockquote>
<p>Who the f**k checks those anyway?</p>
<p><a href="https://www.zdnet.com/article/hacker-hundreds-were-tricked-into-installing-linux-mint-backdoor/">Peace, to ZDNET’s Zack
Whittaker</a>
February 21, 2016</p>
</blockquote>
<p>We’re going to have to go and prove him wrong. It’s not going to be easy
and maybe this is something that we need to start developing.</p>
<h1 id="gpg-signatures">GPG Signatures</h1>
<p>One of the most popular ways files are verified is PGP keys. Pretty Good
Privacy (PGP) keys are often necessary for verifying other files using a
central server for trust. Some projects also require verifying
additional files.</p>
<p>PGP was originally only available to the government in the 1970s and PGP
was developed to make file and text encryption more accessible to
average people. Almost 40 years later, PGP is very unfriendly and is far
too complicated to use. Encrypted messaging apps automate this message
verifiability and security process, so they fill this void better.
Despite its shortcomings, many open source projects and packaging
utilities rely on PGP, because nobody has been able to break it.</p>
<p>PGP is typically handled with a command line application called <a href="https://gnupg.org/">GNU
Privacy Guard (gnupg)</a>. There are various graphical
front-ends:</p>
<ul>
<li>Windows: <a href="https://www.gpg4win.org/index.html">Gpg4win</a></li>
<li>macOS: <a href="https://gpgtools.org/">GPG Suite</a> (Mail encryption is paid)</li>
<li>Linux: <a href="https://apps.kde.org/kleopatra/">Kleopatra</a></li>
</ul>
<p>Of course, like most GNU applications, using gnupg or any of its
frontends is not particularly straightforward.</p>
<h3 id="verifying-gpg-signatures">Verifying GPG Signatures</h3>
<p><em>I will be using the instructions for Kleopatra and Gpg4win. The
instructions are similar for GPG Suite.</em></p>
<p>First, download the files you wish to verify. This will be your desired
file and a signature file with the extension .sig or .asc.</p>
<p>Typically, these files are named something similar. If you download
openSUSE Tumbleweed’s ISO and verify the checksums, the files we need
here are the signature file
<code>openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc</code> and file we want
to verify <code>openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256</code>.</p>
<p>Make note the folder where the files you downloaded are (e.g.
Downloads).</p>
<ol>
<li>In your GPG program, navigate to “Decrypt/Verify.”</li>
<li>Select the signature file first and the file that needs to be
verified.</li>
<li>If you are told the certificate is unavailable, select “Search” to
download the key from a known key server. Otherwise, skip to #6.</li>
<li>Once the key server has found the certificate, click on it and
select “Import.”</li>
<li>Accept the next dialogue once the certificate was imported.</li>
<li>Repeat the process of “Decrypt/Verify” and select the files again.</li>
<li>Select “Show Audit Log.” If you see “Good signature from…,” the file
has been verified as the authentic file.</li>
</ol>
<p>Ignore any warnings that tell you the signature cannot be verified. This
often confuses people who are trying to verify files when they aren’t
trying to encrypt files themselves.</p>
<blockquote>
<p>Since PGP keys aren’t designed for humans, you need to move them
electronically. But of course humans still need to verify the
authenticity of received keys, as accepting an attacker-provided
public key can be catastrophic.</p>
<p>PGP addresses this with a hodgepodge of key servers and public key
fingerprints. These components respectively provide (untrustworthy)
data transfer and a short token that human beings can manually verify.
While in theory this is sound, in practice it adds complexity, which
is always the enemy of security.</p>
<p>Now you may think this is purely academic. It’s not. It can bite you
in the ass.</p>
<p><a href="https://blog.cryptographyengineering.com/2014/08/13/whats-matter-with-pgp/">What’s the matter with PGP? - Matthew D. Green, Johns Hopkins
University</a></p>
</blockquote>
<h3 id="command-line">Command-Line</h3>
<p>gnupg can also be used from a terminal to verify keys. As a GNU utility,
it’s best utilized on Linux, macOS through Homebrew, or Windows
Subsystem for Linux. It’s also preinstalled in many Linux distributions.</p>
<p>First, verify your file using the signature file first, then the
downloaded file.</p>
<pre><code>gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc openSUSE-Tumbleweed-DVD-x86_64-Snapshot20240806-Media.iso.sha256
</code></pre>
<p>If the certificate is not yet added, we need import it into our GPG
keyring. You will get presented with a dialogue similar to this:</p>
<pre><code>gpg: Signature made Tue 06 Aug 2024 09:04:47 AM EDT
gpg:                using RSA key 35A2F86E29B700A4
gpg: Can't check signature: No public key
</code></pre>
<p>Next, import the certificate from a remote server. This is the blob of
letters and numbers after the key type. In this example, openSUSE uses
an RSA key and the key is <code>35A2F86E29B700A4</code>.</p>
<pre><code>gpg --recv-keys 35A2F86E29B700A4
</code></pre>
<p>You should get an output informing you if the signature was imported to
your keyring. Rerun the <code>gpg --verify</code> command from earlier. If you see
“Good signature from…,” the file has been verified as the authentic
file.</p>
<h1 id="check-out-those-checksums">Check Out Those Checksums!</h1>
<p>Often times, software makers will provide checksums, which are verified
using GPG keys. This ensures the files you downloaded aren’t tampered
with or corrupt in some way.</p>
<p>Checksums are alphanumeric representations of files or data—every file
has one. There are many different algorithms to check files and it’s
different for every operating system. For example on Linux, there’s a
nice GUI called <a href="https://apps.gnome.org/Collision/">Collision</a>. There
are also command-line options.</p>
<p>An alternative is uploading the file to
<a href="https://www.virustotal.com/">VirusTotal</a>, but this may be privacy
invasive as VirusTotal will receive a copy of your file.</p>
<p>At any point if you need to navigate to a folder or type a file name,
you can drag the folder or file into your terminal instead of typing it
out.</p>
<h2 id="popular-algorithms">Popular Algorithms</h2>
<ul>
<li>SHA1</li>
<li>SHA256</li>
<li>SHA512</li>
<li>MD5</li>
</ul>
<h2 id="gnu-coreutils-linux">GNU coreutils (Linux)</h2>
<p>Linux has the most comprehensive and commonly used hash verification
tools by the GNU Project. The commands also have a built-in checker to
formatted checksums from a file.</p>
<pre><code>sha256sum openSUSE-Tumbleweed-DVD-x86_64-Snapshot20240806-Media.iso
</code></pre>
<p>Running the command will give an output that looks like this:</p>
<pre><code>3b55f6f88c0a64f0e4e2abe19e106c40578ef60a9d97b5be149736e83154b0ce  /var/home/user/bin/mullvad-browser/Browser/Downloads/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20240806-Media.iso
</code></pre>
<p>If you have a .sha* file, you can verify the file with the -c command.</p>
<pre><code>sha256sum -c openSUSE-Tumbleweed-DVD-x86_64-Snapshot20240806-Media.iso.sha256
</code></pre>
<p>If you were not provided a .sha* file, you can manually verify by
opening the file in a text editor or word processor, then manually
comparing the hashes.</p>
<h2 id="macosbsd-shasum-and-md5">macOS/BSD: shasum and md5</h2>
<p>On Mac, the process is slightly different than Linux, because macOS
still maintains BSD tooling. <a href="https://formulae.brew.sh/formula/coreutils">The GNU version from
above</a> can be downloaded
from Homebrew if you prefer the Linux commands.</p>
<p>Apple briefly discusses SHA checksums in their <a href="https://developer.apple.com/library/archive/documentation/Security/Conceptual/Security_Overview/CryptographicServices/CryptographicServices.html">developer
documentation</a>.
<a href="https://developer.apple.com/documentation/cryptokit/insecure/md5">MD5 is deprecated due to its
insecurities.</a></p>
<p>Open Terminal (or an alternative like iTerm2) and enter the desired
commands.</p>
<h3 id="shasum">shasum</h3>
<p>For SHA checksums, use the <code>shasum</code> command. Below is an example for
SHA256 sums.</p>
<pre><code>shasum -a 256 subscribe.pkg
</code></pre>
<p>The output will look like this:</p>
<pre><code>baaeeedffc7ef4a4f65ec8015699a5c95db91d131d253f1eb2ebc469557344c2 subscribe.pkg
</code></pre>
<h3 id="md5">md5</h3>
<p>For MD5 checksums, use the <code>md5</code> command.</p>
<pre><code>md5 likethevideo.dmg
</code></pre>
<p>The output is very different from the Linux version, but it’s
functionally the same.</p>
<pre><code>MD5(likethevideo.dmg)= 20665acd5f59a8e22275c78e1490dcc7
</code></pre>
<h2 id="windows">Windows</h2>
<p>Windows has a PowerShell utility called
<a href="https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash">Get-Filehash</a>,
which is a catch-all command for all signatures and algorithms.</p>
<p><code>Get-Filehash</code> is always following by your file, then the algorithm you
wish to use.</p>
<pre><code>Get-FileHash C:\Users\user1\Downloads\Contoso8_1_ENT.iso -Algorithm SHA256
</code></pre>
<p>All common algorithms are supported by Windows like SHA and MD5.</p>
<h2 id="did-it-work">Did It Work?</h2>
<p>Regardless of operating system, if the file is verified, you should just
get an “OK.” Now your file is ready to use!</p>
<p>Now that you know, verify your downloads every time. You’ll keep
yourself safe from the nasty things out there. All we need to do is pray
for better tooling.</p>
<h1 id="resources">Resources</h1>
<ul>
<li><a href="https://help.riseup.net/en/security/message-security/openpgp/best-practices">Riseup’s tutorial on GPG key
management</a>.
The guide is outdated, but the format of commands and best practices
are still true.</li>
<li><a href="https://simonsingh.net/books/the-code-book/"><em>The Code Book: The Secret History of Codes and Code-breaking</em> by
Simon Singh</a>. If you
want to read specifically about key exchange, PGP, and quantum
computing, it’s chapter 6 and onward.</li>
<li>Damon Garn’s blog post for Red Hat <a href="https://www.redhat.com/sysadmin/hashing-checksums">“An introduction to hashing and
checksums in
Linux”</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/EN/bgm/play287.html">Takashi Waraya (稿屋 隆) - With watching the donkey
(ロバでも眺めながら)</a></li>
<li>Yu-Gi-Oh! Power of Chaos: Kaiba the Revenge - Card List</li>
<li><a href="https://dova-s.jp/EN/bgm/play20829.html">えだまめ88 - chocomint
(チョコミント)</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Linux Won&#39;t Save Your Hardware. But You Might As Well Try...</title>
      <link>https://trafotin.com/v/linux-wont-save-your-hardware/</link>
      <pubDate>Sat, 20 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/linux-wont-save-your-hardware/</guid>
      <description>Linux can run great on old computers, but not every PC or Mac is up to the task. Here&amp;rsquo;s why.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Linux Won't Save Your Hardware. But You Might As Well Try.." width="100%" height="100%" src="https://spectra.video/videos/embed/e774398a-7a8e-4c7b-b0cb-e9dc6d42a2a7?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://www.youtube.com/watch?v=5VEJrk6tThU"  >
	
YouTube

</a>
</button>
</center>

<p>A common selling point of Linux is hardware support, especially for
computers with lower configurations or older computers. Today, I want to
bring a different opinion today: Linux can absolutely extend the use of
older hardware, but by no means will it save it. I have a few lower end
and older computers: the HP Compaq 8000 and the ASUS E403NA. I want to
use each computer as test cases and demonstrations, so the next time you
attempt to “revive” a computer, you set your expectations appropriately.</p>
<h1 id="lack-of-security-guarantees">(Lack of) Security Guarantees</h1>
<p>The first thing to get out of the way is security updates. Whether
you’re using a computer from 14 years ago or a computer from the current
generation, it’s important to understand security updates. For example,
a while back I reviewed the experience of using Linux on a 2017 MacBook
Air and as the sun sets for macOS Monterey, Linux is a major step up
than using macOS Monterey, which has pretty much hit its end of life and
as Apple abandons Intel for their Apple Silicon. That’s a good reason to
consider using Linux on an older machine.</p>
<p>That’s where we need to talk about the ugly truths with end of life
hardware. While Apple makes it easier to gauge hardware releases and
security updates, on Windows or Linux machines, this can be more
difficult. For example, the HP Compaq first came out in 2009 and was
made available only to business customers (it even has Intel’s Core
certification). The final firmware update for the Compaq was shipped in
2013. Now one shady thing both HP and Apple do is they never tell you
that you are running a device with firmware with zero security patches.
Apple is even worse in this regard because there’s no indication macOS
won’t get updates until they stop.</p>
<p>Your hardware needs to be updated frequently, especially when there are
vulnerabilities against physical hardware. One example was earlier this
year, <a href="https://www.bleepingcomputer.com/news/security/new-tpm-20-flaws-could-let-hackers-steal-cryptographic-keys/">QuarksLabs found a serious flaw in TPM
2.0</a>,
so if you use an older version of TPM (you should), you would have
missed the numerous security updates related to TPM since then. Not just
TPM, but attacks like
<a href="https://arstechnica.com/security/2023/12/just-about-every-windows-and-linux-device-vulnerable-to-new-logofail-firmware-attack/">LogoFAIL</a>
exist as well.</p>
<p>It’s important to remember that if you use computer for sensitive
operations that require addition security, like banking for example,
take extreme caution with using hardware that won’t get security
updates. If your device is no longer receiving security updates,
installing Linux can help as a “badness reduction” measure, but it won’t
fix the fact that you no longer get any hardware updates. It reduces the
harm from the operating system level, but it won’t solve some crippling
hardware flaws.</p>
<h1 id="limitations">Limitations</h1>
<p>One of the major selling points of Linux is its low performance. There
are some desktop environments or window managers on Linux that can run
on incredibly low-end hardware. For example, I have the ASUS E403NA—a
laptop with less than 4 GB of RAM and with one of the classic 2017 Intel
Celeron. It’s really important to acknowledge that the weaker the
computer, the more it will limit your options to do specific things. I
have to run the Sway window manager, because running most desktop
environments lead to really slow performance.</p>
<p>Okay, it’s not that bad. On the HP Compaq, GNOME performs generally
pretty well. While loading times themselves are slow, GNOME is actually
fairly capable on 4 GB of RAM, it’s just older hard drives. It’s also
very capable at general web browsing and even watching videos.</p>
<h2 id="software-support">Software Support</h2>
<p>One of the major problems with the HP Compaq in modern day is its
ability to play contemporary video games or run OpenGL programs. I
couldn’t get multiple modern video games to run, because most games I
tried spit out OpenGL or DirectX errors.</p>
<ul>
<li>The Grim Fandango Remastered encounters errors because it requires
OpenGL version 3.3 or higher.</li>
<li>The Core 2 Duo only supports up to OpenGL 2.1 as indicated if you
run Minetest, which runs at an average of 20 FPS.</li>
<li>Despite meeting every minimum requirement except the GPU, Rebel
Galaxy fails to launch at all.</li>
<li>ABZÛ and Cuphead won’t run because the Core 2 Duo doesn’t support
DirectX 11.</li>
</ul>
<p>Now I did get some games to run, the best was Oddworld: Abe’s Oddysee,
which was still unsuccessful at playing any of the rendered videos,
featuring the good ol’ 90s scan lines. Aside from this, the game seems
to be completely playable despite its downsides.</p>
<p>To push the hardware a little more, I also tried running the original
Psychonauts. While not encountering any initial installation issues. the
game practically ran at the rate of a slideshow and was unplayable.</p>
<p>What all of this shows is older hardware cannot keep up with the pace of
software. You can’get in on the latest AI craze. You can’t do proper
programming because compiling programs takes literal hours. That doesn’t
mean it’s incapable, but there are serious limitation with what you can
or can’t do.</p>
<h2 id="legacy-cables">Legacy Cables</h2>
<p>The other problem is legacy cables. If older computers like the HP
Compaq, you are effectively forced into specific display cables. For
example, I usually use a lot of HDMI cables. But with the HP Compaq, the
only cables that are supported are VGA and DisplayPort cables.</p>
<p>Now, I just so happen to have a pair of VGA cables lying around after
years and years of using them. But for older computers, especially when
you start getting into the early 2000s, maybe the 90s, you might not
exactly have a FireWire cable lying around for that PowerMac G3 of
yours.</p>
<h1 id="the-community-doesnt-know-or-care">The “Community” Doesn’t Know or Care</h1>
<p>My favorite part about aging hardware (and open source software in
general) is a lot of people will tell you there’s a community out there
that develops a whole manner of firmware in case you’re having trouble.
Indeed, if it’s very common firmware like ThinkPads or Microsoft
Surfaces, hardware that’s actively used, people will care a lot about
it. But when it comes to end of life hardware, this so called
“community” is very unsympathetic and will not help you because the
companies that abandoned the software to begin with are very
unsympathetic about it.</p>
<p>Last year,
<a href="https://news.opensuse.org/2022/11/28/tw-to-roll-out-mitigation-plan-advance-microarchitecture/">openSUSE</a>,
<a href="https://fedoraproject.org/wiki/Changes/Optimized_Binaries_for_the_AMD64_Architecture">Fedora</a>,
and
<a href="https://ubuntu.com/blog/optimising-ubuntu-performance-on-amd64-architecture">Ubuntu</a>
have all announced initiatives to advance the x86 compilation of their
packages to the next level from v2 to v3. Unfortunately, there have been
people who continue to outcry these deprecation initiatives, but
openSUSE’s polls show very few people understand these architectural
differences, including me by the way.</p>
<p>If these changes and how these developers responding is an indication of
anything, it shows that developers like those at Fedora, Canonical, and
<a href="https://news.opensuse.org/2023/03/02/tw-gains-optional-optimizations/">SUSE</a>
all want to move faster and older hardware support hinders progress and
eats up developer time. I can’t imagine a single developer who would
volunteer to discuss these issues when they would rather spend it
programming. 32-bit hardware was dropped on many distributions for the
same reason. As much as I would like us to be able to use these
computers in the future, there’s a real human cost to the people who
have to keep the 32-bit or even the PowerPC and it can’t go on forever.
Think about it: if you are using a computer which no longer gets
security updates or manufacturer supports, obviously with extenuating
circumstances (economy, social change, etc), there’s very few reasons to
use hardware that won’t be supported. If you’re sick of hardware that
won’t be supported, maybe it’s time to support hardware makers that give
their products a long shelf life.</p>
<h1 id="b-but-the-environment">B… But the Environment…</h1>
<p>My favorite excuse is “using an older machine will save the
environment.” Or the classic &quot; you can breathe new life into your old
computer.&quot; I hate to be the bearer of bad news, but in the case of HP
Compaq, I would argue that continued use of older computers isn’t just
bad for the environment, it’s actively <strong>worse</strong> compared to other
alternatives.</p>
<p>While the Compaq might be lacking in gaming capabilities, it’s still
really good at word processing, general web browsing, or some basic
office work in something like LibreOffice. The problem isn’t so much in
what it can do, but rather, what other devices you might or could own
can do. We live in a day and age where smart phones have become very
integrated into society. If all you can do is run a web browser, you are
better off using your phone, a device that doesn’t require nearly as
much space or power.So many people in today’s day and age don’t own
computers, it wouldn’t be crime to tell someone to just their phone.
Most modern smart phones do some things worse like tinkering and gaming,
but when it comes to doing what most people actually do.</p>
<h1 id="takeaways">Takeaways</h1>
<p>Now considering you made it this far and you haven’t left an angry
comment in the video, the important thing here is presenting guidelines
that we can use to understand how we can use technology better. We need
our devices to receive updates and when they aren’t it means it’s time
to migrate to newer devices that will. Sure, Linux has options that can
save older hardware, but the slow decline of software that will work and
the limits set purely because of old hardware. Maintaining old hardware
has a cost: it’s a cost for the developers who have to keep it
functional, on you because parts might no longer be available, and the
real environmental cost when modern products might be a better
alternative.</p>
<p>At the end of the day, everyone’s situation is different and it’s all
about what works for you. I’m not going to hunt you down because you
still have Debian computers running on PowerPC. It’s about making smart
decisions about how we can use these tools the best.</p>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li>Hitomi Satō (佐藤仁美) - Poffins (ポフィン) from Pokémon Diamond,
Pearl, and Platinum</li>
<li><a href="https://dova-s.jp/bgm/play12459.html">Sumochi (すもち) - Toy-dance
(おもちゃのダンス)</a></li>
<li><a href="https://zukisuzukibgm.com/culture/">zukisuzuki BGM - Culture</a></li>
<li><a href="https://dova-s.jp/bgm/play20720.html">TECHNOTRAIN - Blue Soda</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Lessons Learned From the liblzma and xz Backdoor</title>
      <link>https://trafotin.com/v/xz-backdoor/</link>
      <pubDate>Fri, 12 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/xz-backdoor/</guid>
      <description>The open source community was rocked with the revelations of a backdoor targeting millions. Turns out, the enemy was the people and processes along the way.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Lessons Learned From the xz Backdoor" width="100%" height="100%" src="https://spectra.video/videos/embed/ce5aeaf3-e74d-4bd1-8b70-07064c94ad94?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=NzKF737rhRc"  >
	
YouTube

</a>
</button>
</center>

<p>Did you hear about that really bad Linux vulnerability? It’s the
compression software liblzma or by the better shorthand xz and the code
was backdoored. Now when most people hear backdoor, most of the time
it’s just bozos on the internet abusing the term; this time, it’s not a
drill. Also, remember how I said it was a Linux vulnerability? It’s
actually much worse than that. If you are a BSD or use other Unix-like
tools on macOS or Windows, this matters for you too. I’ll do a quick
recap of the situation, but I’m not interested in telling you the news.
Instead, let’s the discuss the impact this has on you, the end user, and
what the open source community can learn from this situation and respond
effectively.</p>
<h1 id="what-happened">What Happened?</h1>
<p>Everybody compresses their files. It could be a .zip file or it could be
done by your operating system or a website you visit so you don’t use as
much bandwidth. Even watching videos on YouTube or Peertube are
compressed videos. To compress things, programmers rely on compression
algorithms, which bulk analyze files and remove information to save on
space. If you extract a file, that space becomes filled up again. File
compression plays an important role in saving you data and memory.</p>
<p>In the case of xz, a developer at Microsoft, Andres Freund, found that
liblzma, the core compression library in many popular programs, was
<a href="https://www.openwall.com/lists/oss-security/2024/03/29/4">manipulated by the xz maintainer Jia Tan to steal security keys to
login to
servers</a>. The
vulnerability was only found after ssh, the protocol commonly used to
login to remote computers, was taking merely milliseconds longer to
connect. This attack is not normal for open source and speaks of a
sophisticated actor with in-depth knowledge of the inner workings of xz
and its potential weaknesses.</p>
<p>There’s more to this story, but I will be returning to pull details as
they become relevant.</p>
<ul>
<li><a href="https://tukaani.org/xz-backdoor/">Official response from lead maintainer Lasse
Collin</a></li>
<li><a href="https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/">What we know about the xz Utils backdoor that almost infected the
world</a></li>
<li><a href="https://infosec.exchange/@fr0gger/112189232773640259">An infographic created by Thomas
Roccia</a></li>
</ul>
<h1 id="am-i-affected">Am I Affected?</h1>
<p>Now most journalists panicked and ran with this story, but let’s not
downplay how bad this is. Unless you maintain a server that is connected
to the public internet and even if you do, this is largely irrelevant to
you. Most of the open source vendors responded promptly on Friday and
stopped the backdoored library from getting very far. If you are a
“normal” end user or you just run a home lab, you are probably safe from
the xz disaster. If you do have a server, most servers run older
libraries than the ultra newest libraries that had the backdoor. Even if
your system had the most updated backdoored xz, you’d still need to have
a distro that <a href="https://nondeterministic.computer/@mjg59/112181057962158116">downloaded the releases page of the
GitHub</a>.
That’s a lot of ifs and if you are a normal user, keep calm and download
the latest update from your package manager.</p>
<ul>
<li><a href="https://alpinelinux.org/posts/XZ-backdoor-CVE-2024-3094.html">Alpine Linux: Backdoor found in xz package
source</a></li>
<li><a href="https://archlinux.org/news/the-xz-package-has-been-backdoored/">Arch
Linux</a></li>
<li><a href="https://micronews.debian.org/2024/1711830544.html">Debian CVE-2024-3094 concerning a backdoor exploit in XZ
Utils</a></li>
<li><a href="https://fedoramagazine.org/cve-2024-3094-security-alert-f40-rawhide/">Fedora 40 and Rawhide: CVE-2024-3094: Urgent alert for Fedora Linux
40 and Rawhide
users</a></li>
<li><a href="https://bugs.gentoo.org/928134">Gentoo discussion</a></li>
<li><a href="https://github.com/Homebrew/homebrew-core/pull/167512">Homebrew for
macOS</a></li>
<li><a href="https://www.kali.org/blog/about-the-xz-backdoor/">Kali Linux: All about the xz-utils
backdoor</a></li>
<li><a href="https://news.opensuse.org/2024/03/29/xz-backdoor/">openSUSE addresses supply chain attack against xz compression
library</a></li>
<li><a href="https://access.redhat.com/security/cve/CVE-2024-3094">Red Hat:
CVE-2024-3094</a></li>
<li><a href="https://nondeterministic.computer/@mjg59/112186391043591598">systemd changes libsystemd to block
liblzma</a></li>
<li><a href="https://discourse.ubuntu.com/t/xz-liblzma-security-update/43714/3">Ubuntu 24.04 Delay LTS Xz/liblzma security
update</a></li>
</ul>
<h1 id="technological-social-and-cultural-issues">Technological, Social, and Cultural Issues</h1>
<p>But even after you download your updates, we still have arguably a
complicated and bigger problem remaining—what do we do if something like
this happens again? What’s worse, what other vulnerabilities have been
using the same tactics as the xz backdoor? What are developers doing to
detect them? The unfortunate reality is this will not be the last time
this happens. You bet after the attention over the last couple days that
everyone has been watching this. There’s no clean solutions, but let’s
take look at what’s been done and what’s being done.</p>
<h2 id="the-technological-solution-reproducible-builds">The Technological Solution: Reproducible Builds</h2>
<p>A technological solution we can turn to is reforming the build process.
Extensive testing with the infected library showed that fake white
spaces Unicode lookalikes were used to falsify commit history and making
various obfuscated files to deliver the final blow. White spaces will
require some extra code in testing tools and we’ve also seen programs
like Google’s extension store adopt <a href="https://blog.chromium.org/2018/10/trustworthy-chrome-extensions-by-default.html">policies against using obfuscated
code</a>.</p>
<p>Something that many Linux distros have been striving for is reproducible
builds. The backdoor relied on someone downloading the archives from the
releases page, not the source code, so when developers like Freund comes
along to troubleshoot, contributors can verify the source code matches
the final product of libraries or binaries. For years, distros like
Debian and NixOS have championed reproducible builds because it builds a
great degree of trust between all parts of software delivery.</p>
<p>If you are willing to pitch in, Linux vendors could always use help in
making sure their software is reproducible.</p>
<ul>
<li><a href="https://reproducible-builds.org/who/projects/">Who is involved? —
reproducible-builds.org</a></li>
<li><a href="https://www.youtube.com/watch?v=w9UKzmZH3NU">Stretching out for trustworthy reproducible builds - creating bit
by bit identical binaries - DebConf
2015</a></li>
</ul>
<blockquote>
<p>Intelligence agencies…</p>
<p><a href="https://media.ccc.de/v/31c3_-_6240_-_en_-_saal_g_-_201412271400_-_reproducible_builds_-_mike_perry_-_seth_schoen_-_hans_steiner/">Mike Perry, “Reproducible Builds Moving Beyond Single Points of
Failure for Software Distribution”
5:07</a></p>
</blockquote>
<h2 id="the-social-solution-combating-project-leeching-and-burnout">The Social Solution: Combating Project Leeching and Burnout</h2>
<p>So we’ve addressed real name policies and things developers can do
prevent these kind of vulnerabilities, but we need to talk about
cultural reform. Open source has a big problem and it’s a human one. The
lead maintainer of xz, Lasse Collin, has been doing so tirelessly for
years. Unfortunately, it was only him working on xz for a long time.
There were other contributors, but none of them did as much work by
Collins, who was very open about <a href="https://www.mail-archive.com/xz-devel@tukaani.org/msg00567.html">his own mental health
issues</a>.
Except if you see what prompted this response, which was two of the
puppet accounts run by the perpetrators and almost like a heist movie, 3
days later, Jia Tan joins as a developer. There’s multiple layers to
this, so let’s break this down.</p>
<p><a href="https://social.coop/@eb/112180449849400086">Related: Evan Boeh’s breakdown of the exchanges of the puppet
accounts</a></p>
<p>I think the most important thing here is some basic operational
security. It’s tough to be a big target on the internet and being a
developer falls into that camp. Everybody <em>will</em> get on your case and
blame you for every tiny issue about and stuff that’s not even related
to your software. But mention of Colin’s mental health issues was taken
advantage of by people who intended to do ill. As a warning, do not tell
the internet about your mental health, especially with the risk somebody
will try to use it to exploit your overworked state of mind.</p>
<p>Related: <em>Mr. Robot</em> S1, E5</p>
<h2 id="the-cultural-solution-leadership-and-vision">The Cultural Solution: Leadership and Vision</h2>
<p>But on mental health, we also need to talk about the state of open
source development and the <a href="https://mastodon.world/@Mer__edith/112202731458142364">consumerist culture in
FOSS</a>.
Maintainers are accustomed to people visiting their repos to have people
ask about new features or fix a bug or two. Unfortunately, some people
are… not very nice to put it mildly. And it’s not just xz, but tons of
other projects like <a href="https://mastodon.social/@jasonkoebler/112208838700118900">the Android app store
F-Droid</a> deal
with this as well as <a href="https://social.librem.one/@eighthave/112194828562355097">an attempted SQL
backdoor</a>.</p>
<p>In fact, this whole xz backdoor only started because of the sock puppet
accounts started with really
<a href="https://www.mail-archive.com/xz-devel@tukaani.org/msg00567.html">aggressive</a>
<a href="https://www.mail-archive.com/xz-devel@tukaani.org/msg00568.html">language</a>
to make Collin feel like he wasn’t doing enough.</p>
<p>The issue here is a communication one and there’s no easy fix, so let me
provide two of my internet armchair opinions. Projects need to curb
toxic behavior like this. Notice nobody stepped in to quash this kind of
behavior against Collin. Open source projects aren’t the only things on
the internet with these issues, but it’s high time to start addressing
this. I’ll let you be the judge of how. People are the biggest
weaknesses of hacking, not just the code.</p>
<p>No matter how big or small, your project should have a clear vision in
mind from the get-go. For xz, these “complaints” could be easily quashed
by simply <a href="https://hachyderm.io/@joeyh/112180715824680521">declaring the project feature
complete</a>. There also
needs to be a defined pipeline for users to give back to a project,
either financially or through maintenance like fixing bugs or packaging.
Getting there requires a vision that leads successful communities that
can tackle complex problems: technological, social, or cultural. It
needs to be a vision that inspires people to say “I want to be a part of
that” and building relationships that make everyone better.</p>
<p><a href="https://hackers.town/@zwol/112198885007988022">Relevant: Zack Weinberg’s Mastodon post on reform in
FOSS</a></p>
<h1 id="closing">Closing</h1>
<p>At risk of going too long, I think it’s better to close out with an ask:
there’s three solutions for communities to consider, the matter here is
picking the right one. This whole situation isn’t so much about the
security as much as it is a wake up call for proper community
development and solid technological policy to prevent incidents like the
xz backdoor. You can read all the news you want about liblzma, but if we
don’t evaluate our own practices, we’ll be doomed to repeat the same
mistakes again.</p>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play4655.html">KK - Ordinary Landscape
(いつもの風景)</a></li>
<li><a href="https://dova-s.jp/bgm/play13884.html">gooset - Bittersweet</a></li>
<li><a href="https://dova-s.jp/bgm/play13493.html">gooset - SUNNY</a></li>
<li><a href="https://dova-s.jp/bgm/play19782.html">Fukagawa - Green Harmony</a></li>
<li>Song that plays over the <em>Mr. Robot</em> clip is
<a href="https://macquayle.bandcamp.com/track/14-3-billharper-mp3">1.4_3-billharper.mp3</a></li>
<li><a href="https://soundcloud.com/lukrembo/store">Lukrembo - Store</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon
Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Big, Loud, But Proud | System76&#39;s Adder Workstation 3 (8 Months Later)</title>
      <link>https://trafotin.com/v/system76-addw3/</link>
      <pubDate>Sat, 09 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/system76-addw3/</guid>
      <description>8 months ago, I bought System76&amp;rsquo;s Adder Workstation 3. Is it worth your money? How&amp;rsquo;s performance and battery life? Is the Intel Management Engine a backdoor?</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Big, Loud, and Proud! System76's Adder Workstation 3 (8 Months Later)" width="100%" height="100%" src="https://spectra.video/videos/embed/eec1c46c-4ea2-460d-afb1-76588fcafd7f?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=k458Yq7vP_E"  >
	
YouTube

</a>
</button>
</center>

<p>A while back, I did a review of <a href="/v/system76-darp9/">System76’s Darter Pro
9</a>. Overall, I thought it was a pretty well-built
machine with some minor flaws to critique. But what I didn’t mention was
in August last year, I purchased <a href="https://web.archive.org/web/20231121033127/https://system76.com/laptops/adder">System76 Adder Workstation
3</a>.
This massive thing is a gaming machine and shines as a mobile desktop
PC.</p>
<p>My experience with the Adder is a similar experience to my unboxing of
the Darter Pro and yes, they also gave me a Pop!_OS t-shirt in addition
to the other merch inside. This is all nice and all, but living with
this computer has me conflicted at the end. Overall, I think if you are
able to accept that this is basically a portable desktop you can plant
somewhere. It now handles all of my daily driving needs and I recommend
it, only if you can stomach a few caveats. So let’s dive in.</p>
<p><em>I was not sponsored by System76 to make this review (will likely be
more evident later). I paid for this computer with my own money.</em></p>
<h1 id="my-configuration">My Configuration</h1>
<p>The Adder is billed as a customizable gaming laptop. One of the major
selling points to buy a System76 computer is the hardware is fully <a href="https://tech-docs.system76.com/models/addw3/README.html">user
upgradable and
repairable</a>. I
chose pay extra for 32 GB of DDR5 RAM (default 16 GB), a 1 TB M.2
storage (default was 500 GB), and upgraded to a <a href="https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4060-4060ti/">Nvidia RTX
4060</a>
<a href="https://www.nvidia.com/en-us/geforce/gaming-laptops/max-q-technologies/">Max-Q</a>
(instead of the RTX 4050 Max-Q). It also comes with <a href="https://ark.intel.com/content/www/us/en/ark/products/232171/intel-core-i9-13900hx-processor-36m-cache-up-to-5-40-ghz.html">13th Gen Intel
Raptor Lake-S i9
Mobile</a>
with 8 performance cores and 16 efficiency cores. The new Adder
Workstation 4 uses 14th Gen Intel CPUs instead, but will continue to use
the Nvidia 40 series and other memory.</p>
<p>For ports, the Adder comes with 2 USB-C 3 ports, 1 Ethernet port, a
Thunderbolt port, a HDMI port, a Kensington lock, a micro-SD card slot,
a headphone jack, a microphone jack, 1 USB-A 3 port, and 1 USB-A 2 port.
Overall, the vast majority of people will have enough ports to fit their
needs, save for the glaring flaw of a USB 2 port. Thankfully, future
models of Adder have also discontinued the trend of the USB 2 ports.</p>
<p>The screen is a 1080p, 144 Hz 15 in (38.1 cm) display and is more than
sufficient in bright/outdoor conditions. The keyboard has a RGB back
light and the brightness of the screen is sufficient for outdoor use or
in sunny places. Like the Darter Pro, the Adder smudges quite a bit with
your fingerprints, but doesn’t seem to be nearly as bad despite being
the same material. You also get Bluetooth (which I never use), a
webcam/microphone, and Wi-Fi 6E.</p>
<p>I think the most compelling thing about the Adder for end users is the
computer’s customization. You can add a ton of RAM, it has lots of space
for extra storage, and the ability to swap out parts is great. Compared
to other gaming computers with the same price point, the fact you have
the capability of replacing parts while remaining very price competitive
is praiseworthy.</p>
<p>On price, with all of my upgrades to RAM (up to 64 GB, I did 32 instead
of the default 16), storage, and the 4060, the full price was around
$1863. It’s a steep price compared to its competition, but if you are
willing to foot the effort or pay extra, you can get a machine with a
better CPU and more storage/RAM. The compromises are a 1080p display,
the sub-par webcam/microphone, and the dreaded USB-2 port (again, going
away in the next version).</p>
<h1 id="why-now-in-this-economy-support-system76">Why (Now, In This Economy, Support System76)?</h1>
<p>The biggest question I want to clear up right now is “the why,”</p>
<h2 id="system76-as-a-company">System76 as a Company</h2>
<p>On one hand, I want to support a company that makes a Linux laptop.
System76 has contributed a lot to developing desktop Linux, has made
some impact on the Linux app ecosystem, and will continue to so as they
launch the Cosmic desktop environment. They offer a computer that’s
fully upgradable and repairable. But on the other, the space is far too
competitive and I wonder if I should have even bothered. This whole
thing also causes me to question why System76 chose to roll their own
firmware, desktop environment, and optimizations.</p>
<p>The thing is in the United States, a lot is riding on System76. The only
other major Linux-focused laptop manufacturer in the US, Purism, is too
busy shipping laptops with old hardware and refusing to refund people
over unfinished Linux phones. International Linux laptop manufacturers
who give back to development, like TUXEDO and Star Labs, are out of
reach for anybody not in Europe or the UK (both charge hundreds of
dollars in import fees, but it’s not their fault. Blame customs.).</p>
<h2 id="support-my-needs">Support <em>My</em> Needs!</h2>
<p>The reason I chose to buy a computer now is I have very specific needs
that only a gaming laptop (or a MacBook Pro, but who’s going to waste
money on that?) is going to accomplish.</p>
<h3 id="mobile-content-creation">Mobile Content Creation</h3>
<p>The first problem is I’m a content creator. First off, it means every
other week of my life is consumed with recording slop videos for all of
you on a regular basis. Previously, I never owned a good laptop this
good. My workflow was always my desktop first in my home office and
conducting personal work outside of the home was always done on my
phone. I’m an advocate for desktops purely for control and
customization.</p>
<p>However, there’s a problem—content creation. My phone and pathetic
netbook ASUS laptop can’t edit videos effectively. This situation was so
bad for me last year, <a href="/v/kicksecure/">I rushed out a video</a> because I
knew I was going away on vacation for a week and wouldn’t have time to
or access to my desktop. One of the main reasons I bought this machine
was because I need to have a portable editing machine and way to give
the illusion of normal YouTube activities, even if I travel.</p>
<h3 id="my-aging-desktop">My Aging Desktop</h3>
<p>The other reason is my aging desktop from 2016. My desktop is chock full
of hardware no longer seeing security or feature updates. It has an
Nvidia 1080 TI. a Intel i7 7700 Kaby Lake CPU, a 32 GB of DDR4 RAM.
Nvidia won’t abandon the 10 series GPUs at least for another 2 years,
but Intel is slowly killing off support for most CPUs made around the
same time as my i7. Worse, ASUS has not given my motherboard an update
since 2018. Avoid ASUS like the plague.</p>
<p>For these reasons, I chose to get a new laptop and I bring all of this
up because of my previous hardware, I knew no matter how System76’s
computer turned out, it would be a net improvement over my desktop. It’s
a mobile workstation I can take places, has 7 years of improvements, and
fully capable of handling my video editing and content creation needs. I
will likely consider another computer one day, given Microsoft’s looming
threats of an even more aggressive AI release of Windows. When whatever
Windows 12 (if it’s even going to be called that) comes out, I will make
a decision about upgrading, but in the mean time, chose to settle with
the Adder Pro. Right now, my desktop has become my streaming/recording
computer.</p>
<h1 id="merch">Merch</h1>
<p><em>The included merch and stickers are identical to the Darter Pro 9
review. The Pop!_OS shirt I got is limited edition.</em></p>
<blockquote>
<p>They also gave me a [Pop!_OS] t-shirt for free for some reason,
which is far from one of the worst things I’ve worn in my life… The
computer comes provided with a little welcome card, telling you to
“unleash your potential” and a quick little message about where to get
help online. They also gave a cardboard standout character named
Melvin, which okay… but this is a questionable inclusion. Cardboard is
easy damaged and I think Melvin here is going to be staying in his
little frame. They also give various branded System76/Pop!_OS
stickers, which used to be just individual, now they are 2 sheets
together.</p>
</blockquote>
<h1 id="using-the-adder-workstation">Using the Adder Workstation</h1>
<p>First, I uninstalled Pop!_OS and rebuilt <a href="/v/fedora-install-script/">my Fedora setup using my
scripts</a>. Once again, I am firm believer in
rolling release distributions and Pop!_OS is not. Despite replacing
Pop!_OS, I have not seen any hardware failure or anything of the sort.
If you are not a fan of Fedora, you can install Arch, NixOS, or whatever
you want. If you use Arch, Fedora, or NixOS, each has <a href="https://support.system76.com/articles/system76-software/">community
maintained packages for System76’s firmware controls and
tools</a>.</p>
<p>If you uninstall Pop!_OS or remove the default partition with
Pop!_OS’s recovery image, there is a prompt in the BIOS that is
hard-coded to this recovery image. However, removing the partition is
inconsequential and makes this feature useless.</p>
<h2 id="gnome--kde">GNOME &amp; KDE</h2>
<p>When I first installed Fedora 39, the first interesting quirk was GNOME
would never boot properly and only showed a black screen. As a result, I
spent the first 3 months using KDE Plasma 5.27. I installed the
proprietary Nvidia drivers and used the Wayland version. KDE was an
interesting experience:</p>
<ul>
<li>KDE handles display scaling better than GNOME does.</li>
<li>KDE has fixed their file manager portal from bugging out. Portals
also work way better now.</li>
<li>Screen sharing will occasionally cause apps like Signal to crash.
Some updates to Signal would fix it, but others broke it again.</li>
<li>Using Nvidia with KDE and Wayland will lock your frame rate to
whatever your lowest frame rate of your monitors is. I use a 60 Hz
monitor from 2009 in addition to the built-in display, so it
immediately locked the frame rate at 60 FPS. I have no non-Nvidia
devices to replicate this issue.</li>
<li>Nvidia causes a lot of interference with adding new monitors. Not
directly a KDE problem as much as it is a Nvidia problem.</li>
</ul>
<p>These problems eventually caused me to go back to GNOME, but they were
admittedly minor. GNOME did magically start working, so I have no idea
what happened to GNOME during Fedora 39 launch—it’s been stable since.
GNOME overall handled screen-sharing, high frame rates, Nvidia problems,
and the keyboard backlight better. An unusual aspect of the RGB is when
using the keys, the lights are limited to a minimum 20%, but in GNOME’s
keyboard backlight menu, you are able to control this more tightly.</p>
<h2 id="peripherals">Peripherals</h2>
<p>The keyboard of the Adder has very little flex and feels great to use.
Unlike the Darter Pro, the function keys are more traditionally aligned,
support most standard laptop BIOS features like volume, brightness, etc,
and controlling the RGB lights. There is also a BIOS webcam switch, but
the webcam switch only disables the webcam, not the microphone, despite
both being the same module. You’re probably going to want to keep it off
because it’s 720p and performs horribly.</p>
<p>The laptop has a fine hinge and is able to be opened with one hand. The
computer weighs around 5 lbs (2.25 kg), so this thing is fairly heavy,
but that’s normal for most gaming PCs in this category. The touchpad is
also slightly off center, but I was never bothered by this personally.
The speakers lack the range for bass, but they will get the job done.</p>
<h2 id="fan-noise">Fan Noise</h2>
<p>The biggest problem with the Adder (and most gaming machines like these)
is fan noise. Even mildly hardware accelerated activities like playing a
YouTube video will cause the fans to occasionally rev up. If you are
performing a more complex task, like gaming, using OBS, or video
editing, it can be louder and much more distracting. Because of the
close proximity of the built-in microphone, your Discord calls over your
competitive video games will likely be drowned out by fan noise unless
you use an external microphone.</p>
<h2 id="heat">Heat</h2>
<p>If you use the Adder as a standard laptop, the Adder accumulates heat
like nobody’s business. This is really problematic if you use the laptop
on your lap and you can really feel that heat. It also shows because the
cooling vents are on the bottom of the laptop, so be prepared for a
blast of warm air on your thighs. It’s not that bad and you won’t feel
this way when the laptop is on a desk, but you will feel that perpetual
heat.</p>
<h2 id="battery-life">Battery Life</h2>
<p>An important thing I want to discuss is battery life. Linux on laptops
has an abysmal reputation with battery life. However, I have never seen
anything like the battery drain in the Adder. Without any tweaks to
Fedora and using the default systemd power profiles, the battery life is
around 4 hours. I figured installing System76’s power management tools
would help, but it actually made the battery <em>worse</em>, dropping it to 2
hours. I know graphics cards suck down battery like no one’s business,
but this was something else entirely.</p>
<p>But when I started reading reviews for other similar computers, I found
that many reviewers were complaining about the same issues with other
high-end gaming laptops:
<a href="https://www.tomshardware.com/reviews/asus-rog-flow-z13">ASUS</a>,
<a href="https://www.theverge.com/23588660/razer-blade-16-2023-review-specs-features-design">Razer</a>,
<a href="https://www.pcmag.com/reviews/alienware-x14">Alienware</a>, and
<a href="https://www.laptopmag.com/reviews/lenovo-legion-5-pro">Lenovo</a>, all
using Windows 11. I can only surmise that this ridiculous battery drain
is because of Nvidia, whose drivers are already really problematic on
Linux. However. I was able to increase the 4 hour battery life using
<a href="https://linrunner.de/tlp">tlp</a> and disabling the default power
profiles. This bumped the battery up to 6-7 hours, which I will
definitely take. I will also comment this soured my experience with
System76’s power management tools, especially when tlp felt like a
better way to optimize and save on battery.</p>
<pre><code>sudo dnf in tlp tlp-rdw -y
sudo systemctl mask power-profiles-daemon.service
sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socket
</code></pre>
<p>I also tested disabling the Nvidia GPU using both System76’s tools and
<a href="https://github.com/bayasdev/envycontrol">envycontrol</a>, both of which
did not increase the battery life significantly. I’m more than willing
to chalk this one up to user error.</p>
<h1 id="system76s-firmware-shortcomings">System76’s Firmware Shortcomings</h1>
<p>I’ve talked about it before, but I really want to emphasize the benefits
of System76 is its firmware. The fact that they support
<a href="https://www.coreboot.org/">coreboot</a> is commendable. However,
System76’s firmware is one of the most problematic things about these
computers. In my previous review, I mentioned System76 disables Secure
Boot by default, actively discourages their users from using it, and
cannot password protect their BIOS.</p>
<p>The first thing I want to discuss is desktop firmware security. Windows
is making strides in pushing their user base to adopt TPM as a secure
element and verified boot with <a href="https://techcommunity.microsoft.com/t5/itops-talk-blog/introduction-to-secured-core-computing/ba-p/2701672">secured-core
PCs</a>.
I understand most users are resistant to TPM because of how heavy-handed
Microsoft is with this, but the harsh reality is Linux is really bad at
protecting the integrity of your boot processes. The good news is Linux
developers like <a href="https://media.ccc.de/v/all-systems-go-2023-186-linux-tpms">Lennart
Pottering</a>
and <a href="https://media.ccc.de/v/all-systems-go-2023-208-opensuse-aeon-desktop-linux-finally-done-right-">openSUSE’s Richard
Brown</a>
are in agreement and are moving systemd and openSUSE Aeon respectively
to adopt TPM by default as well.</p>
<p><a href="https://www.youtube.com/watch?v=cMwQD0jtUfU">Related: Matthew Garrett’s talk to the Linux Security Summit in 2023
about TPM-based security on
Linux.</a></p>
<p>System76 needs to be held accountable because when they assemble your
device, they have configure your hardware in specific ways. One of the
things that I believe is hurting System76 is the neutering of the Intel
Management Engine. I’m going to tread carefully here, because the
Management Engine is not documented well, but the Intel Management
Engine is important to use core security features Intel and Microsoft
are using as the building blocks to make your experience as an end user
more secure. Intel Boot Guard requires the Intel Management Engine to
run and is part of the criteria Linux hardware security certification.</p>
<p><a href="https://media.ccc.de/v/36c3-10694-intel_management_engine_deep_dive">A long video about the finer details and writing an exploit for the
Intel ME by Peter
Bosch</a></p>
<p>The reasoning System76 gives for disabling the Management Engine is it’s
proprietary garbage that <a href="https://support.system76.com/articles/intel-me/">“provides many extraneous features that are
generally not usable or useful to our
users.”</a> I have changed
my mind on this matter and now condemn System76’s team for this shallow
thinking. Secured-core PCs and Intel Boot Guard are both features that
are critical to the future of desktop computing. What’s more frustrating
is the documentation of TianoCore <a href="https://tianocore-docs.github.io/Understanding_UEFI_Secure_Boot_Chain/draft/secure_boot_chain_in_uefi/intel_boot_guard.html">supports using Intel Boot
Guard</a>,
which System76 doesn’t need to foot any extra effort in implementing it.
In fact, it’s probably <em>more</em> effort to neuter the Management Engine.</p>
<p>I know this might seem minor (it probably is), but some of the most
reputable laptop manufacturers like Dell (owner of Alienware) and Lenovo
make respectable gaming machines that meet these security certifications
and standards; System76 does not. While the Management Engine is
proprietary trash that has the potential to get hacked, <a href="https://www.covertchannels.com/"><em>everything</em> in
your computer has the potential to get
hacked</a>. We need to encourage our Linux
manufacturers to support strong security standards just like their
Windows counterparts. We also can’t let paranoia against proprietary
microcode like the Management Engine (that’s barely a threat to 99% of
the population) sacrifice our security and device future-proofing in the
process.</p>
<p><em>I have retroactively changed the Darter Pro review to reflect this
decision. Like I said in that video, I don’t think most people will
care, but I do and believe secure defaults are paramount to reviewing a
device. There is also a page on System76’s site about <a href="https://support.system76.com/articles/system-firmware">reverting to the
proprietary
firmware</a>, which
requires <a href="https://github.com/pop-os/system76-firmware/issues/127">disabling Secure
Boot</a> and
probably TPM. Then the Intel ME can renabled, but there are still issues
with developer controls with Intel microcode.</em></p>
<h1 id="performance">Performance</h1>
<p>On something lighter, let’s talk about performance metrics. The Adder is
more than capable of basic tasks for web browsing, development, and
watching videos. I’ve also discussed DaVinci Resolve’s performance on
discrete GPUs, where you must natively install Resolve rather than using
a container. The Adder now handles my video editing, light AI
processing, and basic C compilation.</p>
<p>I decided to push this thing for gaming performance. This thing can
easily run the vast majority of games, but chose some of the toughest
games in my library: Cyberpunk 2077, the Witcher 3: Complete Edition,
and Control. In all 3 games, the Adder is able to hold at least 50-100
FPS on maxed settings without ray-tracing. Introducing ray-tracing is
where things get more interesting. As a gaming laptop, the Adder hits a
CPU bottleneck in most games, but is more than capable of handling any
AAA game at max settings, provided you don’t use ray-tracing or other
specialty features.</p>
<ul>
<li>With Cyberpunk 2077, performance is all over the place with DLSS on
quality mode. The frame rate goes between 54 and 70 fps. It’s
noticeably worse with indoor areas as there’s a lot more scrutiny
with detail. Certain locations like Megabuilding H10 (the starting
apartment) are well optimized, others are not. Ray-tracing and DLSS
are usable, but path tracing and DLSS frame generation are not.</li>
<li>In the Witcher 3: Complete Edition, I ran the DirectX 11 version
with ray-tracing and a similar result. Using the DirectX 12 version,
both with and without ray-tracing will crash upon opening the “world
map” in the menu. However, the DirectX 11 version will get a solid
120 fps on maxed settings.</li>
<li>In Control, ray-tracing can easily cut down to about 70 FPS (down
from 110), but was noticeably less taxing on the GPU than in CDPR’s
games.</li>
</ul>
<h1 id="final-thoughts">Final Thoughts</h1>
<p>After spending 8 months daily driving the Adder, I have very mixed
feelings. This computer has a few problems, but these problems may be
beyond the control of System76. What makes it more complicated is this
computer serves a different purpose to other laptops. The amount of
customization is commendable and make it far more compelling for people
with more niche use cases. However, I ask before you buy this:</p>
<ul>
<li>Do you want a computer that you are able to add tons of RAM and
storage to? Do you value the right to repair? If so, System76 blows
their competition out of the water.</li>
<li>Do you like System76 as a company? Do you want to support the Cosmic
desktop environment or their assistance with developing desktop
Linux? If so, you can fund them by buying their laptops.</li>
<li>Do you value privacy/security? If so, do not buy from System76 as
most Windows OEMs have a more secure experience (albeit sometimes a
worse Linux experience). Privacy is mostly the same, even if you
don’t have open firmware.</li>
<li>Are you a content creator who does a lot of video editing? Are you
someone who likes to game, but frequently travels? Are you getting
in on the AI hype train? These are the people who will make the best
use of this machine. However, you might be better off buying another
device.</li>
</ul>
<p>My final verdict on System76 after the last year is if you value a
repairable and insanely upgradable computer, they will have you covered
in spades. If you have no interest in the nitty gritty of repair and
upgrades, perhaps you are giving a recommendation to someone who isn’t a
techie, steer clear of System76. “Normal” people who use System76’s
machines miss out of serious security benefits and spend extra money on
the ability to upgrade, which most will unfortunately not exercise.</p>
<p>I like this computer minus its battery life and security problems. I am
the target audience as a content creator, but the laptop space is
competitive. You are likely able to get a similar device from a
competing laptop maker for less, sacrificing upgrade paths. In fact, you
could probably go to your local Micro Center or whatever and purchase
something like a Legion Pro or Alienware for a similar experience. It’s
doubly hard for System76 to compete with the big players who don’t need
to consider the Linux angle.</p>
<p>At this time, I only recommend buying this machine if you are an
enthusiast or someone who wants to support the software work of
System76. Unless you make use of those upgrade options, you’re probably
better off spending your money elsewhere.</p>
<h2 id="summary">Summary</h2>
<p>🚫 Not recommended, unless you intend to support System76 and Pop!_OS.</p>
<h2 id="pros">Pros</h2>
<ul>
<li>Good performance (content creation, gaming, general use)</li>
<li>User serviceable and repairable</li>
<li>144 Hz display (1080p, but works great on GNOME/KDE Wayland)</li>
<li>Allows higher RAM and storage than most competitors when purchasing</li>
<li>Coreboot and TianoCore firmware</li>
</ul>
<h2 id="cons">Cons</h2>
<ul>
<li>30 day refund includes the days it took for your computer to ship to
you</li>
<li>Collects fingerprints, but not as noticeable as the Darter Pro 9</li>
<li>Battery life is terrible (around 4 hours, but usually less, doubled
if you set up tlp)</li>
<li>Bad webcam/microphone</li>
<li>1 USB-2 port (The Adder Workstation 4 will replace it with a USB-A 3
port)</li>
<li>Really loud</li>
<li>Can get hot to use with extended use and lots of things running</li>
<li>Hardware security is much weaker than popular laptop manufacturers
(insecure BIOS, no Intel Boot Guard because of neutered ME, and
fails various HSM levels)</li>
</ul>
<h3 id="other">Other</h3>
<ul>
<li>Charger is heavy</li>
<li>Lots of merchandise in addition to computer (t-shirt is limited
edition)</li>
<li>I didn’t test Windows. It’s very likely I will use my other M.2 slot
for this or to test distros.</li>
<li>There are only 2 RAM slots. If you wish to upgrade the RAM, you will
need to purchase 32 GB sticks to upgrade.</li>
<li>Parts claim warranty is void if removed, but System76 does not care.</li>
<li>F4 key is blank and 1 key apart from the other volume keys.</li>
</ul>
<h1 id="references">References:</h1>
<ul>
<li>Screen specs footage is from <a href="https://bokuyaba-anime.com/">Boku no Kokoro no Yabai Yatsu (The
Dangers in My Heart)</a> Episode 2</li>
<li>Some scenes from <a href="https://www.warnerbros.com/movies/tenet">Tenet
(2020)</a></li>
<li>Video in the light testing is <a href="https://www.youtube.com/watch?v=7Rq8B11cOFs">SHINee’s LUCKY
STAR</a></li>
<li>Various videos from <a href="https://www.youtube.com/@system76">System76’s YouTube
channel</a></li>
</ul>
<h1 id="track-listing">Track Listing</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play4675.html">KK - Sunday afternoon
(日曜の午後)</a></li>
<li><a href="https://dova-s.jp/bgm/play17485.html">h - Saturday morning</a></li>
<li><a href="https://dova-s.jp/bgm/play13520.html">gooset - SOLDIER</a></li>
<li><a href="https://dova-s.jp/bgm/play17507.html">h - rain &amp; rainbow</a></li>
<li><a href="https://dova-s.jp/bgm/play17494.html">h - wet day</a></li>
<li><a href="https://dova-s.jp/bgm/play18474.html">yuhei komatsu - Another Face</a></li>
<li>Outro: <a href="https://soundcloud.com/khaimmusic/free-neon-lamp-charlie-puth-x-bruno-mars-type-funky-guitar-pop-instrumental/s-uqEQff1liFX">Khaim - Neon Lamp</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>The Sinking, Open Source Ship</title>
      <link>https://trafotin.com/blog/2024-01-19-the-sinking-ship/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/blog/2024-01-19-the-sinking-ship/</guid>
      <description>One of the reasons desktop Linux will never succeed with “normal” people is because there&amp;rsquo;s not enough hands to keep the duct-taped ship afloat.</description>
      <content:encoded><![CDATA[<h1 id="the-sinking-open-source-ship">The Sinking, Open Source Ship</h1>
<p>I’m tired of seeing comments complaining about GNOME being Apple (think
“the devil”) or KDE breaking everyone’s fun by adding/changing 10
billion features.</p>
<p>Stop treating GNOME and KDE like they are consumer companies. They need
time and talent and do everything for very little (monetary) gain. One
of the reasons desktop Linux will never succeed with “normal” people is
because there’s not enough hands to keep the duct-taped ship afloat. If
people don’t step up, it will become a sinking ship very fast. Not to
mention the people who think they can do better and jump ship only to
rebuild the same exact ship some place else.</p>
<p>Some developers are very opinionated and bad at communicating because
most developers don’t know how to communicate with people. They’re used
to developing for themselves, but not with others. Don’t get me started
on the marketing, branding, and UX design angle!</p>
<p>At the end of the day, there’s a person behind the screen and on those
git servers, and making comments like this only dehumanizes them more.
It’s easy for people to make blanket comments like this because they
view these people as just as nebulous of the worst executives in Big
Tech.</p>
<p>Show your developers some love more often or help out your favorite
projects or software you use. If you don’t know how to program, use
them, report problems, or do testing. It’d be nice for a change than
complaining online.</p>
]]></content:encoded>
    </item>
    <item>
      <title>The Human Cost of Linux Desktop Extensions</title>
      <link>https://trafotin.com/v/human-cost-desktop-extensions/</link>
      <pubDate>Fri, 12 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/human-cost-desktop-extensions/</guid>
      <description>It&amp;rsquo;s hard to make extensions for GNOME and KDE on Linux. Here&amp;rsquo;s why. Spoilers: everybody is right.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="The Human Cost of Desktop Linux Extensions" width="100%" height="100%" src="https://spectra.video/videos/embed/dd500fc9-4270-4ccc-9035-300767fa8871?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=cTWf3V3u0qI"  >
	
YouTube

</a>
</button>
</center>

<p>A unique thing that desktop environments on Linux get is extensions. And
they aren’t limited to the latest AI product being shoved down your
throat (hi Windows)! The most popular desktop environments like GNOME
and KDE offer extensions, but not all is as okay in extension land as
you might think.</p>
<p>I want to unpack some of the extensions that I really like and the
situation involving desktop extensions is more precarious than most
people know.</p>
<h1 id="polonium-kde">Polonium (KDE)</h1>
<p>Have you ever wanted to do window tiling? You know, where your windows
automatically arrange themselves, some would say <em>dynamically</em>? Well,
there used to be this thing called Bismuth, which would automagically
rearrange your windows just like a tiling window manager.</p>
<p><a href="https://github.com/Bismuth-Forge/bismuth/issues/471#issuecomment-1410969462">Except people are reporting bugs, especially on newer versions of
Plasma and the developer is stepping
down</a>.
I made video about this situation last year and quite a bit (hasn’t)
changed since then. Bismuth is still up on GitHub, but despite
development basically grinding to a halt. The long story short is
Bismuth relies on the KWin’s APIs from Plasma 5.26 and is incompatible
with Plasma 5.27 and the upcoming Plasma 6. The maintainer also had some
personal issues and stepped away because he didn’t have enough time. Let
this serve as a reminder that most developers are not on company time or
payroll. They are normal people who have to commit their free time and
talent, often for little to no gain.</p>
<p>The result was a fork of Bismuth called
<a href="https://store.kde.org/p/2042756">Polonium</a> (you know, as in the
radioactive metal, because Bismuth is a metal?). Polonium targets KWin’s
new APIs and supports the same dynamic window tiling that Bismuth did. I
encountered a few KWin crashes when I was using it, but I’m more willing
to chalk that up to Nvidia being a pain since they can’t be replicated
reliably. Polonium is pretty cool in that it’s Wayland-focused and
building on the age old work of Bismuth.</p>
<p>However, this is where the plot thickens. Recently, the lead developer
of Polonium, zeroxoneafour, has said <a href="https://github.com/zeroxoneafour/polonium/issues/88">the current codebase for Polonium
is unsustainable</a>.
This is due in large part that the original KWin APIs from KDE 5.27’s
early days and growing incompatible with the constant development of
KDE.</p>
<p>Since Polonium is from mid-2023, it has since accrued technical debt as
KWin begins to clear up and on the eve of Plasma 6. What needs to happen
now is that development of KWin continues to refine and make sure the
protocols that Polonium uses to work stabilize in Plasma 6. It’s a
complicated situation, but the basic gist is Polonium is playing
catch-up with the large, ongoing changes in the upcoming Plasma 6.
zeroxoneafour has also said the only solution to fix Polonium’s
technical debt is to completely rewrite it from the ground up, which the
current beta version out now is a proof of concept. If you want to help
them and you have experience with TypeScript, you can go <a href="https://github.com/zeroxoneafour/polonium">visit their
GitHub</a>.</p>
<h1 id="gnome-extensions">GNOME Extensions</h1>
<p>Unfortunately, picking GNOME as a platform hasn’t been smooth sailing.
The long story short is the GNOME developers have been making a lot of
changes to their windowing compositor
<a href="https://mutter.gnome.org/">Mutter</a> and its components. The most
important change is moving away from GNOME JavaScript (or GJS). There’s
a bit to unpack here.</p>
<ol>
<li>GJS is a variant of JavaScript similar to TypeScript. But for
developers coming in to work with GTK, it’s not totally the same.
The primary reason this was changed to make the toolkit easier to
adopt or get into.</li>
<li>GJS is different, but not too different. Someone could easily script
or program a way to update older extensions to replace GJS with
standard JavaScript.</li>
<li>That means that extension makers need to maintain 2 versions of
their extensions. Wait, what?</li>
</ol>
<p>People online are complaining about the fact that GNOME’s extension
developers have to maintain extensions in GJS from GNOME 44 and below,
and extensions in standard JavaScript for GNOME 45 and above. You’ll
hear complaints about how GNOME is an unstable platform that constantly
breaks every yearly release and then some.</p>
<p>I want to highlight a problem that I think most people avoid or don’t
think about: it’s most software projects don’t have a PR team. Most
people didn’t see this in a fancy press statement or in a dazzling video
by GNOME’s YouTube channel. They saw this <a href="https://blogs.gnome.org/shell-dev/2023/09/02/extensions-in-gnome-45/">in a blog
post</a>,
written by an engineer, for contributors. In fact, most people probably
heard about it from their favorite content creator reading the news, an
online forum like Reddit or Lemmy, or one of the Linux content mill news
websites.</p>
<p>The general feeling that people get is the lack of communication,
because there is a genuine lack of communication–a communication team.
But people continue to treat an open source product as they would a
financed proprietary product. GNOME is not and while there are
developers who are paid to work on it, it’s nowhere near the level of
Windows or macOS. To be fair too, I’m not saying this excuses the poor
communication. Even if unintentional, it doesn’t matter how you intended
something to come off, what matters is how people perceive it.</p>
<h1 id="the-teetering-tower">The Teetering Tower</h1>
<p>But we also need to be realistic about what extensions are. GNOME
Extensions and extensions in KDE are not built with specific
functionality in mind, nor are there convenient APIs for them to use.
There’s no one framework or stable thing to build around and this sounds
crazy, but it’s similar to extensions in your browser.</p>
<p>Chrome and Firefox have a stable framework for their extensions, but
like KDE, the APIs are constantly being poked and probed by their
developers and the W3 to see what people use and what isn’t. Browser
extensions are rather constructed around a bunch of frameworks to do
things in real time and limit the extent of what they can do for
performance and security reasons.</p>
<p>The same is true with extensions in GNOME and KDE. Your extensions need
the ability to specific things in real time. For example, I use Caffeine
on GNOME, which prevents my computer from falling asleep when I do
specific things like play full screen videos or games. But think about
what goes into this: the extension needs to be able to read GNOME’s APIs
to know that there is a full-screen window or specific application open
on your device. All of this needs to be done in such a way that it
doesn’t hinder the performance either because people will complain if an
extension slows down their system!</p>
<h1 id="gnome-forge">GNOME Forge</h1>
<p>But what does this look like? I have been bombarded with comments about
how I got window tiling in GNOME. It’s an extension called
[
you some manual tiling like you’d get in i3 or Sway. But like Bismuth
and Polonium, Forge is not immune to this cycle.</p>
<p>Earlier last year, Jose Maranan, the lead maintainer of Forge <a href="https://github.com/orgs/forge-ext/discussions/276">announced
he’s no longer able to keep working on the
project</a>. And this
has affected the project because a lot of the Forge developers are
trying to pick up the slack with Jose helping them and figuring out
GNOME 45 porting and some annoying bugs like why <a href="https://github.com/forge-ext/forge/issues/114">the UI will suddenly
become English for non-English GNOME
users</a> or the extension
<a href="https://github.com/forge-ext/forge/issues/151">breaking on
touchscreens</a>.</p>
<p>In my observation on GNOME 45, the toggle menu is totally absent in the
GUI, but can still be accessed through Matthew Jakeman’s Extension
Manager. However, I’m not a power user of Forge. I just have 2 windows
open at a time and mostly adhere to vanilla GNOME. If GNOME implements
its tiling, I’d probably switch to that immediately.</p>
<h1 id="closing-thoughts">Closing Thoughts</h1>
<p>But while most of these problems are here, I feel it’s also important to
acknowledge that GNOME and KDE have zero obligations to extension
developers. They can’t just stop developing their desktop environments
because a couple extensions aren’t just right. It’s the same reason
Firefox and Chrome break extensions frequently because they constantly
touch their APIs.</p>
<p>Here’s the part where I tell you I’m going to flip flop to another
software, but not this time. I’m too much of a technological polyglot to
settle anything properly anyway. I will solemnly accept it and will
continue to advocate for the assistance of extension maintainers. It’s a
thankless task and you’ll find that a lot of the people in these repos
are just users like you and me. I don’t have the time to properly learn
JavaScript and GNOME/KWin APIs, but I can use my platform to at least
highlight where help is needed the most and why you should lend a
helping hand to your extension maintainers.</p>
<h1 id="my-favorite-desktop-extensions">My Favorite Desktop Extensions</h1>
<ul>
<li><a href="https://store.kde.org/p/2042756">Polonium</a> for dynamic window
tiling on KDE</li>
<li><a href="https://extensions.gnome.org/extension/4481/forge/">Forge</a> for
tiling windows on GNOME. <a href="/v/gnome/">Given how I use GNOME</a>, it says
me the extra key presses of manually tiling windows.</li>
<li><a href="https://extensions.gnome.org/extension/517/caffeine/">Caffeine</a> to
disable sleep/lock for a set time or for specific applications.</li>
<li><a href="https://extensions.gnome.org/extension/1160/dash-to-panel/">Dash to
Panel</a>
to add a clone of the vanilla GNOME panel to my other display purely
so I can pretend to check the time.</li>
<li><a href="https://extensions.gnome.org/extension/615/appindicator-support/">AppIndicator and KStatusNotifierItem
Support</a>
for legacy system tray icons. I prefer GNOME’s “background apps”
menu, but it’s unfinished as of time of writing.</li>
</ul>
<h1 id="referenced">Referenced</h1>
<ul>
<li><a href="https://blog.naver.com/yeux1122/223312012582">Siri will be announced to have generative AI capabilities in WWDC
2024 (Korean)</a></li>
</ul>
<h1 id="9to5linux-is-a-content-mill">9to5Linux is a content mill</h1>
<p>I can’t say with definitive proof that the reference to plagiarism by
9to5Linux, but at most, it’s just cheap rewording of an official Asahi
Linux blog post with little to add except the link to give them more
clicks about Arch Linux ARM.</p>
<p>At a minimum, 9to5Linux is a worthless content mill and you should just
learn how to use <a href="/feed/">an RSS feed</a>.</p>
<ul>
<li><a href="https://asahilinux.org/fedora/">Fedora Asahi Remix - Asahi Linux</a></li>
<li><a href="https://9to5linux.com/fedora-asahi-remix-officially-released-for-apple-silicon-macs">9to5Linux’s
copy</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>The Definitive Guide to DaVinci Resolve on Linux</title>
      <link>https://trafotin.com/v/davinci-resolve/</link>
      <pubDate>Sat, 30 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/davinci-resolve/</guid>
      <description>There&amp;rsquo;s no better video editor on Linux than DaVinci Resolve, but it&amp;rsquo;s still a royal pain to get working. I&amp;rsquo;m going to break down what&amp;rsquo;s needed to install it, using containers, the quirks of its DRM, and some ongoing problems.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="The Definitive Guide to Running DaVinci Resolve on Linux" width="100%" height="100%" src="https://spectra.video/videos/embed/b6a56e45-7233-4b8b-b155-10cd2380c42d?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=AT3sC5VfZEs"  >
	
YouTube

</a>
</button>
</center>

<p>A question I see often is “how do you edit your videos?” The answer is I
use DaVinci Resolve. While a lot of programs that I promote are
open-source programs that can be freely inspected, distributed, and
modified. However, I have tried all open-source video editors and all of
them have disappointed me. Instead, I settled on DaVinci Resolve, one of
the most popular free (as in cost) video editors. It’s been growing in
popularity since Adobe continues to push their users to the brink with
subscription prices and AI chicanery. While it might not be as featured
filled as Premiere, Resolve gets the job done over and beyond most of
its competition and one of the few commercial companies that supports
Linux.</p>
<p>However, just because DaVinci Resolve supports Linux, that doesn’t mean
it’s all smooth sailing. I don’t think it’s a secret that most of Black
Magic’s employees all use Macs, because who in their right mind would
use Windows? At least in my experience, I’ve noticed that when it works,
Resolve outperforms and is generally smoother on Linux than on Windows,
although I would chalk that up to 2 things:</p>
<ul>
<li>The Mac version is easier to port to Linux as since macOS is also
Unix-like.</li>
<li>Black Magic uses Linux as the backend for database servers, managing
their products, or embedded systems.</li>
</ul>
<p>And I am all about paying for a good product. If you use a product,
whether it’s your favorite open-source project or a proprietary product,
if you like a product, give them money and show your support. This
especially goes for desktop Linux users since meeting one in real life
is like finding a unicorn. If you pay for a product and you like how it
works, you show your support and that the thing they offer is worth
continuing.</p>
<p>But emphasis on “works.” Because if you scour the internet looking into
Resolve, people complain about not getting it to work. Windows and Linux
in particular are hard targets because of the diverse types of hardware
out there. On Linux especially, it’s an uphill battle and I want to
walkthrough some of these issues, some solutions, and debunking some
claims online about how DaVinci Resolve functions on Linux right now.</p>
<h1 id="codec-complications">Codec Complications</h1>
<p>Resolve paywalls specific video codecs, or video format compatibility,
from working. Some codecs like AAC audio, the standard for audio in MP4
files, don’t work at all! It might be easy to point the finger at Black
Magic Design for crippling Linux users, but reality is they aren’t the
enemy.</p>
<p>Did you know the popular video codec for MP4 and QuickTime files, H.264
is run by the MPEG LA, or as I call them, the scummy patent squatting
body that monopolizes video on your computers and phones. Google,
Microsoft, and Apple pay the MPEG LA truckloads of money every year (and
you’d only know this by reading the
<a href="https://www.microsoft.com/en-us/Useterms/OEM/Windows/10/Useterms_OEM_Windows_10_English.htm">Microsoft</a>
or <a href="https://www.apple.com/legal/sla/docs/macOSSonoma.pdf">Apple EULA</a>,
who doesn’t?).</p>
<p>Nobody likes them, especially the companies that pay them and it’s
gotten so bad they’re trying to promote their own alternative: the AV1
codec to finally put an end to the H.264 reign of terror. Resolve only
paywalls it because the license of H.264 requires the operating system
pays money. No way would your distribution give into petty extortion
like this.</p>
<h2 id="converting-media">Converting Media</h2>
<p>Resolve blocks specific codecs from working for Linux users or paywalls
them. For example, there’s a <a href="https://documents.blackmagicdesign.com/SupportNotes/DaVinci_Resolve_18_Supported_Codec_List.pdf">massive spreadsheet in their support
manual</a>
describing all of the codecs that don’t work.</p>
<p>However, this means that using Resolve will require you to convert your
existing “incompatible” media. You can use tools like ffmpeg and
HandBrake to convert video or audio into the desired outputs.</p>
<p>If you don’t know what codec your file uses, VLC or MPV allow you to
view the codec (<code>Ctrl + j</code> in VLC or <code>i</code> in mpv)</p>
<p>I typically do Nvidia NVENC H.264 for hardware acceleration, but if you
don’t pay and especially if you want to support the future, use AV1. For
audio, you need to use PCM wav.</p>
<p>Below are some sample commands.</p>
<h3 id="resolve-free">Resolve Free</h3>
<pre><code>ffmpeg -i &quot;incompatible.mp4&quot; -vcodec libaom-av1 -acodec pcm_s16le &quot;compatible.mkv&quot;
</code></pre>
<h3 id="resolve-studio">Resolve Studio</h3>
<pre><code>ffmpeg -i &quot;incompatible.mp4&quot; -vcodec copy -acodec pcm_s16le &quot;compatible.mov&quot;
</code></pre>
<h1 id="my-resolve-scripts">My Resolve Scripts</h1>
<p>On my GitLab, I have 2 Resolve scripts:</p>
<ol>
<li>First, run <code>davinci-resolve-distrobox-1.sh</code>. This installs all the
dependencies and prompts you to download Resolve.</li>
<li>Second, run <code>davinci-resolve-distrobox-2.sh</code>. This fixes the
prepacked libraries and integrates it into your system through
Distrobox.</li>
</ol>
<p><a href="https://gitlab.com/trafotin/os-install-scripts">GitLab scripts</a></p>
<h1 id="distrobox-of-choice">Distro(box) of Choice</h1>
<p>Resolve is very picky about what distro you run it on. Officially, Rocky
Linux is recommended, but very few people run Rocky Linux on desktop
Linux. Instead, you can run <a href="https://distrobox.it/">Distrobox</a>, a
utility that lets you run applications in a Podman/Docker container.</p>
<ul>
<li>No matter what flavor of Linux, you can run a container where
Resolve thinks it’s installed in the distro of your choosing.</li>
<li>Distrobox gives the container full access to your home folder and
can integrate installed programs as GUI or command line shortcuts.</li>
<li>Since Resolve recommends Rocky Linux, we should use Fedora because
it is more updated and has better hardware support.</li>
<li>Since Resolve is running in a container, updates to the container
are independent of your host system (the one you run your containers
on). This way, Resolve runs in a stable environment without
impacting other programs you use.</li>
</ul>
<h1 id="lacking-libraries">Lacking Libraries</h1>
<p>Resolve requires specific applications and libraries in order to
correctly run the installer and Resolve itself.</p>
<ul>
<li>The installer requires FUSE and various other libraries for the
installation process. This is because the installer is a glorified
AppImage.</li>
<li>You need PulseAudio, the XDG libraries, and X11. Resolve will work
in XWayland, but your window decorations will be invisible.</li>
<li>RPMFusion is needed to run all the video codecs.</li>
<li>You will need to download the desired version of Resolve from Black
Magic’s website. If you use the free version, you can submit bogus
information and get the download link. If you use the Studio
version, you can click the “Download only” link. You also need the
required libraries for your respective graphics card.</li>
<li>If you use Nvidia, you need to download <code>akmods-nvidia</code> and
<code>xorg-x11-nvidia-cuda</code>. In a container, the installation might fail,
but don’t worry if it does. Your Distrobox container needs to be
built with the <code>--nvidia</code> flag.</li>
<li>If you use AMD, you need to use <code>rocm-opengl</code>. You might also need
to install the Nvidia driver too.</li>
<li>Intel Arc is untested.</li>
</ul>
<p>After Resolve is installed, Resolve’s codecs are outdated and Resolve
will fail to launch. First, copy the codecs from the RPMFusion folder
and put them in Resolve’s folder.</p>
<pre><code>sudo cp /lib64/libglib-2.0.so.0* /opt/resolve/libs
</code></pre>
<h2 id="pulling-old-fedora-libraries">Pulling Old Fedora Libraries</h2>
<p>Resolve’s codecs are still so old that even Fedora is leaving them in
the dust. You need to download an archive of older Fedora 38 libraries,
unpack the archive, and copy them into Resolve’s folder as well. Even if
you use a newer version like Fedora 39, the 38 libraries still work.</p>
<p>Since this video, the link has been officially removed from the Fedora repositories. I saved <a href="https://web.archive.org/web/20231220041143if_/https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Everything/x86_64/os/Packages/g/gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm">a copy on the Wayback
Machine</a></p>
<pre><code>sudo dnf install cpio -y
wget https://web.archive.org/web/20231220041143if_/https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Everything/x86_64/os/Packages/g/gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm
rpm2cpio ./gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm | cpio -idmv
sudo cp -r usr/lib64/* /opt/resolve/libs
rm -r usr
rm gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm
</code></pre>
<h1 id="reverse-engineering-resolves-drm">Reverse Engineering Resolve’s DRM</h1>
<p><em>If you are a free user, this section is not relevant to you.</em></p>
<p>If you harden your Linux network settings, you will encounter problems
ensuring your Resolve installation stays registered. If you use a
randomized MAC address, Resolve needs to know your real MAC address,
probably to check your vendor OUI.</p>
<p><em>TL;DR: Resolve is quite sound privacy-wise, but relies on you using a
static MAC address if you use Studio.</em></p>
<p>There are 2 types of license: the dongle or internet activated code.
When you first open Studio, you will be prompted to enter in your code
or insert your dongle. I use an internet code, but many others have
tested the dongle.</p>
<p>Privacy-wise, DaVinci Resolve collects no telemetry and attempts to keep
network calls to a minimum. The only time Resolve phones home is when
you enter in your license code and to check for updates. Resolve then
generates a certificate in its <code>/opt/resolve</code> folder that attests that
you are using a device with a specific vendor identifier. Otherwise, it
will ask you enter your code again if you reboot your device or restart
NetworkManager.</p>
<p>If you use my NetworkManager configuration
<code>/etc/NetworkManager/conf.d/00-macrandomize</code>, comment out the following:</p>
<pre><code>#wifi.cloned-mac-address=random
#ethernet.cloned-mac-address=random
</code></pre>
<p>There’s also conjecture on <a href="https://github.com/fat-tire/resolve">fat-tire’s Resolve
container</a> that DaVinci might use
the Linux machine-id to identify uniqueness. While this is possible in
theory, machine-id has no impact on Resolve’s DRM. Linux machine-id is
just generated when you first install your OS, but this can be deleted
or modified. For example, I use the Kicksecure machine-id, since they
make it so <a href="https://www.whonix.org/wiki/Protocol-Leak-Protection_and_Fingerprinting-Protection#Identifiers_Design_Goals">all of their users use the same Linux
machine-id</a>.
I replicated this with Studio and my license was retained.</p>
<pre><code>echo &quot;b08dfa6083e7567a1921a715000001fb&quot; | sudo tee /etc/machine-id
</code></pre>
<h1 id="discrete-gpu-troubles">Discrete GPU Troubles</h1>
<p>Using Distrobox with discrete GPUs doesn’t work. I have no idea why.
Still works fine on Desktops.</p>
<h1 id="misc-problems">Misc Problems</h1>
<ul>
<li>All window decorations are invisible in Wayland. They are visible in
X11.</li>
<li>The file picker doesn’t use portals. It’s their own machination.</li>
<li>If you are an AMD user, you cannot export video as H.264.</li>
<li>If you make changes to the Nvidia driver and Resolve fails to boot
on Wayland claiming “make sure all displays are unplugged from your
integrated GPU,” run Resolve in X11 once, then it will open again in
XWayland.</li>
</ul>
<h1 id="donate">Donate</h1>
<p>This was the culmination of months of experimentation. If you like the
work I do, please consider donating money.</p>
<p><a href="/donate/">Donate</a></p>
<h1 id="referenced">Referenced:</h1>
<ul>
<li><a href="https://www.wsj.com/business/adobe-says-significant-costs-penalties-may-arise-out-of-ftc-investigation-5bb3ea2f">Adobe Says Significant Costs, Penalties May Arise Out of FTC
Investigation - Denny Jacob,
WSJ</a></li>
<li><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/796343/000079634323000252/adbe-20231211.htm">Official SEC Form 8-K against Adobe for subscriptions and
acquisition of
Figma</a></li>
<li>Michael Horn’s video about DaVinci Resolve and Distrobox from
<a href="https://www.youtube.com/watch?v=wmRiZQ9IZfc">YouTube</a> and
<a href="https://odysee.com/@michaelnr0h:7/install-davinci-resolve-on-any-linux:9">Odysee</a></li>
<li><a href="https://www.youtube.com/watch?v=qubPzBcYCTw">The AV1 Codec - Tim Terriberry, Mozilla Research - Linux Conf AU
2019</a></li>
<li><a href="https://www.networkmanager.dev/docs/api/latest/NetworkManager.conf.html">The NetworkManager.conf
documentation</a></li>
<li><a href="https://docs.fortinet.com/document/fortinac/9.4.0/administration-guide/674937/vendor-ouis">Fortinet’s explainer of vendor
OUIs</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Embrace the Default GNOME Experience!</title>
      <link>https://trafotin.com/v/gnome/</link>
      <pubDate>Fri, 15 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/gnome/</guid>
      <description>Everyone complains that GNOME can&amp;rsquo;t do things, but I chose to give them a fair shake. I&amp;rsquo;m a big proponent of the default &amp;ldquo;as the developers intended™&amp;rdquo; GNOME, here&amp;rsquo;s why.</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="I Use &quot;Default&quot; GNOME. Will You?" width="100%" height="100%" src="https://spectra.video/videos/embed/0f46823c-47e8-4b60-ad79-80e3c3250228?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtu.be/b5j7rufsoWw"  >
	
YouTube

</a>
</button>
</center>

<h1 id="did-you-know">Did you know:</h1>
<p><a href="https://twitter.com/gnome/status/1169956747324227585">The GNOME developers do not care how you pronounce
GNOME.</a> However,
if I do not use “the hard G GNOME (/ɡəˈnoʊm),” there’s a chance it will
create a headache for me to format subtitles later.</p>
<h1 id="intro">Intro</h1>
<p>Have you ever tried using the GNOME Desktop Environment? It’s the
default of Ubuntu, Fedora, and many more. But how many people <em>really</em>
use GNOME? Lots of Linux distributions don’t use GNOME the way its
developers intended (more on that later). They make all sorts of
modifications, making it look like Windows (Nobara). Or they add extra
applications on top of it (Pop!_OS or Ubuntu). Instead, I want to take
a deep dive into examining the default GNOME experience and why the
default GNOME experience provides one of the most optimal desktop
workflows.</p>
<h1 id="the-gnome-way">The GNOME Way</h1>
<p>GNOME is built using what they call the <a href="https://developer.gnome.org/hig/principles.html">Human Interface Guidelines
(HIG)</a>. The HIG provide
the basis to the why and how GNOME functions.</p>
<ul>
<li>truly follows the Unix way: simple apps inside a simple ecosystem.
Minimalist by default.</li>
<li>Removing complicated or confusing features based on how maintainable
something is. It’s done to ease developer burden and a better OOBE.</li>
<li>The prioritization of accessibility. All features are accessible as
equally as possible. You can use a mouse, keyboard, or touchscreen
and you can do almost everything.</li>
</ul>
<h1 id="in-practice">In Practice</h1>
<ul>
<li>adjustable windows for those with small displays</li>
<li>Generic application names. Names are also carefully chosen so
applications don’t conflict across different localizations and have
double meaning.</li>
<li>Priority support for common desktop hardware (yes, even NVIDIA)</li>
<li>Same keys as Windows (mostly), perfected workflow from macOS, and a
mash of features from tiling window managers.</li>
</ul>
<h1 id="the-gnome-workflow">The GNOME Workflow</h1>
<p>There is no one workflow nor is it defined by the GNOME foundation.
However, there’s an <em>implied</em> way GNOME’s developers hint about how you
to use it.</p>
<ul>
<li>Super key opens an “exposé” view to see all of the open windows,
similar to macOS. You can also access it by clicking/tapping the
workspace dots.</li>
<li>Typing in after opening the dash allows you to search applications,
then searching your files and GNOME integrated applications.</li>
<li>Navigation is done using mouse, touch, or the arrow keys.</li>
</ul>
<p>The common hiccups are things that other direction environments do
differently.</p>
<ul>
<li>Maximize is accomplished via keybind or dragging a window up.</li>
<li>Minimizing windows is not necessary because of the Activities menu.
It also encourages the minimalist nature: if you don’t need
something open, close it. If you want to leave it open, send it to
another workspace.</li>
<li>Keyboard window switching is done in two ways to give equal access
to the open windows of your focused application and which
application you want to focus on. <code>Alt + Tab</code> to change your focused
application and <code>Alt + ~</code> to change windows of your focused
application. This way, compared to traditional window managers, you
always have access to all of your windows without a confusing menu.</li>
<li>The window switching is <a href="https://help.gnome.org/users/gnome-help/stable/shell-keyboard-shortcuts.html.en">dependant on what keyboard you
use</a>.
The key is always whatever is above your <code>Tab</code> key. For example, on
German keyboards, it’s <code>Alt + +</code>. <em>Thanks to @kuhluhOG on YouTube
for telling me about this.</em></li>
</ul>
<h2 id="workspaces">Workspaces</h2>
<p>Of all graphical desktop environments, GNOME’S virtual desktops are much
more user facing and accessible than Windows, Mac, or other desktop
environments.</p>
<p>Workspaces via GUI keybinds are limited to 4, but this can been
increased using gsettings, GNOME’s equivalent to Windows’ Registry
Editor. However, this becomes redundant once you embrace one of GNOME’s
killer features—dynamic workspaces. Rather than having a set number,
workspaces are added based on need them.</p>
<p>You also always know where you are using the newly added workspaces
dots. Like most tiling window managers, and unlike Windows or macOS, you
get a glance of which workspace you are on, similar to the pages on
phone home screens.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Open, Big, and Portable! | System76&#39;s Darter Pro 9</title>
      <link>https://trafotin.com/v/system76-darp9/</link>
      <pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://trafotin.com/v/system76-darp9/</guid>
      <description>I discuss my first experience using one of System76&amp;rsquo;s workstation computers, the Darter Pro 9. Does the Linux experience hold up? What about running Windows or another distro? Is it worth your time?</description>
      <content:encoded><![CDATA[

<div style="position: relative; padding-top: 56.25%;"><iframe title="Open, Big, and Portable | System76's Darter Pro 9" width="100%" height="100%" src="https://spectra.video/videos/embed/b5a26da3-b58f-4b30-bcba-f9c2d8417b7f?subtitle=en" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="position: absolute; inset: 0px;"></iframe></div>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=wL0MF1CA7Ks"  >
	
YouTube

</a>
</button>
</center>

<h1 id="november-2025-update">November 2025 Update</h1>


<center>
<iframe title="The Darter Pro 9 Dead Battery" width="560" height="315" src="https://spectra.video/videos/embed/jL5SHa27cKZbUP8b2k2RDi?subtitle=en" allow="fullscreen" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" style="border: 0px;"></iframe>
</center>


<center>
<button class="button button1">
<a  href="https://youtube.com/watch?v=c7K0fioWUwo"  >
	
YouTube

</a>
</button>
</center>

<h1 id="orignal-review">Orignal Review</h1>
<p>In a rare turn of events, I get to review a
device I got a week to tinker with—the <a href="https://system76.com/laptops/darter">System76 Darter Pro
9</a>. Using the System76 Darter Pro
has been one of the most interesting experiences in using a laptop that
just feels different from most other laptops I have ever used before.
The System76 experience feels open, fresh, and comparable to other
contemporaries from Dell and Lenovo.</p>
<p><em>Now before you get excited, this computer is not mine. This device
belongs to a family member in need of a new computer. System76 didn’t
pay for this review and while I didn’t pay for this myself, I was
spending someone else’s money.</em> I took a stab in the dark to see what
the experience was like. The Darter Pro has not disappointed in bringing
what I feel like is one of the best ways to use Linux on a computer, to
a point where I am now sold on the concept of a computer constructed
with Linux first.</p>
<h1 id="hardware">Hardware</h1>
<p>The Darter Pro came in a cardboard box, which seemed like an upgrade if
you see videos of the same box last year, because now it has a handle!
Not only that, the laptop comes in padded foam and with a plastic paper
cover. All in all, you are getting computer similar to other flagship
computers from companies like Dell and Lenovo, but with a bit of a
Linuxy twist.</p>
<p>But you don’t want to hear me regurgitate hardware, let’s get into
specifics. You can buy the laptop from System76’s website and I was able
to get a $50 discount. The computer cost around $1163 plus shipping and
handling. They also gave me a t-shirt for free for some reason, which is
far from one of the worst things I’ve worn in my life. I can’t say I’m
the biggest fan of Pop!_OS, but I will be wearing this t-shirt for the
rest of this review.</p>
<p>The computer comes provided with a little welcome card, telling you to
“unleash your potential” and a quick little message about where to get
help online. They also gave a cardboard standout character named Melvin,
which okay… but this is a questionable inclusion. Cardboard is easy
damaged and I think Melvin here is going to be staying in his little
frame. Funnily enough, they also give various branded System76/Pop!_OS
stickers, which used to be just individual, now they are 2 sheets
together.</p>
<p>Also on the left side, you have an HDMI port and a USB-3 slot. On the
right, you get a headphone jack, micro-SD card slot, USB-2 slot, the
power button and its corresponding LEDs, an Ethernet port, and a
Kensington lock.</p>
<p>The computer also has a barrel jack charger, which I am most certainly
docking points for. You have USB-C and Thunderbolt ports, please for the
love of all things holy, just replace the barrel charger with a USB-C
port. Nobody would be complaining.</p>
<h1 id="upgrades">Upgrades</h1>
<p>I did apply some customization. Under normal circumstances, I typically
give my family members the advice if they need to do things, just use
your phone, it’s easier. However, this particular family member has a
home business and has been operating with a Fedora XFCE on a ThinkPad
straight from the Windows 8 era with 4 GB of RAM. So going the full 10
year gap of computing basically gave me the liberty to do anything,
because at this point, anything would be an improvement!</p>
<p>Given how long upgrading was in the past, this is what influenced what I
chose to do in picking the configuration. I selected 16 GB of DDR5 RAM
and a 1 TB NVMe. I’ve been worried about the growing memory requirements
to do basic things in a web browser, but also leaving the door open in
the future in case something drastic happens to software in the future.</p>
<p>While the stock configuration of the Darter Pro was 250 GB, but I pushed
for the 1 TB upgrade. Microsoft has been famous for offering the 1 TB
backup in OneDrive and I chose that much to leave enough breathing room
to store not just business documents and media to come, but family
photos and home videos from decades past.</p>
<h1 id="firmware">Firmware</h1>
<p>One of the major things I want to start off with is discussing firmware.
System76 isn’t one of the only manufacturers to be using Coreboot; Star
Labs, Tuxedo, Chrome Books all use it. But one of the things that makes
System76 is unique is their own custom BIOS with Coreboot and I have
some mixed feelings about it.</p>
<p>On one hand, the BIOS are fully open-source and can be upgraded for free
using System76’s firmware tool. This means that you can actually get
guaranteed motherboard updates, which compared to some Windows OEMs is a
breath of fresh air. System76 also disables the Intel Management Engine,
well okay, <a href="https://support.system76.com/articles/intel-me/">they don’t completely disable
it</a>, but it’s heavily
neutered to a point where it can only do what it needs to. I consider
Coreboot the more important part of the equation here than shooting the
Intel Management Engine. It’s more of a priority to keep up with updates
and firmware issues than a proprietary system typically only abused in
targeted attacks.</p>
<p>Now for the bad news. While I enjoy the fact that the firmware is
open-source and given a long life, I need to be brutal about how the
firmware operates as of today. The System76 firmware has Secure Boot
disabled by default, which is my mind is a massive L because Pop!_OS is
an Ubuntu-based distribution, which should support Secure Boot out of
the box. Furthermore, if you read their documentation about some of
their other computers, they claim using Secure Boot is “<a href="https://support.system76.com/articles/install-pop">not
recommended</a>.”
System76 stop this. Ubuntu fully supports Secure Boot and we need to be
pushing people to use Secure Boot because it’s part of what makes a
secure system.</p>
<p>But the plot thickens. You can turn on Secure Boot after a quick reboot,
but one of the things that really irked me was you can’t password
protect the BIOS. Now someone did <a href="https://github.com/system76/firmware-open/issues/174">open an
issue</a> on their
GitHub and in their defense when it comes to protecting user data,
full-disk encryption will get the job done. But it’s shocking that for
firmware that touted as open, maybe it’s a little <strong>too</strong> open. You
don’t want the local house maid plugging/booting arbitrary USB devices!</p>
<h1 id="windows-11">Windows 11</h1>
<p>Speaking of other weird subcategories, let’s talk about Windows 11. Hang
on a second, wasn’t this a video about System76 and how they can run
Linux? Well one of the unique things about the Darter Pro 9 and the
other System76 machines in their generation is the ability to run
Windows 11 with no major modifications. Of course, you do need to have
Secure Boot enabled, then you can boot into Windows 11 just fine, well
not without some problems.</p>
<p>For one, I noticed the touchpad would not function at all in the
installer. I had to get an external mouse to click through buttons,
because yes, Window requires a mouse to use their installer, unlike
Linux. On top of that, the touchpad still didn’t work when I first
booted into Windows. I ran Windows Update, then the touchpad starts
working, but it would randomly stop working. Turns out it’s a Microsoft
problem with Intel touchpad drivers. I don’t blame System76 or Intel for
this, go blame Microsoft, for ruining fun in people’s lives!</p>
<p>If you use a laptop and need to dual boot Linux and Windows, I would
strongly advise at this time avoiding System76. I believe with other
major Windows OEMs like Lenovo, Dell, or MSI, you could get a better
experience dual-booting at the cost of maybe a slightly worse Linux
experience.</p>
<h1 id="system76s-power-management">System76’s Power Management</h1>
<p>The Darter Pro comes with Pop!_OS or Ubuntu, whichever you choose when
you buy your computer. I didn’t care about these options here, because I
think we can all make the assumption that System76 tests Pop!_OS on
their hardware, but let’s test a real distribution. No offense to
System76, but I want to use a rolling release distribution and something
that actually supports Secure Boot, but what are our options?</p>
<p>There’s a support article that provides tutorials to hook up <a href="https://support.system76.com/articles/system76-software/">various
Linux
distributions</a>
that are officially supported by their developers:</p>
<ul>
<li>Arch Linux (AUR)</li>
<li>Fedora (Copr)</li>
<li>NixOS</li>
</ul>
<p>Of the given distributions here, I believe that Fedora is the best
option here, which is what my family member was using anyway, Fedora
XFCE to be more specific. At the time I provided Fedora XFCE because it
was a full desktop experience for a low performance environment.</p>
<p>But now that they now have a capable computer, I believe it’s time for
something close to what they know, but adopt future trends and increased
security. I selected Fedora KDE, because of its similarities to Windows
and XFCE. But not only that, KDE supports Wayland, where XFCE still does
not.</p>
<p>As a side note, System76 has a graphics switcher, but the Darter Pro
doesn’t come with a graphics card, only integrated 13th gen Intel
graphics. Under these circumstances too, they claim the graphics
switching might not even work on other distros. On top of that, you need
to build the GNOME extension from source if you want a graphical version
(GNOME only) and not everyone would want to do this.</p>
<h1 id="experience">Experience</h1>
<p>So what is using the Darter Pro like? First off, as an accessibility
note, you can open the laptop with one hand, but it does require a
little bit of force. It does feel better opening it with 2. The frame
isn’t weak and feels generally solid, so opening the laptop isn’t too
easy, but not difficult.</p>
<p>The touchpad feels pretty good. It’s not Apple levels of polish, but it
certainly gets the job done and all gestures is something like KDE or
GNOME are identified correctly. The one major downside about the frame
isn’t just the frame, it’s the magnesium-aluminum chassis. This thing
smudges really easily. In fact, after the first couple hours of use,
fingerprints and smeared skin began to become more visible as time as
gone on. This is probably the most negative thing I have to say about
this laptop and it might be less noticeable if they want to keep using
this material, but chose to make it more on the silver side, similar to
what Dell or HP do with their computers.</p>
<p>The computer feels about 3 pounds. I didn’t weigh it, but I would say
it’s around 3 lbs (1.3 kgs for my overseas neighbors). And this is with
the heaviest build, because my family member requested the largest
screen possible in a workstation computer. The Darter Pro has a 15.6 in
(&lt;40 cm), 60 Hz LCD display and this wide display was the largest one
they offered.</p>
<p>The keyboard isn’t horribly loud and still shows flex, but it’s no
different than most other laptops. It’s not flimsy and feels pretty
solid. You do get the Super key, always a plus. I do want to comment
that the function keys are in different locations than where most people
expect them and they are no media keys.</p>
<p>The microphone out of the box, needs to be set really low. I set it to
about 28% and felt it wasn’t blowing out my ears; it’s nothing to write
home about. The webcam is also nothing special, but it’s 720p still,
which is disappointing, but it will get the job done.</p>
<p>The speakers are okay, but don’t seem to handle bass particularly well.
It’s able to convey the scene properly and gets you 80% there. The color
settings on the display are also pretty good and nothing feels out of
place. The screen also is anti-glare and did a great job at diffusing
ambient light or bright areas.</p>
<p>I did stress test this thing a little bit. The battery life is
approximately 9ish hours and I did deplete the battery to about 30% and
did a estimation, so maybe not the most optimal test.</p>
<p>Now just to burden this thing as much as I possibly could, I wanted to
pick a current generation game, but something that could still support
the computer with integrated graphics. The Darter Pro comes with
13th-gen Intel and I ran the Witcher 3: Complete Edition (the DirectX 11
version) with the low settings. The framerates are similar to what you’d
experience on a Nintendo Switch and at worst, the frame rate would dip
to the 16-20 FPS area, namely in the city areas like Novigrad and the
opening cutscene with the Wild Hunt. I’ll give the Darter Pro a pass
here because clearly this wasn’t meant for gaming, but to be a
workstation computer.</p>
<h1 id="final-thoughts">Final Thoughts</h1>
<p>System76 is a new experience and I only had a few days to play with one
and power through some of the things I wanted to see about experiencing
one for myself. The firmware definitely needs some work and there are
some defaults that need to be changed, but overall the Darter Pro
provides a fantastic workstation experience. If you are a writer, a
developer, or a general computer developer, you would enjoy using it.
The software experience, provided you don’t use Windows and use one of
their supported distros is a joy to use. I would recommend this computer
is you are diehard dedicated to the open firmware experience and want to
support a company that is pushing the experience. Just maybe invest that
money into magnesium-aluminum that doesn’t smudge so bad.</p>
<h2 id="summary">Summary</h2>
<p><strong>(Updated November 3rd, 2025)</strong> 🚫 Not recommended, unless you intend to support System76 and Pop!_OS.</p>
<h3 id="pros">Pros</h3>
<ul>
<li>Powerful performance</li>
<li>Reasonably priced with configuration choices</li>
<li>Great 16:9 matte display</li>
<li>User serviceable and repairable</li>
<li>Fully open-source firmware</li>
</ul>
<h3 id="cons">Cons</h3>
<ul>
<li>Very easy to smudge/collects fingerprints</li>
<li>30 day refund includes the days it took for your computer to ship to
you</li>
<li>Below average webcam, microphone is average</li>
<li>Windows is less viable due to touchpad driver issues</li>
<li>1 USB-2 port (seriously, we should be past these by now)</li>
<li>Open-source BIOS is missing a lot of features other BIOS have</li>
<li>Secure Boot does not work out of the box and is actively discouraged
by System76</li>
<li><strong>(Updated March 9th, 2024)</strong> <a href="/v/system76-addw3/#system76s-firmware-shortcomings">Disabled Intel Management Engine</a></li>
<li><strong>(Updated November 3rd, 2025)</strong> Provided battery lasted less than 2 years</li>
</ul>
<h3 id="other">Other</h3>
<ul>
<li>Pop!_OS, Fedora, NixOS, and Arch are community supported</li>
<li>Lots of merchandise in addition to computer (t-shirt is limited
edition)</li>
<li>No USB-C charger</li>
<li>Fn keys are not in the places they are traditionally on other
computers</li>
</ul>
<h1 id="track-listing-partial">Track Listing (Partial)</h1>
<ul>
<li><a href="https://dova-s.jp/bgm/play22125.html">t12ya - Under Moonlight (月灯の下)</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Telemetry Is Bad: A Measured Response</title>
      <link>https://trafotin.com/v/telemetry/</link>
      <pubDate>Thu, 03 Aug 2023 17:34:21 -0500</pubDate>
      <guid>https://trafotin.com/v/telemetry/</guid>
      <description>&lt;p&gt;&lt;em&gt;T-E-L-E-M-E-T-R-Y! What does that spell? EVIL!!!&lt;/em&gt; Hey guys, it&amp;rsquo;s that guy who can&amp;rsquo;t talk about the news on time! Corporations are all collecting data about you, most of the time covertly! Time to grab those tinfoil hats because it&amp;rsquo;s time to raise our pitchforks and get ready to rumble! But hang on, before you go light your torches, I want to take a step back and view real world telemetry for what it is. We&amp;rsquo;re going to be diving into privacy policies, source code, and how telemetry can affect your privacy and if it can be done ethically.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>T-E-L-E-M-E-T-R-Y! What does that spell? EVIL!!!</em> Hey guys, it&rsquo;s that guy who can&rsquo;t talk about the news on time! Corporations are all collecting data about you, most of the time covertly! Time to grab those tinfoil hats because it&rsquo;s time to raise our pitchforks and get ready to rumble! But hang on, before you go light your torches, I want to take a step back and view real world telemetry for what it is. We&rsquo;re going to be diving into privacy policies, source code, and how telemetry can affect your privacy and if it can be done ethically.</p>
<h1 id="case-1-windows-10">Case 1: Windows 10</h1>
<p>Windows telemetry can&rsquo;t be turned off and you only get 2 options: Full and Basic. No matter which version of Windows you use, <a href="https://learn.microsoft.com/en-us/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services">the GUI won&rsquo;t give you a way to deal with this</a>. You can use Group Policy Editor of course, but in order for you to get access to the real Group Policy Editor, you need Windows 11 Pro or higher and pay through the nose to get.</p>
<p>Telemetry collected in both cases appears to be useful, but it&rsquo;s ruined by the ethical quandary. Users are never given the proper means to consent except that big Terms of Service box when they bought their Mac or PC and clicked &ldquo;I Agree.&rdquo; Arguably, Windows&rsquo;s telemetry is worse because Windows&rsquo;s team continues to smear their name by ripping out existing features and the overreliance on siphoning user information. All of this compounded by the fact that Microsoft sells off your information to advertisers in their Bing network and has been doing so since the Sinofsky era of Windows.</p>
<p>But wait! Even if you use Windows Pro, <a href="https://learn.microsoft.com/en-us/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-off">you still can&rsquo;t turn off the telemetry</a>! The only way to avoid it is to:</p>
<ul>
<li>get a Windows Education/Enterprise license</li>
<li>In order to get the license, you need to contact a Microsoft sales rep and give Microsoft business-relevant/mostly accurate information.</li>
<li><a href="https://learn.microsoft.com/en-us/windows/deployment/deploy-enterprise-licenses">Then you need to pay for volume licensing or a subscription fee for its activation</a>, which also might involve hosting a Azure AD server.</li>
<li>Then you can turn off the telemetry.</li>
<li>Screw Microsoft and just use anything else except ChromeOS.</li>
</ul>
<h1 id="case-2-opting-out--vs-code">Case 2: Opting Out &amp; VS Code</h1>
<p>But let&rsquo;s say a program that lets you turn off the telemetry, what do you do? You could of course trust them, but we need operate with &ldquo;distrust, but verify.&rdquo; Let&rsquo;s take one of my favorite examples: VS Code. If I haven&rsquo;t already, I hope I&rsquo;ve drilled into your skull that Microsoft is one of the most evil and privacy invasive companies on the planet, so because Microsoft is evil, that must mean VS Code is evil!</p>
<p>Indeed, at a glance when you review the documentation for VS Code, <a href="https://code.visualstudio.com/docs/getstarted/telemetry">VS Code is subject to Microsoft&rsquo;s privacy policy</a>, the same legalese privacy policy that allows Microsoft to market off your information. But there&rsquo;s a few important differences between VS Code and Windows: VS Code includes a toggle for users to turn off telemetry collection. Unlike Windows, this toggle fully disables VS Code&rsquo;s telemetry.</p>
<h2 id="theres-no-way-you-could-know-that">There&rsquo;s no way you could know that&hellip;</h2>
<p>Now, the keen-eyed keyboard warriors are going to pounce on this and say &ldquo;Aha! But there&rsquo;s no way you can actually know that!&rdquo; But there is, dear commenter, and it&rsquo;s the GitHub page, you know, where they publish most of the source code, <a href="https://github.com/microsoft/vscode/tree/main/src/vs/platform/telemetry">including the code for the telemetry bits</a>! &ldquo;But the backend for VS Code&rsquo;s extensions are proprietary!&rdquo; If you don&rsquo;t want VS Code to track your extensions, simple, <strong>don&rsquo;t use VS Code</strong>. You can go crawl over to VS Codium, but it isn&rsquo;t going to change Microsoft gets to monitor the VS Code Marketplace and all the silly AI extensions you install.</p>
<p>The other reason VS Code wouldn&rsquo;t help is also obvious: you don&rsquo;t trust the telemetry being turned off when you uncheck the box? Consider that <a href="https://survey.stackoverflow.co/2023/#technology-most-popular-technologies">VS Code is the IDE of choice for developers</a>, some of whom have to be savvy enough to read the source code, and would type an angry message on Twitter and Mastodon that VS Code was spying on everyone even if the box was unchecked? Come on, use your noggin. Who knew that if you used an online service, you have to trust they won&rsquo;t do anything bad?</p>
<h1 id="case-3-the-preceding-reputation">Case 3: The Preceding Reputation</h1>
<p>Let&rsquo;s talk about the most spicy one: Ubuntu. Ubuntu has garnered a long history of being called spyware by the famous Richard Stallman (sucking his toe) and the Electronic Frontier Foundation because of the Amazon search integration into their operating system. However, Ubuntu suffers from not what they are actually doing, but they dragged their reputation was dragged through the mud for years. Ubuntu removed the Amazon searching, but continued to include an Amazon icon that would redirect people with a referral link, just like if you were to visit the description of my video and click on a link. The problem is because the Amazon incident with search queries, people held that against them.</p>
<p>This reputation also may have further damaged another part of Ubuntu, the introduction of operating system telemetry in Ubuntu 18.04. Now we get into the realm of what telemetry is harmful and what&rsquo;s benign. Canonical&rsquo;s developers have always been open about <a href="https://lists.ubuntu.com/archives/ubuntu-devel/2018-February/040139.html">what information about what will be collected</a>. In practice, Canonical collecting this telemetry is purely to improve Ubuntu and some fairly common settings that can&rsquo;t really be used to identify people as it&rsquo;s largely impersonal.</p>
<p>When poor Will Cooke announced this on the mailing list, people piled in complain online and how Ubuntu was continuing down a dark path, even though the data is pretty harmless. Why? Because Ubuntu 18.04 continued to package the Amazon icon and the baggage of the Amazon incident. Even though it&rsquo;s pretty clear how to disable it by unchecking a box. Once again, because Ubuntu is open-source, we can verify unchecking the box does as it claims.</p>
<h1 id="playing-devils-advocate">Playing Devil&rsquo;s Advocate</h1>
<p>But let&rsquo;s wrap this up. I spoke in an entire video defending telemetry and trying to understand it, but what about the normal person? What about someone who wants to protect their privacy? If you want to help the developer and you feel that you are helping them by providing telemetry, then by all means provide them that data; it&rsquo;s your prerogative.</p>
<p>On the other hand, you are an extremist when it comes to privacy. We&rsquo;ve seen studies about how easily information <a href="https://www.forbes.com/sites/thomasbrewster/2017/12/19/120m-american-households-exposed-in-massive-consumerview-database-leak/?sh=4b52f71f7961">can</a> <a href="https://www.nytimes.com/interactive/2019/12/19/opinion/location-tracking-cell-phone.html">be</a> <a href="https://dspace.mit.edu/handle/1721.1/96321">deanonymized</a> and it helps that the information is impersonal, but I want all the help I can get and that includes turning it all off.</p>
<p>And by the way, if you need to resort to using Little Snitch or Portmaster to clam up telemetry if you&rsquo;re given no opt-out, maybe you should consider using something else.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Choice in Linux is a joke. Here&#39;s why.</title>
      <link>https://trafotin.com/v/linux-choice-is-a-joke/</link>
      <pubDate>Fri, 14 Jul 2023 17:34:21 -0500</pubDate>
      <guid>https://trafotin.com/v/linux-choice-is-a-joke/</guid>
      <description>&lt;h1 id=&#34;intro&#34;&gt;Intro&lt;/h1&gt;
&lt;p&gt;Hey guys, it&amp;rsquo;s Trafotin. Everywhere across the internet, people brag about the choice of Linux, and while not too complicated, Linux actually has less choice if your someone who cares about your decisions and I&amp;rsquo;m going to unpack why in my TED talk just shy of 20 minutes.&lt;/p&gt;
&lt;h1 id=&#34;b-but-my-choice&#34;&gt;B&amp;hellip; BUT MY CHOICE!&lt;/h1&gt;
&lt;p&gt;People like to think their computer is in all about choice and go ahead and crucify me, choice is actually very limited and I say this as someone with a channel who needs to recommend things to others. Linux just so happens to be the desktop OS that offers the most choices, but I would argue that most of them are &amp;ldquo;fake choices&amp;rdquo; at best or serious pitfalls at worst. Let&amp;rsquo;s back that up with an example, like say, your desktop environment or window manager.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h1 id="intro">Intro</h1>
<p>Hey guys, it&rsquo;s Trafotin. Everywhere across the internet, people brag about the choice of Linux, and while not too complicated, Linux actually has less choice if your someone who cares about your decisions and I&rsquo;m going to unpack why in my TED talk just shy of 20 minutes.</p>
<h1 id="b-but-my-choice">B&hellip; BUT MY CHOICE!</h1>
<p>People like to think their computer is in all about choice and go ahead and crucify me, choice is actually very limited and I say this as someone with a channel who needs to recommend things to others. Linux just so happens to be the desktop OS that offers the most choices, but I would argue that most of them are &ldquo;fake choices&rdquo; at best or serious pitfalls at worst. Let&rsquo;s back that up with an example, like say, your desktop environment or window manager.</p>
<p>Linux has lots of desktop environments: GNOME, KDE, XFCE, Mate, Cinnamon, LXQT, and LXDE. If you&rsquo;re a window manager user, there&rsquo;s plenty for you too: i3, awesomewm, Sway, xmonad, bspwm, and so much more! But what if you drill down to what matters: you want a system that&rsquo;s comfortable to use, secure, and efficient at getting things done.</p>
<p>But let&rsquo;s take security for example and this &ldquo;choice&rdquo; starts to break down. In order to promote the &ldquo;secure&rdquo; Linux desktop, we need to be using Wayland. Wayland is the next generation of display management on Linux and is more secure than the legacy window system X11. So how many of what I just showed support Wayland? The answer is only 3 of them: GNOME, KDE, and Sway. It&rsquo;s a hard truth and that shows there&rsquo;s actually less choice because most of these desktop environments and window managers are stuck in the past.</p>
<p>I&rsquo;m not saying it&rsquo;s easy; if it was easy, people would have moved already. But some Linux users practically worship their desktop environment and it&rsquo;s just gross! Look, anything that can watch movies and communicate with my friends is like gold to me. The mentality I have is one of a digital nomad; if you use something and that something isn&rsquo;t keeping up with either your needs or industry/security standards, then you have to move on to something better in life. The harsh truth is most desktop environments and window managers can&rsquo;t keep up with the fast pace of development, either due to lack of developers, funding, or leadership. GNOME and KDE prove you can move fast because they both have lots of developers, funding, and solid leadership. That doesn&rsquo;t mean you can&rsquo;t go slow, because Sway helps build up wlroots for all the Wayland users who want window managers. And it can&rsquo;t mean you go too fast either, because that&rsquo;s why not many people willingly package Hyprland.</p>
<h1 id="gotta-go-fast">Gotta Go Fast</h1>
<p>But it gets worse. Not only do your desktop environment or your window manager matter when it comes to speed, but your packages and everything you install does too, all the way down to your operating system. That&rsquo;s why I recommend to stick to rolling releases. A rolling release means you&rsquo;ll always get the latest and most up to date software with their newest features.</p>
<p>Fedora is cutting edge of Linux desktop users and has been dead-set on revolutionizing the Linux desktop as we know it. Many things critical to Linux, Flatpak, Wayland, image-based distributions like Fedora Silverblue, and Pipewire are just some of many. Fedora has been what I have stayed with for years because of its push for innovation in the desktop space and strong defaults.</p>
<p>Using Fedora is why I have been a long time advocate for rolling release distributions. Fedora adopts these new technologies faster, which means your system becomes not only more usable for you, but also more secure. I daily drove Debian for years and let me tell you: having outdated, crusty packages like GNOME 3.22, which at the time had a severe memory leak that went unpatched for years), just felt wrong. No offense to Debian, it&rsquo;s a joy to work with in the cloud, but for desktop usage? No thanks.</p>
<p>Not only that, it does a disservice to the people who work so hard to create their software, only to find out there are weirdos in the wild using ancient versions, which they don&rsquo;t maintain anymore. It&rsquo;s about getting close we can to what is actually given to users. We&rsquo;re seeing Canonical drop support for Firefox or cups and Red Hat with LibreOffice, but supporting the Firefox or LibreOffice&rsquo;s snap/Flatpak means you are getting an experience curated by Firefox and LibreOffice&rsquo;s devs. It&rsquo;s only better for everyone.</p>
<p>And I know that there&rsquo;s serious distrust over &ldquo;but installing feature updates will break my computer!&rdquo; Guys, this fallacy was created by Microsoft because they have beta-tested updates on their users since Windows 7. Features are not bad! Features fix problems and make your life better. If you are seriously concerned about stability, check out something like Fedora Silverblue, Kinoite, or Sericea. You don&rsquo;t like an update, you can always roll back if you encounter a problem AND experience the awesome new features!</p>
<h1 id="what-are-you-going-to-do-use-windows-or-mac">What are you going to do&hellip; use Windows or Mac?</h1>
<p>The other thing I want to seriously stress Linux is not some silver bullet. Using Linux takes away one choice and it&rsquo;s a choice I&rsquo;m sure is going to piss the old people who watch me off&mdash;it&rsquo;s using proprietary software.</p>
<p>Let me speak for experience as someone who does quasi-professional video editing, photo editing, and design work. I use the Adobe products pretty regularly and I&rsquo;m familiar with the Affinity suite and let me tell you, unless it was Inkscape, using the other open-source solution felt like I was handicapping myself. GIMP&rsquo;s supposed &ldquo;stable&rdquo; version is actually more unstable than the beta and Kdenlive can&rsquo;t even show you something on a screen accurately (especially with proxy clips).</p>
<p>But the plot thickens, because using DaVinci Resolve Studio on Linux (yes, the paid one), you&rsquo;re limited in what codecs you can use because of the stupid American legal system. And don&rsquo;t get me started on getting proprietary solutions like it on Linux! You might not like proprietary software (trust me I don&rsquo;t either), but when it&rsquo;s an action I know for a fact can be done more efficiently somewhere else, I&rsquo;m going to do it there.</p>
<p>And this forces you to surrender to Windows and macOS again. You&rsquo;re a creative type like me and you find the behavior of Microsoft worsening every day&mdash;go use macOS if it means you doing what you need to and be aware of the privacy invasion and the trap of the Apple ecosystem. You want to play Destiny 2 or Roblox without being penalized or banned or you&rsquo;re an aspiring game dev? Windows is there too.</p>
<h1 id="takeaways">Takeaways</h1>
<p>In the end, it&rsquo;s all about what works for you. And that&rsquo;s what most important after all. If you can use your computer as a tool, that&rsquo;s great! But only as tool. Temper your expectations and acknowledge what you can/cannot do, but always leave the door open to learn and don&rsquo;t get attached to this stuff. It&rsquo;s just a bunch of text buzzing around in a computer.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Secure Boot</title>
      <link>https://trafotin.com/v/secure-boot/</link>
      <pubDate>Fri, 23 Jun 2023 23:34:21 -0500</pubDate>
      <guid>https://trafotin.com/v/secure-boot/</guid>
      <description>&lt;iframe id=&#34;odysee-iframe&#34; width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://odysee.com/$/embed/@Trafotin:4/use-uefi-secure-boot-now!-2:e&#34; allowfullscreen&gt;&lt;/iframe&gt;


&lt;p&gt;Have you enabled Secure Boot on your computer? I sure have, but what is it and why it&amp;rsquo;s so important to the fabric of computing today? Why is Windows 11 pushing Secure Boot so hard? Is it a way for Microsoft to block off third party operating systems? Did someone on a forum or Discord tell you to turn it off? All of this and more as we learn together why UEFI Secure Boot should be required for everyone!&lt;/p&gt;</description>
      <content:encoded><![CDATA[

<iframe id="odysee-iframe" width="560" height="315" src="https://odysee.com/$/embed/@Trafotin:4/use-uefi-secure-boot-now!-2:e" allowfullscreen></iframe>


<p>Have you enabled Secure Boot on your computer? I sure have, but what is it and why it&rsquo;s so important to the fabric of computing today? Why is Windows 11 pushing Secure Boot so hard? Is it a way for Microsoft to block off third party operating systems? Did someone on a forum or Discord tell you to turn it off? All of this and more as we learn together why UEFI Secure Boot should be required for everyone!</p>
<h1 id="what-is-uefi">What is UEFI?</h1>
<p>Desktop computing is exposed to constant threats in the wild and one of the worst things that could be compromised is your boot process. For something like your phone or your laptop with critical information, we want that stuff locked down tight to prevent bad guys from getting in.</p>
<p>In a brief (ultra-simplified) explainer, any computerized has 3 major layers:</p>
<ol>
<li>Your hardware, like the device you use.</li>
<li>Your BIOS, which operates as a single point of trust to handle things like peripherals.</li>
<li>Your operating system, like Windows, macOS, or Linux, where you make changes to your computer.</li>
</ol>
<p>While booting up a computer started off simple in the early days, it has become more complex. Previous older iterations were things like the Extensible Firmware Interfaces (EFI), which is a miniature operating system that vastly increased this capability. EFI adds that ugly interface you have hidden away that controls things like your power management, virtualization, and what not.</p>
<p>UEFI &ldquo;unifies&rdquo; the complexity of EFI, but also makes UEFI the &ldquo;trusted&rdquo; version of EFI. You rely on your firmware to know if your computer is properly booting and not doing something sketchy in the process. UEFI is another chip attached to your motherboard that adds cryptographic authentication your devices are running and initialized properly. We need UEFI because many corporations view UEFI as the continuation and future of EFI.</p>
<h1 id="what-is-secure-boot">What is Secure Boot?</h1>
<p>The added cryptographic verification presented a new frontier for device makers. Personal computing devices like your computer or your phone contain lucrative information for attackers, so the big operating system vendors invest into protecting the sanctity of your system.</p>
<p>This started with the Platform Initialization standard. This generates a key, typically from your motherboard&rsquo;s manufacturer, which attests the firmware on your motherboard is indeed valid and has not been tampered with (there&rsquo;s protections for timestamping changes, so modifications, to prevent rollbacks, and replay attacks).</p>
<p>Secure Boot uses UEFI&rsquo;s keys and ties it to pre-baked keys from your manufacturer to add an extra layer of security against malware exploiting this boot process (it&rsquo;s similar to the prebuilt keys in your browser). This validates that the operating system you boot up is precisely the intended target and there&rsquo;s no malicious code burrowed in as your device boots up. There&rsquo;s also a keystore with forbidden keys, where if a key can no longer be used to verify boot images, it&rsquo;s added to a blacklist so they won&rsquo;t ever work again.</p>
<h2 id="exploitable-firmware-interfaces">Exploitable Firmware Interfaces</h2>
<p>This isn&rsquo;t hypothetical, because state-sponsored attacks and limited attacks in the wild take advantage of people who haven&rsquo;t caught up yet despite the years that have gone on. The Chinese research company <a href="https://web.archive.org/web/20220725102425/https://bbs.360.cn/thread-14959110-1-1.html">Qihoo 360 reported on (in Chinese)</a> UEFI rootkits using the backwards compatibility modules for EFI in ASUS&rsquo;s computers.</p>
<p>Most recently, the Russian firm <a href="https://securelist.com/cosmicstrand-uefi-firmware-rootkit/106973/">Kaspersky found</a> a rootkit yet another vulnerability targeting this backwards compatbility, once again in ASUS and Gigabyte motherboards. If you thought ASUS shorting their BIOS or Gigabyte getting their firmware backdoored, that isn&rsquo;t even the worst of it!</p>
<h1 id="microsoft-vs-corporate-linux">Microsoft Vs Corporate Linux</h1>
<p>These sophisticated attacks are nothing compared to the history tied into the way Secure Boot was presented to the public. The dreaded operating system Windows 8, under the iron fist of Steven Sinofsky, began to require &ldquo;Microsoft-compliant&rdquo; UEFI Secure Boot. In the classic, poorly worded style of Microsft communication from the madman, <a href="https://web.archive.org/web/20110924161843/http://blogs.msdn.com/b/b8/archive/2011/09/22/protecting-the-pre-os-environment-with-uefi.aspx">Sinofsky added just a little clause to these requirements</a>:</p>
<blockquote>
<p>In the screenshot below you will notice that we designed the firmware to allow the customer to disable secure boot. However, doing so comes at your own risk. <strong>OEMs are free to choose how to enable this support and can further customize the parameters as described above in an effort to deliver unique value propositions to their customers.</strong></p>
</blockquote>
<p>This last line got <a href="https://canonical.com/blog/white-paper-secure-boot-impact-on-linux">major Linux manufacturers seriously concerned</a> because history has shown OEMs often cut corners to ship firmware and what if the ability to boot something other than Windows was taken away?</p>
<p><a href="https://ozlabs.org/docs/uefi-secure-boot-impact-on-linux.pdf">Papers from Red Hat and Canonical</a> describe how the ability to write and add keys needed to be included into the Microsoft requirements so OEM keys. In the original Build blog post, Sinofsky does mention this at the beginning, contradicting the quote that got everyone so worried:</p>
<blockquote>
<p>Secure boot doesn’t “lock out” operating system loaders, but is a policy that allows firmware to validate authenticity of components&hellip; Microsoft does not mandate or control the settings on PC firmware that control or enable secured boot from any operating system other than Windows</p>
</blockquote>
<p>This quote provides probably the &ldquo;intended&rdquo; (whatever that means to you) meaning to users, &ldquo;you can turn off Secure Boot, but you do so at your risk.&rdquo; If you examine these carefully, you&rsquo;ll see Red Hat and Canonical&rsquo;s engineers <em>don&rsquo;t reject</em> the UEFI or Secure Boot standard, but <a href="https://wiki.debian.org/SecureBoot">it needed to be done in an inclusive way to allow Linux users, on the server or desktop, to get Secure Boot.</a></p>
<h1 id="secure-your-boots-now">Secure Your Boots Now!</h1>
<p>To this day in comments, in places like Reddit, Discord, or 4chan, I continue to hear is using Secure Boot doesn&rsquo;t work if you don&rsquo;t use Windows. And while that might have been true at one point, it hasn&rsquo;t been true for over a decade. I can guarantee that the vast majority of Linux users disabled Secure Boot because a guide online told them to. For example, I caught <a href="https://forum.garudalinux.org/t/troubleshooting-system-stutter-lags-freezes-and-hangs/18044/4">this &ldquo;guide&rdquo;</a> from some guys on the Garuda Linux team <a href="https://t.me/garudalinux/292499">telling their users</a> <a href="https://forum.garudalinux.org/t/install-garuda-in-secure-boot-mode/26721">to disable Secure Boot</a>, which just borders on irresponsible because <strong>it can be done!</strong></p>
<p><em>Not just this behavior, but also the fact Garuda automatically trusts and rebuilds some goofy fork of the AUR is reason alone you should just stay away from them.</em></p>
<p>It&rsquo;s even more ironic the 2 most popular desktop Linux distributions, Fedora and Ubuntu (and their derivatives like Mint and ublue for example), have never been subject to this. Red Hat and Canonical have to cough up a one-time $99 fee to access the 3rd party Microsoft key, which ensures their users get full access to Secure Boot. This third party shim key Fedora pays for is used by <a href="https://www.ventoy.net/en/doc_secure.html">the USB tool Ventoy</a> to ensure Windows 11 and other compatible Linux distros can use Secure Boot out of the box (with a nifty guide!).</p>
<p>But Secure Boot on Linux breaks if you use the proprietary drivers like NVIDIA proprietary driver. In Fedora, Fedora includes Akmods, a startup script that rebuilds your packages on boot. Akmods allows you to generate your own key using openssl and sign the Linux kernel, thus allowing NVIDIA&rsquo;s driver through Secure Boot correctly.</p>
<p>I wrote 2 little scripts based on a guide from the folks at Fedora&rsquo;s RPMFusion that allows you to sign the kernel, so you too can get Secure Boot with the NVIDIA driver on Fedora. Once you enroll your keys, you reboot and can toggle some settings using mokutil to configure Secure Boot properly, by continuing with your keys. There are other methods for <a href="https://en.opensuse.org/openSUSE:UEFI">openSUSE&rsquo;s installer</a> and Arch Linux, but I&rsquo;m not familiar enough with them.</p>
<p>I&rsquo;m going to leave it there because instead of making strawman arguments claiming Secure Boot will lock people out, we need to accept the new standards because UEFI and Secure Boot are realities you need to wake up to. I didn&rsquo;t even get into the part where Windows and Linux are just broken compared to Macs or mobile devices! So leave a like on this video. Leave a like on this video if you hated the Windows 8 era!</p>
<h1 id="verified-boot-and-tpm-verified-boot">Verified Boot and TPM-verified boot</h1>
<p>Desktop computing security is fundamentally broken compared to the strength of verified boot on Android and Apple devices. The advent of technologies like Intel Bootguard and Microsoft&rsquo;s Pluton prove that the silver-lining of Windows 11 is PC verified boot has gotten easier than ever.
However, there&rsquo;s the issue of certificate verification. There&rsquo;s are bypasses that require enabling third party UEFI certificates, like the ones Fedora and Ubuntu use, <a href="https://download.lenovo.com/pccbbs/mobiles_pdf/Enable_Secure_Boot_for_Linux_Secured-core_PCs.pdf">on Lenovo computers</a>, but Linux now supports Secured Core computers without the need for such measures. If you use a distribution that isn&rsquo;t a rolling release with an updated Linux 6.3 kernel or higher, you won&rsquo;t get access to stuff like Pluton.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Flatpaks</title>
      <link>https://trafotin.com/v/flatpaks/</link>
      <pubDate>Wed, 10 May 2023 23:34:21 -0500</pubDate>
      <guid>https://trafotin.com/v/flatpaks/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/Jiqxdb6ZhkQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;It&amp;rsquo;s time to learn about Flatpak and why you need to use it. Flatpak is the way to go and is going to revolutionize Linux, whether you want to or not, especially since it&amp;rsquo;s the easiest way to get things that you want. I&amp;rsquo;m going to be going over what Flatpaks even are, how to use it, and how to control what your Flatpaks do.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/Jiqxdb6ZhkQ?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>It&rsquo;s time to learn about Flatpak and why you need to use it. Flatpak is the way to go and is going to revolutionize Linux, whether you want to or not, especially since it&rsquo;s the easiest way to get things that you want. I&rsquo;m going to be going over what Flatpaks even are, how to use it, and how to control what your Flatpaks do.</p>
<h1 id="what-are-flatpaks">What are Flatpaks?</h1>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/jDVCITRWGgs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>Flatpaks are sandboxed apps using bubblewrap, designed to universally work across many Linux operating systems, but specifically on desktop. Flatpak acts as a front-end for bubblewrap, which has really complex command-line arguments, and as an easy way to install packages independent of the operating system you use (a Debian user and an Arch user install the same packages together in harmony).</p>
<p>Since apps are sandboxed, Flatpak downloads dependencies and libraries independently, so your programs work the everywhere. Gaming on Linux is one desktop activity that greatly suffers from this, whether you&rsquo;re running SteamOS, Ubuntu, Arch, you and developers will experience the agony of inconsistent results, when they could be universal. Flatpak also simulates architecture, so you can still run all your 32 bit libraries, ARM programs, or x86 games and graphics using Flatpak.</p>
<h1 id="linux-cant-sandbox">Linux Can&rsquo;t Sandbox</h1>
<p>On desktop Linux, applications are given access to daemons or allowed to access all files on your system. Ideally, your operating system shouldn&rsquo;t be allow this to happen, but this is a very real problem Flatpak wants to solve, especially as Apple and Google have figured out how to do this already (with Android, ChromeOS, and iOS, MacOS has sandboxing too, but it&rsquo;s opt-in for developers, so <a href="https://www.grc.com/sn/sn-364.htm">tyranny of the default</a>).</p>
<p>The technology Flatpak is built to provide an answer to both of these problems. Flatpak is also integrated in major Linux app stores like GNOME Software, Discover, and pamac. Flatpak also provides a container folder which separates your data from your raw home folder, keeping your system and all the data inside organized.</p>
<h2 id="wayland-only">Wayland Only</h2>
<p>To take full advantage of Flatpak, you need to be using the Wayland display server. While you can use Flatpak on X11, it can&rsquo;t properly sandbox applications using X11 only because X11 does not provide any GUI isolation whatsoever and will work against your security. After all, in order to future-proof our stuff, we need to use Wayland to get that sweet fractional scaling and HDR support (coming soon™).</p>
<h1 id="why-not-snaps-or-appimages">Why Not Snaps or AppImages?</h1>
<p>Since Linux has no sandboxing at all, you NEED to be using something that provides sandboxing. Almost every Linux distro will not do this for you.</p>
<h2 id="appimages">AppImages</h2>
<p>AppImages, another universal format that while nifty, still won&rsquo;t do for you, especially since you are just trusting random packages on the internet, rather than a centralized store. This also results in the same user behavior that happens on Windows (and MacOS to a good degree) and we shouldn&rsquo;t go back to.</p>
<p>AppImages also pack duplicate versions of programs. If you install Electron apps like the private messenger Session and the note-taking app Standard Notes, you now have duplicate copies of Electron, which eats up more space.</p>
<p>There are people who argue Flatpaks also duplicate on multiple different versions of libraries, but this is greatly mitigated by compression, which AppImages don&rsquo;t allow for. That way, you aren&rsquo;t downloading the full package.</p>
<p>It has also come out the main dev of AppImages is a dunce who refuses to use Wayland and to update the FUSE module to work with modern systems.</p>
<h2 id="snaps">Snaps</h2>
<p>Canonical&rsquo;s snap packages also seek to solve the same issues Flatpak does, but it&rsquo;s mired with problems.</p>
<ul>
<li>Many people don&rsquo;t like Ubuntu pushing snaps or packaging Chromium/Firefox as a snap (even though Debian&rsquo;s maintainers are way too taxed to properly maintain Chromium fast enough).</li>
<li>Many people don&rsquo;t like the concept of snap&rsquo;s backend being proprietary (in my opinion this is silly because even if it was open-source, there would be no way to verify if Canonical were actually using the open-source code or not).</li>
<li>Snaps auto-update and don&rsquo;t allow users to disable it except through experimental settings.</li>
<li>Snaps&rsquo; sandboxing doesn&rsquo;t apply to legacy apps (&ldquo;classic snaps&rdquo;) and requires AppArmor. The sandboxing is worthless if you use SELinux or systems without mandatory access controls.</li>
<li>Many people, including me, also hate that Canonical logs everything you install, <a href="https://snapcraft.io/docs/snap-store-metrics">which assigns a unique ID to on installation</a> and for Canonical to do who knows what with. Anonymized statistics will <strong>always</strong> eventually be deanonymized, so it&rsquo;s only a matter of time, even if it&rsquo;s something like the flavor of Linux you use, the branches you enable, or the timezone you reside in. There&rsquo;s no way to opt out either.</li>
</ul>
<p>No doubt people will pick something to hate, but for me, inescapable telemetry and lack of SELinux is reason enough to give snaps a wide berth, unless you are locked into an application that absolutely needs it.</p>
<h2 id="flatpaks-are-better">Flatpaks Are Better</h2>
<p>Flatpak doesn&rsquo;t collect any telemetry, lets you add/host your own repositories, also doesn&rsquo;t require root, so it&rsquo;s more secure for you to use and more convenient for desktop users who want to download their favorite applications. Flatpaks also provide a powerful permissions access system, which controls exactly what programs are allowed to access.</p>
<p><em>Flatpak may be imperfect, but <strong>some</strong> sandboxing is better than none at all.</em></p>
<h3 id="the-cons">The Cons</h3>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/xtsB38nyKtc?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<ul>
<li>Many people cite <a href="https://flatkill.org">flatkill.org</a>, which at the time, presented valid points. Unfortunately, that site hasn&rsquo;t been updated in years and some of what was said then is no longer true now. However, Flatpak is still irrevocably broken because of the fact it&rsquo;s built more to be a container than an application sandbox. As a result, this makes it really easy to bypass, but the devs are working on a solution.</li>
<li>Flatpak&rsquo;s poor security realistically could be fixed in the future through apps makers their sandboxes based on a standard (say, XDG portals) by coding their apps to distrust certain permissions by default. In fact, Whonix&rsquo;s devs are working on a sandboxed app launcher and Chromium has stronger native sandboxing than Flatpak.</li>
<li>Flatpak relies on every application operating off of the same libraries. This can result in dependencies not updating while some programs play catch up. Flatpak&rsquo;s developers appear to be aware of this and <a href="https://github.com/flathub/flatpak-external-data-checker">developed an internal tool</a> for making sure their package manifests are up to date.</li>
<li>Wine and 32-bit dependent gaming needs a lot of work. While some programs like Heroic work flawlessly, I&rsquo;ve seen problems with Lutris where some games will not install where they installed on the native package.</li>
<li>Flatpak strongarms people into Pipewire. While there are still some edgecase holdouts, we need to be moving towards more secure defaults rather clinging futilely to PulseAudio. In fact, when I was testing Pipewire when it first came out years ago, I had far less issues in its beta state than PulseAudio.</li>
<li>Some developers do not support Flatpak altogether. I had mentioned Session in the last video, but the Flatpak is not official. Many other programs fall into this category, so it&rsquo;s vital you analyze the build manifest. <del>As of the time of recording, the beta Flatpak site gives direct link to the manifest and with a teeny bit of know-how, it&rsquo;s pretty easy to figure out what&rsquo;s going on.</del> Flatpak now has a pretty simple and robust verification system to mitigate this, but anything without a checkmark should be suspect.</li>
</ul>
<h1 id="using-flatpaks">Using Flatpaks</h1>
<p>Forget about all this technical jargon! I&rsquo;ve talked about why you need Flatpaks, some &ldquo;drawbacks,&rdquo; but let&rsquo;s put this practice.</p>
<h2 id="how-to-setup--use">How to Setup &amp; Use</h2>
<p>First, add the Flathub remote. This gives you access to the main Flathub store.</p>
<pre tabindex="0"><code>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
</code></pre><p>Using flatpaks is also easy! Flatpak uses the same syntax as apt and dnf:</p>
<ul>
<li><code>update</code> to update the repositories</li>
<li><code>upgrade</code> to run software upgrades</li>
<li><code>install</code> to install</li>
<li><code>remove</code> to uninstall</li>
<li><code>search</code> to search applications in your Flatpak remotes</li>
<li><code>uninstall --unused</code> to remove unused dependencies.</li>
</ul>
<h2 id="whatwhere-should-i-download">What/where should I download?</h2>
<p>Now that we have access to Flathub, this pretty much is the whole kitchen sink to download anything we want. Of course, I do want to address a common thing I&rsquo;ve read from other people online or seen in other content creators is people is something like this (first to last):</p>
<ol>
<li>Distro package</li>
<li>Flatpak</li>
<li>AppImage</li>
<li>Third party repo (AUR, PPA, etc)</li>
<li>Snap</li>
<li>Tarball/provided by developer</li>
<li>Compile from source</li>
</ol>
<p>This has been the way most people have seen packaging on Linux for a long time, but instead, I want to encourage all of us to look at this differently:</p>
<ol>
<li>Flatpak</li>
<li>Snap (if you use Ubuntu)</li>
<li>Distro package</li>
<li>Tarball/provided by developer</li>
<li>Third party repo</li>
<li>Snap (non-Ubuntu)</li>
<li>AppImage</li>
<li>Compile from source</li>
</ol>
<p>Flatpak, especially for graphical applications, needs to be your top priority as to where you download a package. Flatpak is far more flexible than many of its distro counterparts and is much robust at providing a secure window to a program without much tradeoff.</p>
<p>The other reason the vast majority of sandbox systems on Linux are unsufficient compared to Flatpak. Only Snap comes close, but Snaps come close and are definitely more suited for command-line programs, but if you don&rsquo;t use AppArmor, the protections that Snap provides are useless. The sandboxing of Snaps is also very flawed in that the experience is only really geared for Ubuntu as you need <a href="https://forum.snapcraft.io/t/snapd-still-requires-out-of-tree-apparmor-patches-for-strict-confinement/19632">a completely separate patch from Canonical for AppArmor</a> to achieve acceptable sandboxing.</p>
<h2 id="the-time-to-say-no">The Time to Say No</h2>
<p>The other issue people need to look at is the landscape of apps in Flatpak, but consider whether or not you should use them. Here&rsquo;s some of what find valid reasons to use a Flatpak:</p>
<ul>
<li><strong>The application is old and never received an update to match upstream.</strong> For example, one of the packages I could never recommend to anyone in Flathub is a really old copy of <a href="https://flathub.org/apps/com.adobe.Reader">Adobe Reader for 32-bit Ubuntu 12.04</a>. While this application is an amazing achievement at demonstrating the fact Flatpak can run multiple architectures, I could never recommend running it because of Adobe abandoning the project and many unfixed security holes remain.</li>
<li><strong>Unverified applications.</strong> On the topic of unofficial applications, Flathub implements a pretty simple and reliable verification system. Basically, this means you can trust any application with a blue verified checkmark. But what happens with apps that aren&rsquo;t verified? In these scenarios, you should view the &ldquo;build manifest,&rdquo; so you can verify what&rsquo;s happening. Chances are because of <a href="https://discourse.flathub.org/t/flathub-in-2023/3808">new vetting processes</a> odds of these being malicious are highly unlikely, but be cautious and read the code. If you can&rsquo;t read the code, how many other people submit issues and star the manifest on GitHub? Do your best here, but odds are you will be fine.</li>
</ul>
<h1 id="manage-your-permissions-with-flatseal">Manage Your Permissions With Flatseal</h1>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/fAqcpVk3GNw?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>However, if you use Flatpak, I would strongly recommend double-checking your permissions using Flatseal. Flatpak is way too permissive by default, especially it allows most programs access to whatever they ask for on install silently.</p>
<p>There are plenty of easy ways to use graphical programs to tweak your Flatpak permissions like Flatseal. Flatseal is a program that generates &ldquo;override&rdquo; files that change what programs are allowed to do on your system, stored in <code>~/.local/share/flatpak/overrides</code>. If you use KDE, KDE has a built-in frontend identitical to Flatseal.</p>
<p>These permissions might be confusing and overwhelming, but I&rsquo;m going to try my best simplify how they work:</p>
<ul>
<li><code>Network:</code> Does GNOME Calculator or LibreOffice really need the internet, especially when Flatpak manages their updates? Audacity and Musescore adding telemetry? Let&rsquo;s kill the internet for the apps that don&rsquo;t need it. Most applications typically only enable it because they need it for their internal updating.</li>
<li><code>Interprocess Communications (IPC):</code> Allows program to read other processes and resources on your host machine. <a href="https://docs.flatpak.org/en/latest/sandbox-permissions-reference.html?highlight=permissions#f1">&ldquo;Is not necessarily required&rdquo;</a> unless you use X11, but you shouldn&rsquo;t be using X11.</li>
<li><code>socket=pulseaudio:</code> PulseAudio is a common vector for attack on desktops, since it grants access to your microphones if it&rsquo;s being used by another application. Applications that don&rsquo;t need to play audio (e.g. LibreOffice and ONLYOFFICE for example), should have this revoked.</li>
<li><code>filesystem=:</code> make sure you want your program to choose what folders it can access. Look out for global accesses and selectively pick folders to add using &ldquo;Other files&rdquo; in Flatseal.</li>
<li><code>device=all:</code> Don&rsquo;t want an app accessing PCI and USB devices, like your webcam? Limit this, but it is needed if you use security keys, webcams, microphones, etc.</li>
<li><code>Fallback to X11</code>: As X11 is a legacy technology, we should avoid it like the plague. Older applications like Chromium/Electron-based applications, Krita, and Minetest still need it, but applications like OBS, LibreOffice, KeePassXC don&rsquo;t because they support Wayland natively; just experiment with what works.</li>
<li><code>talk-name=org.freedesktop.secrets</code>: D‑Bus access to secrets stored on your keychain, like say, your GNOME Keyring or KDE Wallet data. This is needed for Chromium/Electron-based apps.</li>
</ul>
<h1 id="takeaway">Takeaway</h1>
<p>But what&rsquo;s the point of this discussion? Why are you even covering this? Because you need to use Flatpak because secure solutions need to be easy otherwise people aren&rsquo;t going to use them. Flatpak truly makes it easy and brings the Linux desktop one step forward to being that much greater.</p>
<p>I&rsquo;m going to go out on a limb here and strongly recommend you install as many of your applications as Flatpaks. In fact, go uninstall your applications that have Flatpak versions, move your config folders to the Flatpak sandbox, and embrace the future as we wait for the next best thing.</p>
<h1 id="more-resources">More Resources:</h1>
<ul>
<li><a href="https://flatpak.org/setup/">Setting up Flathub on various distros</a></li>
<li><a href="https://flatkill.org/">Flatkill (2019-2020)</a> discusses how the default permissions set by Flatpak need to be more strict.</li>
<li><a href="https://theevilskeleton.gitlab.io/2021/02/11/response-to-flatkill-org.html">Response to flatkill.org</a>, TheEvilSkeleton&rsquo;s rebuttal for Flathub not addressing security advisories.</li>
<li><a href="https://madaidans-insecurities.github.io/linux.html#flatpak">Flatpak gives complete access to /proc and /sys</a> by madaidan</li>
<li><a href="https://docs.flatpak.org/en/latest/flatpak-command-reference.html#flatpak-override">Flatpak Command-Line Overrides, by the official documentation</a></li>
<li><a href="https://github.com/rusty-snake/kyst/tree/main/flatpak">rusty-snake&rsquo;s Flatpak overrides</a></li>
<li><a href="https://github.com/tommytran732/Flatpak-Overrides">tommytran732&rsquo;s flatpak overrides</a></li>
<li><a href="https://github.com/flatpak/flatpak/issues/4031#issuecomment-748891490">How does Flatpak handle security?</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Using Imagemagick to Liven Up Your Social Media Posts</title>
      <link>https://trafotin.com/v/fbbkg/</link>
      <pubDate>Fri, 28 Apr 2023 01:47:50 -0500</pubDate>
      <guid>https://trafotin.com/v/fbbkg/</guid>
      <description>&lt;p&gt;Hey everybody, it&amp;rsquo;s Trafotin, &lt;a href=&#34;https://www.huffingtonpost.fr/culture/article/la-censure-de-la-fin-de-fight-club-par-la-chine-a-inspire-snowden_192239.html&#34;&gt;the same Trafotin from Huffington Post article&lt;/a&gt; no one read! I must have depression or something and no joke, I was staring at my Mastodon and TweetDeck thinking there has to be a way to make my posts better! It&amp;rsquo;s so bland with just text and I need something to make it better! Sure, you could make the argument that it&amp;rsquo;s much more bandwidth efficient and lightweight, but images are what grab everyone&amp;rsquo;s attention! And as a YouTuber, I need to get my hands on that sweet sweet attention juice because without it I&amp;rsquo;ll die!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Hey everybody, it&rsquo;s Trafotin, <a href="https://www.huffingtonpost.fr/culture/article/la-censure-de-la-fin-de-fight-club-par-la-chine-a-inspire-snowden_192239.html">the same Trafotin from Huffington Post article</a> no one read! I must have depression or something and no joke, I was staring at my Mastodon and TweetDeck thinking there has to be a way to make my posts better! It&rsquo;s so bland with just text and I need something to make it better! Sure, you could make the argument that it&rsquo;s much more bandwidth efficient and lightweight, but images are what grab everyone&rsquo;s attention! And as a YouTuber, I need to get my hands on that sweet sweet attention juice because without it I&rsquo;ll die!</p>
<p>I started researching someone who had a quick answer to my problem and you&rsquo;ll get plenty I covered before: Canva, Adobe Express, and Microsoft Designer. But I just want a simple prefabricated post background and I don&rsquo;t want to interact with all of these subscription, always online (watching and listening) services to do this!</p>
<p>But turns out the answer I was looking for was one of such evil online services. Yes, more evil than Adobe! More evil than Microsoft&ndash;Facebook.</p>
<p>Facebook lets you add a background to your post, but what they are really doing is taking the text of your post and overlaying it on top of an image. And when I saw that, that&rsquo;s when I knew this is what I wanted. The problem is using such a feature requires a Facebook account, where you use your real name(not your native or &ldquo;chosen&rdquo; name), an email, a (non-VOIP/Google Voice) phone number, and a picture of you holding your passport or driver&rsquo;s license because &ldquo;the future is private.&rdquo;</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/xK0RwubFi-U?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<blockquote>
<p>I know that we don&rsquo;t exactly have the strongest reputation on privacy right now, to put it lightly.</p>
<p><strong><a href="https://youtu.be/xK0RwubFi-U?t=313">Mark Zuckerburg, Facebook F8 2019 Day 1 Keynote | 5:13</a></strong></p>
</blockquote>
<p>I decided to accomplish this by writing this as a shell script. There&rsquo;s no need for a dedicated program or low level languages here, so why reinvent the wheel? The game plan is this:</p>
<ul>
<li>have a library of stock images or preset media</li>
<li>Feed image into sdtin for ImageMagick.</li>
<li>use ImageMagick to generate the specified text I want</li>
<li>Overlay text on top of the stock image</li>
</ul>
<h1 id="convert-image-to-specification">Convert Image to Specification</h1>
<p>First, social media platforms have image specifications. This is where it&rsquo;s important we convert our image to get the aspect ratio correct. Many social media platforms often specify your images are at least 1080p and preferably square, but why? On mobile devices, which is where most users actually view images, images that are 16:9 or 19:10 are acceptable, but they get cut off because of the screen sizes of phones. As a result, post photos on social media uses a 1:1 aspect ratio.</p>
<p>(For example, movies like <em>the Dark Knight</em> have its action scenes shot in IMAX, which closer fits 16:9, but TV shows like <em>Homecoming</em> have its flashback scenes shot in 1:1.)</p>
<p>So let&rsquo;s break down some of what we can do with ImageMagick. ImageMagick is a command-line tool for manipulating images. Now before you think you&rsquo;ve never used ImageMagick before, odds are you have in a different way. If you use or visited a WordPress website (which is 25% of the internet btw), WordPress features integrations for resizing its images with ImageMagick.</p>
<p>Note for Windows users, you need to append <code>magick.exe</code> to the beginning of all of these commands and make sure ImageMagick is in your Powershell path. You could also use WSL.</p>
<p>I downloaded the Deepin wallpapers, which they use photos from <a href="https://unsplash.com">Unsplash</a>, a royalty free image sharing site. I also wrote a command to size down each photo to meet the 1:1 aspect ratio.</p>
<p>In ImageMagick, this is a simple &ldquo;resize&rdquo; command, then cropping off the edges:</p>
<pre tabindex="0"><code>convert &#34;$1&#34; -gravity center -crop 2000x2000:0:0 -resize 1080x1080 fbbkg_background.jpg
</code></pre><p>This preps the user&rsquo;s image to meet those 1080x1080 standards, cropping the sides, and maintains the center of the image. I&rsquo;ll also admit this is fulfill my needs. This script will look weird if you use an image smaller than 1080p, but you shouldn&rsquo;t be uploading blurry photos to social media&hellip;</p>
<h1 id="generating-text-in-imagemagick">Generating Text in ImageMagick</h1>
<p>Next, we&rsquo;re going to be generating some text. While ImageMagick has many ways to generate text, many of them often do not support text wrapping, because if you don&rsquo;t the text is going to trail off the image.</p>
<pre tabindex="0"><code>convert -background transparent -font Source-Sans-3-Bold -size 490x480 -fill white -strokewidth 2 -stroke black caption:&#34;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnam aliquam quaerat voluptatem.&#34;
</code></pre><ul>
<li><code>-background transparent</code> The text needs a transparent background before it&rsquo;s layered on the background image.</li>
<li><code>-gravity center</code> This ensures the text is centered in the image.</li>
<li><code>-font Source-Sans-3-Bold</code> I use Adobe Source Sans 3 when I do hard subtitles in my YouTube Shorts, but you can pick a different font using <code>identify -list font</code> then change this to whatever font you want, under &ldquo;Font: <code>your font</code>.&rdquo;</li>
<li><code>-size 480x480</code> This is the size of the image with the generated text. Ideally, it needs to be smaller than 1080x1080 and sit right in the center of the image.</li>
<li><code>-fill white</code> The text itself will be white as white is more visible in most scenarios. ImageMagick has lots of different preset colors and you will need to consult <a href="https://imagemagick.org/script/color.php">their documentation&rsquo;s list</a>.</li>
<li><code>-strokewidth 2</code> The text itself will be given a 2 px outline.</li>
<li><code>-stroke black</code> The text outline is black <code>#000000</code>.</li>
<li><code>caption: your caption</code> The text we&rsquo;re putting into the image.</li>
<li>at the end at the name of your image. I&rsquo;m using PNG as the file extension, but you could also use WEBP. This won&rsquo;t work on image formats that don&rsquo;t support transparency like JPG and GIF.</li>
</ul>
<h1 id="overlaying-the-images">Overlaying the Images</h1>
<p>Now we have 2 images: the text and the background. Let&rsquo;s overlay them using the <code>composite</code> command.</p>
<pre tabindex="0"><code>fbbkg_name=&#34;$1&#34;
composite -gravity center text_fbbkg.png &#34;$1&#34; &#34;${fbbkg_name%.*}-fb.jpg&#34;
</code></pre>]]></content:encoded>
    </item>
    <item>
      <title>Reviving the 2015 Macbook Air</title>
      <link>https://trafotin.com/v/2015-macbook-air/</link>
      <pubDate>Fri, 21 Apr 2023 01:47:50 -0500</pubDate>
      <guid>https://trafotin.com/v/2015-macbook-air/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/_7600jPFihg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;Apple is a company with big goals and ambitions: they are the largest smart phone marketshare in the United States, they have been dumping money into AR headsets and electric cars people might not want, and to kill off the right to repair! That&amp;rsquo;s right everyone, we&amp;rsquo;re going to be doing the unthinkable&amp;ndash;reviving an old 2015 Macbook Air and installing Linux. Apple may have abandoned it, but I won&amp;rsquo;t, at least my friend won&amp;rsquo;t!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/_7600jPFihg?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>Apple is a company with big goals and ambitions: they are the largest smart phone marketshare in the United States, they have been dumping money into AR headsets and electric cars people might not want, and to kill off the right to repair! That&rsquo;s right everyone, we&rsquo;re going to be doing the unthinkable&ndash;reviving an old 2015 Macbook Air and installing Linux. Apple may have abandoned it, but I won&rsquo;t, at least my friend won&rsquo;t!</p>
<h1 id="8-years-later">8 Years Later</h1>
<p>First things, some background. The 2015 Macbook Air was released at the beginning of 2015 and came with El Capitan.</p>
<p>(Ah yes, the day Epic Games bragged about Fortnite on Apple computers&hellip;)</p>
<p>There&rsquo;s also multiple physical issues from over the years:</p>
<ul>
<li>The down arrow key is missing, but the key works fine.</li>
<li>The hinge for the screen has also seen some wear and tear as the years have gone on.</li>
<li>There used to be layers of masking tape on this thing left by their previous &ldquo;IT guru&rdquo; who left warnings in all caps saying things like &ldquo;DO NOT UNPLUG&rdquo; or whatever. I removed them all for the purposes of this video and they know not to unplug it.</li>
</ul>
<p>The battery is also bulging out of the case so hard, the casing is also damaged. I&rsquo;m actually going to have to get those proprietary Apple screwdrivers to remove the case and unplug the battery, because this battery is a fire hazard waiting to happen!</p>
<p>Even though this is a laptop, the battery is thoroughly damaged beyond repair and this thing will need to be plugged in at all times anyway, so removing the battery isn&rsquo;t that much on an issue. My friend treats this more like a desktop anyway.</p>
<p>This particular laptop I have has received as many software updates as possible and runs Monterey and this is the last version of macOS this poor thing can run. In fact, this computer is on death row. Apple is going to kill off Monterey any day now, especially since Monterey is 2 releases behind Ventura.</p>
<h1 id="lets-install-linux">Let&rsquo;s Install Linux</h1>
<p>It&rsquo;s time to leave MacOS behind and install Linux!</p>
<h2 id="difficulties">Difficulties</h2>
<p>Installing Linux isn&rsquo;t without its problems. First, the very fact that this is Apple hardware makes this an uphill battle. We&rsquo;re going to be fighting with the firmware. Apple is killing off all support for this device and we will lose access to the ability to reinstall MacOS over Wi-Fi to unsigned versions of MacOS. I tested this on this computer when it was running Sierra.</p>
<p>Apple hardware is also very finicky. Apple uses largely Broadcom chipsets for Wi-Fi and cameras, but they&rsquo;re custom cards. Thankfully, Broadcom&rsquo;s drivers are much more usable than they used to be, but it depends highly on what distro and how up to date it is. The webcam does not work at all on Linux, but shockingly, the microphone functions fine. This is because Apple uses a customized Broadcom chip and FaceTime is that sacred.</p>
<h2 id="cutting-up-the-apple">Cutting Up the Apple</h2>
<p>Now you might think you could reinstall the Recovery OS, but you can&rsquo;t, since it&rsquo;s tied to the drive. You also can&rsquo;t boot using Apple&rsquo;s weird EFI boot thing because <a href="https://wiki.gentoo.org/wiki/HFS%2B">it uses an incompatible filesystem</a> (and yes, I&rsquo;m aware you could build a kernel patch, but poor friend isn&rsquo;t going to keep up with this if it breaks). This is why all security bets are off, because our access is going to be cut off if the disk is wiped or corrupted, so we need to disable those necessary and now pesky Apple features.</p>
<p>The first thing we need to do is boot into Recovery on MacOS.</p>
<h3 id="system-integrity-protection">System Integrity Protection</h3>
<p>You can access the Recovery OS by doing <code>⌘ + r</code> when you hear the boot chime. From here, we need to <a href="https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection">disable System Integrity Protection (SIP)</a>. Since our god Apple has forsaken us, disabling SIP is necessary to minimize interference from Apple on what Linux is doing.</p>
<p>In Recovery, click on <code>Utilities</code>, then <code>Terminal</code>. Then run <code>csrutil disable</code>.</p>
<h3 id="firmware-password">Firmware Password</h3>
<p>We need to also disable the firmware password. There&rsquo;s not going to be a way to configure the firmware password without MacOS. The firmware password also hampers the boot process, especially with non-Apple bootloaders. As my friend is victim to default settings, they did not set a firmware password.</p>
<p>In Recovery, click on <code>Utilities</code>, then <code>Startup Security Utility</code>. Then follow the prompts to disable your firmware password.</p>
<h3 id="use-macos-to-create-a-copy">Use MacOS to create a copy</h3>
<p>As a failsafe, you can create a MacOS boot drive using a USB drive with previous versions of MacOS. I have a Monterey USB in the bag in case I mess up somewhere or need to reinstall MacOS.</p>
<p>Apple has a nifty guide on precisely which command you need for which OS.</p>
<center>
<button class="button button1">
<a  href="https://support.apple.com/en-us/HT201372"  >
	
Apple USB Guide

</a>
</button>
</center>

<h2 id="which-distro">Which Distro?</h2>
<p>Now we come to a conundrum: what distro to install? Here&rsquo;s what I tested:</p>
<ul>
<li>Fedora: Broadcom Wi-Fi is very spotty and putting the computer to sleep doesn&rsquo;t work. The Fedora 37 installer also fails and will not proceed. This is unacceptable and apparently <a href="https://discussion.fedoraproject.org/t/bootloader-installer-fails-for-fedora-37-on-macbook-pro-2015-manjaro-installs-fine-on-the-same-machine/71145">has been going for since the launch of Fedora 37</a>. No way I&rsquo;m telling my friend to <a href="https://aleb.ro/post/2022-11-28-installing-fedora-on-macbook-air-a1369/">write a custom grub entry</a>.</li>
<li>openSUSE Tumbleweed will install correctly and the Broadcom drivers function great. The problem is closing the lid will cause the computer to perpetually show a black screen. This is also not good, but still better than Fedora.</li>
<li>Arch: This probably works, but no way I&rsquo;m giving Arch to my normie friend. I hear Manjaro runs fine, which instead of using that dumpster fire, use Arch instead.</li>
<li>Debian: Sleeping doesn&rsquo;t work and proprietary Broadcom Wi-Fi drivers will not reconnect after an hour when I tried it a few years ago. It&rsquo;s not very usable.</li>
</ul>
<p>None of my favorite distros work for what I need! But you don&rsquo;t want to hear what doesn&rsquo;t work! What does?</p>
<h2 id="ubuntu">Ubuntu</h2>
<p>I know this might come as a shock despite how hard I found the best was Ubuntu. The installer correctly identified all the drivers and while I haven&rsquo;t tested the new Ubuntu installer based on Flutter, if the Ubiquiti works this well, I&rsquo;m sure it&rsquo;s pretty good with the Flutter one. Ubuntu seemingly has a lot of polish around the Mac and everything except the webcam works great.</p>
<h2 id="prep-your-usb">Prep Your USB</h2>
<p>While this week might be Ubuntu release day, I&rsquo;m going to be installing the LTS, not interim release 23.04. Since we&rsquo;re stuck using a stable distribution, it&rsquo;s better anyway as we are in the Canonical ecosystem.</p>
<p>As a preface before going in, you might bust out that Ventoy USB with all your favorite Linux distros in it, The problem is Ventoy is fundamentally incompatible with Apple firmware, so you can&rsquo;t use it to boot into anything, even with SIP disabled and no firmware password. You&rsquo;re going to have to boot through USB on this one.</p>
<p>Also, I didn&rsquo;t go down the rabbit hole of alternative bootloaders, like rEFInd, Clover, and OpenCore. If you do choose a custom bootloader, do it before you blow macOS away. I&rsquo;m also not talking about some custom patches.</p>
<h1 id="make-my-mac-normie-proof">Make My Mac Normie Proof</h1>
<ul>
<li>Disable Ubuntu telemetry</li>
<li>Configure update-manager, apt, and snap to auto-update everything</li>
<li>A lot of people don&rsquo;t like Snaps, but I want to strongly recommend against removing it. Although Snaps <a href="/videos/snap-parallel-installs/">have many problems</a>, Snaps are still superior to using unsecured native packages. The Ubuntu Software Store is also the hub where you control all of your Snap permissions, so you want to keep that too.</li>
<li>As an addition, I dropped in the GNOME Software. GNOME Software defaults to Flatpak and I would like to push my friend in this direction. It also supports installing apt and Snap packages.</li>
<li>I installed the Brave Browser and configured it to a basic level.</li>
<li>I installed ONLYOFFICE and VLC to play videos and open office documents.</li>
<li>AppArmor</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Installing Alpine Linux As a Desktop OS</title>
      <link>https://trafotin.com/v/alpine-linux-on-desktop/</link>
      <pubDate>Fri, 24 Mar 2023 01:47:50 -0500</pubDate>
      <guid>https://trafotin.com/v/alpine-linux-on-desktop/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/YNYtJ3jyMRs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;Hey everyone! You know, a funny thing happened to me on the way home today. I ran out of content, that&amp;rsquo;s what! So I decided that I like pain, so let&amp;rsquo;s install Alpine Linux as a desktop environment!&lt;/p&gt;
&lt;p&gt;For those who don&amp;rsquo;t know, Alpine Linux is a distribution that prides itself in being incredibly minimalist. There&amp;rsquo;s no graphical installer, they don&amp;rsquo;t include the core GNU utilities, and they also use the BSD equivalent of sudo doas.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/YNYtJ3jyMRs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>Hey everyone! You know, a funny thing happened to me on the way home today. I ran out of content, that&rsquo;s what! So I decided that I like pain, so let&rsquo;s install Alpine Linux as a desktop environment!</p>
<p>For those who don&rsquo;t know, Alpine Linux is a distribution that prides itself in being incredibly minimalist. There&rsquo;s no graphical installer, they don&rsquo;t include the core GNU utilities, and they also use the BSD equivalent of sudo doas.</p>
<p>As a result of being incredibly stripped down, Alpine is generally used in the development of containers, but who told you you couldn&rsquo;t use it as a desktop OS? I want to, gosh darn it! I want to perpetuate the meme and clown all those FSF zealots!</p>


<iframe title="Schooling a Beta GNUtard on Linux" src="https://videos.lukesmith.xyz/videos/embed/9bae697a-9732-45df-9226-cdf44a30d2b5" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" width="560" height="315" frameborder="0"></iframe>


<blockquote>
<p>&ldquo;I use Alpine, a distro that doesn&rsquo;t include the GNU coreutils, or any other GNU code. It&rsquo;s Linux, but it&rsquo;s not GNU+Linux.&rdquo;</p>
<p><strong><a href="https://videos.lukesmith.xyz/w/ke1bd8TsJJHwvFk7EueXbM">Luke Smith, Schooling a Beta GNUtard on Linux</a></strong></p>
</blockquote>
<p>In all seriousness, I got a nasty idea in my head. A constant meme is perpetuated by online Linux circles is begging people to use things like Void Linux or Gentoo. And when I began to consider the systemd-free distributions. The fact of the matter is it is far easier to use systemd than to use something like openrc (Alpine&rsquo;s alternative) and many applications are built around it. The documentation is way better and it sees very active development.</p>
<p>That being said, on a security perspective, systemd does too many things, more than what most desktop users or admins need on a daily basis. This isn&rsquo;t to systemd is inherently bad. Controversy on the internet travels quickly and lives a long time, and there are still people who resist this to this day for the wrong reasons. The beauty of open-source is you have the choice not to use it.</p>
<p>First, I&rsquo;m not using Gentoo, because I am not waiting 16 hours for a minor update to compile. Binary distributions all the way!</p>
<p>Second, with distributions like Devuan, Void, and Artix, it&rsquo;s difficult to pinpoint how widely used these distributions actually are and whether they get the love and attention your operating system needs (No offense, but I might look at them in the future).</p>
<p>Alpine Linux is the only distribution that fits most people&rsquo;s needs in this regard. It&rsquo;s a minimal, binary distribution with biannual releases, but there&rsquo;s a surprising number of packages in its repositories to get some work done. You can still browse the web, watch videos, or edit documents; practically anything you could do on desktop Linux is available to you. Except for:</p>
<ul>
<li>Gaming (at least optimally)</li>
<li>GPU acceleration that isn&rsquo;t integrated (Nvidia only supports glibc not musl, AMD requires Gentoo hacks)</li>
<li>Running in a virtual machine as a desktop OS. I can&rsquo;t get spice-vdagent to work and good luck with VirtualBox</li>
<li>Programs that require systemd</li>
</ul>
<h1 id="installing-alpine">Installing Alpine</h1>
<p>If you are using Alpine on a virtual machine as a desktop user, I strongly recommend picking the standard ISO. While you might be tempted to pick the virtualized install, it&rsquo;s so stripped down, you won&rsquo;t be able to use copy/paste or drag/drop with Spice or have any other major kernel features out of the box.</p>
<center>
<button class="button button1">
<a  href="https://alpinelinux.org"  >
	
Install Alpine

</a>
</button>
</center>

<ol>
<li>On boot, hit <code>Enter</code> to proceed with booting</li>
<li>Login as root. There&rsquo;s no passphrase.</li>
<li>We&rsquo;re going to run <code>setup-alpine</code>. This is a command-line installer for Alpine Linux.</li>
</ol>
<h2 id="setup-alpine">setup-alpine</h2>
<p>Alpine&rsquo;s command-line installer actually bridges together multiple other scripts that automate the process of building your system. I have them as headings here as a bit of insight to what&rsquo;s happening.</p>
<h3 id="setup-keymap">setup-keymap</h3>
<ul>
<li>Select your keyboard layout by country code. Mine is <code>us</code>.</li>
<li>Select your keyboard variant. Mine is <code>us</code>.</li>
</ul>
<h3 id="setup-hostname">setup-hostname</h3>
<ul>
<li>Enter system hostname. For a desktop user, the default of <code>localhost</code> is fine, but you can change this whatever you want.</li>
<li>Next, we need to connect to the network by selecting an interface. I always use wired <code>eth0</code>, but Alpine&rsquo;s kernel should have the priorietary blobs necessary to get Wi-Fi to work.</li>
<li>Choose <code>dhcp</code> (default) for a dynamic IP.</li>
<li>Additional configuration?</li>
</ul>
<h3 id="usermod--passwd">usermod &amp; passwd</h3>
<p>Create a passphrase for your root user. Don&rsquo;t worry about this one, because we&rsquo;re going to lock the root user later.</p>
<h3 id="setup-timezone">setup-timezone</h3>
<ul>
<li>Press <code>?</code> to see what timezones are available and pick the one that&rsquo;s applicable for you.</li>
<li>I live in the US, so I&rsquo;m going to pick <code>America/</code></li>
<li>Next, the installer will ask for a sub-timezone. This is the area you live in.</li>
<li>I live in the East Coast, so I&rsquo;m going to pick <code>New_York</code>.</li>
</ul>
<h3 id="setup-proxy">setup-proxy</h3>
<p>I don&rsquo;t use a proxy, but you can configure one here (Default: none).</p>
<h3 id="setup-apkrepos">setup-apkrepos</h3>
<p>Alpine will now show various mirrors for their repositories. You can select a number here for a specific one, press <code>f</code> to choose the fastest, or press <code>r</code> for a random one.</p>
<h3 id="standard-user">Standard user</h3>
<p>I&rsquo;m going to set up a standard user account, where I can do my daily activities. I&rsquo;m going to pick <code>user</code>, but you can put whatever you want here; it&rsquo;s your username.</p>
<p>Next, it will ask for your passphrase and make this passphrase a good one.</p>
<h3 id="setup-sshd">setup-sshd</h3>
<p>I&rsquo;m not going to be using SSH, but you can set it up here.</p>
<h3 id="setup-disk">setup-disk</h3>
<ul>
<li>Choose the desired volume. Mine is <code>vda</code>.</li>
<li>Choose your desired volume type. If you are using a virtual machine, you can select the default of <code>sys</code>. However if you are using a physical computer, I strongly recommend choosing <code>cryptsys</code>, which is the encrypted LUKS install, which will protect your computer in the event of seizure or theft.</li>
<li>Type in your passphrase at the prompts.</li>
</ul>
<h1 id="post-installation">Post-Installation</h1>
<p>Now we can reboot into our new system using <code>reboot</code>. Now enter in your encryption passphrase if you have one, since you&rsquo;ll need to do this when you boot up. First, we&rsquo;re going to log to our root user and get our stuff set up.</p>
<h2 id="apk-updates">APK Updates</h2>
<p>Alpine uses the <code>apk</code> package manager (Alpine Package Keeper), which is pretty basic, so you need to hold its hand a little bit.</p>
<ul>
<li><code>apk update</code> to update the package list.</li>
<li><code>apk upgrade --available</code> to install any upgrades.</li>
<li><code>apk add &lt;package&gt;</code> to install a package.</li>
<li><code>apk del &lt;package&gt;</code> to uninstall a package.</li>
</ul>
<p>I prefer to use vim instead of vi, but you can do whatever works for you.</p>
<h2 id="rootless-user-with-doas">Rootless User With doas</h2>
<p>By default, Alpine does not install sudo, but we&rsquo;re going to opt for doas, as it is more minimal. Remember, I chose <code>user</code> as my username, so you need to choose your username.</p>
<pre tabindex="0"><code>adduser user wheel
apk add doas
</code></pre><p>Now, we need to logout of our root user and into our <code>user</code> account, now with freshly minted doas privileges by typing <code>exit</code>.</p>
<p>On logging into the <code>user</code> account, we now have reduced privileges and we are able to run commands with doas. Now we need to lock the root account, so nobody can just abuse it.</p>
<pre tabindex="0"><code>doas passwd -l root
</code></pre><h2 id="installing-a-desktop-environment">Installing a Desktop Environment</h2>
<p>As Alpine is largely used on servers, we need to add the community repository to gain access to desktop packages. With doas, we can edit the line with the community mirror.</p>
<pre tabindex="0"><code>doas vim /etc/apk/repositories
doas apk update
</code></pre><p>You&rsquo;ll know it worked when the package count leapt from ~4000 to ~17000.</p>
<p>Alpine does not have a wide selection of desktop environments, but they support:</p>
<ul>
<li>GNOME</li>
<li>KDE Plasma</li>
<li>Sway</li>
</ul>
<p>I&rsquo;m going to pick GNOME as GNOME on Alpine doesn&rsquo;t require using Xorg, since we should all be moving to Wayland. To be clear, installing GNOME, KDE, or Xfce doesn&rsquo;t install a minimal package; it installs some other things too.</p>
<p>Run the following command to setup your desktop. We also need NetworkManager, . Afterwards, we&rsquo;re going to reboot and start those new services.</p>
<pre tabindex="0"><code>doas setup-desktop [gnome]
doas apk add bash bash-completion networkmanager-wifi
doas reboot
</code></pre><h1 id="niceties">Niceties</h1>
<p>The following are things I have tested out.</p>
<h2 id="debloating-gnome">Debloating GNOME</h2>
<p>Let&rsquo;s debloat GNOME.</p>
<pre tabindex="0"><code>doas apk del firefox
doas apk add evince eog nautilus alacritty vlc
</code></pre><h2 id="flatpak">Flatpak</h2>
<p>Now let&rsquo;s setup Flatpak with some of the packages we need, which provides a whole host of apps that never would be in Alpine&rsquo;s repos anyway.</p>
<pre tabindex="0"><code>doas apk add flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.mozilla.firefox
</code></pre><h2 id="pipewire">Pipewire</h2>
<p>There&rsquo;s no sound out of the box, so let&rsquo;s install PipeWire.</p>
<pre tabindex="0"><code>doas addgroup user audio
doas addgroup user video
# If you installed a desktop environment
doas apk del pulseaudio 
doas apk add pipewire wireplumber pipewire-pulse
</code></pre><h2 id="apparmor">AppArmor</h2>
<p>There&rsquo;s no mandatory access controls in Alpine, so we need to install it ourselves.</p>
<pre tabindex="0"><code>doas apk add apparmor apparmor-utils apparmor-profiles
</code></pre><p>Next we need to review our Linux security modules (LSM).</p>
<pre tabindex="0"><code>cat /sys/kernel/security/lsm
</code></pre><p>Then we&rsquo;re going to edit the boot configuration to override the default LSM files. It&rsquo;s important you copy <code>/sys/kernel/security/lsm</code> and put whatever you saw there, with</p>
<pre tabindex="0"><code>doas vim /boot/extlinux.conf

lsm=landlock,yama,apparmor
</code></pre><p>Now start AppArmor on boot:</p>
<pre tabindex="0"><code>doas rc-service apparmor start
doas rc-update add apparmor boot
</code></pre><p>Finally, verify AppArmor is working.</p>
<p><code>doas aa-status</code></p>
<p>If this is good, then set all available profiles into enforce mode. If you use any of these applications, set them into complain mode if they give you problems or write your own configuration.</p>
<pre tabindex="0"><code>doas aa-enforce /etc/apparmor.d/*
</code></pre><h2 id="spice-agent">Spice Agent</h2>
<p>I haven&rsquo;t figured out how to get Spice working properly on Alpine. If someone knows, let me know down in the comments on YouTube or Odysee.</p>
]]></content:encoded>
    </item>
    <item>
      <title>KDE KILLED My One True Love...</title>
      <link>https://trafotin.com/v/kde-5_27/</link>
      <pubDate>Fri, 17 Mar 2023 01:10:49 -0500</pubDate>
      <guid>https://trafotin.com/v/kde-5_27/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/PnJ28gY-4LU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;Long time viewers of the channel know I don&amp;rsquo;t talk about my current setup. I started using KDE Plasma a couple months ago and I&amp;rsquo;ve been incredibly impressed with how just a little bit of setup, KDE Plasma has become my desktop environment of choice.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/PnJ28gY-4LU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>Long time viewers of the channel know I don&rsquo;t talk about my current setup. I started using KDE Plasma a couple months ago and I&rsquo;ve been incredibly impressed with how just a little bit of setup, KDE Plasma has become my desktop environment of choice.</p>
<h1 id="why-kde">Why KDE?</h1>
<p>The last time I daily drove KDE was 6 years ago. I ran a setup much like MacOS and was a big Latte Dock user (rest in peace Latte Dock). KDE is also a powerhouse in desktop Linux, coming strong through things like Valve&rsquo;s Steam Deck or as the flagship in SUSE&rsquo;s desktop spins. KDE is one of the oldest desktop environments in Linux, receiving funding from Google, Canonical, and Tuxedo.</p>
<p>Long time viewers will know I previously used the Awesome window manager and GNOME on camera in the past, but I&rsquo;ve never gotten into detail about this change. I also have an Nvidia graphics card (specifically the Nvidia 1080 TI) and have been seeking the next thing that runs it the best.
I want to advocate for using what works for you, but at the same time, we need to be looking towards the future.</p>
<h1 id="wayland--nvidia">Wayland &amp; Nvidia</h1>
<p>The truth is most Linux desktop environments or window managers are not prepared for the future or don&rsquo;t see enough development. One of the major reasons I switched was Wayland. Along with GNOME and Sway, KDE promotes and supports the Wayland display protocol, a secure and cleaner display system for the modern age.</p>
<p>Many other desktops just are not prepared for Wayland and part of future-proofing our stuff is using software that promotes future technologies. Wayland is more secure and we need to use as much as possible especially since XOrg&rsquo;s development has hit an all time low.</p>
<p>Now the eagle eyed among you will know Nvidia is a massive pain on Linux. But in reality, I had to make zero changes to get KDE to accept the proprietary driver. What shocked me the most was I had experimented with KDE months ago and Nvidia was not functional at all. It truly is a &ldquo;it just works&rdquo; situation!</p>
<p>Of course, this might be because I have an incredibly common computer. I frequently get asked what my computer is, and if you want to know, go look up <a href="https://www.pcgamesn.com/cyberpunk-2077-1080p-nvidia-gtx-1080-ti">the Cyberpunk 2077 benchmark computers</a>. Basically, I have that and 32 GB of RAM and Fedora 37. Your mileage may vary. If you are using an older KDE version on another stable distro, do not expect Wayland to work with Nvidia.</p>
<h1 id="tiling-windows">Tiling Windows</h1>
<p>Every nerd loves a tiling window manager, but while I initially wanted to use the Sway window manager, they refuse to support the proprietary Nvidia driver, so they&rsquo;re off the table. That sent me crawling over to GNOME, where you can use System76&rsquo;s GNOME extension, Pop Shell. I&rsquo;ve never covered it in depth, but it adds a sort of &ldquo;pseudo-tiling&rdquo; functionality to GNOME. I&rsquo;ll freely admit using Pop Shell in its current state is an objective downgrade from using a tiling window manager, but I wanted to experience Nvidia and Wayland, for content of course!</p>
<p>But System76 rocked the Linux desktop space by announcing the creation of their own desktop environment, Cosmic. This actually got me worried because if System76 is going to drop GNOME soon, what&rsquo;s going to become of the state of Pop Shell GNOME extension?</p>
<p><a href="https://streaming.media.ccc.de/jev22/relive/49255">A talk by Victoria Brekenfeld, where she discusses smithay, PopOS&rsquo;s custom Wayland compositor.</a></p>
<p>Yes, I am aware that System76 wants to support Wayland and Nvidia, but it&rsquo;s going to take time for that to propagate through Linux distros repositories. For perspective, it took years for Arch Linux and Fedora&rsquo;s maintainers to package ElementaryOS&rsquo;s Pantheon desktop environment when it first came out. Plus there&rsquo;s the risk Cosmic will suffer the same fate Unity did at the hands of Canonical.</p>
<p>On the other hand with KDE, KDE has pledged to support <a href="https://pointieststick.com/2022/12/02/this-week-in-kde-custom-tiling/">a new API to allow built-in window tiling</a> without the assistance of an extension. This functionality is now in KDE, but developers still need to catch up, so I&rsquo;ve been using <a href="https://bismuth-forge.github.io/bismuth/">bismuth</a>, the most popular extension for tiling, which also has a .RPM package in Fedora.</p>
<p>Moving from Pop Shell to Bismuth is night and day. Pop-Shell requires you press a set key, like <code>Super + Shift + Enter</code> to enter a &ldquo;window moving&rdquo; mode, then another key to move your windows around (default <code>hjkl</code>). It&rsquo;s a lot of keystrokes and moving to Bismuth requires I only press 1 shortcut to shuffle windows around.</p>
<p>Since Bismuth is around and KDE has added new APIs to support window tiling, I can now rest assured that nobody is going to touch my window tiling!</p>
<p><em>In defense of Pop Shell, this is likely a limitation of GNOME.</em></p>
<h1 id="customization">Customization</h1>
<p>GNOME has treated me well and I can still say that I still has one of the stable desktop experiences out there. But a lot of people, including myself, don&rsquo;t like having work around GNOME having their own vision, particularly when that vision doesn&rsquo;t align with my own.</p>
<p>For example, you can&rsquo;t export your GNOME keybindings through the GUI. Instead, you run this dconf command to output the keys into a file.</p>
<pre tabindex="0"><code>dconf dump /org/gnome/settings-daemon/plugins/media-keys/ &gt; keys.txt
</code></pre><p>Then you need to load the same keys again on the new device.</p>
<pre tabindex="0"><code>cat keys.txt | dconf load /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/
</code></pre><p>I respect GNOME for what it is, but I don&rsquo;t want to have to fumble through dconf to figure out I have to do when at least with KDE, while their settings menu is confusing, at least it&rsquo;s search-able. They also let you set a default terminal (unlike GNOME), have more than 4 desktops accessible via keybindings, and native tiling windows.</p>
<p>KDE also lets you customize your desktop to a great degree. I always gravitate to the Unity layout (Ubuntu Unity) since it makes better use of the short-end of the screen, but I stopped because of the way my multi-monitor setup works. My current setup is more similar to Windows 11, but instead of nagging from the weather widget, I have a visual list of all my desktops.</p>
<h1 id="the-kde-ecosystem">The KDE Ecosystem</h1>
<p>I tried out each various programs from the KDE ecosystem:</p>
<ul>
<li>Dolphin has improved a lot and even has the ability to mount Apple devices via GUI, which only GNOME used to be able to do previously. Dolphin also has better thumbnailing for non-standard files, but you need to install ffmpegthumbs on Arch or Fedora.</li>
<li>Spectacle also lets you annotate or draw on top of screenshots as well as record native Wayland sessions, which is an absolute functionality win compared to GNOME Screenshot.</li>
<li>Discover now has direct links to a project in the repos, which is something GNOME Software doesn&rsquo;t have. However, Discover&rsquo;s auto-update feature is so resource intensive that I just deleted PackageKit and Discover altogether out of annoyance.</li>
<li>I tried using Kmail, but as a creature of habit I went back to using Mozilla Thunderbird.</li>
<li>KColorChooser is one of the few standalone color pickers on Wayland that I know and it&rsquo;s very functional.</li>
<li>KDE Partition Manager, while native to KDE, still feels inferior to GNOME Disk Utility. GNOME Disk Utility is more intuitive, doesn&rsquo;t require root privileges on startup, and lets you burn ISOs to devices.</li>
<li>Okular lets you sign documents (even if the method is really convoluted)</li>
<li>KCalc doesn&rsquo;t connect to the internet (did you know GNOME Calculator connects to the internet to get real-time currency conversion rates?)</li>
</ul>
<h1 id="caveats">Caveats</h1>
<p>I&rsquo;m going to briefly going to touch upon some minor issues now.</p>
<ul>
<li>KDE 5.26 has errors when you log out and your computer will be a black screen. I have replicated this on both X11 and Wayland, but 5.27 has fixed it. However, 5.27 is only being shipped in Arch Linux right now.</li>
<li>Firefox on Wayland requires a special flag on KDE and using your distro&rsquo;s native package or the Snap will give you problems. If you use the Flatpak and add the environment variable <code>MOZ_ENABLE_WAYLAND=1</code> in .bashrc/.zshrc, it will work fine.</li>
<li>Copy/pasting in (Neo)vim requires you install wl-clipboard as vim defaults to xclip rather than a native Wayland solution.</li>
<li>DaVinci Resolve does not display window decorations. It doesn&rsquo;t mean much to me as a tiling window manager user, but if I was using KDE as a floating window manager, I&rsquo;d be upset.</li>
<li>Chromium/Electron apps, like Signal or Brave, and Zoom cannot share your screen. This is because XDG Portals, a standard in the XDG Desktop, isn&rsquo;t yet supported.</li>
<li>OBS works as long as you are using Pipewire and you add the environment variable (You should be using Pipewire because it&rsquo;s more consistent and secure than PulseAudio)</li>
<li>Night light filters do not work on Wayland, not on KDE nor GNOME.</li>
<li>Mixing GNOME and KDE apps does not look good. Same criticism applies for GNOME.</li>
<li>Windows that don&rsquo;t use their own icons will default to using XOrg or Wayland icons, depending on which display system they use.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>KDE Plasma With Nvidia, Wayland, and Bismuth</title>
      <link>https://trafotin.com/v/kde-5_26/</link>
      <pubDate>Sat, 21 Jan 2023 01:10:49 -0500</pubDate>
      <guid>https://trafotin.com/v/kde-5_26/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/PnJ28gY-4LU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;Long time viewers of the channel know I don&amp;rsquo;t talk about my current setup. I started using KDE Plasma a couple months ago and I&amp;rsquo;ve been incredibly impressed with how just a little bit of setup, KDE Plasma has become my desktop environment of choice.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/PnJ28gY-4LU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>Long time viewers of the channel know I don&rsquo;t talk about my current setup. I started using KDE Plasma a couple months ago and I&rsquo;ve been incredibly impressed with how just a little bit of setup, KDE Plasma has become my desktop environment of choice.</p>
<h1 id="why-kde">Why KDE?</h1>
<p>The last time I daily drove KDE was 6 years ago. I ran a setup much like MacOS and was a big Latte Dock user (rest in peace Latte Dock). KDE is also a powerhouse in desktop Linux, coming strong through things like Valve&rsquo;s Steam Deck or as the flagship in SUSE&rsquo;s desktop spins. KDE is one of the oldest desktop environments in Linux, receiving funding from Google, Canonical, and Tuxedo.</p>
<p>Long time viewers will know I previously used the Awesome window manager and GNOME on camera in the past, but I&rsquo;ve never gotten into detail about this change. I also have an Nvidia graphics card (specifically the Nvidia 1080 TI) and have been seeking the next thing that runs it the best.
I want to advocate for using what works for you, but at the same time, we need to be looking towards the future.</p>
<h1 id="wayland--nvidia">Wayland &amp; Nvidia</h1>
<p>The truth is most Linux desktop environments or window managers are not prepared for the future or don&rsquo;t see enough development. One of the major reasons I switched was Wayland. Along with GNOME and Sway, KDE promotes and supports the Wayland display protocol, a secure and cleaner display system for the modern age.</p>
<p>Many other desktops just are not prepared for Wayland and part of future-proofing our stuff is using software that promotes future technologies. Wayland is more secure and we need to use as much as possible especially since XOrg&rsquo;s development has hit an all time low.</p>
<p>Now the eagle eyed among you will know Nvidia is a massive pain on Linux. But in reality, I had to make zero changes to get KDE to accept the proprietary driver. What shocked me the most was I had experimented with KDE months ago and Nvidia was not functional at all. It truly is a &ldquo;it just works&rdquo; situation!</p>
<p>Of course, this might be because I have an incredibly common computer. I frequently get asked what my computer is, and if you want to know, go look up <a href="https://www.pcgamesn.com/cyberpunk-2077-1080p-nvidia-gtx-1080-ti">the Cyberpunk 2077 benchmark computers</a>. Basically, I have that and 32 GB of RAM and Fedora 37. Your mileage may vary. If you are using an older KDE version on another stable distro, do not expect Wayland to work with Nvidia.</p>
<h1 id="tiling-windows">Tiling Windows</h1>
<p>Every nerd loves a tiling window manager, but while I initially wanted to use the Sway window manager, they refuse to support the proprietary Nvidia driver, so they&rsquo;re off the table. That sent me crawling over to GNOME, where you can use System76&rsquo;s GNOME extension, Pop Shell. I&rsquo;ve never covered it in depth, but it adds a sort of &ldquo;pseudo-tiling&rdquo; functionality to GNOME. I&rsquo;ll freely admit using Pop Shell in its current state is an objective downgrade from using a tiling window manager, but I wanted to experience Nvidia and Wayland, for content of course!</p>
<p>But System76 rocked the Linux desktop space by announcing the creation of their own desktop environment, Cosmic. This actually got me worried because if System76 is going to drop GNOME soon, what&rsquo;s going to become of the state of Pop Shell GNOME extension?</p>
<p><a href="https://streaming.media.ccc.de/jev22/relive/49255">A talk by Victoria Brekenfeld, where she discusses smithay, PopOS&rsquo;s custom Wayland compositor.</a></p>
<p>Yes, I am aware that System76 wants to support Wayland and Nvidia, but it&rsquo;s going to take time for that to propagate through Linux distros repositories. For perspective, it took years for Arch Linux and Fedora&rsquo;s maintainers to package ElementaryOS&rsquo;s Pantheon desktop environment when it first came out. Plus there&rsquo;s the risk Cosmic will suffer the same fate Unity did at the hands of Canonical.</p>
<p>On the other hand with KDE, KDE has pledged to support <a href="https://pointieststick.com/2022/12/02/this-week-in-kde-custom-tiling/">a new API to allow built-in window tiling</a> without the assistance of an extension. This functionality is now in KDE, but developers still need to catch up, so I&rsquo;ve been using <a href="https://bismuth-forge.github.io/bismuth/">bismuth</a>, the most popular extension for tiling, which also has a .RPM package in Fedora.</p>
<p>Moving from Pop Shell to Bismuth is night and day. Pop-Shell requires you press a set key, like <code>Super + Shift + Enter</code> to enter a &ldquo;window moving&rdquo; mode, then another key to move your windows around (default <code>hjkl</code>). It&rsquo;s a lot of keystrokes and moving to Bismuth requires I only press 1 shortcut to shuffle windows around.</p>
<p>Since Bismuth is around and KDE has added new APIs to support window tiling, I can now rest assured that nobody is going to touch my window tiling!</p>
<p><em>In defense of Pop Shell, this is likely a limitation of GNOME.</em></p>
<h1 id="customization">Customization</h1>
<p>GNOME has treated me well and I can still say that I still has one of the stable desktop experiences out there. But a lot of people, including myself, don&rsquo;t like having work around GNOME having their own vision, particularly when that vision doesn&rsquo;t align with my own.</p>
<p>For example, you can&rsquo;t export your GNOME keybindings through the GUI. Instead, you run this dconf command to output the keys into a file.</p>
<pre tabindex="0"><code>dconf dump /org/gnome/settings-daemon/plugins/media-keys/ &gt; keys.txt
</code></pre><p>Then you need to load the same keys again on the new device.</p>
<pre tabindex="0"><code>cat keys.txt | dconf load /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/
</code></pre><p>I respect GNOME for what it is, but I don&rsquo;t want to have to fumble through dconf to figure out I have to do when at least with KDE, while their settings menu is confusing, at least it&rsquo;s search-able. They also let you set a default terminal (unlike GNOME), have more than 4 desktops accessible via keybindings, and native tiling windows.</p>
<p>KDE also lets you customize your desktop to a great degree. I always gravitate to the Unity layout (Ubuntu Unity) since it makes better use of the short-end of the screen, but I stopped because of the way my multi-monitor setup works. My current setup is more similar to Windows 11, but instead of nagging from the weather widget, I have a visual list of all my desktops.</p>
<h1 id="the-kde-ecosystem">The KDE Ecosystem</h1>
<p>I tried out each various programs from the KDE ecosystem:</p>
<ul>
<li>Dolphin has improved a lot and even has the ability to mount Apple devices via GUI, which only GNOME used to be able to do previously. Dolphin also has better thumbnailing for non-standard files, but you need to install ffmpegthumbs on Arch or Fedora.</li>
<li>Spectacle also lets you annotate or draw on top of screenshots as well as record native Wayland sessions, which is an absolute functionality win compared to GNOME Screenshot.</li>
<li>Discover now has direct links to a project in the repos, which is something GNOME Software doesn&rsquo;t have. However, Discover&rsquo;s auto-update feature is so resource intensive that I just deleted PackageKit and Discover altogether out of annoyance.</li>
<li>I tried using Kmail, but as a creature of habit I went back to using Mozilla Thunderbird.</li>
<li>KColorChooser is one of the few standalone color pickers on Wayland that I know and it&rsquo;s very functional.</li>
<li>KDE Partition Manager, while native to KDE, still feels inferior to GNOME Disk Utility. GNOME Disk Utility is more intuitive, doesn&rsquo;t require root privileges on startup, and lets you burn ISOs to devices.</li>
<li>Okular lets you sign documents (even if the method is really convoluted)</li>
<li>KCalc doesn&rsquo;t connect to the internet (did you know GNOME Calculator connects to the internet to get real-time currency conversion rates?)</li>
</ul>
<h1 id="caveats">Caveats</h1>
<p>I&rsquo;m going to briefly going to touch upon some minor issues now.</p>
<ul>
<li>KDE 5.26 has errors when you log out and your computer will be a black screen. I have replicated this on both X11 and Wayland, but 5.27 has fixed it. However, 5.27 is only being shipped in Arch Linux right now.</li>
<li>Firefox on Wayland requires a special flag on KDE and using your distro&rsquo;s native package or the Snap will give you problems. If you use the Flatpak and add the environment variable <code>MOZ_ENABLE_WAYLAND=1</code> in .bashrc/.zshrc, it will work fine.</li>
<li>Copy/pasting in (Neo)vim requires you install wl-clipboard as vim defaults to xclip rather than a native Wayland solution.</li>
<li>DaVinci Resolve does not display window decorations. It doesn&rsquo;t mean much to me as a tiling window manager user, but if I was using KDE as a floating window manager, I&rsquo;d be upset.</li>
<li>Chromium/Electron apps, like Signal or Brave, and Zoom cannot share your screen. This is because XDG Portals, a standard in the XDG Desktop, isn&rsquo;t yet supported.</li>
<li>OBS works as long as you are using Pipewire and you add the environment variable (You should be using Pipewire because it&rsquo;s more consistent and secure than PulseAudio)</li>
<li>Night light filters do not work on Wayland, not on KDE nor GNOME.</li>
<li>Mixing GNOME and KDE apps does not look good. Same criticism applies for GNOME.</li>
<li>Windows that don&rsquo;t use their own icons will default to using XOrg or Wayland icons, depending on which display system they use.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Whonix Gateway/Workstation: Debian, Tor, and Virtual Machines</title>
      <link>https://trafotin.com/v/whonix-gateway-workstation/</link>
      <pubDate>Thu, 22 Dec 2022 01:58:52 -0500</pubDate>
      <guid>https://trafotin.com/v/whonix-gateway-workstation/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
			&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/aRm1dotfNnY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;One of the coolest staple operating systems to always have in your toolkit is Whonix. Whonix has always been one of my personal mainstays in my arsenal of Linux operating systems, especially since it&amp;rsquo;s so different. So strap yourselves in, since people love them distro reviews, let&amp;rsquo;s learn about Whonix.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/aRm1dotfNnY?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>

<p>One of the coolest staple operating systems to always have in your toolkit is Whonix. Whonix has always been one of my personal mainstays in my arsenal of Linux operating systems, especially since it&rsquo;s so different. So strap yourselves in, since people love them distro reviews, let&rsquo;s learn about Whonix.</p>
<h1 id="what-is-whonix">What is Whonix?</h1>
<p>Whonix is not your traditional Linux operating system. Most people install Linux on real computers, virtual machines, or servers, but Whonix exclusively works on virtual machines. Also it requires that your computer supports virtual machines, and not just 1, but 2.</p>
<p>Whonix is incredibly distrustful of their &ldquo;Workstation&rdquo; virtual machine, which is where you conduct all the normal activities that you&rsquo;d expect to do on Linux. To protect your privacy (and from all those loser sellouts with VPN sponsors), Whonix filters everything through the Tor network using a second lighter-weight virtual machine, the Gateway virtual machine.</p>
<p>Now if you were running Whonix with just one virtual machine, a virus or phishing email could in theory turn off the anonymity protections that Tor gives you, and deanonymize you. In fact, we know this <a href="https://www.vice.com/en/article/v7gd9b/facebook-helped-fbi-hack-child-predator-buster-hernandez">has been done before by companies and governments in targeted attacks before</a>.</p>
<p><em>Even if it was a child predator, Facebook is so messed up that they are willing to pay for 6 figure research to develop a cyber weapon for a government agency.</em></p>
<p>By using multiple virtual machines, malicious programs can&rsquo;t just &ldquo;turn off&rdquo; Tor, they need to get past the virtual machine system you use, KVM or VirtualBox. In fact, if you use KVM, which I covered on the channel before, <a href="https://www.flickr.com/photos/linuxfoundation/52376667751/in/album-72177720301957202/">companies like Red Hat, Google, and Amazon</a> have a vested interest in preventing people from doing just this to their data centers.</p>
<p>So you need to have not the most amazing computer, but one decent enough to run 2 other operating systems. And if you are going to use it, <a href="https://www.whonix.org/wiki/MacOS#M1">you can&rsquo;t use an Apple Silicon Mac</a>, and you need to use Linux and KVM to make the most out of it.</p>
<p>Another oddity for people who know me well is Whonix is based on Debian. The Whonix developers have mitigated a lot of the security issues that exist in Debian&rsquo;s default installation and implemented further kernel hardening measures on top of it; so in my mind, if you&rsquo;re going to use Debian, this is one of the ways to use it best.</p>
<h1 id="installation">Installation</h1>
<p>Whonix has a page for installing VirtualBox, but I want to focus on KVM, which stumped me years ago getting into it. Whonix&rsquo;s current KVM maintainer, HulaHoop, provides very in-depth instructions based on operating system.</p>
<h2 id="downloading-the-qcow-files">Downloading the .QCOW files</h2>
<p>Download Whonix Xfce.</p>
<p>Verify you received the authentic archive using the OpenPGP Signature by downloading it.</p>
<p><code>cd [the directory in which you downloaded the .libvirt.xz and the .asc]</code></p>
<p>Download HulaHoop&rsquo;s <a href="https://www.whonix.org/keys/hulahoop.asc">OpenPGP key</a>.</p>
<p>Import HulaHoop&rsquo;s key to your GPG keyring.</p>
<pre tabindex="0"><code>gpg --keyid-format long --import --import-options show-only --with-fingerprint hulahoop.asc
</code></pre><p>Next, we need to verify the PGP key.</p>
<pre tabindex="0"><code>gpg --verify-options show-notations --verify Whonix*.libvirt.xz.asc Whonix*.libvirt.xz
</code></pre><p>If the download is authentic, we want to see:</p>
<pre tabindex="0"><code>gpg --verify-options show-notations --verify Whonix*.libvirt.xz.asc Whonix*.libvirt.xz
</code></pre><p><em>Do not continue if the verification fails. Try downloading Whonix again</em></p>
<h2 id="the-whonix-license-agreement">The Whonix License Agreement</h2>
<p>Extract the archive:</p>
<pre tabindex="0"><code>tar -xvf Whonix*.libvirt.xz
</code></pre><p>First we need to read the Whonix License Agreement. Unlike Microsoft&rsquo;s end user license agreement, you can do whatever you want to Whonix, but you are 100% responsible for whatever you do, not them nor I am responsible for whatever happens.</p>
<p><code>more WHONIX_BINARY_LICENSE_AGREEMENT</code></p>
<p>To agree, enter the following:
<code>touch WHONIX_BINARY_LICENSE_AGREEMENT_accepted</code></p>
<p>If you don&rsquo;t accept, you can&rsquo;t continue with the installation.</p>
<h2 id="importing-the-kvm-templates">Importing the KVM Templates</h2>
<p>First add the virtual machine networks:</p>
<pre tabindex="0"><code>sudo virsh -c qemu:///system net-define Whonix_external*.xml
sudo virsh -c qemu:///system net-define Whonix_internal*.xml
</code></pre><p>Next activate the virtual networks and import the images.</p>
<pre tabindex="0"><code>sudo virsh -c qemu:///system net-autostart Whonix-External
sudo virsh -c qemu:///system net-start Whonix-External
sudo virsh -c qemu:///system net-autostart Whonix-Internal
sudo virsh -c qemu:///system net-start Whonix-Internal
sudo virsh -c qemu:///system define Whonix-Gateway*.xml
sudo virsh -c qemu:///system define Whonix-Workstation*.xml
</code></pre><p>Finally, let&rsquo;s move them in place. Don&rsquo;t be alarmed that they are 100GB, they will be much smaller at first and will expand as you put more in them.</p>
<pre tabindex="0"><code>sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
sudo cp --sparse=always Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2
</code></pre><p>If the move is successful and you can dispose of the files.</p>
<h1 id="first-setup">First Setup</h1>
<p>If you open virt-manager, you&rsquo;ll see there&rsquo;s two new entries:</p>
<ol>
<li>Whonix Workstation: This is where you conduct your browsing and desktop activities.</li>
<li>Whonix Gateway: This is where you configure your connection to the Tor network.</li>
</ol>
<p>There&rsquo;s a specific order to launching the virtual machines. You can also make duplicates of the Workstation, but there isn&rsquo;t much value into making duplicate Gateways.</p>
<p>There&rsquo;s also a live boot mode, which allows you to boot into a completely disposable desktop session that will delete your files when powered off.</p>
<h2 id="logging-in">Logging In</h2>
<p>First boot up Gateway. This will kick you into a TTY environment.</p>
<p>Default username: <code>user</code></p>
<p>Default password: <code>changeme</code></p>
<p>Next, change your password using <code>passwd</code>. You shouldn&rsquo;t use the default password.</p>
<p>Connect to the network using <code>sudo whonixsetup</code>. Then wait for Tor to connect.</p>
<p>Finally, run updates. Whonix&rsquo;s devs created a script which manages apt without root privileges:</p>
<pre tabindex="0"><code>upgrade-nonroot
</code></pre><p>Then repeat the same steps with Whonix Workstation, but no <code>sudo whonixsetup</code>. You will also need to open the Tor Browser and allow it to be fully updated.</p>
<h1 id="using-whonix">Using Whonix</h1>
<p>Whonix also places priority on your security first and foremost. That doesn&rsquo;t mean that other operating systems don&rsquo;t protect you, but in addition to being locked into a virtual machine, you can&rsquo;t just install and use the same programs you like to use on Linux.</p>
<ul>
<li>Wine does not work <a href="https://github.com/Kicksecure/security-misc/blob/73f6523e09f12fc56da0ed3555d050686ff441f3/etc/sysctl.d/30_security-misc.conf">due to a modified kernel parameter</a>.</li>
<li>The kernel hardening has made it harder to run Flatpaks in the past.</li>
<li>Using other programs that use Tor within Whonix (OnionShare, Brave, etc) makes you stand out amongst others in the Tor network. This is because your traffic is being bounced twice as much as everyone else.</li>
<li>Tor is not a place for illegal activity. Do not rely on it for protection.</li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
