title: Jack of all trades and a master of none VS Do one thing and do it well
author: 寮
date: 2022-10-14
tags: technology,linux,bsd,smartphone,internet
thumbnail: problem-with-philosophy-less-software.jpg
threadid: AOWrBzipuUbwyHrhMO
----
Sorry for my lack of activity on my blog as of late, a combination of work and people constantly talking to me on SNS is what takes up all of my time thesedays.\
I'm really considering to just use SNS as a way to announce my articles rather than a communication platform, because I want to stick to what I preach for as closely as possible, and it really starts to seem like it's SNS first and own website second rather than the other way around.

I was originally going to rant about ethical software, since this shit really needs to be called out for what it really is, but I'll save that one for later.\
Because as retarded as the FSF cultists are regarding "free software" and [them telling me that I should rather look into "ethical software"](https://gnusocial.jp/notice/429239) (spoiler alert: nope), earlier today I received [something even more retarded](https://xn--p1abe3d.xn--80asehdb/notice/AOUVz9LGEpvDvOzsnI).

> Linux is a jack of many trades and it excels at most of them. windows and macos can’t come near enough.

Not sure if he says that because he doesn't understand what "jack of all trades and master of none" means, or he's just being stupid here.\
[As I already pointed out last summer](/free-software-and-proprietary-soyware-is-imcompatible/), proprietary slave OS's (WinDOS, macOS, Android, iOS, Chrome OS, and soyware like Matrix, Apache, PulseAudio, and SoystemD) are basically a Swiss army knife, so 1 tool that can do everything, but achieve nothing.\
Free software OS's (Linux and BSD) are basically a toolbox, so a whole set of specific tools that can do only one thing, but actually get the job done.\
And trying to be everything while sucking at everything is exactly what "being a jack of all trades, and a master of none" means.

Linux and BSD do share their differences, like Linux being more of a "here's all the building blocks, make your own dream house" type of system, whereas BSD is more of a "we will provide you a complete operating system" type of system.\
However, both of them do have in common that they make use of different smaller tools that can work together.\
A very common one is `less`.\
So for example:

```sh
convert --help | less
```

With this, you're pulling up the instructions (so like a manual, but more to the point) on how to use ImageMagick's "convert" tool, and pipe it into a completely separate tool called "less" which allows you to scroll up and down freely, and also search for specific words by typing a "/" and than whatever you want to search for, and use "n" to go to the next one or "N" to go to the previous one (like in Vim).\
On proprietary operating systems on the other hand, it's expected that you can pull up the instructions and search and scroll through it while already within the application.

Another thing you can compare is having Neovim as the text editor, Git as the version control tool, lf as the file manager, and GCC as the C compiler, like on Linux and BSD.\
Or you can have Visual Studio (WinDOS) or Xcode (macOS) that can handle the text editing, version control, file management, and compiling from 1 massive interface (and then run unbearably slow and ultimately crash because they're just way too bloated and buggy).\
Or you can just install all of it in Emacs, but that's a 3rd way of using computers, as Emacs is technically an OS within an OS anyway.

It's possible to use a bloated and buggy all-in-one solution on Linux and BSD, and kind of replicate the toolbox system on WinDOS and macOS, there are people who do computers like that, but they're not really made to be used that way.\
But I don't really have against that, because if it works for you, then so be it.\
As long as you can get your work done, there's no problem at all.

But since I'm a user of ancient computer hardware, my workflow must be the "do one thing and do it well" way.\
And since I've been using Linux since I was a little kid, and have almost no exposure to proprietary OS's (I do have exposure to Android though, but even then it's almost exclusively GrapheneOS or LineageOS, not Goolag Android, so it counts as FOSS OS's kind of), so this has been my workflow from the very beginning anyway.

Oh, and for those people who can't think for themselves and/or can't handle someone who does think for himself, [here's a Wikipedo article on being a jack of all trades and a master of none](https://wiki.froth.zone/wiki/Jack_of_all_trades,_master_of_none?lang=en).
