This commit is contained in:
Miloslav Ciz 2022-11-25 13:49:50 +01:00
parent c6a0966159
commit 0c26b4f54b
9 changed files with 37 additions and 22 deletions

View file

@ -10,25 +10,27 @@ One of a very frequent questions you may hear a noob ask is **"How can bloat lim
The following is a list of software usually considered a good, typical example of bloat. However keep in mind that bloat is a relative term, for example [vim](vim.md) can be seen as a minimalist suckless editor when compared to mainstream software ([IDEs](ide.md)), but at the same time it's pretty bloated when compared to strictly [suckless](suckless.md) programs.
- [Web](web.md) since the onset of "web 2.0" has been steadily becoming more and more bloated with things such as Adobe Flash and [JavaScript](javascript.md). By today the situation about web bloat is reaching almost unbearable levels, especially in [modern](modern.md) sites such as [YouTube](youtube.md). For a great read see [The Website Obesity Crisis](https://idlewords.com/talks/website_obesity.htm).
- Ads, [spyware](spyware.md), [DRM](drm.md), anti-cheats, anti-viruses, anti-repair and other anti-user "features" are bloat.
- [Web](web.md) since the onset of "web 2.0" has been steadily becoming more and more bloated with things such as Adobe Flash and [JavaScript](javascript.md) (and billions of its web frameworks). By today the situation about web bloat is reaching almost unbearable levels, especially in [modern](modern.md) sites such as [YouTube](youtube.md). For a great read see [The Website Obesity Crisis](https://idlewords.com/talks/website_obesity.htm).
- Ads, [spyware](spyware.md), [DRM](drm.md), anti-cheats, anti-viruses, anti-sharing, anti-repair and other anti-user "features" are bloat.
- Desktop environments such as [KDE](kde.md) and [GNOME](gnome.md). The concept of a [desktop environment](de.md) itself is often considered bloat.
- [Windows](windows.md): one of the best examples of how software should NOT be done
- [Blender](blender.md): quite useful [FOSS](foss.md) 3D editor which however integrates things like a whole video editor, game engine, several renderers, scripting language with text editor and so on
- [CMake](cmake.md): gigantic build system that stands above other build systems (lol)
- [Electron](electron.md): [GUI](gui.md) [framework](framework.md) infamous for its huge resource consumption
- [systemd](systemd.md): Huge anti-[unix](unix_philosophy.md) do-it-all system taking over [GNU](gnu.md)/[Linux](linux.md)
- [virtual machines](vm.md)/environments/sandboxes, big abstraction sandwiches (e.g. program running in an interpreter running in a sandbox inside web browser that's running in a virtual machine that's running on an operating system)
- [Firefox](firefox.md), [Chromium](chromium.md) and other mainstream web browsers
- [Java](java.md), [Python](python.md) and similar languages
- [IDEs](ide.md) such as [VSCode](vscode.md)
- [neural networks](neural_network.md) aka "AI"
- [Windows](windows.md): one of the best examples of how software should NOT be done.
- [Blender](blender.md): quite useful [FOSS](foss.md) 3D editor which however integrates things like a whole video editor, game engine, several renderers, scripting language with text editor and so on.
- [CMake](cmake.md): gigantic build system that currently sits on top of a sandwich of other build systems.
- [Electron](electron.md): [GUI](gui.md) [framework](framework.md) infamous for its huge resource consumption.
- [Systemd](systemd.md): Huge anti-[unix](unix_philosophy.md) do-it-all system taking over [GNU](gnu.md)/[Linux](linux.md).
- [Virtual machines](vm.md)/environments/sandboxes, big abstraction sandwiches (e.g. program running in an interpreter running in a sandbox inside web browser that's running in a virtual machine that's running on an operating system).
- [Firefox](firefox.md), [Chromium](chromium.md) and other mainstream web browsers.
- [Java](java.md), [Python](python.md) and similar languages.
- [IDEs](ide.md) such as [VSCode](vscode.md) or [NetBeans](netbeans.md).
- Big [game engines](game_engine.md) such as [Unreal](unreal_engine.md), [Unity](unity.md) or [Godot](godot.md).
- Practically all commercial [games](games.md) made in the [21st century](21st_century.md) such as [World of Warcraft](wow.md), Call of Duty etc.
- [Neural networks](neural_network.md) aka "AI".
## Small Bloat
Besides the typical big programs that even normies admit are bloated there exists also a smaller bloat which many people don't see as such but are nevertheless considered unnecessarily complex by some experts and/or idealists and hardcore minimalists, including [us](lrs.md).
Besides the typical big programs that even normies admit are bloated there exists also a smaller bloat which many people don't see as such but which is nevertheless considered unnecessarily complex by some experts and/or idealists and/or hardcore minimalists, including [us](lrs.md).
Small bloat is many times a subject of [jokes](joke.md) such as "OMG he uses a unicode fonts -- BLOAT!!!". Many times these are good jokes, it's a fun pastime to make fun out of one's own idealism. But watch out, this doesn't mean small bloat is only a joke concept at all, it plays an important role in designing good technology. When we identify something as *small bloat*, we don't necessarily have to completely avoid and reject that concept, we may just try to for example make it optional. For example in context of today's PCs using a Unicode font is not really an issue for performance, memory consumption or anything else really, but we should keep in mind it may not be so on much weaker computers or for example post-[collapse](collapse.md) computers, so we should try to design systems that don't [depend](depend.md) on Unicode.
Small bloat is a subject of popular [jokes](joke.md) such as "OMG he uses a unicode fonts -- BLOAT!!!". These are good jokes, it's nice to make fun out of one's own idealism. But watch out, this doesn't mean small bloat is only a joke concept at all, it plays an important role in designing good technology. When we identify something as *small bloat*, we don't necessarily have to completely avoid and reject that concept, we may just try to for example make it optional. In context of today's PCs using a Unicode font is not really an issue for performance, memory consumption or anything else, but we should keep in mind it may not be so on much weaker computers or for example post-[collapse](collapse.md) computers, so we should try to design systems that don't [depend](depend.md) on Unicode.
Small bloat includes for example: