upload everything i've done so far

This commit is contained in:
speedie 2022-11-23 10:58:43 +01:00
commit e67fbd2490
53 changed files with 1878 additions and 0 deletions

33
articles/post01.php Normal file
View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Stop making Linux user friendly.. sort of</title>
<meta charset="UTF-8">
<meta name="description" content="A problem that's getting bigger with each day is that we're making technology more and more convenient and overall easier to use however in the process soydevs make soyware which not only harms the normie its intended to help but also power users. Stop making Linux user friendly.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Stop making GNU/Linux user friendly.. ..sort of</h2>
<h4>2022-03-09</h4>
<p>A problem that&#39;s getting bigger with each day is that we&#39;re making technology easier but it&#39;s also getting more and more &quot;evil&quot; with big tech companies collecting and selling our data for monetary gain. </p>
<p>So then we turn to alternatives (Usually free software and GNU/Linux) which is a good thing, more people caring about their online privacy. The problem is how we approach these new users. We want it to be easy for them but in the process of making it easy for new users we&#39;re also making it a nightmare for experienced users and slowly making GNU/Linux just as bloated as those proprietary operating systems. </p>
<p>What do I mean with &quot;bloat&quot; since that term is kind of a meme by now?</p>
<p>Nowadays most of the software we use is bloated. The websites you visit likely have a lot of JavaScript in them (Facebook, Google, Discord, Instagram, Twitter, etc.) which forces us to have bloated web browsers for viewing those pages slowing down older computers. Additionally this also requires a GUI program which some users might not want.</p>
<p>But even if you avoid the web there&#39;s still bloat in a lot of software. A lot of software on GNU/Linux now is packaged using Universal packaging like Snap packages (Canonical), Flatpaks (Red Hat), and AppImages. </p>
<p>Now since soydevs decide to package using these and since these are universal, every single package has to have support for every distro which obviously is very bloated and probably moreso than .dmgs containing a binary on macOS or a .exe since there are more GNU/Linux distros than macOS versions/Windows versions.</p>
<p>Thing is, when you&#39;re trying to keep your system minimal for multiple reasons (Could be old hardware or you simply like minimal software) these packages are just not an option. You might say, &quot;Just compile from source&quot; (as if I&#39;m not already using Portage)</p>
<p>And yes, I can definitely see your point but the problem comes when software is <i>absolutely proprietary</i>, because you can&#39;t exactly compile software without the source code in your hands.</p>
<p>Now proprietary software is NOT minimal, obviously however whenever you need to install a piece of proprietary software you may in some cases be forced to use one of these bloated packages since the proprietary software developer is too lazy to actually use the distro specific package managers or at least provide a tarball for the user and leave it up to the distro maintainers.</p>
<p>So what are these universal package formats good for? Well, they&#39;re good for Windows/macOS normies who are used to things <i>just-working</i> without any tinkering. But problem comes when everyone starts adopting this new fancy packaging format. Because once these become standard (I definitely predict they will), you will be forced to use them (unless the software is free and open source).</p>
<p>TLDR; By using bloated universal packages and making it easy for the normies, you&#39;re making it harder for minimal GNU/Linux users/experienced users who REALLY hate universal packaging.</p>
<p>So please, if you&#39;re going to distribute software, please provide packaging for the distro&#39;s native package manager.</p>
<p>Have a good day</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

21
articles/post02.php Normal file
View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Notice for spDE users</title>
<meta charset="UTF-8">
<meta name="description" content="Important notice for spDE users running a version pre 2022-03-09.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Notice for spDE users</h3>
<h4>2022-03-09</h4>
<p>This is a notice for spDE users. It now comes with newsboat and this RSS feed built in. There may or may not be a keybind but you can access it from the terminal by running &#39;newsboat&#39;.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

34
articles/post03.php Normal file
View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Dear soydevs; Stop making desktop applications bloated.</title>
<meta charset="UTF-8">
<meta name="description" content="Modern software is suffering from a huge issue. One that must be stopped before every application is like this. Bloat. Specifically web bloat which is currently spreading to desktop software. This means not only is the modern web unusable but so will the desktop. Soydevs must be stopped.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Dear soydevs; Stop making desktop applications bloated.</h3>
<h4>2022-03-10</h4>
<p>Today I wanted to talk about something else. I guess it&#39;s kinda related to my previous post titled &quot;Stop making Linux user friendly.. sort of&quot;.
Modern software has this problem, a very huge problem. &quot;Bloat&quot;. Now bloat can be caused by many different aspects. Programming language, poorly written code, unnecessary features, etc. but the main one I wanna talk about is called &quot;Electron&quot;.</p>
<p>Now if you&#39;re not familiar with Electron, it&#39;s basically a minimal version of Chromium designed to create individual desktop applications from HTML, CSS and JavaScript. This makes it easy to create desktop applications as long as you know a lot about web development.</p>
<p>In fact many desktop applications you might be using (Almost all of them are proprietary) use Electron.
Examples of these are: GitHub Desktop, balenaEtcher, Discord, Spotify, and yes, even a text editor, Visual Studio Code or as I like to call it, &quot;SoyDev Code&quot;.
If you&#39;ve viewed my page, <a href="hate.html">hate</a>, you&#39;ll know that both Electron and the JavaScript programming language is there on my list.</p>
<p>Either way, JavaScript is a VERY bloated language and is often obfuscated making it harder to see spyware, even if it&#39;s TECHNICALLY open source.
Now JavaScript is becoming more popular in web development and this fact is pissing people who want a minimal system off.
So to make it worse, since Electron allows you to turn HTML+CSS+JS into a desktop application, this means JS will be used for software as well.</p>
<p>You might say, &quot;I have a fast computer so I don&#39;t care if the software is bloated or not&quot; and while that&#39;s a fair point, what if someone doesn&#39;t have a fast computer or just simply likes minimal software. Then they&#39;re essentially forced to use this bloated slow application just because a developer was too lazy to actually learn another language.</p>
<p>TLDR; The web is extremely bloated and since Electron turns &quot;the web&quot; into a desktop application, software on the desktop is getting bloated too.</p>
<p>So what do I want? I want developers to STOP using this Electron trash.</p>
<p>Thank you and have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

35
articles/post04.php Normal file
View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>What you can expect from Project 081 0.6 </title>
<meta charset="UTF-8">
<meta name="description" content="Project 081 0.5 is getting kind of old. It has quite a bit of known bugs so they need to be addressed. There are also other nice-to-have improvements and features coming with the 0.6 update. Here are a few of them!">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>What you can expect from Project 081 0.6</h2>
<h4>2022-03-10</h4>
<p>This is an update for Project 081 users (if there still are any). As this project has slowly died I would like to finally finish it as I have been working on other stuff like gentoo-install, spDE, my RSS feed, sfetch and various other projects.</p>
<p>After I spent more time with GNU/Linux and stuff my older Mac OS X project kinda.. died. So therefore my goal is to finish Project 081 soon so that it&#39;s as good as it can possibly be. All the assets are (hopefully) complete however it has yet to be &quot;compiled&quot; together into an image for the user.</p>
<p>So while you wait, here&#39;s a list of a bunch of changes i&#39;ve made to Project 081 as well as a few I&#39;m going to do.</p>
<ul>
<li>Project 081 0.6/1.0 now comes with sfetch</li>
<li>Project 081 0.6/1.0 will come with an RSS reader as well as my feed.</li>
<li>Project 081 0.6/1.0 will FINALLY fix AirPort for iMac8,1 users.</li>
<li>Project 081 0.6/1.0 will hopefully boot on all systems.</li>
<li>Project 081 0.6/1.0 will hopefully be a single image with a single package that determines what to install based on sysctl hw.model</li>
<li>Project 081 0.6/1.0 will be an even smaller image</li>
<li>Project 081 0.6/1.0 will have a preinstalled image available.</li>
<li>Project 081 0.6/1.0 will FINALLY come with drivers for newer Apple keyboards</li>
</ul>
<p>That&#39;s basically what you can expect, if you have any more suggestions please create an Issue on GitHub.</p>
<p>That&#39;s all, Have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

28
articles/post05.php Normal file
View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<meta charset="UTF-8">
<title>Happy 20th Birthday Arch Linux </title>
<meta name="description" content="Today, 2022-03-11 marks 20 years since Arch Linux was released. I would like to show some respect by creating this post. Arch Linux is the distribution that got me into minimal Linux distributions and even though it has its issues (drop systemd), it's really great.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Happy 20th Birthday Arch Linux!</h2>
<h4>2022-03-11</h4>
<p>So today, 2022-03-11 depending on your time zone marks 20 years since Arch Linux was released to the public. I would like to show some respect by
creating this very post. Arch Linux is still one of the best Linux distributions and I use it on a few machines.</p>
<p>Even though I personally use Gentoo, Arch Linux was what got me into minimal Linux distributions and bloat-free software so I believe
we should give it the respect it deserves.</p>
<p>So thank you Arch Linux for being "different" and being minimal. Although I don't agree with some of your decisions such as switching from OpenRC to Systemd, you're one of the most popular distros and managed to get many people away from the bloated
Linux distributions to something minimal and DIY. You even basically created Linux elitism by making an OS
that's difficult to install.</p>
<p>Happy 20th Birthday Arch Linux and thank you for reading this.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

36
articles/post06.php Normal file
View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>It's time to stop using Adblock Plus (seriously stop) </title>
<meta charset="UTF-8">
<meta name="description" content="It's time to stop using Adblock Plus. It's 2022 and people are still using Adblock Plus despite their shady choices and misleading claims.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>It&#39;s time to stop using Adblock Plus (seriously stop)</h2>
<h4>2022-03-12</h4>
<p>One of the most popular types of browser extensions have been ad blockers. Now there are so many ad blockers, most of them being absolutely terrible that it can be hard to pick one.
But fear not, just look for the highest rated one right? Well.. No. Because on most browsers Adblock Plus is the highest rated extension and therefore it&#39;s also the most popular.</p>
<p>But little do most users know that ABP isn&#39;t what it seems. You see, big tech companies pay the creator(s) of ABP to not block their ads.
You might say, these are what ABP calls &quot;Acceptable Ads&quot; but NO, these are not just whitelisted until you manually disable them, these are ALWAYS whitelisted.</p>
<p>Now, let&#39;s talk about what &quot;Acceptable Ads&quot; are. These are ads that ABP deems &quot;Acceptable&quot; and they likely get paid
to make these &quot;Acceptable&quot;.
The reason this feature exists is obvious. Most normies don&#39;t spent time &quot;tinkering&quot; with their software and therefore probably use the default settings.
And &quot;Acceptable Ads&quot; are also enabled by default. So the user installs ABP thinking they&#39;re getting privacy and an ad free experience when that&#39;s not really the case.</p>
<p>Guess what makes it worse? ABP doesn&#39;t tell its users that they&#39;re being paid money by big tech companies. And because ABP is one of the most popular if not THE most popular
ad blocker its users are going to trust it no matter what.</p>
<p>So what ad blocker should you use? Well, you could go with the least bloated option which is to edit your /etc/hosts file but manually adding entries is extremely time consuming
and ultimately not worth your time so instead you can simply use the &quot;uBlock Origin&quot; extension which is available for Chromium, WebKit and Firefox based browsers.</p>
<p>uBlock Origin despite having a bad name in my opinion is definitely the best ad blocker. It&#39;s 100% open source and free as in freedom. Its filter is also public and if you really
want you can add it to your /etc/hosts manually. It has no &quot;Acceptable Ads&quot; trash which means money doesn&#39;t decide what&#39;s going to be blocked.</p>
<p>It also has a bunch of other nice features that other ad blockers lack such as preventing WebRTC leaks and disabling JavaScript, cookies, trackers and other stuff that you
might not want. It&#39;s definitely one of the best browser extensions and I highly recommend it.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

27
articles/post07.php Normal file
View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>rchat 0.4 is here (Now available on Arch and Gentoo) </title>
<meta charset="UTF-8">
<meta name="description" content="rchat 0.4 is here. It doesn't bring much of note except a few commands but you can now install it easily if you're on Gentoo or Arch through the AUR or my ebuild overlay respectively.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>rchat 0.4 is here (Now available on Arch and Gentoo)</h2>
<h4>2022-04-24</h4>
<p>rchat 0.4 has finally been released. This release doesn't bring much of note except a few commands.</p>
<p>However, you can now install rchat easily on Arch based distributions through the AUR and Gentoo using my ebuild repository.</p>
<p>To install rchat 0.4 on Gentoo, add my overlay, you can find out how to do so by following this link: https://codeberg.org/speedie/speedie-overlay.</p>
<p>To install rchat 0.4 on Arch, simply install the AUR package. You can use an AUR helper like 'yay' if you want. Usage with 'yay' is 'yay -S rchat'.</p>
<p>For other GNU/Linux distributions, you can head over to my GitHub and download the latest version. Or clone it using Git.</p>
<p>The latest release can be found here. Simply download, save to /usr/bin/rchat and chmod +x /usr/bin/rchat.</p>
<p>https://raw.githubusercontent.com/speediegq/rchat/main/rchat</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

29
articles/post08.php Normal file
View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Half an rchat (rchat 0.5 is out) </title>
<meta charset="UTF-8">
<meta name="description" content="rchat 0.5 is here. It brings a few more commands such as setting how quickly messages are loaded. rchat now has its own page on my website, you can check it out yourself. There are also patches available for rchat now which is the main method you'll be able to add patches.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Half an rchat (rchat 0.5 is out)</h2>
<h4>2022-04-26</h4>
<p>rchat 0.5 is here. It brings a few more commands such as setting how quickly messages are loaded.</p>
<p>It is likely one of the last feature updates, as new features will come in the form of patches.</p>
<p>rchat now has it's own page on my website, you can check it out here: https://speedie.gq/rchat.html</p>
<p>In addition to this, patches are now available. At the time of making this post, there's a .Xresources patch available for 0.5</p>
<p>Please be respectful and don't abuse the new feature.</p>
<p>- To install rchat 0.5 on Gentoo, add my overlay, you can find out how to do so by following this link: https://github.com/spoverlay/splay.</p>
<p>- To install rchat 0.5 on Arch, simply install the AUR package. You can use an AUR helper like 'yay' if you want. Usage with 'yay' is 'yay -S rchat'.</p>
<p>- For other GNU/Linux distributions, you can head over to my GitHub and download the latest version. Or clone it using Git.</p>
<p>The latest release can be found <a href="https://codeberg.org/speedie/rchat">here</a>. Simply download, save to /usr/bin/rchat and chmod +x /usr/bin/rchat.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

34
articles/post09.php Normal file
View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Everything I want to use is Chromium </title>
<meta charset="UTF-8">
<meta name="description" content="The internet is slowly becoming more and more centralized thanks to Chromium becoming not only the dominant browser engine which new fancy browsers are adopting but also because the internet is getting harder to use without Chromium as your web engine of choice.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Everything I want to use is Chromium</h2>
<h4>2022-04-26</h4>
<p>Good morning/evening/night gigachads. Today I wanted to speak about a problem. As you've probably read from the title which is 'Everything I want to use is Chromium', everything I want to use is Chromium.</p>
<p>No matter if you like Chromium or hate Chromium, it is a problem because centralization is a problem. In this case, centralization refers to a product with a marketshare so far above everything else, it's slowly killing any and all alternatives. </p>
<p>Back in the day, There were really only two web engines; Trident or whatever it was called (IE), and Gecko (Netscape/Firefox). This used to be a problem in the late 90s and early 2000s because Internet Explorer was about as dominant as Chromium is today. However as the mid 2000s came around, it was fairly balanced and you could get by with either web browser.</p>
<p>In 2008, a brand new "fancy" web browser came around called Google Chrome. Little did we know back then but this web browser would later end up essentially destroying the internet. Not the web browser itself, although it's pretty terrible and normies tend to use it, but rather the web engine it had, named 'Chromium'. Now Chromium is based on another web engine called WebKit. The problem is that Chromium is controlled by a big tech company and even worse, a big tech company with advertising as their main goal.</p>
<p>Now, Chromium is a free software project but since Google, the evil advertising company has the final say about what goes into the project and not, it's not something you should depend on. Chromium ended up being (and still is) the fastest web engine. This led to new websites relying more and more on Chromium. And as the result of that, most web browsers created nowdays are based on the Chromium engine.</p>
<p>Slowly, Chromium gained massive marketshare and fast forward to today, it's by far the most popular web engine out there. Essentially what we've done is given Google the power over all of our free software projects.</p>
<p>Not only that but with massive marketshare came web centralization. Google, the evil company has a monopoly on advertising, hosting and video sharing and even web searching. Who is to say they won't use their monopoly and power for evil in the "free software" project Chromium which is in most web browsers today?</p>
<p>Mozilla, the creators of Firefox and other free-software projects like Thunderbird don't have advertising in mind and rather try to encourage a free and open source web. However due to bad decisions and Gecko being slow, Chromium has taken over and now Mozilla is really struggling to keep the Firefox project going.</p>
<p>You might say, "just fork Gecko" and while that would be valid, Gecko is REALLY difficult to work with and that's the problem. You can't just easily create a browser based on Gecko because it's too difficult and time consuming. </p>
<p>Now, I'm not gonna go too in depth on this but many DESKTOP applications are also becoming Chromium. The reason is that soydevs have essentially stopped making regular Desktop applications and are instead using something called 'Electron'. Electron is basically a minimal (but still EXTREMELY bloated Chromium) which is even worse because even if you avoid Chromium for your web browser by using a Firefox based browser like GNU/Icecat, Tor, Firefox, Waterfox, Librewolf, etc. you'll still have Chromium based applications on your system.</p>
<p>It's getting really common. balenaEtcher, Discord, Spotify, Telegram, etc. desktop clients are all using Electron/Chromium.</p>
<p>So what do I want? I want a decentralized web. To support this, we need to somehow grow Firefox and Webkit based browsers' marketshare so that the marketshare is more even. So that, if Google eventually destroys Chromium and makes it a spyware monopoly, we have another engine to fall back on.</p>
<p>A good way to do this would be to bring back the old 'Choose a browser' prompt Microsoft was forced to show every time Internet Explorer was launched on Windows 7 and 8.</p>
<p>To contribute to this, I've decided to BAN myself from ever touching anything based on Chromium or Electron. Chromium might be great, or it might suck but I refuse to support a bloated, centralized web. If you wanna support a decentralized web, I suggest you do the same.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

31
articles/post10.php Normal file
View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>xinit is bloated </title>
<meta charset="UTF-8">
<meta name="description" content="Some GNU/Linux users are very serious about maintaining a minimal system. They use software like dwm yet they keep using bloat just to do simple things like start an X session.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>xinit is bloated.</h2>
<h4>2022-04-30</h4>
<p>Some GNU/Linux users are very serious about maintaining a minimal system. They use software like dwm as their window manager, written in C with very few dependencies (definitely check it out).</p>
<p>But even then, they keep using a bloated piece of software just to run an X session.</p>
<p>That program is 'xinit' or 'startx' as some people call it because that's the command you run to start an X session. To me, there is absolutely no reason to keep using such a bloated program when minimal alternatives exist. In fact, it's really easy to switch to a better alternative.</p>
<p>If you're running Wayland then you can ignore this post/throw that bloat in the trash, it's not for you. For the rest of us Xorg GNU/Linux chads, I'm going to walk you through a simple program called 'sx'. I've known about this program for months but never actually bothered to try it. As I quickly found it months later however, it is REALLY easy to switch over to sx, even on a system that's already fully set up.</p>
<p>To get started, change directory to wherever you want and 'git clone https://github.com/Earnestly/sx.git'. Now 'cd sx' and run 'make install' as root.</p>
<p>Now that you've got sx installed, it's time to start using it. If you're not sure how to use it, you can simply check the 'man sx' page.</p>
<p>To start a server, if your .xinitrc is in ~ then you can probably just run 'sx sh ~/.xinitrc'. You can use the exact same .xinitrc with sx as with xinit. Now, if you've moved your .xinitrc then it's the exact same command, just change the path.</p>
<p>If your X is configured properly and the .xinitrc is written properly, your window manager should start just like it did with xinit. Now, sx is just 36 SLOC of POSIX compliant shell so if you want you can easily make changes to it.</p>
<p>Unless you require very specific settings though, which is quite rare you probably don't need to modify it anyway.</p>
<p>sx does however have a few problems although I've only encountered one with dfmpeg/ffmpeg where it won't record. It's not a huge deal and it's probably just a dfmpeg thing. If it is and I manage to solve it, a new version of dfmpeg should be released soon.</p>
<p>Either way, sx is really everything you need an 'X starter' to do. Nothing less, nothing more.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

29
articles/post11.php Normal file
View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Smartphones are only smart because you're dumb. </title>
<meta charset="UTF-8">
<meta name="description" content="Smartphones are evil. They're slowly turning us into braindead robots who only know how to consume but slowly lose the ability to think and to make decisions. They slowly require their smartphones to make decisions because their brains are becoming more and more useless. More and more braindead.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Smartphones are only smart because you're dumb.</h2>
<h4>2022-05-04</h4>
<p>As a smartphone user;</p>
<p>Smartphones are evil. They're slowly turning us into braindead robots who only know how to consume but slowly lose the ability to think and to make decisions. They slowly require their smartphones to make decisions because their brains are becoming more and more useless.</p>
<p>Now, the problem people who understand how technology is bad for them is facing is normies. Normies don't understand how the technology they use affects them and they don't have any clue how it works. All they know is that it gives them a constant dopamine fix.</p>
<p>"Smart"phones are good for one thing; giving smartphone companies and government agencies all your data and slowly bluepilling everyone who uses them. They're forcing expensive pocket-sized pieces of glass and spyware onto people which are all running only proprietary software which likely will spy on you as is the case with nearly all non-free software.</p>
<p>"Smart"phones are slowly taking control over YOU and are now starting to "think" for you. This is a problem because it means you're slowly becoming useless, slowly becoming braindead. You are slowly becoming property of the big tech companies who made your device. The software is all proprietary (non-free) which means you have absolutely no idea what's going on.</p>
<p>You just have to trust tech companies and most people unfortunately do it without actually thinking for themselves. They think big tech companies are out here being nice trying to make the world a futuristic dream or something.</p>
<p>Now, for many Android devices and certainly Apple's hardware, you can't just replace the proprietary OS and proprietary bootloader with free software. Because they're not gonna allow that. You may be able to run a more free OS but you'll still have non-free software running on the glass and spyware you possibly paid thousands for.</p>
<p>So you pay them thousands for a phone which can do almost nothing compared to your computer, then they still spy on you and slowly devolve into a braindead robot.</p>
<p>Smartphones must be stopped before humanity is ruined.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

30
articles/post12.php Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>I HATE APPLE!!! </title>
<meta charset="UTF-8">
<meta name="description" content="I believe Apple is an evil business, moreso than many other tech companies for one reason. No it's not their high prices. Actually it's worse than that. We can laugh all we want about the $1000 Apple Studio Display stand but really, that's far from the worst. The real reason I hate Apple is because they manipulate the consumer.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>I HATE APPLE!!!<h2>
<h4>2022-05-23</h4>
<p>Today I'm starting a new 'series' of blog posts essentially about how certain companies are evil. This one will be about Apple as I'm pretty sure you can tell if you even read the title of the post.</p>
<p>Before you call me a biased RMS fan who runs a FSF approved distribution, never goes outside, has Stallman posters and hates everything that isn't free software:</p>
<p>I am far from biased, in fact I used to run macOS as my main desktop operating system, used an iPad years ago and since 2020, have been maintaining a Mac OS X 10.4 retro project.</p>
<p>Even then, I believe Apple is an evil business, moreso than many other tech companies for one reason. No it's not their high prices. Actually it's worse than that. We can laugh all we want about the $1000 Studio Display stand but really, that's far from their worst. The real reason I hate Apple is because they manipulate the consumer.</p>
<p>If your first reaction to this is "HOW" then Apple managed to do it on you too.</p>
<p>So why is Apple evil? Apple is evil because they manipulate the consumer into thinking their products provide privacy for the normie (Which most Apple users are).</p>
<p>Need a good example? Simply watch their newest (at the time of writing) video called Privacy on iPhone. In the video they in sort of a weird way claim Apple and iPhone devices specifically allow you to disable app tracking. So why is this evil? Isn't this great for privacy?</p>
<p>If the normie consoomer who doesn't know any better tries to disable app tracking using whatever features Apple the evil company provides, Apple gets all that data for themselves. Now of course they claim they don't sell your data but how are you gonna know? Almost every piece of software written by Apple is ABSOLUTELY PROPRIETARY which means you have absolutely no idea what it does with all your data.</p>
<p>And while they have access to your data, the normie consoomer thinks Apple cares about your privacy and only wants the best for you. This means people who are now starting to care about privacy go out and buy iPhone devices thinking they're good for privacy when they're really not.</p>
<p>Sure, iPhones may be better than Samsung, Huawei, Xiaomi and the endless other companies when it comes to privacy but to think they don't track you is really stupid. A general rule is, if something's not "free and open source software" it tracks you. Apple stops other companies from tracking you but they track you themselves instead. At the end of the day, the data is still collected and sent to Apple so it really makes no difference in the end.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

28
articles/post13.php Normal file
View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Open source: Fake freedom. </title>
<meta charset="UTF-8">
<meta name="description" content="Stop using the term 'Open Source'. By supporting 'open source' you're not supporting software that respects the user's freedom. Instead you're supporting fake freedom. Open source is just as evil as proprietary software, the ONLY difference is that the source code for the application is public. You don't wanna support proprietary software with a nice mask on, do you?">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Open source: Fake freedom.<h2>
<h4>2022-06-05</h4>
<p>Yep, I'm back with yet another rant because we totally don't have enough of those yet. I hope the next few blog posts are going to be.. more positive but I feel like this must be said.</p>
<p>This one is about free software and open source. This is probably my first blog post that has made be.. extremely angry while writing it. In fact I had to edit the finished post 5 times just because I kept insulting the people who support 'open source'. So please..</p>
<p>Stop using the term 'Open Source'.</p>
<p>By supporting 'open source' you're not supporting software that respects the user's freedom. Instead you're supporting 'fake' freedom. Open source is just as evil as proprietary software. The only difference is that the source code for the application is public. You don't wanna support proprietary software with a nice mask on, do you?</p>
<p>If free software is what you <i>actually</i>support then please use the term 'Free software' or 'Libre software' instead. If you support 'open source' then you're supporting companies like Microsoft, Google, Apple and many more who don't care about your (free)dom but only the 'collaborate' aspect of open source.</p>
<p>They like open source because they get YOUR (as in people who write code for the project) work and code for nothing in return. Open source is important but it's just part of freedom.</p>
<p>In addition to this, many people who are unaware of the free software movement/project think these big tech companies are nice people who care about their users when this is far from the truth.</p>
<p>Open source does not guarantee the user's freedom. This is why tech companies support 'Open source' but not free software. Free software is evil to them because they want control, something free software doesn't and cannot allow.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

32
articles/post14.php Normal file
View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Why I switched license from MIT to GPLv3 </title>
<meta charset="UTF-8">
<meta name="description" content="In this blog post I wanna sort of explain why I switched to the GNU GPLv3 license after having used the MIT license for such a long time. The reason is quite simple. Both are free software licenses but the MIT license and most other licenses are missing one specific point that I really like and it's the main reason why I switched. Should you switch to GNU GPLv3?">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Why I switched license from MIT to GPLv3<h2>
<h4>2022-06-05</h4>
<img src="img/rmschad.png" alt="image">
<p>Like I said last time, I wanted to make some more positive blog posts so here goes, I guess!</p>
<p>In this blog post I wanna sort of explain why I switched to the GNU GPLv3 license after having used the MIT license for such a long time. I also hope this will be my last FSF/GNU related post for a bit but usually I just write about whatever is on my mind.<p>
<h4>- So why did I switch license from MIT to the GPLv3?<h4>
<p>It's fairly simple. Both are free software licenses but the MIT license and most other licenses are missing one specific point that I really like and it's the main reason I switched.</p>
<p>Most other licenses including the MIT allow anyone to fork the project and redistribute it just like the GPL but the problem is the license can be changed to whatever the fork author wants. This also includes a proprietary license which goes against what I want out of a license. I want to <i>prevent</i> non-free software, I don't want to <i>help</i> non-free software.</p>
<h4>- How are you helping non-free software?</h4>
<p>Essentially I'm writing their software for them, so then they can just fork it and make proprietary spyware out of it. This has happened to many different projects and you can thank these licenses that don't prevent a license change for proprietary firmware and other nasty stuff that (probably) runs on your GNU/Linux box. Some people may argue that the GPL is actually non-free because it <i>doesn't</i> let you fork under another license but I heavily disagree</p>
<p>At first it may seem like that but as soon as someone forks your software and changes the license to a non-free license you have MORE proprietary spyware so in the end you're causing more problems than you're solving. The GPL essentially tries to end proprietary software by providing a license which guarantees freedom like I stated in my <a href="https://speedie.gq/post13">previous post.</a> which is something I support. So that begs the question. Should you switch to the GNU GPLv3 license?</p>
<p>Now, I would like to add that if you're heavily against the GNU project or the Free Software Foundation due to Richard Stallman, then you probably do not want to use the GPL. And most of the time the people who choose to NOT use the GPL for this reason cannot actually find a justifiable reason for their choice. I don't know about you and it's not my decision but either way the GPL is just a <i>software license</i> and therefore it really doesn't matter who wrote it. Just know that by using a license that doesn't prevent/stop non-free software, you're making the world a worse place.</p>
<p>If your goal in addition to providing users with freedom and a great piece of software then the GPL is probably for you. The GPLv3 license guarantees freedom for anyone who uses the software. Therefore <i>in my opinion</i> by using the GPLv3 license you are making the world a better place by stopping potential proprietary software.</p>
<p>That's all for this blog post I guess, bye.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

33
articles/post15.php Normal file
View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Are GNU/Linux users elitist or are normies too stupid to learn? </title>
<meta charset="UTF-8">
<meta name="description" content="Windows/macOS users often call me an elitist but is that really true? In my eyes, not really. Normies however are elitist about being too stupid to learn. They take pride in being stupid and refuse to learn even when it takes no time whatsoever.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Are GNU/Linux users elitist or are normies too stupid to learn?<h2>
<h4>2022-06-06</h4>
<p>Another day another blog post!</p>
<p>Windows/macOS users often call me an elitist GNU/Linux user but is that really deserved? Well, I personally don't think or care too much about people's opinions on me. After all, I have better things to do and since it's so common to call GNU/Linux users 'elitist', it doesn't really mean anything to me.</p>
<p>However, since this is so common I wanted to find this out for myself. So let's think for a moment here? Why do I write blog posts just like the one you're reading?</p>
<p>Well, for me it's because it allows me to say exactly what I think whenever I want. It's a nice way to (sometimes) express your anger at something. However I don't really view myself as an elitist. After all, I write blog posts like this one and write guides like <a href="https://speedie.gq/guide02.html">this one</a>. I went out of my way to help <i>new</i> GNU/Linux users in this case install Arch.</p>
<p>If I was an elitist I'd tell you to 'RTFM' like every Arch user ever. Instead I went out of my way to help you get started with Arch.</p>
<p>What I'm not about to do however is read the 'FM' for you. If you aren't capable of reading plain English then I will call you exactly what I view you as, <i>an idiot</i> or <i>a normie</i>.</p>
<p>In addition to this, it ALWAYS seems like the people calling <i>me</i> an elitist are part of this group. People who will complain about something being difficult without having the patience to read and perform. They will call anyone who uses software that they view difficult to use (for example Gentoo, Arch, or suckless software) an elitist. They can't seem to find one reason why anyone would actually want to use said software except to look cool on the internet.</p>
<p>Now I'm not gonna deny the fact that there do exist <i>some</i> elitist GNU/Linux users but they're the exception rather than the rule. Most people who use this (in the normie's eye difficult) software do it because it's more efficient once you know how it works. A good example of this would be Vim.</p>
<p>The 'real' elitists (in my opinion) are the normies since they consider anyone who uses X software an elitist even if only a few (but loud) people have an elitist attitude about the software they use.</p>
<p>The normies are proud to be normies. Just like we are proud to use this 'hard to use' software.</p>
<p>The difference is, we try to teach the normies this 'hard to use' software but instead of actually learning anything, they simply call us elitists. Therefore, I personally consider the normies the actual elitists.</p>
<p>To be clear, if you don't understand how to use X software then that's perfectly fine. What I do have a problem with is proud stupidity. Normies are always proud to be normies instead of learning. They take pride in being stupid.</p>
<p>That's all for this blog post. Have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

26
articles/post16.php Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Return of the rchat (rchat 1.0 is out) </title>
<meta charset="UTF-8">
<meta name="description" content="It's been a while since I've updated rchat. Earlier today I decided to improve rchat since I noticed it had many flaws. rchat 1.0 brings many improvements such as borders that scale based on the size of your terminal.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Return of the rchat (rchat 1.0 is out)<h2>
<h4>2022-06-07</h4>
<p>It's been a while since I've updated rchat. Earlier today I decided to improve rchat since I noticed it had many flaws that I thought I could improve on.</p>
<p>rchat 1.0 brings many improvements. :help, :changelog and :history now have colors, Borders now scale based on the size of your terminal window.</p>
<p>In addition to this, you can now use ~/.config/rchat/rchatrc to set options. This might be useful if you wanna set settings without using commands. You can also set the border character using the ':set sep' command. :help, :changelog and :donate commands can be used without joining now.</p>
<p>You can reset all settings using the ':reset' command. You can also open my donation page by using the ':donate' command. Fairly small but very useful release. If you want to install it, you can clone the <a href="https://github.com/speediegq/rchat">rchat repository</a> and run <code>make install</code> as root.</p>
<p>Gentoo and Arch repositories should be updated soon.</p>
<p>Have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

25
articles/post17.php Normal file
View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Website update </title>
<meta charset="UTF-8">
<meta name="description" content="Since yesterday I've been working on a little website overhaul (mostly fixing errors and improving index.html) so this is just a quick blog post telling you about it.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Website update<h2>
<h4>2022-06-10</h4>
<p>Since yesterday I've been working on a little website overhaul (mostly fixing errors and improving index.html) so this is just a quick blog post telling you about it.</p>
<p>Normally I wouldn't make a blog post about small changes like this because... I mean it's a website, it's supposed to be updated and changed frequently.</p>
<p>I've made some changes to the layout however and removed a few buttons. For example, my forks and dotfiles can now be found <a href="dotfiles.html">here</a> instead. This was done to keep the front page clean and to the point. I also removed some project links but they're still up, just in the <a href="projects.html">Projects</a> page instead.</p>
<p>I added some fancy 90s style buttons as well to the footer of the front page because I thought they were cool. Let me know what you think about them and feel free to suggest more (License must be free to use). I also renamed a few blog posts but they're all still up. I plan on archiving a few blog posts but they won't be deleted.</p>
<p>That's it for the website update. Thank you for reading and have a good day! Hopefully next blog post will be a little more useful! 😃</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

30
articles/post18.php Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>I HATE ATI!!! </title>
<meta charset="UTF-8">
<meta name="description" content="ATI graphics cards are not usually talked about but they are the absolute worst for GNU/Linux performance. In fact, they render your GNU/Linux box unusable. This is a rant about my terrible experience with them on various different computers as well as what graphics cards are good for GNU/Linux (spoiler, none of them are ATI).">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>I HATE ATI!!!<h2>
<h4>2022-06-18</h4>
<h5><b>I HATE ATI!!!</b></h5>
<p>It's been a bit since a proper blog post was made so today I'd like to rant about ATI who clearly are not capable of making a graphics card that works under GNU/Linux. Sounds familiar? NVIDIA? Actually, NVIDIA is still better at this because at least their GPUs ACTUALLY WORK under GNU/Linux.</p>
<p>So anyways. Yesterday I installed Arch on my laptop which has an ATI Radeon 5650m. It's some old Packard Bell machine from ~2009. The RADEON 5650m is not a fancy graphics card but it should be more than enough to have transparency in terminals with.. usable performance. Especially since it ran Windows 7 well (At least as well as such a spyware trash operating system can).</p>
<p>As always, installation boots fine, I install xorg-server, xorg-xinit and <a href="dwm.html">my build of dwm</a>. Of course, this works fine and performance is good enough but as soon as i install <code>picom</code> and run the usual <code>picom &</code>, the entire computer slows down to the point where it's almost unusable and terminals take 10 seconds to spawn.</p>
<p>It's not an <code>st</code> issue either because <code>dmenu</code> also takes AT LEAST 10 seconds to open. Absolutely ridiculous for a simple run launcher/menu.</p>
<p>You might say I'm biased because it's only one computer and it might be broken or something, alright fair enough so I tried on another computer. I installed Arch on my Early 2008 iMac which has an ATI Radeon 2600XT and a Core 2 Duo processor. This Mac runs Mac OS X Snow Leopard great and Mac OS X Tiger through <a href="project081.html">Project 081</a>.</p>
<p>This time I also followed the Arch Wiki on ATI graphics cards and after an install of Arch and dwm, the thing is still unusable just like the Packard Bell laptop. Windows take ages to spawn and when they <i>do</i> spawn, are really <strong>really</strong> slow.</p>
<p>So I kill <code>picom</code> and right away, the computer actually works and terminals spawn instantly. Every single computer with ATI graphics have had TERRIBLE GNU/Linux support making them unusable if you want transparency.</p>
<p>Now, if you didn't know, AMD bought ATI and as such, ATI branded GPUs are no longer being produced meaning this isn't really a big issue if you only use new computers. In fact, my main desktop has an RX 570 + 580 (used for gpu passthrough) and it runs GNU/Linux with my dwm rice perfectly so AMD actually did <i>something</i> useful.</p>
<p>So to end this blog post off, If you want an older laptop/desktop to use with GNU/Linux, avoid ATI. If the computer is new enough to have an AMD graphics card then you are probably fine. You would probably also want to avoid NVIDIA due to their terrible proprietary drivers (although hopefully this changes now that kernel modules are "open source") leaving Intel as the best choice for GNU/Linux.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

37
articles/post19.php Normal file
View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>dwm: dynamic window greatness!</title>
<meta charset="UTF-8">
<meta name="description" content="I usually don't do software reviews but I think it's time to start doing some. I've been using dwm since around December after switching from i3 and it really doesn't get any better than dwm. In fact, I haven't switched window manager once since then (other than trying bspwm and some others for a short time).">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>dwm: dynamic window greatness!<h2>
<h4>2022-06-18</h4>
<p>Alright so, how do I even start with this one?</p>
<p>I usually don't do software reviews but I think it's time to start doing some. I've been using dwm since around December after switching from i3 and it really doesn't get any better than dwm. In fact, I haven't switched window manager once since then (other than trying bspwm and some others for a short time).</p>
<p>dwm is by far the best window manager for GNU/Linux. Many beginners see it as difficult but it's actually really easy once you get the hang of it. And dwm like other suckless programs have very clear benefits which make it so great.</p>
<p>I've used i3, bspwm and awesome (which wasn't as awesome) and very quickly came to the conclusion that dwm works best for me. <strong>So, why should you use dwm?</strong></p>
<p>Well, it all comes down to the suckless philosophy which is basically to write minimal software that only comes with the basics. Then, it's up to the users to create patches (in the form of .diff files) to add features to the software. This is an advantage because it means you don't have a bunch of features that you don't want to use in your codebase. But it also means there are no limits in terms of what you can do with the software.</p>
<p>Most window managers have a configuration file with set options that the window manager can read. This means you're sort of limited in what you can do with the window manager. dwm on the other hand is customized and modified by editing the C source code directly. Not only does this keep the software light and minimal (through not reading a bloated configuration file), but this also means you have no limits in terms of what you can do because it's all C code that can be modified in any shape or form.</p>
<p>The C programming language is also very minimal meaning you don't need to install a bunch of dependencies (Looking at you, Xmonad and Haskell) so if you run a GNU/Linux distro like Gentoo where everything is compiled from source, you won't have to worry about waiting 2 hours just to get a window manager installed.</p>
<p>People who are new to dwm and probably use i3 often say it takes a long time to make a change to dwm just because you have to recompile the source code but that's complete nonsense. To install my build of dwm which has way more patches than most people's build, you run 'make clean install' and it's done within one second. Even on older hardware, it's only going to take around 3 seconds.</p>
<p>But now, let's talk about the window manager itself and the features. Let's start with what it's like right after compiling and installing a unmodified build. You will reach a pretty minimal and plain desktop with a bar at the top.</p>
<p>In order to spawn a terminal (and make changes to dwm), you press ModKey+Shift+Enter. ModKey is by default 'Alt' but most people change it to the 'Super' so that it does not conflict with keybinds your applications use.</p>
<p>dwm comes with three layouts by default. A tiling layout (layout 0), a monocle layout (layout 1) and a floating layout (layout 2). Because dwm is a <i>dynamic</i> tiling window manager, windows are managed based on one of these layouts. You can add more through patches but this is what the default build comes with.</p>
<p>The tiling layout is a 'Master and Stack' layout. Half of the screen is dedicated to the window you last spawned (Master) and the other windows have to share the other half (Stack). The Monocle layout is very different. In the Monocle layout all windows are available but they're stacked on top of each other. The focused window is the only one visible. Finally there's a floating layout where all windows are floating. They can by default be moved around by holding Alt+Left click and dragging it around. Windows are spawned on the top left which is pretty ugly so many users including myself choose to patch in a center patch which means windows spawn in the center of the screen instead.</p>
<p>Something that I certainly noticed and that you will too if you're coming from i3 or something is that Alt+Shift+q does not kill the focused window but rather your ENTIRE window manager. To actually kill the focused window, you do Alt+Shift+C. This was something I just could not get used to so I ended up changing the keybind. It's definitely something that could be confusing if you're new to dwm.</p>
<p>As for RAM usage, dwm is basically as good as it gets. This is mostly because dwm is written in C and less than 2000 lines of it. Don't get me wrong though. dwm doesn't have any less features than other window managers. In fact, it actually has MORE because of community provided patches that can be found on the <a href="https://dwm.suckless.org/patches">suckless dwm website.</a>. These can be used with the GNU <code>patch</code> command present on basically every GNU/Linux system and are created with the <code>diff</code> command.</p>
<p>Patches are basically snippets of code from other people's dwm forks that contain additional features. For example, not everyone wants transparency but if you do, there's an alpha patch available which adds it to dwm. dwm can be as minimal or as bloated as the user wants, that's what's so great about suckless software.</p>
<p>So, conclusion then. Should you use dwm? If you want an experience that's nearly limitless and allows you the most control then yes. If you're the kind of person who wants the least amount of dependencies or a window manager as fast as it gets, dwm is probably for you.</p>
<p>However, if you don't like tiling window managers and don't want to control everything using a keyboard then you can just head back to your Ubuntu + GNOME environment that you are so familiar with. As for me, I'm going to continue maintaining <a href="dwm.html">my dwm fork</a> because it has improved my productivity by a lot. My computer is much faster with dwm than it ever was before and consumes much less RAM.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

29
articles/post20.php Normal file
View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>rchat 1.3 is out! (I AM GREAT AT PUSHING UPDATES!)</title>
<meta charset="UTF-8">
<meta name="description" content="rchat 1.3 has finally been released. Hopefully it does not break any existing patches. If it does then.. well, they should be updated shortly. So, what changed with update 1.3? Mostly fixing bugs but I did replace ~ with $HOME as it works better. But in doing so, I introduced a massive bug and it's likely the dumbest thing I've done so far.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>rchat 1.3 is out! (I AM GREAT AT PUSHING UPDATES!)<h2>
<h4>2022-06-29</h4>
<p>Alright so, rchat 1.3 has finally been released. Hopefully it does not break any existing patches. If it does then.. well, they should be updated shortly.</p>
<p>So, what changed with update 1.3? Mostly fixing bugs but I did replace <code>~</code> with <code>$HOME</code> as it works better. But in doing so, I introduced a massive bug and it's likely the dumbest thing I've done so far.</p>
<p>Now, to make this easy and quick, I decided to use <code>sed</code> to replace all instances. Normally this would be fine but the problem is, I ran <code>sed -i "s|~/|$HOME/|g"</code> which was a problem because if you are new to the terminal, $HOME is a variable defined on every GNU/Linux system. This means <code>~/</code> was replaced with <code>/home/anon</code> because <code>/home/anon</code> is my $HOME directory/variable. This meant rchat was broken for everyone except the people who happen to have their user account named anon.</p>
<p>So of course, this release fixes this issue and nothing more.</p>
<p>To install rchat, see <a href="rchat.html">the rchat page</a>.</p>
<p>To update, if you are on rchat 1.2 or newer, simply respond with Y when prompted for an update.</p>
<p>If you are on rchat 0.5 or older (Latest release on the AUR as of 2022-06-29, <code>pacman -R rchat</code> and follow the instructions on the <a href="rchat.html">rchat page</a>.</p>
<p>If you are on rchat 0.5 or older (Latest release on the splay overlay on Gentoo as of 2022-06-29, <code>emerge --deselect rchat</code> and follow the instructions on the <a href="rchat.html">rchat page</a>.</p>
<p>That's it for this update, thank you for reading the blog post, have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

36
articles/post21.php Normal file
View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>PipeWire Review (RSS REVIEWS!!!)</title>
<meta charset="UTF-8">
<meta name="description" content="In case I haven't made this clear enough before, I'm not usually a PipeWire/PulseAudio user. I find it kind of pointless because ALSA allows me to do pretty much anything I want. However, recently I switched to Arch on my ThinkPad X220 and because it doesn't offer any USE flags like Gentoo does, I'm forced to use either PipeWire or PulseAudio with Firefox. So what is the PipeWire experience like?">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>PipeWire Review (RSS REVIEWS!!!)<h2>
<h4>2022-07-04</h4>
<p>I should probably start this "review" (calling it that would be stupid) off with a stupid little disclaimer; I am not an audio professional or ALSA expert. I am simply a regular user of a free software operating system.</p>
<p>I mainly use my audio devices for consuming content, editing videos and listening to music. That's it. I'm sure there are a few things that an audio professional would disagree with me on and that's fine.</p>
<p>In case I haven't made this clear enough before, I'm not usually a PipeWire/PulseAudio user. I find it kind of pointless because ALSA allows me to do pretty much anything I want and requires no setup except proper kernel options.</p>
<p>However, recently I switched to Arch on my ThinkPad X220 and because it doesn't offer any USE flags like Gentoo does, I'm forced to use either PipeWire or PulseAudio with Firefox. Not many developers support ALSA because not many people use only ALSA which means it is getting harder and harder to use ALSA for a lot of people. So what is the PipeWire experience like?</p>
<p>PipeWire to me is pretty much just PulseAudio-Improved. It's still an additional program I usually don't need but I can understand why it exists. A lot of audio related work would be an absolute nightmare to do on only ALSA so for most people, having an easy to use solution would probably be a good thing.</p>
<p>PipeWire is just that, you install it and it works. On Arch, you have three PipeWire related packages available, <code>pipewire</code>, <code>pipewire-alsa</code> and <code>pipewire-pulse</code>.</p>
<p>pipewire-pulse seems to be a compatibility layer for software that requires PulseAudio, and it also allows you to use software like pulsemixer to control it and pipewire-alsa allows you to control PipeWire using ALSA tools (such as alsa-utils) similar to pipewire-pulse. They're both probably worth installing.</p>
<p>I initially had to use PipeWire because it was a dependency for <code>firefox</code> which is the web browser I currently use but I decided to try using it for the rest of my system.</p>
<p>After installation, it requires no extra setup. You can use the same mixer you did with ALSA or PulseAudio if you installed the extra packages. PipeWire is mostly compatible with PulseAudio.</p>
<p>As for audio quality, I tested using both speakers, headphones (wired) and headphones using Bluetooth and they all work great. Usually I'm not a fan of wireless/bluetooth but I had to try it out. Bluetooth works significantly better on PipeWire compared to PulseAudio and even ALSA so if you are a fan of Bluetooth audio, you will definitely want to go with PipeWire.</p>
<p>On PulseAudio, the audio is very much out of sync and sometimes doesn't even want to connect properly. On PipeWire, it "just werks" after it's installed and connected properly.</p>
<p>I also tried compiling PipeWire on Gentoo and found that it compiled faster than PulseAudio so if you're trying to go for a minimal system, even though ALSA would be more minimal, PipeWire is a better choice.</p>
<p>Now let's briefly talk about Wayland support. I've heard PulseAudio support is terrible if not completely broken on Wayland but I cannot test that for myself because I'm not a fan of Wayland. If you're a Wayland user, you would probably want to do some more research into this or avoid PulseAudio entirely.</p>
<p>With all said and done; Will I continue to use PipeWire?</p>
<p>No.. sort of. I'm going to continue to use PipeWire on my ThinkPad because it is running Arch. I will however continue to use ALSA on my main machine running Gentoo because I don't see the need for anything else.</p>
<p>But do I recommend PipeWire? If you're going to use a binary based distribution, absolutely. It is a lot better than PulseAudio in many ways. However if you're using a source based distribution where you can choose to use only ALSA and that works for you then I would say continue to use ALSA.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

30
articles/post22.php Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>OH NO IM BEING CANCELLED ON TWITTER WHAT WILL I DO???</title>
<meta charset="UTF-8">
<meta name="description" content="A fairly new thing in internet culture recently has been cancelling people. It's a really cringe meme sort of created and spread around by these stupid Twitter users who don't do anything but tweet for 5 hours a day.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>OH NO IM BEING CANCELLED ON TWITTER WHAT WILL I DO???<h2>
<h4>2022-07-14</h4>
<p>A fairly new thing in internet culture recently has been "cancelling" people. It's a really cringe meme sort of created and spread around by these stupid Twitter users who don't do anything but tweet for 5 hours a day.</p>
<p>Let's imagine a scenario where we have Twitter users trying to cancel someone who has an internet presence elsewhere and also uses Twitter:</p>
<p>Usually what happens is they (as in the stupid twitter users) target someone who has an internet following elsewhere (although this does not have to be the case) who has a public opinion on something that isn't the most common and then try to link it together with something that is now in modern times considered socially unacceptable.</p>
<p>Then they will attempt to make the general public stop following or supporting them for having this usually pointless opinion "cancelling" the target in question. On the surface, to me, this seems like the usual nonsense created by Twitter users but actually, internet normies keep falling for it instead of being a strong internet chad who stands by their opinions no matter how unique, disgusting, or even illegal they are.</p>
<p>In modern day internet, it is socially unacceptable to criticize anyone who's even slightly out of the norm in terms of race, gender, sexuality or anything else, even if it's completely unrelated to the problem because they simply will not or cannot seem to stop connecting unrelated issues to people's identity.</p>
<p>What the targets in this case always seem to miss however is that they are pretty much cancelling themselves. The target will choose to think that THEY are in the wrong and because the Twitter users all follow the norm, they will say the same thing over and over again.</p>
<p>In reality no one is forcing the target to quit doing what they're doing except themselves. Instead of choosing to stand up for themselves and what they said, they chose to end their online presence because of one (likely small) thing that they said. If you want to avoid getting cancelled, it's really easy. Just do not care about what the stupid Twitter users think about your opinions.</p>
<p>No one can end your online presence except yourself and the owner of your platform (Twitter, Facebook, YouTube or yourself if you have a website). Acting like you aren't in control of your own social media profiles would be correct. But giving control over YOU and your internet presence to other people is a sign of weakness.</p>
<p>Simple advice; To avoid being cancelled, simply don't let anyone push you around on the internet, think for yourself and most importantly, stand up for your own opinions and actions, no matter what they.</p>
<p>That's it for this blog post, have a good day/night!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

37
articles/post23.php Normal file
View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Why I ban software.</title>
<meta charset="UTF-8">
<meta name="description" content="For some reason, people feel the need to ask me why I ban certain software. Why I ban myself from trying new software for seemingly made up reasons. In this blog post I explain the reason why I choose not to use certain software.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Why I ban software.<h2>
<h4>2022-07-16</h4>
<p>For some reason, people feel the need to ask me why I ban certain software. Why I ban myself from trying new software for seemingly made up reasons. In this blog post I explain the reason why I choose not to use certain software.</p>
<p>First of all, when I say 'ban' I simply mean I refuse to install or even try said software. This can be due to many different reasons however usually it's software that goes against my philosophy completely.</p>
<p>If you've been following my blog for a while, or know me on some other platform, you know that I only recommend free (as in freedom) software and this is for good reason. With free software, the user is in control, not the developer while with non-free software, the developer has a lot of power over the user and can hide malicious features in the software that will not ever be discovered.</p>
<p>So a lot of software I ban is automatically banned from my life due to freedom violating features. A good example of this would be Windows 11 which recently started changing the search feature in the start menu without the user's permission. For example, back in June during Pride month, Microsoft thought it would be a good idea to add a rainbow to Windows 11 users' search bar.</p>
<p>No matter what your opinion on the LGBT community is, there is no excuse for this and it's a great example of how you, the computer user is not in control. For this reason, I only promote free software and personally only use non-free software if absolutely necessary for hardware support on my computers (such as Intel ME or firmware for wireless).</p>
<p>Other software I choose to ban because of what the software was designed to do. A good example here would be Flatpaks, which aim to destroy the GNU/Linux operating system by creating distro independent packages that contain all dependencies no matter if they're required on the system or not. The goal is simplicity but this also means they're throwing minimalism and user choice out the window.</p>
<p>I've ranted about these a lot in the past but by banning terrible software like this, I'm doing my part in preventing this kind of software from taking over people's computers. Normies are not willing to do it because they value convenience above everything else, the only people who do this are the enthusiasts and activists and that's a shame.</p>
<p>So what change do I want to see?</p>
<ul>
<li>Privacy and freedom respecting software.</li>
<p>When using a piece of software, you should expect it to leave YOU in control, but most of the time with stupid software, the developer or even the software itself is in power, not the user. It should also provide proper privacy, none of this <a href="post12.html">fake privacy</a> nonsense. User data is very valuable and as such, this requirement is not likely to be followed any time soon.</p>
<li>Minimal software with actual effort put into them.</li>
<p>Most software nowadays has one goal; Create the application as quickly and cheaply as possible so that it can make money. Most developers do not care about the code quality at all, instead saying 'Well we have modern computers anyway so who cares' and moving on with their day writing terrible software. As a result, most software nowadays sucks and normies do not care.</p>
<li>Normies taking the matter into their own hands.</li>
<p>Because companies who produce this terrible software get paid either way and because normies don't care, the companies will continue producing this terrible software and the consumers will continue consuming the products without a second thought. The consumers will blame it on 'Oh the future' or 'It is so convenient' but it's a serious issue. Problem is the normies are too busy looking into the future to care. We must convince the normie to value quality software over garbage and to stop using terrible software.</p>
</ul>
<p>So, while we can't get normies to stop using this terrible software, we can definitely do our part. Thank you for reading this blog post, have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

26
articles/post24.php Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>What happened to spDE? (And announcement)</title>
<meta charset="UTF-8">
<meta name="description" content="Today's post is going to be short, and more announcement-y than usual. If you tried using spDE after around April, you may have noticed that it seems to no longer work. No this was not a failure on my end, it was done on purpose. Read to find out why I abandoned spDE (and some spDE announcements).">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>What happened to spDE? (And announcement)<h2>
<h4>2022-07-23</h4>
<p>Today's post is going to be short, and more announcement-y than usual. If you tried using spDE after around April, you may have noticed that it seems to no longer work. No this was not a failure on my end, it was done on purpose.</p>
<p>So first of all, if someone tries to use spDE right now, the script will quit with seemingly no error reported. This is because of a line I added to the start script on purpose. You might ask, why destroy the script on purpose?</p>
<p>The line was added because I had updated my builds of suckless software causing the builds to no longer compile. In addition, a few changes to distro repositories broke the script on Void GNU/Linux and Arch GNU/Linux based distributions. While this would be an easy fix, I had switched software too meaning the scripts were very out of date and as such not useful anyway.</p>
<p>So to prevent users' from destroying their GNU/Linux systems, I decided to break the script on purpose before it has a chance to install anything knowing that I would probably update or rewrite the script at a later date. Well.. It is July now and it is still broken and unmaintained.</p>
<p>This is where this announcement comes in. I have plans to completely rewrite spDE in a more maintainable way so that things can be added, swapped out and ommited without any trouble, both by the end user and by contributors in order to keep the experience as simple as possible. In addition, I'm going to provide great documentation (a lot already comes with <a href="dwm.html">my build of dwm</a>) so really, spDE is going to be an install script for my build of dwm, any dependencies as well as other software I use with it. (music player, file manager, bluetooth, status bar, etc.).</p>
<p>Expect to see another announcement post shortly when it's complete! Have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

34
articles/post25.php Normal file
View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>I left GitHub and you should too!</title>
<meta charset="UTF-8">
<meta name="description" content="As we all know, especially the developers who read my blog, GitHub is by far the most popular Git service out there. It is also 100% free as in beer and offers a lot of features, even free hosting. However this comes at a price - Privacy. GitHub is not as nice as it used to be.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>I left GitHub and you should too!<h2>
<h4>2022-08-23</h4>
<p>As we all (hopefully) know, especially the developers who read my blog, GitHub is by far the most popular Git service out there. It is also 100% free as in beer and offers a lot of features, even free hosting (although it does not allow the usage of PHP).</p>
<p>However, this comes at a price - Privacy. GitHub is not as nice as it used to be. GitHub used to <i>only</i> be a Git service but once it became popular, big tech does what big tech does best and decided to put their disgusting, money hungry hands on yet another product and this time it was GitHub because in 2019, Microsoft bought GitHub meaning everyone was right in expecting a huge downfall.</p>
<p>GitHub was definitely not perfect before it was purchased by Microsoft however if you are familiar with Microsoft and their background, you know their intentions were to dominate the programming and developer space. And why wouldn't they? They have created the C# programming language (and others), have a very popular code editor called Visual Studio and more recently, Visual Studio Code which is built using Electron. Guess who designed Electron? GitHub.</p>
<p>In addition, GitHub has their own IDE/text editor called Atom which just like Visual Studio Code, is also an Electron application. These two text editors, Atom and Visual Studio Code would kind of compete, and by buying GitHub, Microsoft would have complete control over both of these projects. After users of Atom got worried after Microsoft purchased GitHub, they said that they would keep both editors alive.</p>
<p>They did keep their promise for a few years but a few months ago, Atom was put to rest in a blog post named 'Sunsetting Atom.' which now makes Visual Studio Code even more popular. Microsoft does have the right to do this, and there will likely be forks of Atom, but it is clear what they want to do. They want the Atom users to move to Visual Studio Code.</p>
<p>So why did I mention this? Well, it's because you can no longer trust GitHub. Because it's now a Microsoft product, they want full control as they always do. Users have been worried for years and so have I but because I have so many projects, moving has been quite difficult and time consuming. And this is someone who is not a developer. Now imagine an actual developer behind many popular projects. It is a hassle and Microsoft knows this. Therefore most users are going to keep using GitHub as the time is just not worth it to them. And after going through this, I can kind of see why.</p>
<p>So, let's say you've had enough of Microsoft and their stupid proprietary services. Let's say you want to completely de-Microsoft your life. Where and how are you going to host your code?</p>
<p>Even though it may seem like everyone uses GitHub, it is not the only option out there. Another popular option is GitLab but just like GitHub, it is also spyware and offers even LESS features. It may not be owned by Microsoft but it is just as evil. If you are making the move, avoid both GitHub as well as GitLab.</p>
<p>If possible, avoid any services that are not usable without JavaScript. If you do this, it is possible to use the Git service with LibreJS which means you don't have to run any proprietary code just to view and use the website. For this reason, I chose Codeberg.</p>
<p>All of its JavaScript is free software and although LibreJS does block a few scripts, they are free software and can be verified as such. In addition, if you still want to block those scripts, the website will remain functional as those are only used for the text editor.</p>
<p>Codeberg also does not force you to use some obscure authentication making Git (the command line utility) difficult to configure and use. Codeberg "just werks" with minimal configuration. I prefer to use an SSH key to authenticate but there are also other methods available. Codeberg has a very similar layout to GitHub so there is basically no learning curve. It also offers some really useful features that GitHub does not such as being able to download patches/diffs for commits. This is really useful for me personally when comparing older commits to new ones of my software or reverting changes.</p>
<p>Moving repositories over can take some time and it doesn't allow you to automatically transfer over repositories like GitLab does however once you go through with it, it's really quick. You just create the repository, clone the old repo, clone the new repo, copy everything, commit and push. It can all be done with the command line Git so if you want, you can maybe even write a script to do it automatically.</p>
<p>Either way, I cannot recommend Codeberg enough and I am going to move all my repositories over. Many of my repositories have already moved and you can now find all my suckless builds, rchat and more there. I hope to be able to fully move soon, and although it's a lot of effort, it is going to be worth it.</p>
<p>That's it for this blog post, have a great day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

28
articles/post26.php Normal file
View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Vim: You're wasting your life away if you don't use it.</title>
<meta charset="UTF-8">
<meta name="description" content="Just a short blog post to break the silence. Maybe the title of this blog post is a little rude to people who don't use Vim but it is true. When I say Vim, I don't specifically mean just Vim, there are many good forks of Vim out there such as Neovim which is what I use. However the productivity benefits of using a modular text editor like Vim are so great that I personally believe you're wasting your time (and therefore life) away by not learning and using it.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Vim: You're wasting your life away if you don't use it.</h2>
<h4>2022-09-04</h4>
<p>Just a short blog post to break the silence.</p>
<p>Maybe the title of this blog post is a little rude to people who don't use Vim but it is true. When I say Vim, I don't specifically mean just Vim, there are many good forks of Vim out there such as Neovim which is what I use. However the productivity benefits of using a mode-based text editor like Vim are so great that I personally believe you're wasting your time (and therefore life) away by not learning and using it. In fact this entire website and this page was written in Vim (and later Neovim).</p>
<p>Vim has actually changed the way I use technology. It may sound strange; how can a "simple" text editor change the way you use your technology? The answer is simple. Vim forces you to learn a bunch of keybinds to get things done. But this is way better because it means if you know what you're doing, you can perform actions REALLY quickly and efficiently.</p>
<p>As soon as you use Vim, you'll realize how efficient it is and you will try to find and use software that follows the same philosophy. A good example of this is vifm. It's a file manager that tries to be Vim like and therefore efficient. And because you already know Vim, it doesn't have a massive learning curve anymore.</p>
<p>This is the main reason why so many developers like Vim. It's really efficient when you know how to use it and it doesn't get in your way. For example, to delete the line I am on using a regular GUI text editor, I may use my mouse to select that line and then I will simply delete it. In Vim, I just have to press <code>dd</code> and the line I'm on is instantly gone.</p>
<p>Another perk of Vim is that it comes preinstalled on almost all GNU/Linux distributions. The only distributions I've used that don't have Vim by default are minimal distributions like Gentoo, Arch, Artix, Void and similar distros.</p>
<p>This is useful when you're using SSH for example. When you're using SSH, you are usually not able to use GUI applications. Being familiar with a fast, powerful text editor that works in the TTY or through SSH is very important.</p>
<p>If you want to learn Vim, install Vim or Neovim and run <code>Vimtutor</code> in your terminal. It's not rocket science and anyone can and should do it.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

31
articles/post27.php Normal file
View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>I AM TOO AWESOME FOR SMARTPHONES!</title>
<meta charset="UTF-8">
<meta name="description" content="I may be three days late to this but I have an announcement to make. I AM TOO AWESOME FOR SMARTPHONES!">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>I AM TOO AWESOME FOR SMARTPHONES!</h2>
<h4>2022-09-15</h4>
<p>I may be three days late to this but I have an announcement to make. I AM TOO AWESOME FOR SMARTPHONES! You heard me right, I have decided to abandon my smartphone. But how, HOW are you going to live without a portable tracking device with plenty of spyware to keep you too busy and consooming to care?</p>
<p>Well, simple. I simply don't consoom content when I am not home! In my opinion, it is not terribly difficult to make use of your time and at the same time not use a phone. Nowadays there seems to be this idea that when you're bored for just 5 seconds, you're supposed to pull out your phone and waste your valuable time away watching others waste their life away on social media, then go home, depressed, in a loop that repeats until the end of your life.</p>
<p>It is pretty clear to anyone who follows my blog that smartphones have permanently damaged society. It can partially be blamed on the fact that smartphones are so small, anyone can just bring them up quickly without any effort. However I would put most of the blame on the addictive social media that big tech companies (the same companies that produce the phones we buy) make us use.</p>
<p>Most if not all social media is designed to keep you using it for as long as possible, while tricking you into thinking your life is great and absolutely nothing is wrong with it. This is because it is an easy way to gain control over the user and his habits. This allows social media to take over anyone's life.. However that anyone is not going to be me.</p>
<p>In the last few months, I've been spending time deleting accounts and recently I deleted my Twitter account. I decided to do this because I absolutely hate Twitter and don't want a presence there. However instead of having a simple 'Delete account' button like social media from yesteryear had, if you want to delete your Twitter account you have to first deactivate it and then wait a month for it to become 'fully' deleted. (Really just hidden from the public website, the account likely still exists). If this isn't a great example of how social media is really social destroyer, I don't know what is.</p>
<p>Compare your one friend who uses all the spyware social media to someone who never or rarely uses the internet. Which one is more interesting to talk to. Who is going to pull up their phone and check their Snapchat notifications every 30 seconds? People who use social media constantly are just boring people, who absolutely suck, and have nothing interesting going on in their life to talk about, so they have to rely on social media to fill the void.</p>
<p>Thing is, No longer using smartphones really will not change my life in any way and the reason is, I was never wasting my life away on social media on my phone in the first place. I just.. never fell into the trap like so many other people have. However, I am doing this to send a strong message to everyone I talk to. I want to let everyone know that you DO NOT need a smartphone to live. By not bringing and using my phone everywhere, I'm bringing attention to the fact that I don't use a phone.</p>
<p>Not only does this give out a good message to everyone, but it also gives others a reason to talk to me. Nowadays it is uncommon to see people not bring their phone. In fact it is so uncommon YOU are the minority if you do not have a phone. Society EXPECTS you to have a phone. If you don't have a phone, everyone will look at you, shocked, like you're an alien from another planet.</p>
<p>So to end off this blog post, I would like to mention that if you find that you need your smartphone to live a life, consider doing what I am doing and will continue to do. Throw your phone in the old junk drawer filled with crap you've got in the basement, run outside, and enjoy the beautiful air and trees you've got out there. Talk to people, have a conversation, and find things to do.</p>
<p>Wasting your life away on social media and using smartphones is not normal. Just because society makes it seem that way does not mean it actually is. You do not have to take my word for it, you will notice the difference within a day. You will be a much more interesting person to talk to, others will be more likely to talk to you, because you stick out and most importantly, you've escaped the big tech for loop.</p>
<p>Do good things with your life. You only live once so use the time you have wisely. This blog post is now done. Thank you for reading! Throw your phone in the trash like me and get a life!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

28
articles/post28.php Normal file
View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>SHILL POSTS ARE BACK! fontctrl (Fonts on GNU/Linux-Improved)</title>
<meta charset="UTF-8">
<meta name="description" content="THE SHILL POSTS ARE BACK! Fonts on GNU/Linux absolutely suck so I wrote a script in suckless fashion to fix them.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>SHILL POSTS ARE BACK! fontctrl (Fonts on GNU/Linux-Improved)</h2>
<h4>2022-09-16</h4>
<p>THE SHILL POSTS ARE BACK! Fonts on GNU/Linux absolutely suck so I wrote a script in suckless fashion to fix them. So, what is wrong with GNU/Linux fonts and how does title related fix the problem?</p>
<p>First problem is manually installing them. This in itself would not be a problem but the issue here is that there are about 3 million different paths where a font should go because of conflicting standards.</p>
<p>fontctrl addresses this issue because it introduces two modes. Global and user. When you install a font globally using fontctrl, it will be located in /etc/fontctrl/fonts/. This of course requires root so the solution was to add a '--user' flag which will install it for the current user only. If this mode is used, the fonts can be found in ~/.config/fontctrl/fonts/.</p>
<p>Secondly, if a font is on the system, it can be really really difficult to keep track of it. After all, you probably have many many fonts, so good luck finding and removing the fonts you don't use. fontctrl fonts are not truly installed unless they're enabled similar to something like eselect.</p>
<p>After a fontctrl font is installed, it will be enabled. Enabled really just means symlinked from the */fontctrl/fonts/ directory to the actual font directory. This means the font is just stored locally in the fontctrl/fonts folder without being available to the system unless enabled. This allows fonts to easily be managed.</p>
<p>What makes fontctrl special is that it leaves the manually installed fonts and fonts installed using a package manager separate and does not even touch them. fontctrl <i>only</i> manages its own fonts. This keeps your system clean, as fontctrl will not conflict with another font manager.</p>
<p>Finally I should add that fontctrl is written in less than 200 lines of code, which makes it stable and less likely to fail. No features other than the base features are planned in order to keep the tool as stable as possible and it already does more than most people will need anyway from a minimal font manager.</p>
<p>If you want to try fontctrl for yourself, you can find more information about it <a href="fontctrl.html">here.</a> Gentoo ebuild should be complete soon! Expect a mpm package in the near future as well. Thanks for reading, have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

32
articles/post29.php Normal file
View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>RIP in peace rchat (and releasing its replacement)</title>
<meta charset="UTF-8">
<meta name="description" content="That's right, I now have a new tool to offer everyone here.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>RIP in peace rchat (and releasing its replacement)</h2>
<h4>2022-09-21</h4>
<p>As the title says, I am going to stop developing rchat. I will be accepting pull requests and issues but I am not going to be contributing code to it anymore. It isn't all sad, but the reason for this is because of <a href="https://donut.gq/rautafarmi">rautafarmi</a>. rautafarmi recently decided to switch over from the old, crusty messages.txt method to using JSON. This meant rchat would have to be completely rewritten to use this new API, because it was not designed with it in mind.</p>
<p>Which is why, I am announcing its replacement named 'iron'.</p>
<p>iron is a fork of rchat but heavily trimmed down, with a clean codebase, much more suckless in design and of course, makes use of the new rautafarmi API. This means it isn't compatible with the older messages.txt method, but I hope instances migrate over to the new JSON API instead.</p>
<p>iron, unlike rchat also fixes many bugs. In rchat for example, if you disconnect from the internet while its running, rchat will print a bunch of crap on the screen. iron checks if the user is connected to the internet before it attempts to draw anything on the screen and, of course fails if the instance cannot be connected to.</p>
<p>Like rchat though, iron only comes with the bare minimum in terms of features. For example image sending support is not in it by default, there is a separate patch for it. iron patches can be downloaded and applied and they will extend the feature set of iron. The idea is, give the user a clean, stable base that they can build on top of.</p>
<p>This is where rchat failed, eventually it got too many features. iron doesn't have auto-updating, it doesn't have image integration, no link opener, no :news, no :changelog and no :help commands. iron only has the bare minimum necessary to send messages and recieve messages by default. It is up to the user to add more features through patches. He only has to apply what he actually uses.</p>
<p>Because of this philosophy, it is possible to keep iron stable, and alive without constantly pushing bloat to its codebase, requiring even more updates to fix the bugs created.</p>
<p>Another note I want to add is that iron no longer has a default instance. This keeps the users secure, because if the default instance gets compromised, the default build of iron is not going to compromise its users.</p>
<p>As of writing this blog post, all rchat patches have been ported over to iron, with additional patches being created. Anyone is allowed to contribute patches that others can apply, as long as they're licensed under the same license as the iron project itself (GNU GPLv3).</p>
<p>Finally, it should be noted that as of writing this post, the only official instance is the official instance, <a href="https://donut.gq/rautafarmi">rautafarmi</a>. If you are using an older instance, ask them to migrate over to the new instance, or keep using the older rchat. I will accept pull requests and issues on rchat for this reason. rchat should be stable enough for regular usage though!</p>
<p>If you want to try iron, you can download it <a href="iron.html">here</a> and there should be a Gentoo ebuild soon. As the page says, to install iron, clone the repository, cd into it and run <code>make install</code>.</p>
<p>That is it for this blog post, have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

28
articles/post30.php Normal file
View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>I HATE NONFREE SOFTWARE (install gnu icecat)</title>
<meta charset="UTF-8">
<meta name="description" content="As you've read from the blog post title, I hate nonfree software like anyone with a brain should. Problem is, most people don't have a brain. But to fight back against nonfree software I have decided to move over to the 100% free/libre software web browser, GNU IceCat.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>I HATE NONFREE SOFTWARE (install gnu icecat)</h2>
<h4>2022-09-23</h4>
<p>As you've read from the blog post title, I hate nonfree software like anyone with a brain should. Problem is, most people don't have a brain. But to fight back against nonfree software I have decided to move over to the 100% free/libre software web browser, GNU IceCat!</p>
<p>But what makes GNU IceCat special, and why should you use it? Well, truth is we all should use it, we just can't all use it. This is because GNU IceCat blocks <strong>all</strong> nonfree JavaScript.</p>
<p>IceCat blocks nonfree JavaScript because it allows the programmer to hide malicious features in the code and because it is obfuscated, even developers will struggle to read the code and understand what it does. Reading obfuscated JavaScript is like reading paper that has gone through a paper shredder - it doesn't work.</p>
<p>Tech companies take advantage of this fact to hide spyware and other tracking in their code. After all, a normie can't read and understand JavaScript code anyway, what are the chances that they will find out what antifeatures the software has?</p>
<p>To fix this problem, a Mozilla Firefox extension was developed named 'LibreJS'. It checks all JavaScript in a HTML document for a license. If one cannot be found, it will be treated as nonfree and blocked by the extension. This is all done before the website loads so no spyware has time to load on your system.</p>
<p>GNU IceCat takes this extension, plus adds some fixes caused by missing JavaScript, turns off telemetry (spyware), hardens security and adds some extra extensions. This makes it a bit more usable in comparison to installing Firefox and the extension with nothing else added. It also makes it more secure, because telemetry is disabled and it has been hardened because let's face it, Firefox has terrible default settings, especially for privacy.</p>
<p>This means, as long as no security settings have been changed, IceCat is one of the best browsers for security and privacy. LibreWolf may have slightly better security, however LibreWolf also doesn't come with LibreJS and has telemetry on by default, just like Firefox so it's really not worth using, you might as well just be using regular Firefox.</p>
<p>Moving over is not going to be easy, because of the way the modern web works, however I hope that I will be able to use the internet reasonably well, even while blocking nonfree JavaScript. Thank you for reading, and have a good day!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

41
articles/post31.php Normal file
View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Please give me suggestions...</title>
<meta charset="UTF-8">
<meta name="description" content="This might actually be my last blog post.. sort of. Now that I have your valuable attention, please read the rest of the blog post! So, a few days ago I started working on a website redesign. However I quickly realized that it was more work than it was worth.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Please give me suggestions...</h2>
<h4>2022-10-10</h4>
<p>This might actually be my last blog post.. sort of. Now that I have your valuable attention, please read the rest of the blog post!</p>
<p>So, a few days ago I started working on a website redesign. However I quickly realized that it was more work than it was worth. So instead, I decided that it would be easier to straight up start from scratch. No, not completely from scratch, that would be ridiculously time consuming.</p>
<p>However I decided that it would be easier to create the HTML manually, from scratch and then copy over the text (such as blog posts) from the older page.</p>
<p>Anyways, let's get to the point of this blog post which is, I need suggestions regarding the redesign. Anything. What should I implement, what kind of design should I go for? This time, I am able to use PHP for the header, which I will likely end up doing however as always, speedie.gq will stay as an anti-JavaScript website and as such, I am not going to add a single line of it even if it makes my website look nicer.</p>
<p>Here are some ideas I've got myself:</p>
<ul>
<li>About me page</li>
<p>About me page, which will contain information about me, and the software I use.</p>
<li>Separate 'Projects' category (for example, https://speedie.gq/projects/speedwm)</li>
<p>Right now, project pages are all over the place and difficult to find. Therefore I think it would be much easier to have a projects category.</p>
<li>Separate 'Blog' category (for example, https://speedie.gq/blog/post01.html)</li>
<p>There are now many blog posts, and the one you're reading only makes the problem worse. Because of this, I need a way to make them easier to sort and keep track of.</p>
<li>Header and Footer done using PHP</li>
<p>In my opinion, this is the most important part. Otherwise, If I want to change one thing in the header, I have to manually edit <strong>every single HTML file in the website.</strong> Doing so can take a very very long time.</p>
<li>Atom feed</li>
<p>I might start offering Atom feeds alongside RSS feeds if the benefit makes it worth it.</p>
<li>Separate feeds for Projects, Wii and philosophy/politics/opinions on the state of the world/technology</li>
<p>This blog currently has way too many blog posts that don't really matter a few months after the event. Removing all the 'rchat <version>' posts from the main blog and uploading them to a separate 'Projects' feed is going to make it much cleaner and easier for the user.</p>
</ul>
<p>As for web design, I don't really know what I want to do yet. Will likely go for a minimal design though, as minimalism tends to hide the flaws of not using JavaScript fairly well!</p>
<p>If you want to give me suggestions, you can join my IRC channel (Libera.chat network, #ff or #ststid'kwtn), or you can <a href="mailto:speedie@duck.com">>send me an email</a>. That's it for this blog post, your suggestions are appreciated, thank you for reading and have a good day people!</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

54
articles/post32.php Normal file
View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>Forwarder Factory is over. (Please read the blog post)</title>
<meta charset="UTF-8">
<meta name="description" content="So, very important blog post today. In short, Forwarder Factory is done, it's over. Please consider actually reading this blog post!">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<h2>Forwarder Factory is over. (Please read the blog post)</h2>
<h4>2022-10-26</h4>
<p>So let's stop wasting time, very important (but not good) blog post today. In short, Forwarder Factory is done, it's over. Now, so I can get this blog post out quickly, I am simply going to repost the huge and last Discord message I sent in the #announcements channel in its entirety. I know I said I wasn't going to make another blog post before the redesign but I <strong>need</strong> to get this out.</p>
<p>Original post: "So.. I've known this day would come for a very long time and unfortunately, today is that day! In the end, Forwarder Factory is (finally) over. I want to take some time into writing an announcement for you so that you're not lost. If you even remotely support me, please read the entire thing!</p>
<p>Before you start screaming "But what about preservation", note that the GitHub repositories will stay up, along with the Forwarder Factory organization. The YouTube channel will also stay up, however I will be removing the invite for the Discord server and replacing it with a link to a direct download. All the GitHub content is going to be mirrored to my Codeberg (speedie), and will get its own repository. I suggest you fork either the Codeberg or GitHub repositories to make sure they stay up if I decide to one day delete them, or if GitHub thinks I am breaking the terms of service (it is a Microsoft product we're talking about).</p>
<p>Myself and my staff have been thinking about and debating this for a very long time, but I can no longer take the daily conflicts and other maintainence issues that come with owning a server/IRC channel like this. Yes, I could in theory transfer ownership but the FF name has already been through way too much so I don't feel like giving someone else responsibility for a mess I created is fair. <strong>So the goal here is to eventually archive this channel and Discord server.</strong></p>
<p>Recently (about an hour ago as of posting this), the server suffered yet another conflict, specifically about moderation. While this is not the direct cause, I would consider it the final straw as I have been thinking about leaving the internet/ending the server and IRC channel for a very long time now, months actually.</p>
<p>I want you to know that this is <strong>not</strong> the fault of any members here. And if it must be then it is every staff members' fault. I should take most of the blame but it is a waste to dedicate my last announcement here to that. To be honest though, I've been expecting this to happen for a very long time as I said earlier and the reason is fairly obvious looking back.</p>
<p>This server has been through a lot of drama, has had staff joining and leaving, raids and more over the last 1.5 years or so that it has existed for. For example:</p>
<ul>
<li>The raid early on, back when I only had one staff member and got up at 3:00 PM.</li>
<li>Domzuq mod abuse.</li>
<li>Myself calling OBS Studio soyware.</li>
<li>#based-general, the now long gone Discord channel which was supposed to be a place for special people to talk, but ended up a wasteland disaster.</li>
</ul>
<p>The last one, #based-general is in my eyes the root cause of this. What I now call "the #based-general mentality" which is a term I just invented while writing this basically spread to the rest of the server. The biggest issue however, is how I am not a good leader. It is this fact and lack of moderation by myself that caused this.</p>
<p>First of all, I am very sorry for potentially taking away your (definitely not) favorite place to talk. However I no longer think I should be the one leading the Forwarder Factory project and as such, I would like you to go to a better community that is focused on what it should be; the Nintendo Wii console and modding it.</p>
<ul>
<li>If you are here for the Wii specific things such as my forwarders, consider joining the r/WiiHacks Discord server. They are essentially us done right, and stay on topic well.</li>
</ul>
<p>Again, <strong>all Wii repositories will stay up.</strong> Any Discord specific content is also going to be uploaded to these repositories to make sure nothing gets lost. That's what we tried to prevent in the beginning, right?</p>
<p>Either way, with that being said, if you'd like to keep up with me and/or my projects, I have a website at speedie.gq where I post the current information. In fact I may post this on my website too! As for the staff members here, simply ask them!</p>
<p>I would like to give a big thank you to:</p>
<ul>
<li>Gabubu for being an awesome friend, moderator, forwarder creator and of course helping preserve rare forwarders.</li>
<li>Damaj301damaj for being an awesome friend (and very funny guy), moderating and finding awesome rare WADs for you people of this server/channel.</li>
<li>emilyd for being an awesome friend and teaching me about free software such as dwm, as well as writing contributions such as sblorgo, helping me with HTML and more.</li>
<li>nezbednik for being an awesome friend, helping complete the Homebrew Channel collection and making the IRC channels we created possible.</li>
<li>Lilium_Snow, who is no longer here for being an awesome friend for years, creating graphics and thumbnails for me, including all the Forwarder Factory icon/banner stuff, testing projects, and much more.</li>
<li>Domzuq and DomzuqTR, who is no longer a part of FF for their contributions of rare Wii stuff.</li>
</ul>
<p>..and everyone who watched one of my videos, tried one of my projects, installed one of my forwarders or joined the Forwarder Factory Discord server/IRC channel. You guys rock and we will miss you a lot.</p>
<p>I would also like to apologize to Domzuq for joking around with his IP and I would also like to apologize to bloodythorn and the r/WiiHacks community for letting them down (the server invite is/was in #affiliates).</p>
<p>I personally have very mixed feelings about this, however I feel like it is the right thing to do. Remember; all good things eventually end. The end of Forwarder Factory is today! If you have any questions about what is going to happen, you can DM me on Discord or /query me on IRC. I am going to be somewhat active on Discord until the end from now on to make sure everyone gets a chance to say something to me!</p>
<p>Thank you for everything, everyone!"</p>
<p>Yes, thank you everyone for the support, I appreciate it.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>

60
blog.php Normal file
View file

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html>
<head>
<?php include 'php/header.php';?>
<meta name="author" content="speedie">
<title>Blog posts. </title>
<meta charset="UTF-8">
<meta name="description" content="Here's an archive of nearly all my blog articles/posts. Almost if not all of these were initially posted on my RSS feed.">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Welcome to speedie.gq</title>
</head>
<body>
<div class="content">
<h2>Blog</h2>
<p>I repost some of my RSS feed articles/posts here sometimes. This is a view of all of them.</p>
<p>NOTE: You can see all of them using my <a href="rss.xml">RSS</a> feed.</p>
<h4>Posts 30-39</h4>
<h5><a href="articles/post32.php">Forwarder Factory is over. (Please read the blog articles/post)</a>, written on 2022-10-26 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post31.php">Please give me suggestions...</a>, written on 2022-10-10 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post30.php">I HATE NONFREE SOFTWARE (install gnu icecat)</a>, written on 2022-09-23 by <a href="index.php">speedie</a></h5>
<h4>Posts 20-29</h4>
<h5><a href="articles/post29.php">RIP in peace rchat (and releasing its replacement)</a>, written on 2022-09-21 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post28.php">SHILL POSTS ARE BACK! fontctrl (Fonts on GNU/Linux-Improved)</a>, written on 2022-09-17 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post27.php">I AM TOO AWESOME FOR SMARTPHONES!</a>, written on 2022-09-15 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post26.php">Vim: You're wasting your life away if you don't use it.</a>, written on 2022-09-04 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post25.php">I left GitHub and you should too!</a>, written on 2022-08-23 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post24.php">What happened to spDE? (And announcement)</a>, written on 2022-07-23 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post23.php">Why I ban software.</a>, written on 2022-07-20 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post22.php">OH NO IM BEING CANCELLED ON TWITTER WHAT WILL I DO???</a>, written on 2022-07-14 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post21.php">PipeWire Review (RSS REVIEWS!!!)</a>, written on 2022-07-04 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post20.php">rchat 1.3 is out! (I AM GREAT AT PUSHING UPDATES!)</a>, written on 2022-06-29 by <a href="index.php">speedie</a></h5>
<h4>Posts 10-19</h4>
<h5><a href="articles/post19.php">dwm: dynamic window greatness!</a>, written on 2022-06-18 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post18.php">I HATE ATI!!!</a>, written on 2022-06-18 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post17.php">Website update</a>, written on 2022-06-10 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post16.php">Return of the rchat (rchat 1.0 is out)</a>, written on 2022-06-07 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post15.php">Are GNU/Linux users elitist or are normies too stupid to learn?</a>, written on 2022-06-06 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post14.php">Why I switched license from MIT to GPLv3</a>, written on 2022-06-05 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post13.php">Open source: Fake freedom.</a>, written on 2022-06-05 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post12.php">I HATE APPLE!!!</a>, written on 2022-05-23 by <a href="index.php">speedie</a></h5>
<h5><a href="rc24.php">Why I don't support RiiConnect24.</a>, written on 2022-05-20 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post11.php">Smartphones are only smart because you're dumb.</a>, written on 2022-05-04 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post10.php">xinit is bloated</a>, written on 2022-04-30 by <a href="index.php">speedie</a></h5>
<h4>Archived blog articles/posts (articles/posts 1-9)</h4>
<p>These have been archived due to various reasons. This could be because they were written based on anger and aren't worth reading. They could also be archived because they're no longer relevant or contains misinformation. Consider these deleted, but because I don't believe in taking down media permanently, read them at your own risk.</p>
<h5><a href="articles/post09.php">Everything I want to use is Chromium</a>, written on 2022-04-26 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post08.php">Half an rchat (rchat 0.5 is out)</a>, written on 2022-04-26 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post07.php">rchat 0.4 is here (Now available on Arch and Gentoo)</a>, written on 2022-04-24 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post06.php">It&#39;s time to stop using Adblock Plus (seriously stop)</a>, written on 2022-03-12 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post05.php">Happy 20th Birthday Archx!</a>, written on 2022-03-11 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post04.php">What you can expect from Project 081 0.6</a>, written on 2022-03-10 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post03.php">Dear soydevs: Stop making desktop applications bloated</a>, written on 2022-03-10 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post02.php">Notice for spDE users</a>, written on 2022-03-09 by <a href="index.php">speedie</a></h5>
<h5><a href="articles/post01.php">Stop making GNU/Linux user friendly.. sort of</a>, written on 2022-03-09 by <a href="index.php">speedie</a></h5>
</div>
</body>
<footer>
<?php include 'php/footer.php';?>
</footer>
</html>

10
css/footer.css Normal file
View file

@ -0,0 +1,10 @@
footer {
background-color: #131313;
text-align: center;
padding-bottom: 0px;
padding-right: 0px;
}
.column {
display: inline;
}

6
css/header.css Normal file
View file

@ -0,0 +1,6 @@
.navbar {
background-color: #070020;
padding: 8px;
position: sticky;
top: 0;
}

20
css/main.css Normal file
View file

@ -0,0 +1,20 @@
body {
margin: 0;
padding: 0;
font-family: Monospace;
background-color: #0c0c11;
color: #f0eee4;
}
pre {
background-color: #222222;
width: fit-content;
padding: 5px;
border-left: 2px solid #cccccc;
}
a {
color: #6666ff;
transition: 0.1s;
}
a:hover {
color: #ccccff;
}

4
css/speedwm.css Normal file
View file

@ -0,0 +1,4 @@
img {
width: 50%;
padding-left: 10px;
}

BIN
img/4chan.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

0
img/favicon.png Normal file
View file

BIN
img/freesoftware.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
img/freespeech.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
img/gentoo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
img/gnu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
img/searx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
img/suckless.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

BIN
img/vim.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

63
index.php Normal file
View file

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<?php include 'php/header.php';?>
<title>speedie's website</title>
<meta charset="UTF-8">
<meta name="description" content="Welcome to speedie's personal website/blog.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Welcome to speedie.gq</title>
</head>
<body>
<div class="content">
<h1>Hello world, I'm speedie!</h1>
<p>Hello world, I'm speedie, a free software enthusiast.</p>
<p>The website you stumbled upon is a personal blog, and all opinions are all my own, honest opinions. It's not just a blog, however my blog is the main part of this website. Feel free to take a look around!</p>
<h2>About me</h2>
<p>I'm go by the online name 'speedie'. I live in Sweden and have an interest in technology and free software. I work on small programming projects sometimes but I don't consider myself a serious programmer, I just write code sometimes on the side to get the most of my technology and do things efficiently.</p>
<p>I work on projects sometimes such as:</p>
<ul>
<li><a href="/projects/speedwm.php">speedwm</a></li>
<li><a href="/projects/fontctrl.php">fontctrl</a></li>
<li><a href="/projects/iron.php">iron</a></li>
<li><a href="/projects/rchat.php">rchat</a></li>
<li><a href="/projects/elevendebloater.php">elevendebloater</a></li>
<li><a href="/projects/project081.php">Project 081</a></li>
</ul>
<p>I've also preserved old (previously) rare channels and other media for the Wii through a now dead community called 'Forwarder Factory' although nowadays I'm not really doing Wii things anymore. See the links below for that.</p>
<ul>
<li><a href="https://github.com/ForwarderFactory/wii">Homebrew App Archive</a></li>
<li><a href="https://github.com/ForwarderFactory/hbc-archive">Homebrew Channel Archive</a></li>
</ul>
<p>Occasionally, I will post YouTube videos on <a href="https://www.youtube.com/@user-yq2oh3do8y">my channel</a>, usually technology related.</p>
<h2>What software do I use?</h2>
<p>On my desktop, I run Gentoo GNU/Linux and on my laptop (ThinkPad X220) I'm running Arch GNU/Linux, <a href="/projects/speedwm.php">speedwm</a> for window manager on top of Xorg. Learn more about the software I use or reproduce my system <a href="spde.php">here</a>.</p>
<h2>Where do I go?</h2>
<p>Look at the top of the page. There are links that take you somewhere awesome!</p>
<p>Other links that aren't listed can be found further below or through other pages.</p>
<h2>Miscellanious</h2>
<p>Still don't know where to go? Perhaps check out one of the links below.</p>
<ul>
<li><a href="blog.php">Blog</a></li>
<p>My blog, usually about free software or personal interests, as well as world problems.</p>
<li><a href="rss.xml">RSS feed</a></li>
<p>RSS feed. All blog posts get fully posted on RSS.</p>
<li><a href="guides.php">Guides</a></li>
<p>List of text guides I have written. Most of them are about various GNU/Linux topics.</p>
<li><a href="projects.php">Projects</a></li>
<p>My projects. I am not really a programmer however I do work on some small projects which they can be found here.</p>
<li><a href="overlay.php">Overlay</a></li>
<p>I maintain a Gentoo overlay, that is an unofficial Gentoo repository with custom packages written by myself which extend the packages you can install on a Gentoo system.</p>
</ul>
<h2>About this page</h2>
<p>I am just as concerned about privacy, security and free software as you. Because of my philosophy, this website does not use a single line of JavaScript as I believe it is unnecessary for 90% of what a website needs to do for the average person!</p>
<p>This also means, the website is basically free in design, and LibreJS compliant. If you're into spyware JavaScript you will not find it here! It should be noted that I <em>do</em> use PHP server-side in order to make maintaining this site easier.</p>
<p>However my entire website, including HTML. CSS, and PHP is available for free and distributed to you under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International</a> license, which unlike the license I picked for the old website (same license but non-commercial making it nonfree) is free.</p>
<p>The base for this website was designed by <a href="https://donut.gq">emilyd</a> as a concept, and I have expanded on it further. Thanks a lot :D</p>
</div>
</body>
<footer>
<?php include 'php/footer.php';?>
</footer>
</html>

36
php/footer.php Normal file
View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="/css/footer.css">
<head>
<body>
<div>
<div class="column">
<h3>This entire website, including <strong>all</strong> HTML. CSS, and PHP is available for free and distributed to you under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International</a> license. You may get a copy <a href="https://codeberg.org/speedie/speediegq">here.</a></h3>
<img src="/img/vim.gif" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/gentoo.png" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/gnu.png" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/searx.png" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/freespeech.gif" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/freesoftware.gif" alt="image" style="width:100px">
</div>
</div>
<div>
<div class="column">
<img src="/img/4chan.gif" alt="image" style="width:100px">
</div>
<div class="column">
<img src="/img/suckless.png" alt="image" style="width:100px">
</div>
</head>
</html>

12
php/header.php Normal file
View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="/css/header.css">
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
<div class="navbar">
<span>speedie.gq | <a href="#">Home</a> <a href="#">Projects</a> <a href="#">Blog</a> <a href="#">Guides</a> <a href="#">Email</a> <a href="#">Dotfiles</a> <a href="#">Donate</a> <a href="#">RSS</a></span>
</div>
<div class="content">

27
projects.php Normal file
View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<?php include 'php/header.php';?>
<title>Projects</title>
<meta charset="UTF-8">
<meta name="description" content="List of all projects I maintain/used to maintain.">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Welcome to speedie.gq</title>
</head>
<body>
<div class="content">
<h1>Projects</h1>
<div class="pjlist">
<div class="iron">
<h3>iron</h3>
<p>iron is a minimal, customizable, hackable rautafarmi textboard client for GNU/Linux written in Bash. iron is the successor to rchat, and is the first client to support the new, faster, JSON rautafarmi API.</p>
<a href="/iron.php">About iron</a>
</div>
</div>
</div>
</body>
<footer>
<?php include 'php/footer.php';?>
</footer>
</html>

BIN
projects/preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

4
projects/speedwm.css Normal file
View file

@ -0,0 +1,4 @@
img {
width: 50%;
padding-left: 10px;
}

624
projects/speedwm.php Normal file
View file

@ -0,0 +1,624 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<title>speedwm</title>
<meta charset="UTF-8">
<meta name="description" content="speedie's fork of suckless.org's dwm">
<meta name="author" content="speedie">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="speedwm.css">
<title>Welcome to speedie.gq</title>
</head>
<body>
<div class="content">
<p><img src="preview.png" alt="image"></p>
<h2 id="what-is-speedwm-">What is speedwm?</h2>
<p>speedwm is a window manager forked from suckless.org&#39;s dwm or dynamic window manager. It manages the user&#39;s open windows and tiles them according to a set layout (dynamic). </p>
<p>Just like dwm, speedwm also tries to be minimal but also has functionality and aesthetics as a goal. It is also much more minimal than other window managers like i3-gaps while offering many more features.</p>
<p>Tiling window managers (unlike floating window managers that you may be used to) tile windows based on a set layout making them easy to get productive on.<br>They also encourage the user to use their keyboard instead of the mouse so that the user doesn&#39;t have to move their hands much but there are mouse keybinds and more can be added.</p>
<h2 id="installation">Installation</h2>
<p>In order to install this build of speedwm, all dependencies must be installed.<br>You can see (Dependencies) for a list of all dependencies required to use this fork.</p>
<ul>
<li>git clone <a href="https://codeberg.org/speedie/speedwm">https://codeberg.org/speedie/speedwm</a></li>
<li>cd speedwm</li>
<li>make clean install<ul>
<li>If any warnings show up, fix it by installing the missing dependency.</li>
</ul>
</li>
<li>If a .xinitrc is used, add &#39;speedwm_run&#39; to the end.<ul>
<li>If you do not have a .xinitrc, you can add autostart commands to the file ~/.config/speedwm/autostart.sh or autostart-once.sh. speedwm-autostart in $PATH will also work.</li>
</ul>
</li>
</ul>
<h2 id="layouts">Layouts</h2>
<p>speedwm comes with the following layouts:</p>
<ul>
<li>Tile</li>
<li>Monocle</li>
<li>Grid</li>
<li>Deck</li>
<li>Centered Master</li>
<li>Tatami</li>
<li>Spiral</li>
<li>Dwindle</li>
<li>Bottom Stack</li>
<li>Horizontal Bottom Stack</li>
<li>Horizonal Grid</li>
<li>Dynamic Grid</li>
<li>Custom</li>
</ul>
<p>They can be switched between using a little menu (See Keybinds for more information) or by right clicking the Layout indicator.<br>The more commonly used layouts can be switched between using a quick keybind.</p>
<h2 id="keybinds">Keybinds</h2>
<p>This is a full list of keybinds.<br>Please let me know if any keybinds are missing as these have been manually added.</p>
<h3 id="applications">Applications</h3>
<p> Keybinds for regular applications</p>
<ul>
<li>Super+Shift+Enter - Opens the defined terminal (default is st)</li>
<li>Super+Shift+Colon - Opens a dmenu prompt</li>
<li>Super+Shift+s - Opens &#39;maim&#39; to take a screenshot and copies it to the clipboard using &#39;xclip&#39; (requires speedwm-extras)</li>
<li>Super+Shift+f - Opens the defined file manager</li>
<li>Super+Shift+w - Opens the defined web browser</li>
<li>Super+Shift+o - Opens the speedwm-dfmpeg dmenu script to record your screen. (requires speedwm-extras)</li>
<li>Super+Shift+t - Opens the defined editor in your terminal</li>
<li>Super+Shift+m - Kills the defined music player</li>
<li>Super+Shift+a - Opens the defined mixer in your terminal</li>
<li>Super+Shift+m - Opens the defined music player</li>
<li>Super+Shift+x - Opens the defined system process viewer in your terminal</li>
<li>Super+Shift+c - Opens the defined chat client</li>
<li>Super+Shift+d - Opens iron in the terminal if it is installed</li>
<li>Super+Shift+u - Opens the defined RSS reader</li>
<li><p>Super+Shift+r - Opens the defined email client</p>
<h3 id="navigation">Navigation</h3>
<p>These keybinds are for navigating speedwm</p>
</li>
<li><p>Super+f - Fullscreen the selected window</p>
</li>
<li>Super+b - Show/hide the speedwm bar</li>
<li>Super+s - Show/hide the systray</li>
<li>Super+j/k - Move focus between visible windows</li>
<li>Super+m - Moves focus to the Master window (or back if Master is already focused)</li>
<li>Super+a/d - Increase/decrease size of each window</li>
<li>Super+w/e - Resize the window keeping the aspect ratio of it.</li>
<li>Super+o - Hide a window</li>
<li>Super+Minus - Show the scratchpad</li>
<li>Super+Equal - Remove the scratchpad</li>
<li>Super+Enter - Switch order of windows</li>
<li>Super+Colon - Open a list of desktop entries in dmenu</li>
<li>Super+Tab - Switch between windows on the same tag. (Microsoft Windows-like Alt+Tab)</li>
<li>Super+0 - Reset mfact</li>
<li>Super+r - Reset number of masters</li>
<li>Super+y - Make the current selected window sticky</li>
<li>Super+1 - Move to tag 1</li>
<li>Super+2 - Move to tag 2</li>
<li>Super+3 - Move to tag 3</li>
<li>Super+4 - Move to tag 4</li>
<li>Super+5 - Move to tag 5</li>
<li>Super+6 - Move to tag 6</li>
<li>Super+7 - Move to tag 7</li>
<li>Super+8 - Move to tag 8</li>
<li>Super+9 - Move to tag 9</li>
<li>Super+Shift+1 - Preview tag 1</li>
<li>Super+Shift+2 - Preview tag 2</li>
<li>Super+Shift+3 - Preview tag 3</li>
<li>Super+Shift+4 - Preview tag 4</li>
<li>Super+Shift+5 - Preview tag 5</li>
<li>Super+Shift+6 - Preview tag 6</li>
<li>Super+Shift+7 - Preview tag 7</li>
<li>Super+Shift+8 - Preview tag 8</li>
<li>Super+Shift+9 - Preview tag 9</li>
<li>Super+Shift+q - Close the current window</li>
<li>Super+Shift+h/j/k/l - Rotates a stack.</li>
<li>Super+Shift+Arrow - Resizes a window in floating mode</li>
<li>Super+Shift+Escape - Ask the user if they want to shutdown or reboot or nothing</li>
<li>Super+Shift+Tab - Switch between windows and tags in detail.</li>
<li>Super+Shift+Equal - Toggle scratchpads</li>
<li>Super+Shift+Minus - Hide the scratchpad</li>
<li>Super+Shift+Space - Toggle floating windows</li>
<li>Super+Control+1 - Combine the current tag with tag 1 </li>
<li>Super+Control+2 - Combine the current tag with tag 2</li>
<li>Super+Control+3 - Combine the current tag with tag 3</li>
<li>Super+Control+4 - Combine the current tag with tag 4</li>
<li>Super+Control+5 - Combine the current tag with tag 5</li>
<li>Super+Control+6 - Combine the current tag with tag 6</li>
<li>Super+Control+7 - Combine the current tag with tag 7</li>
<li>Super+Control+8 - Combine the current tag with tag 8</li>
<li>Super+Control+9 - Combine the current tag with tag 9</li>
<li>Super+Control+q - Mutes your audio</li>
<li>Super+Control+w - Increases your volume</li>
<li>Super+Control+e - Decreases your volume</li>
<li>Super+Control+0 - Tag all tags at once.</li>
<li>Super+Control+Enter - Mirror the layout</li>
<li>Super+Control+i - Increase stackcount by 1</li>
<li>Super+Control+u - Decrease stack count by 1</li>
<li>Super+Control+z/x - Increase/decrease gaps between windows by 5</li>
<li>Super+Control+j/k - Move focus between hidden windows (Can then &#39;Show&#39;)</li>
<li>Super+Control+Arrow - Moves a window to any corner of your screen (Arrow key)</li>
<li>Super+Control+Tab - Open a dmenu prompt asking the user what layout to switch to</li>
<li>Super+Control+h - Open a list of all keybinds in your terminal using less</li>
<li>Super+Control+o - Show a hidden focused window</li>
<li>Super+Control+a/d - Move to the next/previous tag</li>
<li>Super+Control+Shift+o - Show all hidden windows</li>
<li>Super+Control+Shift+p - Hide all windows</li>
<li>Super+Control+Shift+Colon - Open a list of extra software in dmenu</li>
<li>Super+Control+Shift+z/c - Move to the next/previous tag skipping any without windows open</li>
<li>Super+Control+Shift+a/d - Move between available layouts</li>
<li>Super+Control+Shift+1 - Move the focused window to tag 1</li>
<li>Super+Control+Shift+2 - Move the focused window to tag 2</li>
<li>Super+Control+Shift+3 - Move the focused window to tag 3</li>
<li>Super+Control+Shift+4 - Move the focused window to tag 4</li>
<li>Super+Control+Shift+5 - Move the focused window to tag 5</li>
<li>Super+Control+Shift+6 - Move the focused window to tag 6</li>
<li>Super+Control+Shift+7 - Move the focused window to tag 7</li>
<li>Super+Control+Shift+8 - Move the focused window to tag 8</li>
<li>Super+Control+Shift+9 - Move the focused window to tag 9</li>
<li>Super+Control+Shift+Esc - Open speedwm-utils (requires speedwm-extras)</li>
<li>Super+Control+Shift+Arrow - Resize the window to the screen size.</li>
<li>Super+Control+Shift+s - Set a wallpaper (requires speedwm-extras)</li>
<li>Super+Control+Shift+n - Connect to WLAN using iwd (requires speedwm-extras)</li>
<li>Super+Control+Shift+b - Connect to a Bluetooth device using bluez (requires speedwm-extras)</li>
<li>Super+Control+Shift+q - Pauses your music</li>
<li>Super+Control+Shift+w - Decreases your music volume</li>
<li>Super+Control+Shift+e - Increase your music volume</li>
<li>Super+Control+Shift+r - Restart speedwm</li>
<li>Super+Control+Shift+j/k - Change window size vertically (cfact)</li>
<li>Super+Control+Shift+Equal - Increase bar height by 1</li>
<li><p>Super+Control+Shift+Minus - Decrease bar height by 1</p>
<h3 id="chained-keybinds">Chained keybinds</h3>
</li>
<li><p>Super+r &amp; s - Run screenkey if it is installed</p>
</li>
<li>Super+r &amp; d - Kill screenkey</li>
<li>Super+t &amp; r - Reorganize tags and move windows</li>
<li>Super+t &amp; t - Toggle tag area in the bar</li>
<li>Super+t &amp; y - Toggle empty tag area in the bar</li>
<li>Super+t &amp; w - Toggle title area in the bar</li>
<li>Super+t &amp; u - Toggle unselected title area in the bar</li>
<li>Super+t &amp; p - Toggle powerline tags in the bar</li>
<li>Super+t &amp; s - Toggle status area in the bar</li>
<li>Super+t &amp; l - Toggle layout area in the bar</li>
<li>Super+t &amp; o - Toggle inactive fade</li>
<li>Super+t &amp; b - Toggle bar position</li>
<li>Super+t &amp; r - Reset all bar modules</li>
<li>Super+t &amp; s - Make the current selected window sticky</li>
<li>Super+l &amp; p - Toggle layout position</li>
<li>Super+c &amp; w - Get the weather (Using wttr.in) using speedwm-core (requires speedwm-extras)</li>
<li>Super+c &amp; n - Switch to the next track</li>
<li>Super+c &amp; p - Switch to the previous track</li>
<li>Super+g &amp; t - Toggle gaps</li>
<li>Super+g &amp; 0 - Reset gaps</li>
<li>Super+g &amp; i - Increase inner gaps by 1</li>
<li>Super+g &amp; o - Increase outer gaps by 1</li>
<li>Super+g &amp; j/k - Increase/decrease gaps between windows by 1</li>
<li>Super+p &amp; j/k - Increase/decrease bar padding by 1</li>
<li>Super+p &amp; u/d - Increase/decrease bar padding by 5</li>
<li>Super+p &amp; r - Reset bar padding to default</li>
<li>Super+p &amp; t - Toggle bar padding on/off</li>
<li>Super+, &amp; w - Toggle title powerline on/off</li>
<li>Super+, &amp; t - Toggle tag powerlines on/off</li>
<li>Super+, &amp; a - Toggle title powerline shape</li>
<li>Super+, &amp; d - Toggle tag powerline shape</li>
<li>Super+, &amp; s - Toggle tag and title powerline shapes</li>
<li>Super+, &amp; r - Reset powerline options</li>
<li>Super+q &amp; n/p - Switch to the next/previous track</li>
<li>Super+q &amp; l/h - Seek 3 seconds forward/backwards</li>
<li>Super+q &amp; u/d - Seek 10 seconds forward/backwards</li>
<li>Super+q &amp; 0 - Seek to the beginning of the track</li>
<li>Super+Shift+g &amp; i - Decrease inner gaps by 1</li>
<li>Super+Shift+g &amp; o - Decrease outer gaps by 1</li>
<li>Super+Shift+e &amp; a - Open the virtual keyboard</li>
<li>Super+Shift+e &amp; e - Open a list of all emojis and copy the selection</li>
<li>Super+Shift+e &amp; r - Randomize wallpaper</li>
<li>Super+Shift+e &amp; p - Set wallpaper to the previous</li>
<li><p>Super+Shift+k &amp; o - Kill every window except the focused</p>
<h3 id="extras">Extras</h3>
<p>These will only work if your keyboard has special multimedia buttons.</p>
</li>
<li><p>Mute button - Mutes your audio</p>
</li>
<li>Up Volume button - Increases your volume</li>
<li>Next/Previous song button - Switch to the next/previous track </li>
<li>Down Volume button - Decreases your volume</li>
<li>Pause button - Pauses the current track</li>
<li>Stop button - Stops your defined music player</li>
<li>Browser button - Opens your defined web browser</li>
<li>Power button - Ask if you wanna shut down, restart or lock your computer. (requires speedwm-extras)</li>
<li>Email button - Open your defined email client</li>
<li>System button - Open your defined status viewer in a terminal</li>
<li>Music button - Open your defined music player</li>
<li><p>WLAN button - Disconnect from WLAN (requires speedwm-extras)</p>
<h3 id="mouse">Mouse</h3>
<p>These binds can be activated using your mouse</p>
</li>
<li><p>Tag &lt;num&gt; (Left click) - Switch to tag &lt;num&gt;</p>
</li>
<li>Tag (Scrolling up/down) - Switch to the next/previous tag</li>
<li>Layout indicator (Left click) - Switch to the next layout</li>
<li>Layout indicator (Middle click) - Switch to the previous layout</li>
<li>Layout indicator (Right click) - Open a dmenu list of all layouts (requires speedwm-extras)</li>
<li>Window title (Left click) - Hide/Show the window</li>
<li>Window title (Right click) - Open speedwm-utils (requires speedwm-extras)</li>
<li>Focused window (Super+Alt+Left click) - Move the focused window around</li>
<li>Focused window (Super+Alt+Middle click) - Make the focused window floating</li>
<li>Focused window title (Middle click) - Rotate stack</li>
<li>Dragging (Super+Right click) - Increase/decrease size of each window (mfact)</li>
<li>Dragging (SuperControl+Right click) - Increase/decrease cfact</li>
<li>Root window (Right click) - List .desktop entries and open them (requires j4-dmenu-desktop)</li>
</ul>
<h2 id="dependencies">Dependencies</h2>
<p> These are absolutely necessary, speedwm will NOT compile without them</p>
<ul>
<li>libxft</li>
<li>pango</li>
<li>libXinerama<ul>
<li>Can be disabled through editing toggle.mk if you&#39;re not interested in multiple monitors.</li>
</ul>
</li>
<li>imlib2<ul>
<li>Tag previews, Window icons. Can be disabled through editing toggle.mk and toggle.h if you don&#39;t want these features.</li>
</ul>
</li>
<li>yajl<ul>
<li>Required for the IPC patch. If the IPC patch is disabled, you do not need this.</li>
</ul>
</li>
<li><p>tcc</p>
<ul>
<li>Very minimal C compiler that speedwm uses to speed up compile times. If you don&#39;t want this dependency, edit host.mk and set CC to &#39;cc&#39; (or what you prefer).</li>
</ul>
<h2 id="features">Features</h2>
<p>These are necessary for certain features and keybinds.<br>If you want to use an alternative, change it in options.h and/or keybinds.h and mouse.h.</p>
</li>
<li><p>dmenu</p>
<ul>
<li>NOTE: dmenu is required for most scripts included with this build of speedwm. My build is required for proper Pywal support.</li>
</ul>
</li>
<li>picom<ul>
<li>Optional but speedwm looks sort of ugly without a compositor.</li>
</ul>
</li>
<li>xrdb (Install if you want .Xresources support)</li>
<li>pywal (Install if you want pywal support. Requires swal (the default way to set wallpapers) or a tool that supports the correct signal for instant reloading)</li>
<li><p>j4-dmenu-desktop</p>
<ul>
<li>Required for dmenu desktop entries..</li>
</ul>
<h2 id="software">Software</h2>
<p>This build of speedwm comes with binds for software.<br>You can add, change and remove keybinds by editing &#39;keybinds.h&#39; and running &#39;make clean install&#39;.</p>
</li>
<li><p>speedwm-extras</p>
<ul>
<li>Important metapackage containing extra scripts that speedwm makes use of. (<a href="https://codeberg.org/speedie/speedwm-extras">https://codeberg.org/speedie/speedwm-extras</a>)</li>
</ul>
</li>
<li>st (Terminal)</li>
<li>qutebrowser (Web browser)</li>
<li>htop (Status monitor)</li>
<li>newsboat (RSS reader)</li>
<li>zathura (PDF reader)</li>
<li>cmus (Default music player)<ul>
<li>Default status bar also has support for moc (Music On Console)</li>
</ul>
</li>
<li>neovim (Text editor)</li>
<li>aerc (Email client)</li>
<li>vifm (File manager)</li>
<li>slock (Lock screen)</li>
<li>weechat (IRC client)</li>
<li><p>tmux (Used for the music player and IRC client)</p>
<p>And everything under &#39;Features&#39;.</p>
</li>
</ul>
<h2 id="important">Important</h2>
<p>If you&#39;re used to dwm, speedwm might be a little unfamiliar to you at first. This is because speedwm doesn&#39;t use config.h (or config.def.h).<br>Instead, config.h is split into different parts to make it easier to edit. Instead of editing config.h you&#39;ll want to edit:</p>
<ul>
<li>autostart.h for starting stuff right before speedwm (For example xclip, pywal, etc.)</li>
<li>options.h for changing colors and applications to use with keybinds.</li>
<li>signal.h for adding fake signals</li>
<li>colors.h for changing alpha options and color options, most users won&#39;t need to edit it.</li>
<li>xresources.h for adding/removing .Xresources options</li>
<li>rules.h for adding/removing rules</li>
<li>keybinds.h for adding/removing keybinds.</li>
<li>mouse.h for adding/removing mouse binds.</li>
<li>statusbar.h for adding/removing statuscmd clicks.</li>
<li>ipc.h for adding/removing IPC commands. (If support is compiled in)</li>
<li>toggle.h for adding/removing features from getting compiled in. </li>
</ul>
<p>After you&#39;ve edited one of the files, you need to run &#39;make clean install&#39; to reinstall speedwm.<br>Remember that you can change colors through your .Xresources file (see .Xresources and Pywal) meaning you do not need to recompile speedwm.</p>
<p>Another important detail you must keep in mind is that this build comes with a status bar simply named &#39;speedwm_status&#39;.<br>It can be found in the speedwm source code directory. It is just a shell script which adds stuff to your status bar. It will automatically be started when speedwm starts.</p>
<p>You can edit the status bar simply by editing &#39;speedwm_stellar&#39; or its modules (modules_*) and running &#39;make clean install&#39;.<br>You can also configure it by editing &#39;~/.config/speedwm/statusrc&#39;.</p>
<p>If you want to change status bar, edit options.h and set &#39;static char status&#39; to your status bar binary (must be in $PATH).<br>Alternatively, you can also set it in .Xresources (See .Xresources and Pywal).</p>
<h2 id="-xresources-and-pywal">.Xresources and Pywal</h2>
<p>This fork of speedwm has .Xresources support thanks to the .Xresources patch. It also has pywal support (tool which grabs colors based on your wallpaper).</p>
<p>Colors can be reloaded on-the-fly using the built in wallpaper utility. In order to implement speedwm reloading support to your own wallpaper utility, run shell command (/bin/sh) &#39;speedwm_run -r&#39; to reload colors automatically.</p>
<p>Note that the &#39;xrdb&#39; dependency is required for both pywal and .Xresources support.</p>
<p>Below is a list of all .Xresources values you can define. The .Xresources file should be placed in ~ or ~/.config by the user. However ~/.config/speedwm/speedwmrc should be created automatically, which can (and should most of the time) be used instead.</p>
<p>If it is not or you want it somewhere else, you can edit &#39;autostart.h&#39; and &#39;make clean install&#39;.</p>
<ul>
<li>speedwm.bar.height: 4 </li>
<li>speedwm.bar.position: 1 </li>
<li>speedwm.bar.paddingh: 10 </li>
<li>speedwm.bar.paddingv: 10 </li>
<li>speedwm.bar.hide: 0 </li>
<li>speedwm.bar.hide.tags: 0 </li>
<li>speedwm.bar.hide.emptytags: 1 </li>
<li>speedwm.bar.hide.powerlinetags: 0 </li>
<li>speedwm.bar.hide.powerlinetitle: 0 </li>
<li>speedwm.bar.hide.floating: 0 </li>
<li>speedwm.bar.hide.layout: 0 </li>
<li>speedwm.bar.hide.sticky: 0 </li>
<li>speedwm.bar.hide.status: 0 </li>
<li>speedwm.bar.hide.systray: 1 </li>
<li>speedwm.bar.hide.title: 0 </li>
<li>speedwm.bar.hide.unseltitle: 0 </li>
<li>speedwm.bar.hide.icon: 0 </li>
<li>speedwm.bar.layoutposition: 1 </li>
<li>speedwm.border.roundedcorners: 0 </li>
<li>speedwm.border.cornerradius: 2 </li>
<li>speedwm.border.size: 1 </li>
<li>speedwm.client.allowurgent: 1 </li>
<li>speedwm.client.automove: 0 </li>
<li>speedwm.client.autofocus: 0 </li>
<li>speedwm.client.autoresize: 0 </li>
<li>speedwm.client.decorhints: 1 </li>
<li>speedwm.client.fade.inactive: 1 </li>
<li>speedwm.client.fade.windows: 1 </li>
<li>speedwm.client.floatscratchpad: 0 </li>
<li>speedwm.client.savefloat: 1 </li>
<li>speedwm.client.swallow: 1 </li>
<li>speedwm.client.swallowfloating: 1 </li>
<li>speedwm.client.wmclass: 1 </li>
<li>speedwm.fonts.font: NotoSans Regular 8</li>
<li>speedwm.col.background: #222222</li>
<li>speedwm.col.layout: #99b3ff</li>
<li>speedwm.col.layouttext: #000000</li>
<li>speedwm.col.status0: #131210</li>
<li>speedwm.col.status1: #bf616a</li>
<li>speedwm.col.status2: #A16F9D</li>
<li>speedwm.col.status3: #68ABAA</li>
<li>speedwm.col.status4: #A89F93</li>
<li>speedwm.col.status5: #D3A99B</li>
<li>speedwm.col.status6: #AFC9AC</li>
<li>speedwm.col.status7: #eae1cb</li>
<li>speedwm.col.status8: #a39d8e</li>
<li>speedwm.col.status9: #6D5E8E</li>
<li>speedwm.col.status10: #a16f9d</li>
<li>speedwm.col.status11: #d3a99b</li>
<li>speedwm.col.status12: #afc9ac</li>
<li>speedwm.col.status13: #eae1cb</li>
<li>speedwm.col.status14: #6d5e8e</li>
<li>speedwm.col.status15: #ffffff</li>
<li>speedwm.col.systray: #222222</li>
<li>speedwm.col.tag1: #99b3ff</li>
<li>speedwm.col.tag1.text: #eeeeee</li>
<li>speedwm.col.tag2: #99b3ff</li>
<li>speedwm.col.tag2.text: #eeeeee</li>
<li>speedwm.col.tag3: #99b3ff</li>
<li>speedwm.col.tag3.text: #eeeeee</li>
<li>speedwm.col.tag4: #99b3ff</li>
<li>speedwm.col.tag4.text: #eeeeee</li>
<li>speedwm.col.tag5: #99b3ff</li>
<li>speedwm.col.tag5.text: #eeeeee</li>
<li>speedwm.col.tag6: #99b3ff</li>
<li>speedwm.col.tag6.text: #eeeeee</li>
<li>speedwm.col.tag7: #99b3ff</li>
<li>speedwm.col.tag7.text: #eeeeee</li>
<li>speedwm.col.tag8: #99b3ff</li>
<li>speedwm.col.tag8.text: #eeeeee</li>
<li>speedwm.col.tag9: #99b3ff</li>
<li>speedwm.col.tag9.text: #eeeeee</li>
<li>speedwm.col.tagurgent: #f0e68c</li>
<li>speedwm.col.textnorm: #bbbbbb</li>
<li>speedwm.col.textsel: #222222</li>
<li>speedwm.col.titlenorm: #222222</li>
<li>speedwm.col.titlesel: #99b3ff</li>
<li>speedwm.col.titlehid: #222222</li>
<li>speedwm.col.windowbordernorm: #000000</li>
<li>speedwm.col.windowbordersel: #eeeeee</li>
<li>speedwm.col.windowborderurg: #f0e68c</li>
<li>speedwm.color.hiddentitle: 1 </li>
<li>speedwm.color.layout: 0 </li>
<li>speedwm.color.selectedtitle: 0 </li>
<li>speedwm.bar.powerline.tag.shape: 0 </li>
<li>speedwm.bar.powerline.title.shape: 1 </li>
<li>speedwm.cursor.warp: 1 </li>
<li>speedwm.focus.spawned: 0 </li>
<li>speedwm.fullscreen.hidebar: 1 </li>
<li>speedwm.fullscreen.lockfullscreen: 1 </li>
<li>speedwm.fullscreen.movefullscreenmon: 0 </li>
<li>speedwm.gaps.enable: 1 </li>
<li>speedwm.gaps.sizeih: 10 </li>
<li>speedwm.gaps.sizeiv: 10 </li>
<li>speedwm.gaps.sizeoh: 10 </li>
<li>speedwm.gaps.sizeov: 10 </li>
<li>speedwm.gaps.smartgaps: 0 </li>
<li>speedwm.gaps.smartgapsize: 0 </li>
<li>speedwm.icon.size: 10 </li>
<li>speedwm.icon.spacing: 5 </li>
<li>speedwm.layout.deck.count: 0 </li>
<li>speedwm.layout.deck.format: [%d]</li>
<li>speedwm.layout.monocle.clientcount: 0 </li>
<li>speedwm.layout.monocle.count: 0 </li>
<li>speedwm.layout.monocle.format: [%d/%d]</li>
<li>speedwm.mfact: 0.50 </li>
<li>speedwm.mfact.lowest: 0.05 </li>
<li>speedwm.mouse.clicktofocus: 0 </li>
<li>speedwm.mouse.mfact: 1 </li>
<li>speedwm.mouse.cfact: 1 </li>
<li>speedwm.mouse.mousepreview: 1 </li>
<li>speedwm.rule.refresh: 1 </li>
<li>speedwm.stack.attachdirection: 3 </li>
<li>speedwm.stack.centerfloating: 1 </li>
<li>speedwm.stack.i3mcount: 0 </li>
<li>speedwm.stack.mastercount: 1 </li>
<li>speedwm.stack.snap: 20 </li>
<li>speedwm.status.defaultstatus:</li>
<li>speedwm.status.status: speedwm_status</li>
<li>speedwm.status.statusallmons: 1 </li>
<li>speedwm.switcher.maxheight: 200 </li>
<li>speedwm.switcher.maxwidth: 600 </li>
<li>speedwm.switcher.menupositionv: 1 </li>
<li>speedwm.switcher.menupositionh: 1 </li>
<li>speedwm.systray.padding: 2 </li>
<li>speedwm.systray.pinning: 0 </li>
<li>speedwm.systray.position: 0 </li>
<li>speedwm.tag.pertag: 1 </li>
<li>speedwm.tag.preview: 1 </li>
<li>speedwm.tag.preview.bar: 0 </li>
<li>speedwm.tag.preview.paddingh: 0 </li>
<li>speedwm.tag.preview.paddingv: 0 </li>
<li>speedwm.tag.preview.scale: 2 </li>
<li>speedwm.tag.resetgaps: 1 </li>
<li>speedwm.tag.resetlayout: 1 </li>
<li>speedwm.tag.resetmfact: 1 </li>
<li>speedwm.tag.start: 1 </li>
<li>speedwm.tag.underline: 0 </li>
<li>speedwm.tag.underlineall: 0 </li>
<li>speedwm.tag.underlinepad: 5 </li>
<li>speedwm.tag.underlinestroke: 2 </li>
<li>speedwm.tag.underlinevoffset: 0 </li>
<li>speedwm.tag.urgentwindows: 1 </li>
<li>speedwm.tiling.resizehints: 0 </li>
<li>speedwm.run.shell: /bin/sh</li>
</ul>
<h2 id="signals">Signals</h2>
<p>Thanks to the &#39;fsignal&#39; patch available on suckless.org&#39;s website, we can easily write shell scripts to interact with dwm and therefore speedwm.<br>I made some changes to this patch, because it has some.. questionable behaviour in my opinion.</p>
<p>To use signals, you can use libspeedwm. Previously, speedwm-utils (part of speedwm-extras) would be used but that now depends on libspeedwm anyway. Using libspeedwm directly is the easiest option.</p>
<p>If you do not have speedwm-extras or libspeedwm, you can use the speedwm binary itself. The syntax is speedwm -s &quot;#cmd:&lt;signum&gt;&quot;<br>This option is not as solid though as signums can and will likely be moved around breaking your scripts. Therefore I highly recommend you use libspeedwm when writing scripts.</p>
<p>Below is a list of all signums and what they do.</p>
<ul>
<li>1 - Switch to the Tiling layout</li>
<li>2 - Switch to the Floating layout</li>
<li>3 - Switch to the Monocle layout</li>
<li>4 - Switch to the Grid layout</li>
<li>5 - Switch to the Deck layout</li>
<li>6 - Switch to the Centered Master layout</li>
<li>7 - Switch to the Tatami layout</li>
<li>8 - Switch to the Fibonacci Spiral layout</li>
<li>9 - Switch to the Fibonacci Dwindle layout</li>
<li>10 - Switch to the Bottom Stack Vertical layout</li>
<li>11 - Switch to the Bottom Stack Horizontal layout</li>
<li>12 - Switch to the Horizontal Grid layout</li>
<li>13 - Switch to the Dynamic Grid layout</li>
<li>14 - Switch to the Custom layout</li>
<li>15 - Custom layout options</li>
<li>16 - Switch to the next layout</li>
<li>17 - Switch to the previous layout</li>
<li>18 - Increase mfact by 0.05</li>
<li>19 - Decrease mfact by 0.05</li>
<li>20 - Toggle sticky</li>
<li>21 - Toggle the bar</li>
<li>22 - Toggle fullscreen</li>
<li>23 - Toggle floating</li>
<li>24 - Swap the current window with the next</li>
<li>25 - Reorganize tags (Reorder them)</li>
<li>26 - Shutdown speedwm</li>
<li>27 - Restart speedwm</li>
<li>28 - Show the focused window</li>
<li>29 - Hide the focused window</li>
<li>30 - Kill the focused window</li>
<li>31 - Rotate the stack up</li>
<li>32 - Rotate the stack down</li>
<li>33 - Increase number of clients in the master stack</li>
<li>34 - Decrease number of clients in the master stack</li>
<li>35 - Focus the Master client</li>
<li>36 - Switch focus between windows +1</li>
<li>37 - Switch focus between windows -1</li>
<li>38 - Switch focus between hidden windows +1</li>
<li>39 - Switch focus between hidden windows -1</li>
<li>40 - Toggle opacity for windows</li>
<li>41 - Increase cfact by 0.05</li>
<li>42 - Decrease cfact by 0.05</li>
<li>43 - Switch to the previous tag</li>
<li>44 - Switch to the next tag</li>
<li>45 - Reset gaps to the default size</li>
<li>46 - Toggle gaps</li>
<li>47 - Increase gaps by 1</li>
<li>48 - Decrease gaps by 1</li>
<li>49 - Increase inner gaps by 1</li>
<li>50 - Decrease inner gaps by 1</li>
<li>51 - Increase outer gaps by 1</li>
<li>52 - Decrease outer gaps by 1</li>
<li>53 - Kill all clients except focused</li>
<li>54 - Focus the next monitor</li>
<li>55 - Focus the previous monitor</li>
<li>56 - Show the scratchpad</li>
<li>57 - Hide the scratchpad</li>
<li>58 - Remove the scratchpad</li>
<li>59 - Reset layout/mfact</li>
<li>60 - Reset mastercount</li>
<li>61 - Show/Hide systray</li>
<li>62 - Hide all windows</li>
<li>63 - Show all windows</li>
<li>64 - Reset mfact </li>
<li>65 - Reload .Xresources on the fly</li>
<li>66 - Switch to the previous tag, skipping empty tags</li>
<li>67 - Switch to the next tag, skipping empty tags</li>
<li>68 - Toggle the tag area in the bar</li>
<li>69 - Toggle the empty tags in the bar</li>
<li>70 - Toggle the powerline tags in the bar</li>
<li>71 - Toggle the powerline title in the bar</li>
<li>72 - Toggle the powerline tags and title in the bar</li>
<li>73 - Toggle the shape for powerline tags in the bar</li>
<li>74 - Toggle the shape for powerline title in the bar</li>
<li>75 - Toggle the shape for powerline tags and title in the bar</li>
<li>76 - Reset powerline options</li>
<li>77 - Toggle the title area in the bar</li>
<li>78 - Toggle the unselected title area in the bar</li>
<li>79 - Toggle the layout area in the bar</li>
<li>80 - Toggle the status area in the bar</li>
<li>81 - Toggle the floating indicator area in the bar</li>
<li>82 - Toggle the sticky indicator area in the bar</li>
<li>83 - Toggle the icon in the window title</li>
<li>84 - Toggle bar position (top/bottom)</li>
<li>85 - Toggle layout position (left/right)</li>
<li>86 - Show all bar modules</li>
<li>87 - Increase bar height by 1</li>
<li>88 - Decrease bar height by 1</li>
<li>89 - Reset bar height</li>
<li>90 - Increase vertical barpadding by 1</li>
<li>91 - Decrease vertical barpadding by 1</li>
<li>92 - Increase horizontal barpadding by 1</li>
<li>93 - Decrease horizontal barpadding by 1</li>
<li>94 - Increase vertical and horizontal barpadding by 1</li>
<li>95 - Decrease vertical and horizontal barpadding by 1</li>
<li>96 - Toggle vertical barpadding</li>
<li>97 - Toggle horizontal barpadding</li>
<li>98 - Toggle vertical and horizontal barpadding</li>
<li>99 - Reset vertical barpadding</li>
<li>100 - Reset horizontal barpadding</li>
<li>101 - Reset vertical and horizontal barpadding</li>
<li>102 - Increase stack count by 1</li>
<li>103 - Decrease stack count by 1</li>
<li>104 - Rotate forward in the layout axis</li>
<li>105 - Rotate forward in the master axis</li>
<li>106 - Rotate forward in the stack axis</li>
<li>107 - Rotate forward in the secondary stack axis</li>
<li>108 - Rotate backwards in the layout axis</li>
<li>109 - Rotate backwards in the master axis</li>
<li>110 - Rotate backwards in the stack axis</li>
<li>111 - Rotate backwards in the secondary stack axis</li>
<li>112 - Mirror the layout</li>
<li>113 - Enter an empty layout where all clients are hidden</li>
</ul>
<h2 id="maintaining-settings-easily">Maintaining settings easily</h2>
<p>speedwm is a personal fork of dwm and will therefore likely have keybinds and other options you may not like.</p>
<p>Because of this, I recommend that you use the patching system to manage your &quot;custom&quot; settings. speedwm has a patching system. It allows you to create a patch with your changes to most of the headers.</p>
<p>To create a patch, simply make clean install once and then the docs folder will contain backups of your source code. If you perform changes to any of these four files, run make patch to create patches against the backups in docs and your modified files. Then once you&#39;re updating, do make patch_remove, git pull, make patch_install, and make clean install and all your settings will be there.</p>
<p>The only (obvious) problem with doing this is that eventually the backup files patches are being created against will be pretty old causing patches to no longer apply correctly. If this is the case you will need to create new patches and backups.</p>
<p>If this seems like more effort than it is worth, maintaining your own fork is always an option. This allows you to perform any options you want yourself. This however doesn&#39;t allow you to grab any updates so this should be your second choice.</p>
<p>Another option, if you use Gentoo, you can add my overlay and install speedwm using the &#39;savedconfig&#39; USE flag. This USE flag will combine all the headers into one and will be placed in /etc/portage/savedconfig/x11-wm/speedwm-version. To use the settings, simply emerge speedwm again.</p>
<h2 id="additional-note-on-autostart">Additional note on autostart</h2>
<p>If you wish to add autostart entries without recompiling, consider using $HOME/.config/speedwm/autostart.sh. This is a path added to autostart.h and you can fill it with anything you want. You can also use speedwm-autostart. This is a binary that will be executed if it is in $PATH.</p>
<p>Do note that it will NOT just run once. It will run every time you restart and start speedwm (signals count as well).<br>To get around this, you may wrap stuff in a function in the script and have some way of checking if it has ran before. If it hasn&#39;t, call the function.</p>
<p>An alternative is to use the $HOME/.config/speedwm/autostart_once.sh path. This one is autostarted by speedwm_run and is therefore not hardcoded and not affected by speedwm restarting. Just like the previous autostart script, it does not exist so you need to create it.</p>
<h2>Auto generated.</h2>
<p>This page was auto generated by the speedwm-help script bundled with speedwm. It acts as the help script and it writes documentation to HTML, Markdown and plain text from documentation in the docs folder and data grabbed from your current system.</p>
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
</footer>
</html>