This repository has been archived on 2024-01-22. You can view files and clone it, but cannot push or open issues or pull requests.
speedie-page/rss.xml
2023-06-17 02:23:13 +02:00

259 lines
61 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>speedie's blog</title>
<link>https://speedie.site/blog</link>
<description>Note that these are archived blog posts and are only here because deleting blog posts is dumb.</description>
<atom:link href="https://speedie.site/rss.xml" rel="self" type="application/rss+xml" />
<item>
<title>Normies are destroying GNU/Linux</title>
<link>https://speedie.site/articles/post50</link>
<guid>https://speedie.site/articles/post50.php</guid>
<pubDate>Thu, 09 Mar 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>So, because this blog post marks blog post number 50, and because the first blog post is 1 year old today, I thought to celebrate I'd do a rewrite of my first blog post, which still holds true, actually more so than when I intially wrote it. Granted, the original blog post is terrible, it was fueled out of frustration and nothing more so let's give the topic the chance it deserves.</p>
<p>As well all know, GNU/Linux is an operating system and it has always been the outcast, it has always been less popular than other operating systems like Windows and macOS. Out of the outcast operating systems like BSD, Haiku and more however, it's pretty popular and it's growing in popularity. While this may seem like a good thing at first, when you actually dig deeper into what that means for GNU/Linux, you'll find many problems and I want to talk about those today.</p>
<p>So let's go back into the early days. Linus Torvalds developed the Linux kernel, which was used in combination with the GNU project. This means we now have a completely free software operating system. Great, now we don't have to use spyware nonfree software that doesn't respect your freedom anymore and everything is good for the small userbase. Previously GNU/Linux followed the UNIX philosophy rather closely, which is what made it so great. Of course there were exceptions to this rule, such as X11 (and today Wayland), however most software was minimal, and closely followed the UNIX philosophy like it was a religion, as that was expected out of software.</p>
<p>As GNU/Linux got more mainstream and normies got their hands on it, this freedom, this minimalism, all this stuff that made GNU/Linux so great started to disappear. When normies found this free operating system, naturally being normies they didn't want to actually learn anything about minimalism and free software, and certainly didn't want to enjoy any of the perks of it. Instead of that, they initially whined and complained about how it was different from what they're used to. And we, members of the GNU/Linux community in response did everything in our power to make the "Year of the GNU/Linux desktop" happen. Except..</p>
<p>We didn't. In response to normies complaining, we as a community at large started developing garbage, bloated software that throws everything that makes GNU/Linux and UNIX in general so great in the trash. We're no longer using text streams, we're no longer writing quality software with quality code, instead we're focusing on developing libraries on top of libraries that just add bloat to a project and create huge basically packages of software in an effort to please normies who refuse to appreciate the beauty of UNIX-like operating systems and just wanted to stick to what they're familiar with.</p>
<p>Here's the thing, If you're this kind of person who doesn't want to learn GNU/Linux, you don't want to learn about UNIX-like operating systems and you don't want to spend any time out of your day learning this stuff then why even bother using a new operating system in the first place? At that point, you might as well stick with Windows or macOS. But alright, fine. We can still have <em>our</em> section of the GNU/Linux community where traditional UNIX/Minimalist views are still appreciated, right? Well, no because eventually programmers start writing software which of course depends on all this normie software which is absolutely awful and now it becomes almost impossible to have a functioning system on GNU/Linux without this garbage software.</p>
<p>I haven't given any examples yet, but in my first version of this blog post I referred to Snaps, AppImages and Flatpaks, and while those do still meet the criteria here (although not in the present), I want to give some more examples which might make more sense. First, systemd. systemd is a collection of tools for GNU/Linux, and although many people hate systemd because it is "an init system", it is really a suite of tools. Therefore calling it bloated is not justified. However what is justified is valid criticism towards it. systemd provides a tool named "logind". So many programs depend on this, it is pretty much impossible to have a modern GNU/Linux system without this program installed on your computer. Now, that should be taken with a grain of salt because there are many different implementations of this tool, and those of you that use Gentoo may be familiar with one implementation called elogind. Still, I think this is an excellent example of dependencies that are used so much you cannot escape them.</p>
<p>But there are so many programs like these that we can't really escape, and the cause of these programs existing is usually the same. Normies want "easy" software, so in response we write terrible software which a normie will think is easy because Windows is terrible. However the worst of it came around the time Linus Tech Tips and all these other well known technology "entertainment" channels started covering GNU/Linux and giving it attention. When that happened and Windows/Mac users gave this OS a proper chance, developers around here scrambled to write as much normieware as possible to please these new users in the hopes of converting them into GNU/Linux users. Of course this failed, and just resulted in more terrible software.</p>
<p>I call this the "gaming wave", because suddenly all these gamers (often with NVIDIA graphics cards) came over here, because that's what Linus Tech Tips' fanbase is and wanted to play games. Of course, this failed because despite the effort from the people who play games around here, most GNU/Linux users don't really play games. In fact I barely play games myself anymore. I have nothing against people who play games, but the people who play games on GNU/Linux certainly have some blame to take here.</p>
<p>Lastly, before I end off this blog post I want to mention a few things regarding Wayland. In short, I'm definitely against it and that's for a few reasons. Wayland brings a lot of good things to the table, such as a cleaner codebase, less screen tearing, perhaps HDR support in the future, and so on and all that is fine by me. No complains there. Where the problem starts to show however is from a developer perspective. Yes, the Wayland display protocol <em>is</em> more minimal than X11 (that's not really an achievement) but a lot of that is because the Wayland mess has been moved over to the compositor forcing any developers to write thousands of lines of just absolute junk. This is absolutely terrible, and until the developers of Wayland change direction (highly doubt they will), I'm sticking with X11 until it's no longer feasible to do so.</p>
<p>Either way, that's what I wanted to say, stop using all of this stupid software whenever possible, and become a based GNU/Linux minimalist. I plan on getting a page up on replacements for stupid software which will kind of act as a guide on how to get into GNU/Linux minimalism for those of you that fell for this stupid software. If you have any questions or thoughts, feel free to send me an email.. and have a good rest of your day.</p>
]]>
</description>
</item>
<item>
<title>Important site update (and the Matrix)</title>
<link>https://speedie.site/articles/post51</link>
<guid>https://speedie.site/articles/post51.php</guid>
<pubDate>Wed, 15 Mar 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>I'm going to keep this one short and to the point. As some of you may know, my domain is going to expire. It is going to expire on the 31st of March 2023, which is not far from today and that's what I'm going to talk about.</p>
<p>For those of you that don't know, my website uses a "free" TLD (top level domain). This seemed like a good option last year, but as I want to continue this stuff, it presents a problem. Freenom is the company that provides the .gq TLD, along with a few more domains such as .tk. Freenom has shown themselves to be problematic, and they have done things like taking away domains from people after the websites have become too popular. Renewing their domains is also difficult and annoying, and even then doesn't work all the time for all people.</p>
<p>Because of this, I decided to write this blog post, and to make sure my readers have a place to keep up with me if my website does collapse, I've created a Matrix channel which I recommend you join. You can join it <a href="https://matrix.to/#/#speedie:matrix.org">here</a>. You can start with Element, it's all free software unlike the previous Discord server.</p>
<p>I don't plan on making this a big thing like Forwarder Factory was, and in fact I don't want that either. This is simply going to be a small place for me to talk to my readers, discuss the website and other things like that.</p>
<p>Either way, my domain expires March 31st if I'm unable to renew it. If I manage to renew it, you can continue using the site like normal for an additional year. Otherwise, I'm simply going to purchase a new domain. I do not yet have another domain, which is why I recommend you join the Matrix channel.</p>
<p>That's really all I wanted to say, as the writer here I think it is important that you are informed about everything. My website code is all available for free on Codeberg so you can still have that if you want. Thanks for reading, have a good day!</p>
]]>
</description>
</item>
<item>
<title>Friendship ended with Gentoo, now Arch is my best friend!</title>
<link>https://speedie.site/articles/post52</link>
<guid>https://speedie.site/articles/post52.php</guid>
<pubDate>Sun, 26 Mar 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Alright so I have a brief announcement or something today and that is, I have officially stopped using Gentoo. Yes that's right, the Gentoo elitist is now an Arch cuck. But why, why would you commit such a crime you might say? Well, Gentoo has actually been giving me more and more problems for months now, and it doesn't seem to get any better.</p>
<p>I've had so many dumb issues with Gentoo recently, such as Xft fonts being broken, packages failing to emerge, <code>--depclean</code> removing my entire system, and the final straw, gnome-keyring issues that just do not occur on other GNU/Linux distributions. In case you're not aware, I have been using Arch on my laptop for months now, and while Arch has some annoying issues such as GPG keys constantly breaking pacman when updating, I find that it works much better now.</p>
<p>To make matters worse for Gentoo, syncing the repositories takes a very long time, and it's valuable time that I do not want to spend just because a program is slow and written in Python. Moving over to Arch was not difficult though. I said 'fuck it' yesterday at around 04:00 in the morning, and started installing Arch over Gentoo. Thankfully, as you guys know I have an arch repository containing nearly the same programs as my gentoo repository (overlay), and as such I was able to install my config files and all my programs using one command. It's super nice, otherwise I would've probably spent much more time on this.</p>
<p>Anyways, as for my overlay, I will probably update it every once in a while using maybe a docker container, but I'm going to be focusing on the arch repository because it's what I'm using. For those of you that actually use Arch, this might be good news for you because it means you will always be able to install my software using pacman. I know that some of you will probably be disappointed about this, because I'm kind of known as a Gentoo user at this point, but I just can't take Portage's stupidity anymore. If you need to however, feel free to remove my feed!</p>
<p>I also took the time to move /home to a separate partition, which is really nice if you want to reinstall quickly. Whatever, that's all I needed to say with this blog post. Have a good day!</p>
]]>
</description>
</item>
<item>
<title>I switched back to Microsoft.. here's why!</title>
<link>https://speedie.site/articles/post53</link>
<guid>https://speedie.site/articles/post53.php</guid>
<pubDate>Sat, 01 Apr 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>As you guys may know if you have been a speedie.site reader for a while, I was a Gentoo user, and recently I switched to using Arch full time. However, I am yet again switching operating system because I just found out Windows is the best operating system ever made.</p>
<h2>Linux sucks, but Windows is awesome!</h2>
<p>Now, most of you probably use some open source Linux distribution on your computer. But Linux is open source, and that's bad. That means Russian hackers can steal your porn collection because of course they can see all the source code and backdoor it. When you're using Microsoft Windows on the other hand, the only one who can access your data is Microsoft, who will send that data to the NSA. This also makes sure your data is safe, and that you're following the law like any good citizen. When I'm using Windows I feel safe and no malware has access to my data. The same cannot be said for Linux or any other open source operating system</p>
<p>These Linux users who never go outside or shower will say that this is malicious, or that it is spyware, or any other nonsense but the fact of the matter is the government already knows everything about you anyway. You should not care about privacy if you have nothing to hide, so of course Linux users have a lot to hide. The government would never do anything bad anyway, they only want the best for you.</p>
<h2>Tiling window managers suck</h2>
<p>Why would you use a tiling window manager? Only hackers use those. Tiling window managers are also really hard to use, I mean think about all the keybinds you need to remember to get good at using one.</p>
<p>What about speedwm? I'm just kidding, I've been secretly using GNOME for years, and I was never using speedwm in the first place. Hating Wayland? Actually, I've been using a Wayland session on GNOME for a long time now. As we all know, X11 is old and slow, and it's not written in Rust so that makes it instantly bad. spmenu? It's just rofi with a theme.</p>
<p>C programming language? Hell no, it's so hard to learn and it's so old. Real programmers use JavaScript for the frontend and Rust for the backend. Recently though, I've started using C# which is superior to both of these in every way. We all love Micorsoft.</p>
<h2>Vim is only used by furries, neckbeards and weirdos</h2>
<p>Vim is a meme Linux users force onto new users. In reality, Vim is hard to use and it's so slow, I can't even figure out how to exit it. If I can't even exit it, how can I use it to write code? Why wouldn't you just use a mouse anyway? It's not 1983 anymore, we have modern, proper computers for real people now. The only people who still use Vim are neckbeards who want to look cool on the internet but in reality don't have a life.</p>
<p>Visual Studio Code on the other hand is the greatest code editor ever and it's what I've been using for months now, while people were under the impression that I'm an avid Vim user. It's "open source" so that the Linux neckbeards will use it, but uses a mouse, because it's 2023 and if you're not using a mouse for everything except typing, you're lost in the past. It also supports JavaScript plugins and has a lot of Microsoft telemetry, so they know you're doing a good job writing programs for the future.</p>
<h2>Installing programs</h2>
<p>Linux users claim that using their terrible package managers is better than downloading executables from the internet directly. This is just not true, because the package managers can be hijacked remotely by Russia to spread propaganda to all of the users. This doesn't happen when you download random executables from the internet, because Microsoft Defender is guarding your computer, and has a 100% success rate. As soon as malware tries to attack your computer, Microsoft Defender is there to stop it.</p>
<h2>Software minimalism</h2>
<p>Software minimalism is all a big joke. Why do you need your computer to use 100MB of system RAM idle? Unused RAM is wasted RAM. Microsoft makes sure to leave no RAM wasted, which makes it much better. Unlike suckless, Microsoft makes feature complete software that normal people can use. In fact, suckless is just a software project created by Microsoft's worst employees created to trick Linux users into thinking Linux is unusable, thus getting them to move over to Windows. Microsoft makes sure people join the beautiful land of Windows, where no one falls for memes, and everyone is secure.</p>
<p>Conclusion then. After I found out Windows is better than Linux, I have decided to stop working on my meme projects, and join Bill Gates in helping him build the best operating system for normal people. Linux furries and neckbeards, join the land of Microsoft today, stop using the Matrix meme, come back to Discord, assist Microsoft and the NSA in catching criminals, and become a real member of society today. It's only a $100 operating system.</p>
]]>
</description>
</item>
<item>
<title>News/important update regarding the site</title>
<link>https://speedie.site/articles/post54</link>
<guid>https://speedie.site/articles/post54.php</guid>
<pubDate>Fri, 14 Apr 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>I will keep this one short so you can actually read through it. Yesterday (13/04/2023) I purchased a domain, because as we all know I do not trust Freenom to keep my site up. This domain is a lot more reliable, however it does mean you will have to swap out '.gq' for '.site'. I have redirected <em>some</em> parts of my site. I have redirected the main <code>speedie.gq</code> domain, and I have also redirected rss.xml so that RSS readers won't complain. You should still change the URL, however if you exclusively consume my website through RSS you will get the message anyway because of this. Finally I redirected the wiki.</p>
<p>Switching over is not hard. The page is identical, and although SSL was not functioning earlier today, I have resolved the issue. So to switch over, just replace 'speedie.gq' with 'speedie.site'. This is especially important if you use Arch and my repository. If you do, you must edit <code>/etc/pacman.conf</code> and replace the URL. There may be a few sharp edges as of now, as I simply ran a few <code>sed</code> commands on the old site without looking through it properly, if there are issues please <a href="mailto:speedie@speedie.site">email me</a> so it gets fixed. I should also add I moved from Nginx to Apache a few days ago, so <a href="https://wiki.speedie.site">the speedie.site wiki</a> and <a href="https://speedwm.speedie.site">the speedwm wiki</a> should be functional again.</p>
<p>Anyway, that was just a short blog post about something relatively important. I will <em>probably</em> keep the speedie.gq domain updated as well, but I cannot guarantee it will work properly. If you have any questions, feel free to email me, or simply join the <a href="https://matrix.to/#/#speedie:matrix.org">Matrix space</a>. Either way, that's it, have a good rest of your day!</p>
]]>
</description>
</item>
<item>
<title>Dear bloggers: Your RSS feeds suck.</title>
<link>https://speedie.site/articles/post55</link>
<guid>https://speedie.site/articles/post55.php</guid>
<pubDate>Wed, 19 Apr 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Now that most of my issues regarding this site are resolved, I want to start writing about something. I have a lot of topics I want to talk about, however for many of these topics there's just not much content to them, so I apologize for the length of some of these.</p>
<p>Anyways what better topic to start with than this one. My blog isn't perfect, I post a lot of garbage here quite often, but what pisses me off is when people will write blog posts, have an RSS feed and then ruin it with one thing. They will put about 1/10 of the blog post in the <code>description</code> tag, and then they will have the blog post in full on their website.</p>
<p>This is extremely annoying, because it means I have to open up my bloated web browser just to view your blog post which could normally be read using my RSS reader, which is designed for reading blog posts. What if I want to read your blog post on the command line? Or what if I want to read your blog post when I don't have internet?</p>
<p>Good RSS readers like Newsboat and sfeed store the full feed locally, meaning you can actually read the articles even when you don't have any internet connection. But when you force me to go to your website, I can't just save it when I do have internet and read the blog post whenever I want to read it.</p>
<p>Now, I know why you would do this. If you have a site, chances are you want people to visit it. RSS is convenient, very convenient and I'm going to admit I don't actually visit the sites for blogs I follow very often, usually I read the feeds every day and then very occasionally visit the websites. But I still think this is annoying.</p>
<p>So, if you're going to have a blog and you plan on using RSS, please provide the full blog post in the description tag. I know this can cause issues with paragraphs, but you can steal my feed as a base if you want. Thanks for reading, and have a good day.</p>
]]>
</description>
</item>
<item>
<title>Why I don't use Wayland (and how it can be improved)</title>
<link>https://speedie.site/articles/post56</link>
<guid>https://speedie.site/articles/post56.php</guid>
<pubDate>Fri, 28 Apr 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Today I want to talk about Wayland, and why I don't use it. In case you're a normie and don't know what Wayland is, Wayland is this new display protocol created by the people over at Freedesktop. They want it to be better than the display protocol most GNU/Linux users are already using called X11. While I'm not against the idea of a new display protocol, in my opinion Wayland is a failure, and it fails at doing everything X11 did right, and that's what I want to talk about here. Note that most of this will be from a developer's perspective; if you're using GNOME, KDE or maybe even one of the many wlroots based compositors, your experience on Wayland is probably going to be pretty good.</p>
<h2>Terminology</h2>
<p>First, let's talk terminology. On X11 we have something called a 'Window manager', and as the name implies it manages your window. The window manager is the root window, meaning it's the first window. Other than that, it's just like any other window you may have. This is quite powerful, because it means in theory anything can be a window manager. You can try this for yourself on Xorg and xinit by running <code>startx /usr/bin/firefox</code>. What you should have is an X11 session with only firefox open and nothing else. This is why we have window managers, they allow us to spawn more windows and place those windows whereever we want. Even desktop environment users have a window manager, because your desktop environment comes bundled with one.</p>
<p>On Wayland and X11, we have something called a compositor. Let's ignore Wayland's definition completely for now. On a basic level, the compositor provides fancy effects such as transparency, rounded corners with anti-aliasing, shadows, animations and other things you may or may not want. One of the most popular compositors today is called Picom, and most standalone window manager users use it, if they use a compositor at all. This works by creating buffer where these effects are added, and then displaying the buffer to the user. This is why older machines may feel slow when a compositor is running, it's just not displaying that buffer quickly enough.</p>
<p>In X11, a client is pretty much the same thing as a window. I am going to be using the term 'window' throughout this blog post, but client is what I usually use when referring to an X11 window.</p>
<p>'Xorg' is an <em>implementation</em> of the X11 protocol, and it's the implementation most users are using. There are other ones like XFree86, but most users use Xorg.</p>
<h2>The compositor problem</h2>
<p>This is where Wayland's problem for me comes in. On X11 these two components are separate, so I can pick and choose each component and just combine what I like. With Wayland, they have decided to combine the compositor and window manager into one program, which to make it even more confusing is also called a compositor. Now, why is this so bad?</p>
<ul>
<li>Less modular</li>
<p>By combining the compositor and window manager, you're slowly making the display stack less and less modular. The days of choosing your compositor and choosing your window manager are now gone. It's all one big program, meaning even if you avoid desktop environments you're still going to have one big program that does everything. This is just not the way forward if you ask me. I believe the main reason for this is "making the desktop easier for new users", but at this point the GNU/Linux community should give up on new users who aren't willing to learn our technology.</p>
<li>Window managers are so complex</li>
<p>It is incredibly easy to make an X11 window manager, because again it's a window like any other. You really just need to create a window, read atoms and finally move/resize windows around. On Wayland you now also need to implement a compositor, which adds a lot of complexity and room for failure. Even one of the more minimal Wayland compsitors dwl, a dwm rewrite for Wayland has many more lines of code than the original dwm, because now you also need to do the compositing yourself. Not to mention, if you're using a minimal compositor like dwl, you can't have fancy effects and a minimal window manager, that's just not possible anymore, at least as of now.</p>
<p>This added complexity led to libraries like wlroots being created, and its slogan really says it all; "about 60,000 lines of code you were going to write anyway". However even with wlroots you still need to implement compositing, there's no way to have a separate compositor with your window manager.</p>
<li>No, a Wayland compositor is not a window like any other.</li>
<p>As I said earlier, a window manager on X11 is a window like any other. The only difference is it's the first window spawned (root window), and it is responsible for creating, resizing and displaying all other windows, although this is technically not a requirement. This is good because you can for example <code>startx /usr/bin/firefox</code> and have an X11 session that runs Firefox. Nothing else, just Firefox. This goes for any graphical program such as your terminal emulator, text editor, Emacs, etc. On Wayland, this is not possible, because windows do not implement compositing whatsoever. They are only responsible for creating themselves.</p>
<li>How about no compositor</li>
<p>I think this is worth mentioning as well. A lot of X11 users simply don't use a compositor at all. They deem it unnecessary, and it makes sense. If you don't need transparency, fancy effects, Vsync and other nice features like that, why should you waste your system resources on a compositor? Good luck omitting the compositor when you're using Wayland. You can't.</p>
</ul>
<p>Those are the problems that come as a result of combining the compositor and window manager. While I'm sure there could be benefits to combining the compositor and window manager as well, I just cannot think of a single reason.</p>
<h2>What change do I want to see?</h2>
<p>I want a more minimal display protocol. Wayland is more minimal so I think it passes here. What I also want is a more <em>modular</em> display protocol, and this is where Wayland seems to fail. X11 did this right, but I want it even more modular than X11. Everything should be separate, as long as it doesn't harm the user experience. Not to mention, more modular software is usually more secure, because each module is much smaller and easier to maintain.</p>
<p>I also want a library which allows creating BOTH X11 and Wayland clients without writing any extra code for it. This would be ideal, although I'm sure there are potential challenges from doing it this way. You might say, "Just use GTK or QT" but they also require writing extra code for Wayland or X11 support. This leads to developers not supporting one or the other.</p>
<p>For example, I want to add Wayland support into spmenu. I'd be happy to do so, but the problem is it would require rewriting the code for creating the window, handling events, keybinds, clicks, drawing, mapping, and more. It's just not something I want to deal with, which is why I've chosen to not write any of my software to use Wayland native libraries. There is XWayland, but to my knowledge there's no such thing in reverse.</p>
<h2>Conclusion</h2>
<p>I want to mention that I'm very much open-minded towards a new display protocol. I'm all for a new, more minimal, more stable display protocol. It's just that Wayland makes it a pain to write compositors, and in many ways it's a downgrade from X11, which is <em>really</em> old I might add. That's not to say Wayland has no improvements and X11 is perfect. The most popular X11 implementation, Xorg is extremely bloated and has a lot of legacy code that really doesn't matter today and the protocol itself is probably not much better.</p>
<p>It also has absolutely horrible security. But all things considered, I think X11 just has much better ideas on what the desktop should be than Wayland does. If Wayland improves the things I don't particularly like, I may end up switching to it. But as of now, X11 works fine for me and the benefits of Wayland just aren't worth it, so I am going to be sticking with X11. If you know of any solution to this problem, I'd love to hear it, and I'd love to give Wayland a proper chance.</p>
<p>Thank you for reading, have a good day!</p>
]]>
</description>
</item>
<item>
<title>Ungoogled Chromium: The best browser for most people</title>
<link>https://speedie.site/articles/post57</link>
<guid>https://speedie.site/articles/post57.php</guid>
<pubDate>Mon, 01 May 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Today I want to talk about my favorite web browser which I have been using for several months now and that is Chromium, specifically Ungoogled Chromium. Ungoogled Chromium is the best browser because it's fast, it respects your privacy, but also doesn't provide any extra bloat or anything, it's just a fast, privacy respecting web browser that does everything you need and nothing more. In a lot of ways it's the best web browser for minimalists, but also for normies because it requires no learning coming from Chrome or whatever.</p>
<p>If you are on Arch, you can get it from the AUR, and I also have a package available in my arch repository, so if you're using speedie-aur you can just <code>pacman -S ungoogled-chromium</code>. When you start it for the first time, if you're coming from regular Chromium or maybe the horrible spyware that is Google Chrome, you're going to notice that it looks a bit more minimal. That's because most of the Google junk has been removed, so what you have is what you actually need out of a web browser. By default, no search engine is active/enabled though, but if you want one you can go to the settings like in regular Chromium and simply add one.</p>
<p>The second thing you're likely going to notice pretty quickly about Ungoogled Chromium is by default it actually doesn't save cookies, so after you close your web browser you have to log in again. Now, I consider this a feature rather than a bug for security reasons, and while this isn't a security oriented web browser, most of its users are privacy enthusiasts, so I consider this a nice default. If you don't like this though, you can just change it in the settings. If you're setting up this browser for a normie, you may want to enable saving cookies, because in the society we live in normies would be very confused when their web browser doesn't keep them logged in.</p>
<p>Ungoogled Chromium is <strong>not</strong> hardened by default though. For good security I would install <code>JShelter</code>, <code>uBlock Origin</code>, <code>LocalCDN</code>, and a few other privacy oriented extensions. I would probably also install <code>Vimium</code>, which allows you to follow links using <code>f</code> and use general Vim-like keys to navigate the web, and of course a dark theme of some kind. But how do we install extensions anyway?</p>
<p>The reason I find this browser is better than others is because it's based on the Chromium web engine making it extremely fast, but it also respects your privacy by removing all the Google junk. Chromium is a good browser outside of all that Google spyware, because Google knows what a good browser is. A good browser is fast, minimal and allows you to view websites and nothing more. Google has known this since the beginning, and that's why this is such a good web browser. Other web browsers often fail at this.</p>
<p>I should note that due to all the Google junk being removed, you can't actually install extensions through the Chrome Web Store. However there's an extension you can install manually, which will allow extensions to be installed from the web store anyway, but you should RTFM for that. The extension is available <a href="https://github.com/NeverDecaf/chromium-web-store">here</a>, and was designed with ungoogled-chromium in mind. While you don't need it, it makes the process of "manually" installing extensions a whole lot easier. It even does updating for you, although it requires <em>some</em> user input.</p>
<p>As if this web browser wasn't already excellent, The <code>--app</code> argument makes it even more useful. In fact it makes all Electron applications basically obsolete. If you do.. for example <code>chromium --app="https://speedie.site"</code> you'll pretty much have an app for my website as the name implies just like Electron would do, except it's using your existing web browser. This makes it slightly more appealing. It even changes the icon to the favicon for the site. I'm using this feature for Element (the Matrix client I use) and Discord. I combine this with my run launcher to have super awesome web apps.</p>
<p>Overall, I highly recommend this browser. While it's not the most secure (you'd probably want GNU IceCat or LibreWolf for that), it's super fast, it's free as in freedom and it's minimal and clean. It provides sane defaults such as not storing cookies by default. It's a good web browser for both normies and people who know how to use technology, because I think both groups of people find its features appealing. If not, I guess the normie can continue using Chromium and you can use Ungoogled Chromium and get privacy from it. Thank you for reading, I highly recommend Ungoogled Chromium, and have a good day!</p>
]]>
</description>
</item>
<item>
<title>Swedish man rants about licenses again</title>
<link>https://speedie.site/articles/post58</link>
<guid>https://speedie.site/articles/post58.php</guid>
<pubDate>Tue, 23 May 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>It is no secret that I strongly believe in copyleft licenses like the GNU General Public License (often shortened to GNU GPL or GPL) and the Mozilla Public License (MPL). Copyleft licenses as the name implies are the opposite of copyright licenses. With copyleft licenses, the user has the freedom to modify, study and distribute the software and source code. But unfortunately in recent years copyleft licenses have fallen out of favor thanks to tech companies like Microsoft heavily pushing too permissive licenses to developers. These licenses (which I will call 'cuck licenses' from now on) rob developers of their work. Now, it should probably be noted that I am not a lawyer, nor am I more experienced in any legal system that most people. I'm just here to talk about the best software license today.</p>
<p>With cuck licenses, the developer writes the code and puts it out on the internet like usual. The difference is there is nothing that prevents anyone from forking it and changing the license. You might ask why this matters. It matters because big tech companies like Microsoft, Google, Apple, Nvidia, Meta, and many more will take these free software projects, change the license to a nonfree license and no longer distribute the source code for the software. Most of these cuck licenses <strong>only</strong> require that the license notice is kept in every piece of code. However you're only distributing a binary though, the license isn't noticeable anyway.</p>
<p>I'm sure you can tell by now, but tech companies LOVE cuck licensers, because cuck licensers do the work for them and for free. The companies then just steal that source code and make their own proprietary variant. No attribution, no money, nothing. Some developer writes the code for free and a big tech company will steal it and make a nonfree spyware variant of it. When tech companies write software, they will usually license their own software too under the BSD licenses or more commonly, the MIT license. The MIT license is probably one of the worst licenses out there in terms of stripping the developer of his/her freedom. The user still has the freedom to use, study and modify the software. That is, until a tech company forks the project and changes the license to a nonfree one.</p>
<p>An example of a bad case of cuck licensing is MINIX, a portable UNIX like operating system. Because this project is cuck licensed, Intel decided to fork the project, apply some spyware modifications to it and relicense it under a proprietary license so no one knows what the code really does. Now all Intel users have this backdoor in their computer in what's called the Intel Management Engine (ME). Or take Google Chrome. Google forked the Webkit engine and made their own web engine called Blink. The Chromium browser which implements this engine is free software, but Google Chrome (which is very similar) is a nonfree program which does god knows what.</p>
<p>But you, the developer can fight back against this by licensing your software under a copyleft license. Copyleft licenses <em>usually</em> require that the forked software is licensed under the same license. So if you license your software under the GNU General Public License version 3, all copies of the software including forks are going to be licensed under that same license. This is great for developers because their code is always used for free software and not nonfree software. It's also great for users, as it means there will be less nonfree software to use and more free software to use instead.</p>
<p>I should note that I switched all software I've written from scratch to the GNU General Public License version 3 about a year ago or so from the MIT license and it gives me more freedom, and it also means everyone who uses my software or forks of my software is guaranteed freedom. It's a win for everybody, and it means together we're working towards a more free computing experience for everyone. It has its flaws though, which is why some may consider the LGPL or Lesser General Public License. This license unlike the regular GPL allows embedding the software in proprietary programs. This may actually be preferable in some cases, but in general you should stick to the regular GPL. I know there are more licenses than the GPL and MPL, but I'm not going to get into license specifics too much here. I'm mainly talking about the GPL because that's what I license all my software under.</p>
<p>Conclusion then. Cuck licensers write the software for big tech companies for free. They get nothing in return and users get a piece of crap proprietary program when the big company forks the originally free software program. With copyleft licenses on the other hand, the user is guaranteed the freedom to modify, study and distribute the source code or program. Switch to the GNU GPL today or any of the other GPL compatible copyleft licenses and truly become a free software computer programmer.</p>
]]>
</description>
</item>
<item>
<title>Yet another update post.</title>
<link>https://speedie.site/articles/post59</link>
<guid>https://speedie.site/articles/post59.php</guid>
<pubDate>Fri, 03 Jun 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Wow, look at that. Even more junk to fill my catalog and make it look like I've done more writing than I actually have. Oh well. I'll get straight to the point. At approximately 02:32 I quickly made the decision to move from cgit to Gitea for hosting my Git repositories and projects. For this reason, links to the old Git repositories need to be changed. This mainly applies to those of you that are using speedie-aur, or speedie-overlay. I'm assuming that's quite few of you, but just in case I'm putting this out there.</p>
<p>If you're using speedie-aur, you'll need to edit <code>/etc/pacman.conf</code> and change the <code>Server</code> to <code>Server = https://git.speedie.site/speedie/speedie-aur/raw/branch/master/$arch</code> If you're using speedie-overlay you'll want to remove the overlay and add it again. See <a href="https://git.speedie.site/speedie/speedie-overlay">the repository</a> for more information. The Arch wiki article has been updated to reflect these changes as well, and so has the overlay.xml.</p>
<p>I have also moved over a lot of GitHub repositories to my Gitea instance, such as my Gentoo kernel for my ThinkPad and desktop, multiple OpenCore configurations, and more, but all Codeberg and GitHub repositories are still accessible. It should be noted though, that I plan on moving all website development to the Gitea instance rather than Codeberg.</p>
<p>What you may be screaming right now is WHY? I'll tell you why. Cgit is an excellent Git viewer, but that's all it is. A git viewer. It doesn't handle your repositories, no issue tracking, no pull requests, no users, nothing. This is fine when you're the only one working on a project, as you're going to do most work locally on your computer anyway, and then push using Git from the command line.</p>
<p>The problem is when you want to have any kind of collaboration, which is something I realized today (and yesterday). As some of my projects are becoming increasingly complex, I need a way for people to submit bug reports and fix issues. Emailing isn't convenient for the user, and it isn't convenient for me either. Now that I'm using Gitea, any user may create an account and simply create an issue or pull request. There's not any more to it, just simple. If you're familiar with GitHub or even one of the public Gitea instances like Codeberg, this is likely nothing new to you.</p>
<p>Now, while I'm writing this blog post I also want to talk about some future changes. I want to slowly move from w2wiki to simply a static website that people can edit through issues and pull requests. In my opinion this is a lot better, not only for security but convenience and flexibility. W2wiki is pretty good, but it is definitely not designed with security in mind, and it isn't hard for anyone to simply remove the entire thing with minimal effort, as <a href="https://wiki.speedie.site">happened to the speedie.site wiki</a> a while ago.</p>
<p>While it is a static site for the most part, I may still be using PHP if necessary, especially for maintainence. No JavaScript however, although it should be noted that the Gitea instance does use JavaScript. There is just no way around it as far as I know, so it will have to do. All the JavaScript is free as in freedom, which is the important part. I have no plans to put JavaScript anywhere else on my site though, as long as it's feasible.</p>
<p>Anyways that's just a small site update. Have been busy with my spmenu Wayland port and other things like that, but now that it's complete I plan on posting more blog posts, as I have a lot of things I want to cover eventually. That's it for me, have a good day!</p>
]]>
</description>
</item>
<item>
<title>You don't need to justify your decisions.</title>
<link>https://speedie.site/articles/post60</link>
<guid>https://speedie.site/articles/post60.php</guid>
<pubDate>Thu, 08 Jun 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>I often hear people following my blog or just know me for one reason or another, and usually it goes something like this:</p>
<blockquote>
<p>Hello speedie I enjoy reading your blog.</p>
</blockquote>
<p>Thanks!</p>
<blockquote>
<p>Im using X nonfree software or Y desktop environment, sorry about that.</p>
</blockquote>
<p>This is the problem. I see far too many people apologize for their choices in technology, but I want to make one thing clear. I am not here to judge your technology choices. If you want to read my blog on Windows and/or Mac, use nonfree programs, hate my software or ideas, or do something else Im not <em>personally</em> a fan of then you are 100% free to do so. You dont need to justify your use of software or hardware, that is a personal decision you are making. I am not going to make that for you, and while I may not agree with your decision, it is not mine to make.</p>
<p>I may <strong>suggest</strong> replacements for the software youre
using if I believe its something you would benefit from (such as learning Vim or getting into tiling window managers), but Im never going to force you to use/do something, or shame you for using the nonfree software or software I simply dont like. I am also never going to force you to believe the same thing as me, thats idiotic, and the definition of an echo chamber, something Im very against. I dont want 15 speedie clones, you should have your own ideas, and I should have my own ideas. If we agree then we do, if we dont, then we dont. I make decisions you may find stupid, you make decisions I may find stupid, and if we dont debate each others ideas, we lose the ability to think for ourselves.</p>
<p>Thats not to say its harmful to criticize the choices others make, but you need to be willing to see both sides of the coin, and like it or not you need to accept the choice the other person is making, whether you approve of it or not. Thats just a short blog post for today, as I see this far too often, and I think its important to say this. Im probably going to talk about Wayland development, Wayland libraries, Wayland protocols and Wayland implementations next time now that Ive truly given Wayland development a fighting chance to win me over. Thats it for me, have a good day!</p>
]]>
</description>
</item>
<item>
<title>The Wayland experience</title>
<link>https://speedie.site/articles/post61</link>
<guid>https://speedie.site/articles/post61.php</guid>
<pubDate>Sat, 17 Jun 2023 00:00:00 +0100</pubDate>
<description>
<![CDATA[
<p>Today I want to talk about my experience using Wayland compositors and software, as well as developing Wayland clients for Wayland using the <code>wayland-client</code> library. I've talked about the protocol itself in the past, usually in a negative light because that's how I see it for the most part, but after using Wayland for a bit I have some more things to say about it, and I want to talk about those today.</p>
<p>First of all, Wayland is <strong>not</strong> a display server, just like X11 isn't a display server. X11 and Wayland are both display protocols, which then have to be implemented. X11 has a standard implementation, called Xorg. While this isn't the only implementation of the X11 protocol, it is by far the most used one. This is called a display <em>server</em>. Wayland on the other hand does not have a single implementation more popular than others, because each compositor has to implement the Wayland protocol themselves. This can lead to issues if a compositor doesn't implement a core part of the protocol. This means the compositor is also the display server. But because implementing an entire display server and following the Wayland spec is complicated and time consuming, libraries such as wlroots and swl have been created, which implement a lot of the Wayland functionality for you. This is really as far as standards go with Wayland, because every Wlroots based compositor is compatible with each other. The problem now is everyone is going to base on Wlroots, and for good reason because no one really wants to write all that code.</p>
<p>Except not everyone wants to use Wlroots. For example GNOME and KDE both have their own Wayland implementation (because of course they do), and this leads to problems such as software only being written to work with Wlroots based compositors or GNOME/KDE. From a developer's perspective, you can't just leave out GNOME because GNOME is incredibly popular and used by a very significant amount of GNU/Linux users, but at the same time if you leave out Wlroots based compositors a lot of power users aren't going to be able to use the software on their favorite compositor, so no power users are going to be using the software. So the developer has to support BOTH GNOME and Wlroots, and most likely also test on both Wlroots and GNOME, unless the program has a significant enough userbase. GNOME has a history of doing their own thing instead of following a standard, and making decisions that only benefit GNOME and no one else, which is likely why they implemented their own version of the Wayland protocol. Whether that's true or not doesn't matter, because right now there's no standard implementation of the Wayland protocol, leading to more work for the developer.</p>
<p>As you probably know, about two weeks ago I finished porting my program spmenu over to Wayland. While I was working on the port however, I almost immediately noticed how lacking Wayland really is in terms of features. They claim this is for "security", but I don't buy this argument for several reasons. spmenu has a feature to position itself at a specific X or Y position on the screen, but in the name of security wayland-client (the library used to create Wayland clients) does not allow you to do this. I ended up disabling this feature in the final product, which really should not have to be done. I get that this can't be done with a standard window, but this is a layer window, meaning it's supposed to be layered above all other windows, so it makes sense to allow it to be placed anywhere.</p>
<p>The reason I don't think security is a valid excuse here, is because with the wlr-layer-shell protocol you can grab the keyboard and (almost) all input, and grab the focus all to yourself. That's a much higher security risk than allowing the window to position itself anywhere. Instead of allowing a specific position, we instead have anchors, allowing us to anchor the window to a predefined part of the screen, such as top, bottom and center. Also, if you have programs doing malicious things by positioning itself, you have a much bigger problem. Wayland does do some things in the name of security that I think are somewhat justified, such as not allowing a client to move another client, or read keystrokes when the program isn't actually used. That's very useful for keylogging and other nasty things. But at the same time, if you have malware on your computer, then you have bigger problems than that, and there are legitimate uses for logging keys or moving other clients, which now aren't going to be possible anymore in the name of security.</p>
<p>Alright, so we've established that Wayland has fewer features than X11, how could things get any worse? GNOME has the answer to that. Because there's no standard implementation, you can just choose not to implement certain features. wlr-layer-shell is a unstable protocol, but despite this it's the only way to create a run launcher that functions like.. a run launcher, at least on the Wlroots implementation of Wayland. GNOME however doesn't implement wlr-layer-shell so any programs that use wlr-layer-shell will not function under GNOME, and spmenu is no exception to this. It doesn't make it any better that GNOME has a very high authority over the direction Wayland is going in, and really the direction GNU/Linux as a whole is going in.</p>
<p>Okay, but what's Wayland really like to use for the average user? Mixed, let's just say that. If you're using a desktop environment, chances are you don't even notice any difference between it and the same desktop environment on X11, at least none that isn't positive. If you're using a window manager on the other hand, you're going to notice things right away. Many programs that you may be using just will not function anymore, particularly the programs that capture the display. Wayland shills will claim that Wayland has support for all your X11 programs, but while that's not entirely false, anything that captures the screen itself is going to be totally broken on Wayland.</p>
<p>One thing I noticed fairly quickly is that screenshotting doesn't work. I'm using a tool called <code>maim</code> for this, and maim is X11 specific. Great, use XWayland right? XWayland doesn't work for this purpose, and as a result the capture is just black. What about ffmpeg and x11grab? Nope, doesn't work and all you get is a black screen. Turns out on Wayland you need Pipewire (or another tool) to capture the screen, and ffmpeg doesn't support this, so if you had plans of using Wayland and at the same time using ffmpeg to capture your screen, you're out of luck. While replacements for the X11 specific software does exist, much of it is very buggy, broken, not in repositories or just not the same thing. Recording using ffmpeg can be replaced using a command line utility called <code>wf-recorder</code>, but screenshots are little more complex.</p>
<p>On Arch, you need to manually compile a program called wayshot (a program that functions as a maim replacement) because the version you can get from the AUR is out of date and doesn't support using <code>slurp</code> (a slop replacement), meaning you can't select. After that though, everything works pretty much as expected. But what about copying the image to the clipboard? Well, on X11 we can just pipe the image into <code>xclip -sel clipboard -t image/png</code>, but as you might expect this isn't built to use Wayland natively. It <code>does</code> work, at least with XWayland compatible compositors but to do it natively you'll want a replacement called <code>wl-clipboard</code> and the <code>wl-copy</code> command. The wl-copy command works pretty much in the same way, pipe the image or text into it. Unlike with xclip though, you don't need to specify a type, and wl-copy only supports one clipboard so you don't need to specify a selection either.</p>
<p>Normal X11 programs though that run in a normal window or floating window usually work fine, and I was able to carry on using my X11 terminal emulator which is st just fine, with no noticeable loss in speed. No configuration is required for these to function with most compositors, although some don't support XWayland such as Qtile, so with those you may not be able to use your X11 specific programs.</p>
<p>What about Wayland compositors? Most of them are terrible in my experience. Maybe there's some secret awesome compositor, but every single one I have used so far has had some major flaw that makes it unusable. I started off my Wayland journey on Hyprland because I hear that's what most people use. The default keybinds are absolutely awful, and a good example of that is Super+q which doesn't quit Hyprland or close a window, but rather spawns Kitty, which isn't even a Wayland specific terminal emulator. Certainly a weird default. Even after some configuration though, Hyprland has several issues. For one, if you set a wallpaper using swaybg or hyprpaper the computer runs much slower, and Chromium seems to freeze at random. This happens with all my computers, with both Intel graphics and AMD graphics. I ended up determining that it was a problem with Hyprland because with dwl, sway and river everything worked perfectly with a wallpaper set. Most of these compositors also do not have a built in bar, sway is the only one I found that has one, not even dwl which is supposed to be a dwm clone has a built in bar, despite using way more lines of code than the original dwm.</p>
<p>Wayland has several issues as well that make the entire product completely unusable. For one, I have <strong>never</strong> been able to get it to work on my NVIDIA GPU (GTX 1060 6GB) system. Not with the free software driver and not with the nonfree <code>nvidia</code> driver. It's possible it works with GNOME or KDE, but I have no interest in running any of those, and I don't care for desktop environments. While it isn't fair to blame Wayland or Wlroots for this, in practice I'm unable to use Wayland on my NVIDIA system, and as such I decided it was worth mentioning.</p>
<p>By the way, I should also mention that I have implemented Wayland screen capturing into <a href="https://git.speedie.site/speedie/dfmpeg-spmenu">dfmpeg-spmenu</a> and <a href="https://git.speedie.site/speedie/screenshot-spmenu">screenshot-spmenu</a> if you want to use spmenu for screenshots or screen recording. This is also X11 compatible, so you don't need to switch script whenever you switch back to X11.</p>
<p>Anyways, I'm done with Wayland as of now. I will keep a session around to try out my own software in and will continue to support Wayland in spmenu, but I will not use Wayland anymore, and I am very happy to go back to dwm and X11. I may eventually make a second part to this blog post where I talk about actual code and programming in C for Wayland, but I'm going to end this blog post here. If you had an interesting experience with Wayland or thoughts on Wayland, feel free to share it with me. Thank you for reading, have a good day!</p>
]]>
</description>
</item>
</channel>
</rss>