Finish adding old blog posts

This commit is contained in:
Anthony Wang 2021-10-24 10:21:56 -05:00
parent 87c159eff8
commit 46b161e94c
Signed by: a
GPG key ID: BC96B00AEC5F2D76
60 changed files with 177 additions and 109 deletions

View file

@ -4,7 +4,7 @@ type: page
---
- **Operating System**: [Arch Linux](https://github.com/Ta180m/blog/blob/main/_posts/2021-02-14-i-btw-use-arch.md)
- **Operating System**: [Arch Linux](/posts/i-btw-use-arch)
- **Desktop environment**: [KDE Plasma](https://www.dedoimedo.com/computers/plasma-desktop-awesome.html)

View file

@ -1,12 +1,15 @@
---
layout: post
title: "The Anti Window Manager"
author: Ta180m
title: "The Anti Window Manager"
date: 2021-06-22
type: "post"
tags: ["Linux", "Rant"]
---
[KDE bloat](/blog/2021/06/04/myth-bloat.html), [WMs rule](/blog/2020/12/26/why-wms-suck.html). Therefore, we must use get rid of the DE in KDE and we are left with... everyone's favorite WM, [KWin](https://userbase.kde.org/KWin)!
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-06-22-anti-window-manager.md)*
[KDE bloat](/posts/myth-bloat), [WMs rule](/posts/why-wms-suck). Therefore, we must use get rid of the DE in KDE and we are left with... everyone's favorite WM, [KWin](https://userbase.kde.org/KWin)!
There are only three easy steps. First, set up the environmental variables and start up D-Bus:
@ -15,8 +18,8 @@ export $(dbus-launch)
export QT_QPA_PLATFORM=wayland
```
Now enjoy your super unbloated standalone compositing Wayland window manager with `kwin_wayland konsole`. Need [XWayland](/blog/2020/04/21/wayland-is-a-scam.html)? To add that extra bloat, just pass the `--xwayland` flag.
Now enjoy your super unbloated standalone compositing Wayland window manager with `kwin_wayland konsole`. Need XWayland? To add that extra bloat, just pass the `--xwayland` flag.
![KWin standalone](/blog/assets/kwin-standalone.png)
![KWin standalone](/images/kwin-standalone.png)
All set! Now you can flex your very unbloated WM in all of its glory. It's Wayland, too! Now try getting some work done...

View file

@ -1,25 +1,29 @@
---
layout: post
title: "How to Break a Rolling Release"
author: Ta180m
title: "How to Break a Rolling Release"
date: 2021-02-16
type: "post"
tags: ["Linux", "KDE"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-02-16-break-rolling-release.md)*
It's the day! Plasma 5.21 is out!
First, let me flex my `neofetch` to answer all your burning questions about my OS:
![neofetch](/blog/assets/neofetch.png)
![neofetch](/images/neofetch.png)
Now, time for the update. The big one. The closest thing to a point update in a rolling release. And...
![yay](/blog/assets/yay.png)
![yay](/images/yay.png)
Lots of updates, but Plasma 5.21 is not one of them.
Digging a bit deeper, it looks like it's still in [testing](https://wiki.archlinux.org/index.php/Official_repositories#Testing_repositories). Looks like we need to enable it first. Hopefully my computer doesn't explode or something when I do this...
![yay with testing](/blog/assets/yay-testing.png)
![yay with testing](/images/yay-testing.png)
There we go! Looks like Linux 5.11 is part of this sweet deal too! Let's break our rolling release! I mean, what could go possibly wrong? It's *only* 1263.42 MiB of packages. And I don't have a backup ready. Great!
@ -27,31 +31,31 @@ A few minutes and a reboot later...
OK, the boot looks good, no black screens or anything. Plasma (looks like the X11 session got renamed from Plasma to Plasma X11) on X started up extra fast... and we're in!
![Plasma 5.21](/blog/assets/plasma-5.21.png)
![Plasma 5.21](/images/plasma-5.21.png)
Some first impressions: The new Breeze Twilight theme looks awesome! I love hybrid light-dark themes! The application launcher is also organized a lot better now.
![The new system monitor](/blog/assets/system-monitor.png)
![The new system monitor](/images/system-monitor.png)
The system monitor app looks pretty good too and seems infinitely customizable, although wasn't the old Ksysguard working just fine? Whatever.
![The firewall configuration settings](/blog/assets/firewall.png)
![The firewall configuration settings](/images/firewall.png)
Now for the new firewall configuration settings... looks like I need to install a firewall first! A few minutes later... what a nice place to insert a giant picture of Konqi! Moving on.
The settings app has generally been cleaned up some more. There's a few other new settings, such as software updates, where I can now enable automatic updates to break my rolling release! How nice!
![New Application Launcher](/blog/assets/plasma-5.21-app-launcher.png)
![New Application Launcher](/images/plasma-5.21-app-launcher.png)
The biggest disappointment is the new Application Launcher. While I think it is a bit better organized, it's also less keyboard-friendly. Previously, after doing a search, you could press the down key once to select the second option shown. Now, you need to press the down key *twice*, injecting extra keystrokes in an area where keystroke efficiency is key (no pun intended).
Now for some Wayland...
![Plasma 5.21 Wayland](/blog/assets/plasma-5.21-wayland.png)
![Plasma 5.21 Wayland](/images/plasma-5.21-wayland.png)
Of course. The screen scaling is all wacko when I try to scale apps up 1.5x. Native Wayland apps look perfectly fine, but everything else, including much of Plasma, still looks pretty bad. Apparently it's a result of [this bug](https://bugs.kde.org/show_bug.cgi?id=389191) and it looks like two years later, it still hasn't been resolved yet.
![Plasma crash](/blog/assets/plasma-crash.png)
![Plasma crash](/images/plasma-crash.png)
And finally, we got a crash! Hooray! Just like last time I tried Wayland. Looks like the next update will be the one where Wayland is finally usable?

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Desktop Linux Revisited"
author: Ta180m
title: "Desktop Linux Revisited"
date: 2021-05-17
type: "post"
tags: ["Linux", "Society"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-05-17-desktop-linux-revisited.md)*
Linux enthusiasts have some kind of weird obsession with Linux market share. Compound this with the fact that it's almost impossible to determine accurately, with estimates ranging from lows of 0.5% to sky-high predictions like 5%. That's a whole order of magnitude of estimates! Each end of the spectrum posits a completely different future of Linux, so let's get started digging into this!
The first thing to remember is that 90% of the things written on the Internet were written by people who completely didn't understand what they were saying. (And that's a low estimate!) So naturally, on the Internet, there's no shortage of fake news, false news, and absolutely wrong information about Linux and its market share problem. Let's smash a few misconceptions first:

View file

@ -1,11 +1,14 @@
---
layout: post
title: "DIY Cloud Gaming"
author: Ta180m
title: "DIY Cloud Gaming"
date: 2021-05-13
type: "post"
tags: ["Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-05-13-diy-cloud-gaming.md)*
Cloud gaming sucks. Here's [Wikipedia's summary](https://en.wikipedia.org/wiki/Cloud_gaming) of its many flaws:
> This approach provides several disadvantages, notably forcing the user to consistently maintain a high-speed internet connection to an external organization. This built-in barrier to entry not only locks out users who wish to play video games in areas without this internet connection, but also precludes the player from owning their personal copy of the software, and permanently locks the user into a rental agreement, tying the purchase of the game to the solvency of the streaming provider (if the company goes out of business, the game ceases to exist). It is also inherently wasteful, and has insurmountable lag built-in to the distribution model, forcing users to make connections to potentially geographically-distant servers for the sole purpose of sending command inputs and retrieving video and audio streams that are viewed once and then immediately discarded.

View file

@ -1,14 +1,17 @@
---
layout: post
title: "Does Windows Really Suck?"
author: Ta180m
title: "Does Windows Really Suck?"
date: 2021-05-28
type: "post"
tags: ["Linux", "Windows"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-05-28-does-windows-really-suck.md)*
Well, obviously yes.
But recently, I heard about official support for [GUI apps in WSL](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps), so I thought I'd give it a try. Plus, my computer is on the [Windows Insider dev channel](/blog/2021/01/06/windows-update.html), so I have to boot up and update Windows every few months anyways.
But recently, I heard about official support for [GUI apps in WSL](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps), so I thought I'd give it a try. Plus, my computer is on the [Windows Insider dev channel](/posts/windows-update), so I have to boot up and update Windows every few months anyways.
So I booted up Windows for the first time in a few months, and it was... slow. That's all that I can describe it as. After you get used to the speed of KDE Plasma, Windows feels like an ill, lethargic sloth or something. It was painfully slow and my computer's fans spun at maximum volume much of the time. It didn't help that there was a ton of stuff that needed updating, and the whole process took at least an hour. At least I can update most of the crap apps through the Windows store... which is slower than Yuzu emulator. At least emulators have to try to run games at a reasonable speed; the Windows store just wastes as much of your time as possible while also bombarding you with stupid app recommendations on the home page. I also had to install some beta drivers for my GPU to support WSL, which required some Device Manager trickery to get it to work. For some reason, Firefox updated to a beta version, which looked gorgeous, but that's a story for another post.

View file

@ -1,14 +1,17 @@
---
layout: post
title: "Fixing Bugs Isn't Hard!"
author: Ta180m
title: "Fixing Bugs Isn't Hard!"
date: 2021-04-13
type: "post"
tags: ["Linux", "KDE"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-04-13-fixing-bugs-isnt-hard.md)*
A few days ago, I wanted to record my screen, and in process, I discovered [this bug](https://bugs.kde.org/show_bug.cgi?id=417575). It doesn't seem like a very complicated bug, right? Just look through the code, find out what's wrong, and send in a pull request! Or is it that easy?
![The bug](/blog/assets/spectacle.png)
![The bug](/images/spectacle.png)
The first issue is that [Spectacle's code](https://github.com/KDE/spectacle) is not exactly the most readable code out there, but I was able to identify [line 209 in `GUI/KSMainWindow.cpp`] as the critical line. So what is `mScreenrecorderToolsMenuFactory` and what does `fillMenuFromGroupingNames` do?
@ -59,7 +62,7 @@ Note that the top `com.obsproject.Studio` has different capitalization than `com
Great, so how do we fix it now? None of the KDE codebases are properly designed to be able to handle uppercase names like these, so this is bound to cause more problems in the future. One easy fix could be to convert the names to lowercase before calling the KService functions, but who knows how many bugs are currently plaguing KService because of this? I don't really want to meddle with KService so I think I'll create a pull request for KNewStuff.
![Fixed!](/blog/assets/spectacle-patched.png)
![Fixed!](/images/spectacle-patched.png)
Time to send in a [pull request](https://invent.kde.org/frameworks/knewstuff/-/merge_requests/115) (or merge request as they call it on GitLab)! The actual patch is tiny: just add a `.toLower()` on line 122 of `kmoretools/kmoretools.cpp`. So little for so much hard work!

View file

@ -1,14 +1,17 @@
---
layout: post
title: "I, BTW, use Arch"
author: Ta180m
title: "I, BTW, use Arch"
date: 2021-02-14
type: "post"
tags: ["Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-02-14-i-btw-use-arch.md)*
Ubuntu (you thought this was going to be about Arch, didn't you?) is a great distro. Cue Reddit screaming. Look on any web forum and you'll find people patronizing Ubuntu. Why? For having a straightforward installer that I can use to get Ubuntu up and running in half an hour with my favorite apps? For being the most supported distro by third-party developers? (They always have a PPA) For dominating server OSes in terms of market share? Nope. *It's for n00bs and beginners.*
There are so many things wrong with that claim, but this post isn't about Ubuntu. OK, it kind of is, and Ubuntu sure has its share of problems, but let's get to the main point. I previously used Ubuntu for over a year, first in WSL, then as my primary OS. But then I met Arch. People sometimes ask me why Arch over Ubuntu, so I'm going to sketch a few reasons why. [Memes](/blog/2020/10/04/arch-memes.html) aside, let's begin.
There are so many things wrong with that claim, but this post isn't about Ubuntu. OK, it kind of is, and Ubuntu sure has its share of problems, but let's get to the main point. I previously used Ubuntu for over a year, first in WSL, then as my primary OS. But then I met Arch. People sometimes ask me why Arch over Ubuntu, so I'm going to sketch a few reasons why. [Memes](/posts/arch-memes) aside, let's begin.
5. **Hemorrhaging edge**: Oh what, it's actually bleeding edge? Oops. Anyways, Ubuntu has absolutely expansive package repositories that can be further augmented with PPAs, but they can be pretty stale (Er, I meant stable). As in one or two years old, especially with the LTS versions. You probably wouldn't want to eat most stuff that's that stale. Well, no problem with Arch. You get the latest and greatest, at the expense of stuff randomly failing and having to debug and fix it for an hour. Great tradeoff.

View file

@ -1,10 +1,14 @@
---
layout: post
title: "An Interview with GitHub Copilot"
author: Ta180m
date: 2021-07-17
type: "post"
tags: ["Machine learning", "Linux", "Windows"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-07-17-interview-github-copilot.md)*
[The hype is real!](https://copilot.github.com/)
Not only can Copilot write code, it can also talk with you in a text file. Unfortunately, it doesn't seem to work with the open source build of Visual Studio Code, so I hopped into my Ubuntu VM and installed the proprietary VSCode build. Anyways, Copilot said some pretty... questionable things...

View file

@ -9,22 +9,22 @@ tags: ["Linux", "Windows"]
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2020-12-25-linux-office.md)*
![LibreOffice hate](/blog/assets/libreoffice-hate.png)
![LibreOffice hate](/images/libreoffice-hate.png)
OK, LibreOffice may not be the most loved application out there, but it's enough for most people. I use LibreOffice even on Windows! However, there is one thing about it that bothers me: the hideous icons! At first, I thought it might be caused be anti-aliasing or my screen scaling (currently set at 1.5x so everything's not tiny) but nope! The icons stayed hideous no matter what I did. Finally, after a bit of digging around in the settings, I found the root cause:
![LibreOffice icon settings](/blog/assets/libreoffice-settings.png)
![LibreOffice icon settings](/images/libreoffice-settings.png)
Can you see it? The icon style was set to `Breeze`, which presumably uses bitmap icons, while I was in fact looking for the infinitely scalable `Breeze (SVG)` vector icons. Switching to vector icons did the trick, and now LibreOffice doesn't look hideous anymore! The question is, why is the default the ugly bitmap icons?
![LibreOffice icons](/blog/assets/libreoffice-icons.png)
![LibreOffice icons](/images/libreoffice-icons.png)
People bash LibreOffice all the time for its imperfect compatibility of Office documents, but the important thing to remember is that *LibreOffice is not Microsoft Office!* If LibreOffice had focused less on being a Office clone and more on developing its own unique features, it would probably be in a much better shape right now. Millions of people are still using the basically-abandoned OpenOffice in 2020!
## But I need Microsoft Office!
Fine. Well, here are the latest developments. Traditionally, you had the two options of Wine, the compatibility layer, or going the VM route. Both suffer from their own flaws: Wine compatibility isn't perfect enough for Office, and VMs are resource-intensive, even if you want to make a few quick edits to a doc, and lack good graphical acceleration. [WinApps](https://github.com/Fmstrat/winapps) will give you the best of both worlds: the seamlessness of Wine, and the compatibility of a VM, well, using a [QEMU/KVM](/blog/2020/11/18/fun-with-qemu-kvm.html) VM. WinApps runs a background RDP server and integrates the VM apps into your host desktop. If Wine is the analog of WSL, then WinApps is WSL2. The only problem is that it's a just a VM underneath, so you still get all the disadvantages of VMs. Still, if you have some RAM to spare, it might be enough to free your dependency on Windows for Office or Adobe apps. It's still under heavy development, so we'll see where it goes.
Fine. Well, here are the latest developments. Traditionally, you had the two options of Wine, the compatibility layer, or going the VM route. Both suffer from their own flaws: Wine compatibility isn't perfect enough for Office, and VMs are resource-intensive, even if you want to make a few quick edits to a doc, and lack good graphical acceleration. [WinApps](https://github.com/Fmstrat/winapps) will give you the best of both worlds: the seamlessness of Wine, and the compatibility of a VM, well, using a QEMU/KVM VM. WinApps runs a background RDP server and integrates the VM apps into your host desktop. If Wine is the analog of WSL, then WinApps is WSL2. The only problem is that it's a just a VM underneath, so you still get all the disadvantages of VMs. Still, if you have some RAM to spare, it might be enough to free your dependency on Windows for Office or Adobe apps. It's still under heavy development, so we'll see where it goes.
![WinApps demo](https://raw.githubusercontent.com/Fmstrat/winapps/main/demo/demo.gif)

View file

@ -1,16 +1,19 @@
---
layout: post
title: "Matrix: Less Degenerate than Discord?"
author: Ta180m
title: "Matrix: Less Degenerate than Discord?"
date: 2021-04-22
type: "post"
tags: ["Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-04-22-matrix-less-degenerate-than-discord.md)*
Matrix is great. It's secure. it's decentralized. The perfect free and open source replacement for Discord, right?
Well, there's a few problems with this vision of the future. The first? To put it simply, no one uses Matrix. OK, maybe 100000 people use it at most, but that's nothing compared to the tens of millions of Discord users. The Arch Linux Matrix room recently hit a major milestone: 10000 people. And it's the third largest Matrix room! A sad reminder about how small Matrix still is.
![A milestone](/blog/assets/arch-matrix-room.png)
![A milestone](/images/arch-matrix-room.png)
Arch's status as the third largest Matrix room should also send a message about Matrix's current demographics. Most of the top rooms are either cryptocurrency or Linux focused. So if you want to chat with smart people, hang out on Matrix! The thing about all conversations is that they devolve to the lowest common denominator of the participants involved, so Matrix conversations can get pretty degenerate sometimes, but nowhere as idiotic as Discord.
@ -18,7 +21,7 @@ There are occasional spammers, but large rooms usually have mods that will quick
Matrix also has a thriving developer community, and there's some great bot frameworks out there (maybe even better than Discord!) but most public rooms hate bots, so you'll probably get banned.
![A bot ban](/blog/assets/matrix-bot-ban.png)
![A bot ban](/images/matrix-bot-ban.png)
Well anyways, that's a brief overview of Matrix. It has all the ingredients of a great free and open source chat service: a large hosted server at matrix.org, the option to self-host, a great amount of developer tools, end-to-end encryption, and more. The only thing missing is the people. Until more people start using it, you'll be held hostage to the [network effect](https://en.wikipedia.org/wiki/Network_effect) of other chat services. We've been making some progress, such as the Arch room hitting 10k, but it's a long and difficult road ahead. The vision is there; whether it's possible to accomplish is being answered right now.

View file

@ -1,18 +1,21 @@
---
layout: post
title: "The Myth of Bloat"
author: Ta180m
date: 2021-06-04
type: "post"
tags: ["Linux", "Rant"]
---
If there's one thing that hardcore Linux users are ridiculously obsessed about, it's the vague and scary concept of *bloat*. You gotta keep package counts low, use [WMs](/blog/2020/12/26/why-wms-suck.html), and compile [suckless.org stuff](suckless.org/). Visit any Arch or Gentoo forum or chat, and this philosophy seems to be epidemical. But... there's a gaping problem: package count is totally irrelevant, WMs are painful to configure, and suckless.org software really sucks. Yes, it's all a load of nonsense.
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-06-04-myth-bloat.md)*
If there's one thing that hardcore Linux users are ridiculously obsessed about, it's the vague and scary concept of *bloat*. You gotta keep package counts low, use [WMs](/posts/why-wms-suck), and compile [suckless.org stuff](suckless.org/). Visit any Arch or Gentoo forum or chat, and this philosophy seems to be epidemical. But... there's a gaping problem: package count is totally irrelevant, WMs are painful to configure, and suckless.org software really sucks. Yes, it's all a load of nonsense.
Let's start with the term "bloat". What does it even mean? Wikipedia offers a few definitions, such as [code bloat](https://en.wikipedia.org/wiki/Code_bloat) and [software bloat](https://en.wikipedia.org/wiki/Software_bloat) which are definitely legitimate issues. However, this obsession with bloat seems to be about something different; an allergic aversion to any software that's sufficiently complex.
What about package counts?
![Wise words](/blog/assets/package-count.png)
![Wise words](/images/package-count.png)
It's actually really easy to get a very low package count: just install Windows and you can brag about having zero packages installed. Beat that!

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Plasma 5.22 is a Disappointment"
author: Ta180m
title: "Plasma 5.22 is a Disappointment"
date: 2021-06-08
type: "post"
tags: ["Linux", "KDE", "Rant"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-06-08-plasma-5.22-disappointment.md)*
The KDE Plasma update train has cycled back again to another major update, so I snatched Plasma 5.22 from the very scary [testing repository](https://wiki.archlinux.org/index.php/Official_repositories#Testing_repositories), took it for a spin, and it's... disappointing.
What's the big new feature this time? Adaptive transparency, apparently.
@ -16,7 +19,7 @@ Yeah, if you were expecting something big, another huge leap forward, this updat
However, Plasma 5.22 did manage to shrink the clock on the panel, so it's now harder to read. Of course, the screenshot below still makes it seem big.
![The clock shrunk!](/blog/assets/clock.png)
![The clock shrunk!](/images/clock.png)
Also, there was a "Reboot to apply updates" icon in the system tray after every boot that started showing up, but the following commands fixed it. Warning: it will reboot your computer.

View file

@ -1,16 +1,19 @@
---
layout: post
title: "Putting the Wacom Tablet to Good Use!"
author: Ta180m
date: 2021-05-26
type: "post"
tags: ["Linux", "Art"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-05-26-putting-wacom-tablet-good-use.md)*
I've had a Wacom tablet for a long time now, but there's just never been a legitimate use for it, really. Everything that I could do with the tablet, I could also do with my laptop's touchscreen and stylus, so it always seemed like a bit of a waste. Sure, the drawing experience is a little bit better, the screen is a bit larger, but why use a Wacom tablet when the touchscreen and stylus work just fine?
Well everyone, I've finally found a great use for it. It's quite obvious, actually: Krita, KDE's finest drawing and painting app! The touchscreen and stylus do work, if you count working as having a terrible drawing experience on a cramped screen since Krita likes overwhelming you with its menus and dockers which also take up a ton of valuable screen real estate. Also, the slightly better control of the stylus you can get with an actual Wacom tablet really helps too. (My laptop's touchscreen, which also coincidentally happens to be made by Wacom, is crying right now.) Behold the terrible drawing I did with the touchscreen and stylus. It's really terrible, just saying.
![The horror!](/blog/assets/zebruh.png)
![The horror!](/images/zebruh.png)
OK, so why I am even using Krita in the first place? Well, since school's starting to wrap up now, I've suddenly had a lot more free time, perfect for exploring Krita with my sister! Anyways, here's some takeaways about Krita:
@ -26,5 +29,5 @@ OK, so why I am even using Krita in the first place? Well, since school's starti
Here's the horrible drawing I promised. It's horrible in so many different ways, just saying...
![The horror! Oh no!!](/blog/assets/llama.png)
![The horror! Oh no!!](/images/llama.png)

View file

@ -1,11 +1,14 @@
---
layout: post
title: "The Scary S Words"
author: Ta180m
date: 2021-04-27
type: "post"
tags: ["Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-04-27-scary-s-words.md)*
There are two S words that will plunge any Linux forum into endless debate: systemd and standardization. Just look at what happened on [#archlinux:archlinux.org](https://matrix.to/#/!SEgsRQLScqPxYtucHl:archlinux.org): a lengthly flamewar perpetrated by systemd haters which took through debates about standardization, market share, and gun culture (Yes, this did happen), leading to several bans of longtime regulars. So what makes these two words so divisive and controversial?
Let's start with systemd.
@ -18,7 +21,7 @@ Fast forward a few more years later, and Poettering is inspired by his previous
Not all the information above is true, by the way. It's the themes and ideas that count, anyways.
What starts out as a simple init system baloons into 69 different services, taking over logging, hostname, date and time, locale, logins, container and virtual machine management, system accounts, networking, network time synchronization, DNS, and more. SysVinit may have been getting a little bit bloated, but it's nothing compared to the sheer fat of systemd. The solution? Stop thinking of systemd as an init. At this point, it's basically a whole OS minus the kernel. And systemd isn't even that bad at doing all of these things. Despite its obvious breadth, it actually manages to do a variety of these things, such as [containers](https://ta180m.github.io/blog/2021/01/03/worst-init-system-best-tool.html) quite well. The hate against systemd is psychological.
What starts out as a simple init system baloons into 69 different services, taking over logging, hostname, date and time, locale, logins, container and virtual machine management, system accounts, networking, network time synchronization, DNS, and more. SysVinit may have been getting a little bit bloated, but it's nothing compared to the sheer fat of systemd. The solution? Stop thinking of systemd as an init. At this point, it's basically a whole OS minus the kernel. And systemd isn't even that bad at doing all of these things. Despite its obvious breadth, it actually manages to do a variety of these things, such as [containers](/posts/worst-init-system-best-tool) quite well. The hate against systemd is psychological.
Lennart Poettering posted a [rebuttal against the systemd haters on his website](https://web.archive.org/web/20190310201738/http://0pointer.de/blog/projects/the-biggest-myths.html), but true haters are keen on pointing out holes in his arguments.

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Self-hosting is Hard!"
author: Ta180m
date: 2021-04-07
type: "post"
tags: ["Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-04-07-self-hosting-is-hard.md)*
It's been over a week since I've completed my build and switched over many things to self-hosting. Here's how it went:
@ -13,13 +16,13 @@ It's been over a week since I've completed my build and switched over many thing
### Remote desktop
![VNC](/blog/assets/vnc.png)
![VNC](/images/vnc.png)
VNC works perfectly. OK, fine, I haven't figured out clipboad sharing yet, but other than that, it's perfect. I also tried Xrdp but didn't have much luck. There's also X2Go which bundles some extra perks like sound and clipboard sharing, but the image quality is blurry at times. Oh well, VNC is better anyways!
### Nextcloud
![Nextcloud](/blog/assets/nextcloud.png)
![Nextcloud](/images/nextcloud.png)
Nextcloud is basically a huge hammer that tries to attack every nail. For most cases, a more specialized tool would be better, but Nextcloud can still give you a surprisingly functional solution to... file sharing, real-time collaborative document editing, photo management, chat, email client, contacts, calendar, music streaming, notes, tasks, forms, maps, Matrix client, and RSS client. So yeah, Nextcloud knocks down quite a few bowling pins with one gigantically overpowered bowling, or perhaps more accurately, wrecking ball.
@ -27,7 +30,7 @@ I anticipated a painful setup process for such a large monolith, but it went sur
### Gitea
![Gitea](/blog/assets/gitea.png)
![Gitea](/images/gitea.png)
Gitea is one of the most boring things I've ever self-hosted. It just simply works! All my problem solving skills are simply going to waste... And I still don't know how to pronounce that name...
@ -35,7 +38,7 @@ On a more serious note, I'm currently using it to mirror all my GitHub repositor
### QEMU/KVM
![Virtual Machine Manager connected to my home server](/blog/assets/vmm.png)
![Virtual Machine Manager connected to my home server](/images/vmm.png)
Awww yeah, my favorite long acronym! QEMU/KVM is awesome, but I didn't know it was *this awesome*! Now I can run all my virtual machines on my laptop, but actually on my home server, without my laptop's fans spinning up loudly!
@ -54,9 +57,9 @@ And don't get me started on `mx-puppet-discord`. It may have seemed like just a
### DIY cloud gaming
![SuperTuxKart, streamed from the "cloud"](/blog/assets/stk.png)
![SuperTuxKart, streamed from the "cloud"](/images/stk.png)
As crazy as it sounds, this is actually nearly usable! The only thing preventing this from working perfectly are my [terrible GPU](/blog/2021/03/25/worst-first-build-part-4.html) and the limitations of VNC, since proprietary cloud gaming services use their own protocols optimized for low latency. I can get sound using X2Go, but it doesn't always work well. Plus X2Go's image quality is not the best. Still, we'll see how this goes, since it's pretty promising!
As crazy as it sounds, this is actually nearly usable! The only thing preventing this from working perfectly are my [terrible GPU](/posts/worst-first-build-part-4) and the limitations of VNC, since proprietary cloud gaming services use their own protocols optimized for low latency. I can get sound using X2Go, but it doesn't always work well. Plus X2Go's image quality is not the best. Still, we'll see how this goes, since it's pretty promising!
## Nope

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Why Self-hosting is not the Solution"
author: Ta180m
title: "Why Self-hosting is not the Solution"
date: 2021-04-08
type: "post"
tags: ["Linux", "Society"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-04-08-self-hosting-is-not-the-solution.md)*
So you hate tech giants. You hate Google for removing "don't be evil" from their code of conduct. You hate Microsoft for making Office and not providing a Linux port, or even worse, creating the dreaded Microsoft Losedows. You hate Crapple's walled garden. You hate Amazon. You hate Facebook and Twitter and all the other closed social media sites. But...
These giants have truly permeated through all the aspects of our digital lives. So what's next? What can you do?
@ -26,7 +29,7 @@ That said, for the small niche of self-hosting enthusiasts, it's fun, thrilling,
## So what now?
![Gitea](/blog/assets/gitea.png)
![Gitea](/images/gitea.png)
Well, Gitea actually provides us with a good step in the right direction. Gitea has a feature to *mirror* repositories from GitHub to your self-hosted instance, so it's not too difficult to mirror your entire GitHub user to Gitea. You can self host *and* reap the benefits of GitHub's [network effect](https://en.wikipedia.org/wiki/Network_effect) at the same time. And if your GitHub repos were ever to get taken down like [youtube-dl](https://github.com/github/dmca/pull/8127), you'll still have all the perks of self-hosting a mirror.

View file

@ -1,12 +1,15 @@
---
layout: post
title: "Self-hosting Sucks"
author: Ta180m
date: 2021-05-05
type: "post"
tags: ["Linux", "Rant"]
---
After one month of self-hosting, if there's one thing I've learned, it's that self-hosting sucks. As I've said in a [previous post](https://ta180m.github.io/blog/2021/04/08/self-hosting-is-not-the-solution.html), self-hosting is not the solution to our privacy woes. So why exactly does it suck so much? Here's a short timeline of the past month:
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-05-05-self-hosting-sucks.md)*
After one month of self-hosting, if there's one thing I've learned, it's that self-hosting sucks. As I've said in a [previous post](/posts/self-hosting-is-not-the-solution), self-hosting is not the solution to our privacy woes. So why exactly does it suck so much? Here's a short timeline of the past month:
- My Discord-Matrix bridge goes down over a weekend and I don't find out for several days. When I try to restart it, I get all sorts of weird Node.js errors about better-sqlite3. After hours of trying to fix it, I finally just remove all occurrences of SQLite from the code since I use PostgreSQL anyways.

View file

@ -1,11 +1,14 @@
---
layout: post
title: "The Web Sucks!"
author: Ta180m
title: "The Web Sucks!"
date: 2021-02-26
type: "post"
tags: ["Web", "Rant"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-02-26-web-sucks.md)*
[suckless.org](https://suckless.org) really hates [the web](https://suckless.org/sucks/web/). I'll quote them directly:
> *It has enabled the global information exchange, mass surveillance, studies in social control, allowed revolutions, made a fortune for many billionaires and in the meanwhile ruined our climate: the web.*

View file

@ -14,7 +14,7 @@ WM fans, don't kill me for saying this, but window managers suck. To see why, le
## Installing a WM
OK, I'll admit that this step is much faster. Most WMs are only a few megabytes and take a few seconds to install, even with slow package managers like `urpmi`. Try installing something like KDE Plasma on Mageia or even Arch. It's going to take a while. (Maybe go eat a snack while it's installing?)[/blog/2020/08/25/wsl-2-gnome-desktop.html].
OK, I'll admit that this step is much faster. Most WMs are only a few megabytes and take a few seconds to install, even with slow package managers like `urpmi`. Try installing something like KDE Plasma on Mageia or even Arch. It's going to take a while. (Maybe go eat a snack while it's installing?).
## Configuring a WM
@ -23,7 +23,7 @@ Now that you have your favorite WM installed, what next? If you're hardcore, you
I'm going to use the example of KDE Plasma some more, since it exemplifies a nice, well-rounded desktop environment. One of the key benefits of Plasma is its excellent integration with the KDE application suite. Sure, not every DE has a very complete set of applications, but it's loads better than anything you can do with a WM, in addition to a drastically lower amount of tedious work to set everything up.
The most common criticism of desktop environments is that they are "bloated" and "resource-hogging". And yes, I'm going to have to concede this one to the WM fans, since window managers tend to be very spartan and minimalistic. I even use i3 sometimes when working with very intensive software, such as with the [macOS VM](/blog/2020/11/18/fun-with-qemu-kvm.html). But every time I use i3, I'm constantly reminded of the Plasma features that I take for granted: a consistent icon theme, screen scaling for my high DPI monitor so the text can actually be legible, adjusting the screen color, mouse scroll direction, Krunner, and much more. Never forget Krunner. The single most important KDE app. Too bad it's glitchy with i3. I did end up fixing some of those things, but it doesn't feel *right*. I could put in more time, but there's just something *missing* about i3. It's incomplete.
The most common criticism of desktop environments is that they are "bloated" and "resource-hogging". And yes, I'm going to have to concede this one to the WM fans, since window managers tend to be very spartan and minimalistic. I even use i3 sometimes when working with very intensive software, such as with the macOS VM. But every time I use i3, I'm constantly reminded of the Plasma features that I take for granted: a consistent icon theme, screen scaling for my high DPI monitor so the text can actually be legible, adjusting the screen color, mouse scroll direction, Krunner, and much more. Never forget Krunner. The single most important KDE app. Too bad it's glitchy with i3. I did end up fixing some of those things, but it doesn't feel *right*. I could put in more time, but there's just something *missing* about i3. It's incomplete.
If you go on Reddit or do a DuckDuckGo search, you'll find plenty of examples of beautiful, heavy-customized WM setups. The emphasis on heavy-customized. It takes hours and hours of work to create something like that! Sure, you can download their dotfiles and set it up on your own computer, but it still doesn't feel quite the same as using a mature, well-rounded DE like KDE Plasma. Desktop environments are designed to make your life easier, even if it doesn't feel like it sometimes. WMs are really for people who have too much time on their hands and *need* that ultimate customizability. For everyone else, stick with your desktop environment.

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Worst First Build - The Sad Saga Continues"
author: Ta180m
title: "Worst First Build - The Sad Saga Continues"
date: 2021-03-03
type: "post"
tags: ["Hardware"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-03-03-worst-first-build-part-2.md)*
What a perfect time to build a PC: massive supply chain disruptions, cryptocurrencies driving up GPU prices through the roof, (scalper) bot wars, and a pesky little thing called the coronavirus murdering 2.5 million people (that last one probably sounds completely alien to anyone before 2019). Just perfect!
Anyways... for over 40 days since buying an overpriced 5600X (because of insane taxes, that's what), there were a grand total of zero deals. OK, fine, there were a few motherboards that were discounted a little bit, but nothing big. The drought of price drops literally desiccated my hope of being able to complete my build anytime soon at a reasonable price. My build was indefinitely on hold.

View file

@ -1,14 +1,17 @@
---
layout: post
title: "Worst First Build - The Quest for a GPU"
author: Ta180m
title: "Worst First Build - The Quest for a GPU"
date: 2021-03-15
type: "post"
tags: ["Hardware"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-03-15-worst-first-build-part-3.md)*
Last Wednesday, March 10th, was going to be *the day*. The day I finally could complete a functioning (but incomplete) build. My slightly overpriced RAM sticks (RAM prices were creeping upward sinisterly so I decided I probably shouldn't wait longer. Probably a bad move, too, but whatever.) were arriving, and it was going to be momentous. I was going to boot up an Arch USB drive, SSH in, and get the party going.
![A low-quality image of the build, sans RAM, courtesy of an terrible iPad camera](/blog/assets/build.jpg)
![A low-quality image of the build, sans RAM, courtesy of an terrible iPad camera](/images/build.jpg)
Yeah... that didnt exactly happen.
@ -66,4 +69,4 @@ It looks like my only options now are: asking more people to borrow their GPU, b
It's quite frustrating that the only obstacle in the way of finishing my build is a GPU for an hour. I guess I now have a $666 mega paperweight sitting in my living room. Perfect!
![Another low-quality image of the build](/blog/assets/build2.jpg)
![Another low-quality image of the build](/images/build2.jpg)

View file

@ -1,16 +1,19 @@
---
layout: post
title: "Worst First Build - How to Get a Free GPU During the World's Worst GPU Shortage Ever"
author: Ta180m
title: "Worst First Build - How to Get a Free GPU During the World's Worst GPU Shortage Ever"
date: 2021-03-25
type: "post"
tags: ["Hardware"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-03-25-worst-first-build-part-4.md)*
The [Great GPU Shortage](https://www.digitaltrends.com/computing/gpu-shortage-q3-2020-double-triple-price/) continues to [smash](https://www.theverge.com/2021/3/23/22345891/nvidia-amd-rtx-gpus-price-scalpers-ebay-graphics-cards) [records](https://www.extremetech.com/gaming/321129-ps5-availability-is-improving-but-gpus-prices-are-the-worst-weve-ever-tracked). We live in ludicrous times indeed, where it's considered lucky to win [a lottery to buy a $330 GPU... at a $200 markup](https://www.reddit.com/r/buildapcsales/comments/mca471/meta_newegg_souffle_3060_3090_51999/)! The barometer of Bitcoin and Ethereum prices continues to skyrocket, and my chances of finally getting a GPU and finishing my build were dimming every day with no end in sight.
But finish my build I did, with a GPU that ended up costing a grand total of... **$0**. (OK, maybe a dollar for the gas I used, but it was basically free.) How'd I do it? It's actually surprising simple.
![Easy free GPU](/blog/assets/free-gpu.png)
![Easy free GPU](/images/free-gpu.png)
1. Join a Discord with people in your area. (I normally don't recommend Discord since it's a privacy nightmare, but welp, [network effects!](https://en.wikipedia.org/wiki/Network_effect))

View file

@ -1,22 +1,25 @@
---
layout: post
title: "Worst First Build - Live on PCPartPicker!"
author: Ta180m
title: "Worst First Build - Live on PCPartPicker!"
date: 2021-03-27
type: "post"
tags: ["Hardware"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-03-27-worst-first-build-part-5.md)*
It's time to go full circle! I first started planning my build using [Logical Increments](logicalincrements.com/) and [PCPartPicker](https://pcpartpicker.com/) and I can't appreciate how much they've helped me the confusing world of PC building. Now that my build is "finished", or more accurately, functional, it's time to [publish it on PCPartPicker](https://pcpartpicker.com/b/GnV7YJ)!
Here's some anticlimactic images of the completed build:
![Image 1](/blog/assets/finished-build.jpg)
![Image 1](/images/finished-build.jpg)
![Image 2](/blog/assets/finished-build2.jpg)
![Image 2](/images/finished-build2.jpg)
![Image 3](/blog/assets/finished-build3.jpg)
![Image 3](/images/finished-build3.jpg)
![Image 4](/blog/assets/finished-build4.jpg)
![Image 4](/images/finished-build4.jpg)
Here's the writeup that I did for the build:

View file

@ -1,11 +1,14 @@
---
layout: post
title: "Worst First Build - Homelab Operational!"
author: Ta180m
title: "Worst First Build - Homelab Operational!"
date: 2021-03-31
type: "post"
tags: ["Hardware", "Linux"]
---
*Originally posted on my [old blog](https://github.com/Ta180m/blog/blob/main/_posts/2021-03-31-worst-first-build-part-6.md)*
Over the past week, I've been getting my new build set up. It's been quite satisfying: I'll run into more than my fair share of issues, but problem solving for the win!
The OS installation went relatively smoothly. Partitioning disks was a bit tricky but I got it to work. I wanted to try out `systemd-networkd` and `systemd-boot` for my new server, and I had to spend some time researching documentation. One of them worked perfectly, the other one not so much, so I ended up sticking with the tried-and-true NetworkManager. I also got SSH and VNC working as well, so I was off to great start.

View file

@ -51,11 +51,11 @@ export DISPLAY=:0 # set the display
Here's SuperTuxKart in all its glory running in a container with full graphical acceleration!
![SuperTuxKart in a container](/blog/assets/nspawn-supertuxkart.png)
![SuperTuxKart in a container](/images/nspawn-supertuxkart.png)
And that's it! Now you have a fast, simple way to test GUI graphically accelerated apps without messing with your host OS. (I still haven't gotten sound to work yet, but it shouldn't be *that* hard...)
Part of the simplicity of `systemd-nspawn` is that it is more of an extension of the age-old `chroot` instead of trying to virtualize too much like Docker. There's no need to worry about virtual network devices, virtual disks, volumes, or any of that stuff. Sure, that limits it in many ways, but it is still a very powerful OS virtualization method when the host and container are running the same OS. Previously, I had also experimented with [QEMU/KVM](/blog/2020/11/18/fun-with-qemu-kvm.html) for this, but it seems overkill since the host and guest can share much the OS such as the kernel. Of course, full-blown virtual machines have their own horde of problems, such as terrible graphical acceleration unacceptable for testing SuperTuxKart.
Part of the simplicity of `systemd-nspawn` is that it is more of an extension of the age-old `chroot` instead of trying to virtualize too much like Docker. There's no need to worry about virtual network devices, virtual disks, volumes, or any of that stuff. Sure, that limits it in many ways, but it is still a very powerful OS virtualization method when the host and container are running the same OS. Previously, I had also experimented with QEMU/KVM for this, but it seems overkill since the host and guest can share much the OS such as the kernel. Of course, full-blown virtual machines have their own horde of problems, such as terrible graphical acceleration unacceptable for testing SuperTuxKart.
Here are a few possible use cases:
@ -77,7 +77,7 @@ There's one final thing I need to clarify, and that's the title. By worst init s
Whoa! That's a lot!
Much of the hate that systemd receives stems from these blatant violations of the [Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy). systemd does not do one thing and do it well, unlike its predecessors. It does dozens of things, and arguably, it doesn't do them badly, but thought of systemd slowing expanding its grasp on your entire OS is unacceptable to some people. But of course, this begs the question of whether it is really necessary to adhere so strictly to the Unix philosophy, since most big, standalone apps like GIMP and [LibreOffice](/blog/2020/12/25/linux-office.html) obviously violate it.
Much of the hate that systemd receives stems from these blatant violations of the [Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy). systemd does not do one thing and do it well, unlike its predecessors. It does dozens of things, and arguably, it doesn't do them badly, but thought of systemd slowing expanding its grasp on your entire OS is unacceptable to some people. But of course, this begs the question of whether it is really necessary to adhere so strictly to the Unix philosophy, since most big, standalone apps like GIMP and [LibreOffice](/posts/linux-office) obviously violate it.
Still, systemd is everywhere these days, so it might be better to get used to it. Many of its tools are quite good, and `systemd-nspawn` in particular is exceptional. After watching the proliferation of systemd in the past few years, it's undeniable that it's here to stay.

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

BIN
static/images/build.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
static/images/build2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
static/images/clock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

BIN
static/images/firewall.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

BIN
static/images/free-gpu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
static/images/gitea.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

BIN
static/images/llama.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

BIN
static/images/neofetch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
static/images/nextcloud.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
static/images/spectacle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
static/images/stk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

BIN
static/images/vmm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
static/images/vnc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
static/images/yay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
static/images/zebruh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 KiB