This was generally beginning to get too long for my homepage and there's other relevant info here too so I figured I'd split this into its own page. Software choice is incredibly deep, fun and important for actual computer usage. It basically defines your experience. However, it's difficult to really do this alone with no guides or recommendations. I felt that the quality of most recommendation sites was pretty poor in general. I hope that my recommendatiosn are of use in helping improve the landscape.
As usual, this is heavily opinionated so please don't whine that your favourite shillware was opposed in this. Also neocities is bugging out with this for me fsr, I'm not sure why. Apologies if random things like spaces between entires are missing - I proofread it thoroughly and everything's there, but it just doesn't want to work fsr.
This is a rewrite - partly at least, there's a good amount of recycled content - from my old software list. I chose to rewrite it as my tastes had generally changed and the old one's formatting made it tedious to update.
There are some noticeable patterns you can find amongst what I use. I've listed them out here as guidelines to reading them:
Free & Open Source over Proprietary: I heavily dislike proprietary software. It is just not meant to be usable in any case. It controls you, not the other way around, and appeals to idiots who don't know better. I hate it for both pragmatic and philosphical reasons and will avoid using it whenever possible. I have included the proprietary software that I am forced to use in a separate section here and recommend FOSS alternatives. I do my best to do this, but I naturally cannot stick to this all of the time.
Local over Web: This is an extension of the above point. I still don't trust web applications because I'm not really running it on my machine (technically you are but you get no power over it for the cost) and they tend to have proprietary designs. This is a huge reason I use Linux, as I believe it has far better local apps than Windows.
Easy to Use: I do not want to have to spend too much time learning my software. In general that's not as difficult as it tends to be portrayed - it usually will just take one afternoon to get the hang of it - but I have better things to be doing iwth my time and life than to bend over backwards to make it work for similar output.
Aesthetics: FOSS is considered to have always had an issue with aesthetics, which boggles me. I love the look of GTK and the themes I use with them, being one of the reasons why I tend to use it over Qt based apps. I want to enjoy looking at my software.
Bloat: Yeah I'm just gonna be honest - I've given up trying to outrun bloat. It's just honestly an inevitability at this point. I'll still do obvious things to avoid - not install KDE/GNOME apps outside of their respective DEs for instnace - but in general I've just accepted the fate.
Balance of functionality & simplicity, and the UNIX Philosophy: I want my software to follow the Unix philosophy of doing one thing and doing it well. That one thing's scope can be broadly defined. For instance, I'll use a text editor with loads of features because it does the thing of text editing in an easy to use fashion well. That is how I tend to interpret the Unix philosphy. I do not take it to the extreme as many people tend to, nor do I follow it blindly. I want a balance of good on the machine side and good on the human side and will not heavily tip the balance one way or another. In the past I'd lean more heavily towards machine side simplicity, but these days I lean more towards human side simplicity. As the creator of the Ruby language Yukihiro Matsumoto said:
Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Reliability: I do not want my software to break on me, and if it does I need to be able to fix it quickly. I'm aware that people will call me crazy for using Linux then, but I've found Linux to break less than Windows and is usually more repairable when it does break (idk why windows hates touchpad drivers). In general though I want to get things done and unstable software is not what I want for that. I value this a lot more than I used to in teh past. Before I'd be willing to tinker and wait for things to work, but no longer.
Performance: Before I had my 2014 Lenovo z50-70 that I never got to use before 2020, I was stuck on generally very weak machines. As a result, performance was of utmost importance, particularly RAM. I was stuck on 4 GB of RAM for my machines so it could not use too much. My main machine had an Intel Pentium so CPU usage was also an issue for me. The habit has stayed with me ever since so I still try to keep it light even now that I have 16 GB of RAM and an AMD Ryzen 7 processor because software should be accessible to all with a reasonably modern machine (if you have a machine that is 32 bit, that's probably when it'd be useless for modern tasks if you asked me. Otherwise anything can have its RAM upgraded and the processor made to work). That being said, since the last iteration of this article I've stopped caring as much now that I'm more adjusted to using more powerful machines. It's still worth sticking to lightweight by principle though.
Security & Privacy: This is what got me into Linux at all and is generally a pretty high priority for me. I'm willing to try to work around some privacy violations but I don't necessarily want to do so. It should be private out of the box. Security also matters but to a less extent than privacy - neither exists without the other, but while there's no point in security if my data is compromised regardless, on the other hand not every insecure private service is gonna get compromised. Security still matters though. Let's be real though - this is a losing battle. I don't care quite as much as I used to, because I realize there's ultimately little that I will be able to do. It's a fight still worth having though.
Direction: This is a new one for me. I don't like dark patterns and I hate to support them. In particular, this inspired me to switch to KDE Plasma - GTK has a dark pattern because of its developers. I hate drama and whatnot, so I don't want to put up with it.
And that's honestly it. Anything more would be case by case, which is the purpose of what is below. I may add more later on.
If I had to rank them, it'd be FOSS > Ease of Use = Reliability > Balance of functionality & Simplicity > Security and Privacy > Direction.
Operating System: Arch Linux is the best desktop base. It boils down to package management and package availablity, in which it easily is the best. Ubuntu is fine enough, but APT is very slow and it requires hounding the net for PPAs. Debian is a similar case. Fedora has some advantages over this - mainly being a great release cycle and update speed - but in general is outclassed by Arch. I currently use EndeavourOS at the moment becuase I don't have time to manually set up Arch Linux. I also use Windows for school-related purposes, but that is it.
Desktop Environment:
My top 3 choices in no order are MATE, KDE Plasma and Cinnamon, and frankly at this point I'd probably not consider running anything else. MATE is the simplest of these, and the lightest. It doesn't lack for features or customization though. It does have a few bugs however and for that reason I don't currently daily driver it. Cinnamon is a more modernized version of MATE in my eyes, and it works really well. Both of these, however, rely on GTK and that is simply a bad position to be in at the moment. For that reason, I currently run KDE Plasma, which is a lot like Cinnamon but imo it is a bit heavier (particularly on the CPU), has worse defaults and a few quirks I didn't like in exchange for more features that I don't tend to use. IT's far from bad, however, and in a lot of ways it is the only DE that can compare to proprietary ones.
I refrain from other DEs at this point as mentioned above. GNOME is creating a huge mess and being terrible stewards of essential Linux software that is rendering us non-competitive. Xfce... I'vej ust found it to be buggier than MATE without being any lighter. Its development is also very slow. LXQt has even slower development and doesn't come with a lot of things, such as basic themeing, out of the box. That's not to say any DE is objectively bad, however - I've used these all and they're all quite good. I haven't used anything else, nor do I plan on it at this given moment.
Browser: Ungoogled Chromium and Brave are my current choices, with a configured Firefox in the backup. UC is simply the best experience you can get right now - not to suggest that it's particularly great, but its better than what anything else offers right now. Brave is becoming more and more bloated as it forges its own identity, and Firefox is slower and is just not something I'm used to yet. As for search engine, there's no good choice out there but the least evil is DuckDuckGo (even though I don't really trust it).
Text Editor: It depends on the DE I use. For GTK based DEs, I use Pluma/Xed. They are the lightest and most featureful available. For Qt based DEs, I use Featherpad as it is the closest to Pluma/Xed I can get.
File Manager: Whatever the DE has by default, I don't want to change it. Dolphin/Caja/Nemo are pretty darn good anyways, with my favourite being Caja.
Terminal Emulator: My choice is Kitty. It's hardware accelerated, it's simple but it still has enough features such as tabs and scrollback, unlike Alacritty which just deliberately skimps on vitals for no reason other than avoiding bloat when ironically Kitty is in C and Alacritty is in Rust.
IDE: Geany is truly magical and it's definitely fulfilled my wishes for an IDE thus far. It is incredibly lightweight for as featureful as it is, and the UI is just perfect. Because of these traits, I can use it for just about anything - there are times hwere it was my main text editor in general, and I currently am writing this article in Geany. I also use VS Code somewhat but I find it's inferior for the most part.
Languages:
I primarily stick to Python. It's the second language I got truly comfortable in - the first being PHP (yes yes I know I'm full of nonsense) and it's easily the best I've worked with thus far. It's on my list ot learn C/Go as well so I can be a based Unix Philosophy god (unironically it's because I feel they're the closest to what I want to learn in terms of programming styles, I am not an OO guy). I also am learning Java in uni (and am hating it, I see Java's vision and it's not a good one) and want to relearn PHP/JS. Please don't blindly hate on Python from all the neckbeard chats you see - yes its bloated and slow, but it remembers the human programmer as well and it allows easy usage of powerful libraries without bogging down a lot of mental effort in making them work. It also lets me do virtually everything I need to - scripting mostly.
If you want ot learn how to program - there's tons of good advice out there on doing it, but also bad advice, so I'll try to show how I do it. In general I search up on Hacker News the best way to learn a language, and then download books for it. I also look into what the language does - the non-programming side of it basically - and decide if its something I want to really elarn. If so, I commit myself to doing small tasks such as scripts first, then to larger projects like GUI applications and frameworks. And hey, not everyone's meant to program - please don't feel obligated to learn it if you don't like it. There's ways to good jobs without tech, and there's plenty of bad tech jobs, so don't fall for the memes.
Office Suite: Let's be real... nothing beats M$ Office. LibreOffice does a fine enough job for very basic use but once additional features start to get used it doesn ot hold up (with the exception of Writer imo). With that in mind, it's very rare that I have to use one of these, and even rarer for non professional use, so I just stick to my Windows machine for this.
PDF Reader: Okular is the best solution for reading, hands down. It is cross platform, fast, allows for good annotations, and has a great layout. I'd only avoid it if I was on a non-KDE Linux setup, in which case I'd use the similar-but-not-quite Atril, but it isn't quite as good as Okular.
PDF Editor: Master PDF Editor 4 on Linux is the only free, no watermark, local solution that I have found. It's only an inevitablity that they take it down though, so be sure to download a binary and keep it around like I did. I'm willing to share said binary if it doesn't get me into legal trouble, just email me and I'll get back to you eventually.
Audio Player: I was writing a separate article about this but it's been dead for over a year (I'm not an audiophile so it's harder to really review heavily featured ones and find them to be good, and otherwise the article still wasn't up to par. I'll probably restart it though since I've tried a few new ones) so I'll put it here. Quod Libet is unrivaled. It has a great UI, strong customizability, good performance and scaling (it can play libraries that are tens of thousands of songs long apparently) but most notably, it has unrivaled tag and metadata editing. You can basically fill in all of the missing data you need from the song you just downloaded in a super easy way. It's unrivaled in this, and the tag editing is even available in a separate program without the music player in Ex Falso so you can make use of any player you desire.
Video Player: mpv does all that I need it to. It also helped me break my YouTube addiction in a lightweight way. If you want a frontend for this for some reason, Haruna works well (though it segfaults on playlists) as does Celluloid.
3D Modeling: Yes I do know how ot use Blender. It's been quite a long time though so I'd need to brush up on it.
Firewall: UFW fits my needs well enough. It's very simplistic to use and it works for public networks. For serious usage though I'd recommend goya's fork of OpenSnitch. There's also Portmaster, which I have NOT tested out yet but it looks really good.
VPN: First off, I'm going to go ahead and say VPNs are not a magical bullet you should put 100% of your trust in.. With that in mind, the best I found was RiseUp VPN. It's fast, it is owned by a nonprofit that has challenged FBI warrants before, and it is free. I also use Tor with ProxySwitchy Omega and proxychains to vary it up and avoid placing too much trust/strain in/on one service. Now, why use a VPN at all, especially after reading that scathing article? I only use it when I want to hide my activity from my ISP at the moment. There's nothing else I'd use it for.
System Monitor: htop is really cool and a shining example of quality software in the free software world. It's easily accessible for anyone but is EXTREMELY powerful, yet still quite intuitive - it feels like using it in a learning experience in tiself, but it won't get in your way when you just want to get things done.
Power Settings: Slimbook Battery does this out of the box in a really neat way. It works similarly to Windows, but you can customize what each setting does - for instance, fi you wanted the Balanced mode to restrict the CPU to the max but allow Bluetooth, you could do that.
CPU Settings: Slimbook AMD Controller does this really well. It's probably redundant with Slimbook Battery but the two combined seemed to extend my battery life a lot. There's also Slimbook Intel Controller but it only works on recent CPUs.
USB Flasher: DD is really all you need. I use GNOME Disk Utility because it uses a more optimized DD but thta's a bad excuse and I should just copy its DD settings and then use that. You can also use a file manager for this.
Qt Themeing on GTK desktops: Kvantum does the job well, even if I've heard it's just a bad hack onto the systems.
I hate whoever is forcing me to use this:
Zoom: I still don't know why people use this. Is it just because it's there? Either way it performs terribly on GNU/Linux but hey I'm atl east glad it's here :)
Respondus LockDown Browser: It's really a shame this is legal, much less used. This is downright invasive on student's rights and privacy. And yes, it's still possible to cheat with this - I myself have never done so, but I know many people who have.
Discord: One day I will convince my friends to switch to Matrix or Revolt.chat.
Microsoft Office: Explained this earlier.
I figured this deserves its own section since it had its own last iteration of this. In general, I mostly emulate games as I feel games have declined in quality since the early 2010s (in particular the community SUCKS) and I don't have much money to work with. That being said, the free software games out there are honestly pretty good - tehy may not be the flashiest but they're genuinely fun and extensible, as well as very performant so I can play even when stuck on my older PCs.
The following deserve shoutouts for being well-crafted, professionally made games:
This wiki has some pretty good guides on where to go with this. As for what I use:
A lot of people are bound to ask why I don't have any mobile software listed here. This is because, simply put, I do not use my phone for more than 20 minutes a day. I will post pictures as proof of this.
I've been doing this since April 2021, and it's a habit that I've think has done me a world of good. This has been driven by a belief that everything requires balance. That includes internet connectivity and general computer usage. A smartphone is a computer, and I think that taking a computer with you wherever you go - including at meals, in conversations, etc. - is disruptive of that balance.
With that, I will not list mobile software here, because I simply use it so little that it doesn't make a difference.
Obviously you're here because you're interested in what I use. I hope I've inspired you though, and if I have, here's some other good sources that might do the same:
AlternativeTo.net: This is probably my single most used resource for the sheer amount of options it shows. While it may seem that it doesn't show as much as other sources, there are software recs here I have not found elsewhere. It's a crowdsourced site that relies on its users to recommend software so you're not gonna get fully shilled as you might on other sites, though you'll still face some shilling (Firefox fanboys). In general though it's the best site for this.
The Free Software Directory: In general you can most software to fit your needs here. It's not fully comprehensive and it has a terrible interface imo but for the most part it works pretty well.
ArchWiki: In addition to listing virtually every relevant Linux app out there in nice categories, the Arch Wiki also will have articles on most of them which will show how to use and troubleshoot the app. It's a very comprehensive, high quality list, especially for Linux users.If I had to suggest one list here over the others, this would be it.
DigDeeper's Site: DigDeeper has some really cool recommendations that particularly focus on privacy and functionality. These are the best recs for the purpose of privacy. He does have some takes that are poorly informed in my opinion though - most notably with COVID-19 disinformation. Be warned that I do not endorse that. Also as of late he doesn't seem to be updating his site very often anymore.
Whatever a desktop environment has as the default: In general these may be more bloated but are super beginner friendly and highly functional. Good default apps are a high priority for me for this reason. Xfce has the lightest but the least functional of these. Cinammon has pretty good ones if you can manage to get them. MATE has excessive dependencies but otherwise has good ones. If you're on Qt based systems, LXQt has excellent default apps. GNOME and KDE often have exclusive apps that no other DE or even anyone in general has an equivalent to, so they're fine to use for that purpose. Otherwise, they're generally more bloated, particularly KDE, and should be avoided unless you're already using those environments.