Bloat Bloat is a very wide term that in the context of [1]software and [2]technology means overcomplication, unnecessary complexity and/or extreme growth in terms of source code size, overall complexity, number of [3]dependencies, [4]redundancy, unnecessary and/or useless features (e.g. [5]feature creep) and resource usage, all of which lead to inefficient, badly designed technology with [6]bugs (crashes, unusable features, memory leaks, [7]security vulnerabilities, ...), as well as great [8]obscurity, ugliness, loss of [9]freedom and waste of human effort. Simply put bloat is burdening [10]bullshit. Bloat is extremely bad and one of the greatest technological issues of today. Creating bloat is bad engineering at its worst and unfortunately it is what's absolutely taking over all technology nowadays, mostly due to [11]capitalism causing commercialization, [12]consumerism, rushed "[13]just works" products, creating demand for newer hardware and so on, also allowing incompetent people ("let's push more women/minorities into programming") trying to take on jobs they are in no way qualified to do. A related but different term is bloatware; it's more commonly used among normie users and stands for undesirable programs that eat up computer resources, usually being preinstalled by the computer manufacturer etc. Further on we'll rather focus on bloat as defined before. TODO: history of bloat? [14]LRS, [15]suckless and some others rather small groups are trying to address the issue and write software that is good, [16]minimal, reliable, efficient and well functioning. Nevertheless our numbers are very small and in this endeavor we are basically standing against the whole world and the most powerful tech [17]corporations. The issue lies not only in capitalism pushing bloat but also in common people not seeing the issue (partly due to the capitalist propaganda promoting [18]maximalism), no one is supporting the few people who are genuinely trying to create good tools, on the contrary such people often face hostility from the mainstream. The issue of bloat may of course appear outside of the strict boundaries of computer technology, nowadays we may already observe e.g. [19]science bloat -- science is becoming so overcomplicated (many times on purpose, e.g. by means of [20]bullshit science) that 99% people can NOT understand it, they have to BELIEVE "scientific authorities", which does not at all differ from the dangerous blind religious behavior. Any time a new paper comes out, chances are that not even SCIENTISTS from the same field but with a different specialization will understand it in depth and have to simply trust its results. This combined with self-interest obsessed society gives rise to [21]soyence and large scale brainwashing and spread of "science approved" propaganda. Some metrics traditionally used to measure bloat include [22]lines of source code, [23]cyclomatic complexity (kind of "number of ways the code may take"), [24]programming language used (some languages are bloated themselves and inherently incapable of producing non-bloat, also choice of language indicates the developer's priorities, skills etc.), number of [25]dependencies (packages, libraries, hardware, ...), binary size (size of the compiled program), compile time, resource usage ([26]RAM, CPU, network usage, ...), performance ([27]FPS, responsiveness, ...), anti features ([28]GUI, [29]DRM, auto updates, file formats such as [30]XML, ...), [31]portability, number of implementations, size of specification, number of developers and others. Some have attempted to measure bloat in more sophisticated ways, e.g. the famous web bloat score (https://www.webbloatscore.com/) measures bloat of websites as its total size divided by the page screenshot size (e.g. [32]YouTube at 18.5 vs suckless.org at 0.386). It has been observed that software gets slower faster than hardware gets faster, which is now known as [33]Wirth's law; this follows from [34]Moore's law (speed of hardware doubles every 24 months) being weaker than [35]Gate's law (speed of software halves every 18 months); or in other words: the stupidity of [36]soydevs outpaces the brilliancy of geniuses. Despite this there isn't any completely objective measure that would say "this software has exactly X % of bloat", bloat is something judged based on what we need/want, what tradeoffs we prefer etc. The answer to "how much bloat" there is depends on the answer to "what really is bloat?". To answer this question most accurately we can't limit ourselves to simplifications such as [37]lines of code or number of package dependencies -- though these are very good estimates for most practical purposes, a more accurate insight is obtained by carefully asking what burdens and difficulties of ANY kind come with given technology, and also whether and how much of a necessary evil they are. Realize for example that if your software doesn't technically require package X to run or be compiled, package X may be [38]de facto required for your software to exist and work (e.g. a pure multiplayer game client won't have the server as a dependency, but it will be useless without a server, so de facto all bloat present in the server is now in a wider sense also the client's burden). So if you've found a program that's short and uses no libraries, you still have to check whether the language it is written in isn't bloated itself, whether the program relies on running on a complex platform that cannot be implemented without bloat, whether some highly complex piece of hardware (e.g. [39]GPU or 8GB of [40]RAM) is required, whether it relies on some complex Internet service etc. You can probably best judge the amount of bloat most objectively by asking the following: if our current technology instantly disappeared, how hard would it be to make this piece of technology work again? This will inevitably lead you to investigating how hard it would be to implement all the dependencies etc. For a quick overview let us average some data over time -- the table that follows shows growth of system requirements and sizes and averages them to give an estimate of bloat ratio with respect to the first row. Please note some data in the table may not be completely accurate, interpolation/extrapolation was used for missing values, we're only making an estimate after all, but still notice our computing resource usage already grew almost 2000 times despite computers being generally slower and less responsive from the user's perspective. avg. Windows min Debian FPS game min RAM Blender (win % of year webpage RAM MB/CPU min RAM MB/CPU MHz/HDD MB zip KB) base size (KB) MHz/HDD MB MB/HDD MB 1993 4 3, 25, 9 4, 20 4, 30, 24 (Doom) 100 100 (extrap.) 1994 8 3, 25, 9 4, 20 4, 33, 15 172 114 (Heretic) 1995 14 12, 25, 90 4, 20 4, 33, 16 307 263 (Descent) 1996 23 16, 33, 128 4, 80 8, 66, 25 (Duke 442 412 Nukem 3D) 1997 34 16, 33, 128 4, 90 16, 90, 25 (Quake 577 486 II) 1998 44 16, 33, 128 4, 90 24, 133, 400 712 715 (Half Life) 1999 53 32, 133, 5, 100 64, 233, 70, 8M 849 1817 1000 GPU (Quake III) 2000 63 32, 133, 5, 100 32, 233, 200, 4M 1170 1848 1000 GPU (Daikatana) 2001 74 64, 233, 5, 100 64, 300, 600, OGL 1323 2863 1500 GPU (Serious Sam) 2002 83 64, 233, 12, 110 256, 500, 2000, 1501 4055 1500 32M GPU (UT 2003) 2003 93 64, 233, 12, 120 128, 600, 1400, 1704 3569 1500 32M GPU (COD) 2004 115 64, 233, 12, 150 256, 1200, 6000, 4399 6345 1500 DX7 GPU (HL2) 2005 189 64, 233, 24, 450 512, 1700, 5000, 6353 7296 1500 64M GPU (FEAR) 2006 212 384, 800, 24, 450 512, 2000, 2000, 7277 22589 15000 64M GPU (Prey) 384, 800, 1024, 2000, 2007 260 15000 64, 1000 12000, 64M GPU 8639 28667 (Crysis) 384, 800, 1024, 2600, 2008 312 15000 64, 1000 12000, 256M GPU 12778 29411 (FC2) 1024, 1000, 2048, 2400, 2009 443 16000 64, 1000 13000, 128M GPU 13683 36063 (LFD2) 1024, 1000, 2048, 2400, 2010 481 16000 64, 1000 11000, 256M GPU 25059 36462 (BS2) 1024, 1000, 2048, 3000, 8000, 2011 657 16000 64, 1000 128M GPU 32398 36586 (Portal2) 1024, 1000, 2048, 2600, 2012 831 16000 64, 1000 15000, 512M GPU 45786 41143 (FC3) 1024, 1000, 3000, 2400, 2013 1102 16000 64, 1000 17000, 1G GPU 67787 47168 (Crysis 3) 1024, 1000, 4096, 2600, 2014 1249 16000 64, 1000 30000, 1G GPU 81676 57147 (FC4) 1024, 1000, 6000, 2900, 2015 1466 32000 128, 2000 60000, 1G GPU 104139 95734 (CODBO3) 4096, 1000, 8192, 3100, 2016 1502 64000 128, 2000 45000, 2G GPU 107840 141286 (Doom2016) 4096, 1000, 8192, 3300, 2017 1681 64000 128, 2000 90000, 2G GPU 116121 161379 (CODWW2) 4096, 1000, 8192, 3100, 2018 1848 64000 128, 2000 40000, 2G GPU 113915 140675 (FC5) 4096, 1000, 6000, 3400, 2019 1980 64000 550, 850 75000, 2G GPU 153290 154626 (BL3) 4096, 1000, 8192, 3100, 2020 2042 64000 550, 850 50000, 4G GPU 197632 154179 (Doom: E) 4096, 1000, 8192, 3100, 2021 2173 64000 780, 920 60000, 4G GPU 221865 161706 (FC6) 4096, 1000, 8192, 3300, 2022 2280 64000 780, 920 125000, 2G GPU 248477 191785 (CODMWF2) One of a very frequent questions you may hear a noob ask is "How can bloat limit software freedom if such software has a [41]free (or "[42]FOSS") [43]license?" Bloat [44]de-facto limits some of the four essential freedoms (to use, study, modify and share) required for a software to be free. A free license grants these freedoms legally, but if some of those freedoms are subsequently limited by other circumstances, the software becomes effectively less free. It is important to realize that complexity itself goes against [45]freedom because a more complex system will inevitably reduce the number of people being able to execute freedoms such as modifying the software (the number of programmers being able to understand and modify a trivial program is much greater than the number of programmers being able to understand and modify a highly complex million [46]LOC program -- see [47]freedom distance). This is not any made up reason, it is actually happening and many from the free software community try to address the issue, see e.g. [48]HyperbolaBSD policies on accepting packages which rejects a lot of popular "legally free" software on grounds of being bloat ([49]systemd, dbus, zstd, protobuf, [50]mono, https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages). As the number of people being able to execute the basic freedom drops, we're approaching the scenario in which the software is de-facto controlled by a small number of people who can (e.g. due to the cost) effectively study, modify and maintain the program -- and a program that is controlled by a small group of people (e.g. a corporation) is by definition [51]proprietary. If there is a web browser that has a free license but you, a lone programmer, can't afford to study it, modify it significantly and maintain it, and your friends aren't able to do that either, when the only one who can practically do this is the developer of the browser himself and perhaps a few other rich corporations that can pay dozens of full time programmers, then such browser cannot be considered free as it won't be shaped to benefit you, the user, but rather the developer, a corporation. How much bloat can we tolerate? We are basically trying to get the most for the least price. The following diagram attempts to give an answer: external "richness" A shiny | : : bullshit | NO : YES : NO | : : ____... . luxury | : : ___________/ | : : ________/ | : __:___/ \__________ very | : ____/ : \______ useful | : ___/ : \_.. | : __/ : path of degeneracy | :_/ : useful | _: : | | : : | / : : does || : : nothing +-----------------------------------------------------> internal complexity trivial simple solo big huge gigantic manageable The path of [52]degeneracy drawn in the graph shows how from a certain breaking point (which may actually appear at different places, the diagram is simplified) many software projects actually start getting less powerful and useful as they get more complex -- not all, some project really do stay on the path of increasing their "richness", but this requires great skills, experience, expertise and also a bit of lucky circumstances; in the zone of huge complexity projects start to get extremely difficult to manage -- non-primary tasks such as organization, maintenance and documentation start taking up so many resources that the primary task of actually programming the software suffers, the project crumbles under its own weight and the developers just try to make it fall slower. This happens mostly in projects made by incompetent [53]soydevs, i.e. most today's projects. { Thanks to a friend for pointing out this idea. ~drummyfish } Please note there may arise some disagreement among minimalist groups about where the band is drawn exactly, especially old Unix hackers could be heard arguing for allowing (or even requiring) even trivial programs, maybe as long as the source code isn't shorter than the utility name, but then the discussion might even shift to questions like "what even is a program vs what's just a 10 characters long line" and so on. As a quick [54]heuristic for judging programs you can really take a look at the lines of code (as long as you know it's a simplification that ignores dependencies, formatting style, language used etc.) and use the following classes (basically derived from how [55]suckless programs are often judged): * < 10: Extremely small but may be useful, may be also too trivial for such small size to be justifiable, can aim to be completely bug-free. Example could be the [56]cat program. * 11 to 100: Very small, can be debugged to a great level, many greatly useful utilities, e.g. [57]compression programs, may fit this class. * 101 to 1000: Small "bigger" kinds of programs, often very minimalist implementations of programs that are usually not minimalist in nature like window managers, interactive text editors, web browsers and so on. Simplified version of [58]comun language, called minicomun, fits here. * 1001 to 5000: Still considered small, a bit more "feature rich" kind of previous class, you may find minimalist 3D games here, quite powerful programming languages, libraries handling complex file formats (that weren't designed to be minimalist) etc. Currently a lot of [59]LRS programs like [60]SAF, [61]small3dlib and [62]comun would fall here. * 5001 to 10000: Often imposed upper limit on suckless programs, these programs aren't the smallest possible but may still be called minimalist, they are easily manageable by a single man without much hassle, anyone can modify them and there is a comfortable margin for implementing many "comfort" and fancy features that aren't complete [63]BS. [64]Anarch might be given as an example (if we subtract lines of code taken by game data and count only pure engine code). * 10001 to 100000: Here things start to be called real bloat but may still be accepted as a compromise, not an "insanely bloated" program, we have to judge on a case by case basis as the transition towards bloat is gradual, but generally projects here must focus on not growing bigger, priority should be on minimizing. We have to consider anything here bloat unless proven otherwise. Minimalist projects end up here when trying to combine minimalism with some mainstream concept, e.g. implementing a complete operating system with all the standard features, trying to reimplement some mainstream, non-minimalist program etc. Example is [65]tcc, the C compiler that has a little over 20000 LOC. Also many "good old" mainstream programs like [66]Doom fall here. * more: Basically just [67]bloat, some operating systems can perhaps argue they are comparatively small even within this category, but as a matter of fact very few people can manage a codebase this big, issues of bloat start to play a very significant role here, the project should most likely be split or rewritten from scratch in much more simplified way. Yes, bloat is also unecological and no, it cannot be fixed by replacing fossil fuel cars with cars that run on grass and plastic computers by computers made from recycled cardboards mixed with composted horse shit. It is the immense volume of human ACTIVITY that's required by the bloated technology all around the globe that's inherently unecological by wasting so much effort, keeping focus on maximalism, growth and preventing us from frugality and minimizing resource waste. Just as any other [68]bullshit that requires immense resources to just keep maintaining -- great complexity is just absolutely incompatible with ecology and as much as you dislike it, to achieve truly eco-friendly society we'll have to give up what we have now in favor of something orders of magnitude more simple and if you think otherwise, you are just yet too unexperienced (or remained purposefully ignorant) to have seen the big picture already. Consider that your program having bullshit dependencies such as [69]Python, [70]JavaScript, [71]C++, [72]Java, [73]OpenGL, [74]Vulkan, [75]GPU, [76]VR sets, gigabytes of [77]RAM etcetc. requires having the inherently unecological system up, it needs millions of people doing bullshit jobs that are inherently wasting resources, increasing CO2 and making them not focus on things that have to be done -- yes, even if we replace plastic straws with [78]paper straws. All those people that make the thousand pages standards that are updated every year, reviews of those standards, writing tons and tons of tests for implementations of those standards, electing other people to make those standards, testing their tests, implementing the standards themselves, optimizing them, all of that collectively needing many billions of lines of code and millions of hours of non-programming activities, it all requires complex bureaucracy, organization and management (complex [79]version control systems, wikis, buildings, meeting spaces, ...) and communication tools and tons of other bullshit recursively spawning more and more waste -- all of these people require cars to go to work every day (even if some work from home, ultimately only a few can work from home 100% of the time and even so millions others need to physically go to factories to make all those computers, electricity, chair, food and other things those people need), they require keeping a high bandwidth 100% uptime global Internet network maintained, all of this requiring extra buildings, offices, factories, roads, buildings for governments overseeing the building of those buildings, maintenance of those roads etcetc. A newbie programmer (99.99999% programmers in the field nowadays) just don't see all this because they lack the big picture, a woman forced into programming has hard time comprehending an if statement, how do you expect her to see the deep interconnections between technology and society -- she may know that OpenGL is "something with graphics" and it's just there on every computer by default, she can't even picture the complexity that's behind what she sees on the screen. Hence the overall retardation. You just cannot have people living ecologically and at the same time have what we have now. So yes, by supporting and/or creating bloat you are killing the planet, whether you agree with it or not. No, you can't find excuses out of this, no, paper straws won't help, just admit you love point and click "programming without math" of your own shitty Minecraft clones in Godot even for the price of eliminating all life on Earth, that's fine (no it's not but it's better to just not bullshit oneself). { Fucking hell this shit has gone too far with the newest supershit gayme called Cities Skyline II, I literally can't anymore, apparently the game won't run smoothly even on Earth's most advanced supercomputer because, as someone analyzed, the retarddevs use billion poly models for pedestrians without any [80]LOD, I bet they don't even know what it is, they probably don't even know what a computer is, these must be some extra retarded soy idiots making these games now. Though I knew it would come to this and that it will be getting yet much worse, I am always still surprised, my brain refuses to believe anyone would let such a piece or monstrous shit to happen. This just can't be real anymore. ~drummyfish } Typical Bloat 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 [81]vim can be seen as a minimalist suckless editor when compared to mainstream software ([82]IDEs), but at the same time it's pretty bloated when compared to strictly [83]suckless programs. * [84]Web since the onset of "web 2.0" has been steadily becoming more and more bloated with things such as Adobe Flash and [85]JavaScript (and billions of its web frameworks). By today the situation about web bloat is reaching almost unbearable levels, especially in [86]modern sites such as [87]YouTube. For a great read see [88]The Website Obesity Crisis. * Ads, [89]spyware, [90]DRM, anti-cheats, anti-viruses, anti-sharing, anti-repair and other anti-user "features" are bloat. * Desktop environments such as [91]KDE and [92]GNOME. The concept of a [93]desktop environment itself is often considered bloat. * [94]Windows: one of the best examples of how software should NOT be done. * [95]Blender: quite useful [96]FOSS 3D editor which however integrates things like a whole video editor, game engine, several renderers, scripting language with text editor and so on. * [97]CMake: gigantic [98]build system that currently sits on top of a sky-high sandwich of other build systems, its number of dependencies is bigger than the number of retards in observable universe (known as [99]drummyfish's number). * [100]D-Bus * [101]Docker * [102]Electron: [103]GUI [104]framework infamous for its huge resource consumption. * [105]flatpak: Absolutely horrible "application distribution/execution platform???" with pakcage management, [106]sandboxes and all that kind of shit. * [107]Systemd: Huge anti-[108]unix do-it-all system taking over [109]GNU/[110]Linux. * [111]Virtual machines/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). * [112]Firefox, [113]Chromium and other mainstream web browsers. * [114]Java, [115]Python and similar languages. * [116]IDEs such as [117]VSCode or [118]NetBeans. * Big [119]game engines such as [120]Unreal, [121]Unity or [122]Godot. * Practically all commercial [123]games made in the [124]21st century such as [125]World of Warcraft, Call of Duty etc. * [126]pulse audio * office programs (e.g. M$ Office and [127]LibreOffice) and a lot of [128]rich text * [129]Neural networks aka "AI" that is forced into everything nowadays. * ... Some of these programs may be replaced with smaller bloat that basically does the same thing (e.g. produces the same output) just with less bullshit around, for example Libreoffice with [130]Ted, [131]Godot with [132]Irrlicht, Firefox with [133]badwolf etc., however many times the spectacular pompous results these programs produce just cannot essentially be reproduced by anything minimal, wanting to achieve this is really a beginner mistake, the same as wanting to achieve the "Windows experience" on a GNU system. You will never be able to make an Unreal Engine style graphics with a minimalist game engine, just like you won't be able to shoot up your school with well written poetry (in both cases the former is something bad that however most Americans want to do, the latter is something truly good they should want instead). To truly get rid of bloat one has to become able to use truly minimal programs; this means unlearning the indoctrination that "bigger results are better", one has to understand that minimal results themselves are superior AND in addition allow using superior programs (i.e. minimal ones). Medium And 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 which is nevertheless considered unnecessarily complex by some experts and/or idealists and/or hardcore minimalists, including [134]us. Small bloat is a subject of popular [135]jokes such as "OMG he uses a unicode font -- 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-[136]collapse computers, so we should try to design systems that don't [137]depend on Unicode. Also remember that relatively small libraries for things that are easily done without a library, such as [138]fixed point arithmetic, are also bloat. Small/medium bloat includes for example: * [139]floating point (complex standard with design issues, requires special hardware for acceleration, [140]fixed point is better) * config files (and other unnecessary file I/O that requires a file I/O library, not all computers have file systems, configs should be part of source code) * [141]directories (just have all files on the same level and prefix their file names to organize them) * library [142]linking ([143]header only libraries are better) * any [144]GPU, [145]OpenGL (complex hardware and specifications, not all computers have complex GPUs, [146]software rendering is better) * [147]Unicode (big specification requiring special libraries and big fonts, [148]ASCII is better) * [149]antialiasing (just ignore [150]aliasing, use low resolution textures etc.) * 64 bit architectures (they only exist to allow ungodly amounts of RAM, 32 bits completely suffice for any computation, many times even 16 or 8 bits are enough) * [151]proportional font (fixed width font is better) * [152]linking, build systems/scripts, [153]makefiles, directories and multiple source code files (just using a compiler or a few-line building shell script, single file source code, [154]header only libraries and [155]single compilation unit programs are better) * [156]infix notation ([157]postfix notation is better) * any [158]GUI, [159]window managers (pure text mode is better) * [160]operating system ([161]bare metal is better) * [162]multithreading, [163]parallelism, [164]virtual memory, ... * [165]encryption, [166]security, [167]memory safety (just don't care and/or don't handle sensitive data with computers connected to the internet, don't live in a shitty society) * [168]X11 (just pure screen drawing is better) * [169]database software (plain files are better, see [170]flatfile) * [171]C (something in between C and [172]brainfuck would is likely ideal, e.g. [173]comun or [174]Forth) * [175]glibc, [176]gcc, [177]clang etc. (better alternatives are [178]tcc, [179]musl, [180]uclibc etc.) * letter accents/diacritics (can normally be ignored in most languages that use them) * [181]jpg, [182]png, [183]svg and similar formats (e.g. [184]ppm or [185]farbfeld is better) * [186]syntax highlight, text formatting, [187]rich text and just [188]colors anywhere they aren't absolutely necessary * [189]html, [190]markdown ([191]plain text is better) * [192]x86 instruction set (TODO: what's better? probably some [193]RISC) * any non-[194]public-domain license (any legal burden introduced by a license is unnecessary bloat) * dynamic [195]linking/libraries (static linking is better, see [196]Stali) * [197]web 1.0, [198]gemini ([199]gopher or [200]FTP is better) * [201]mouse (keyboard is better) * [202]TCP ([203]UDP is probably better) * [204]vim (things like [205]ed are probably better?) * sound (picture is usually enough) * high resolution (640x480 is probably the maximum you'll ever need, lower resolution takes less RAM and makes rendering faster) * [206]true color (256 colors, e.g. [207]332 palette, is better, even 1 bit displays suffice for most things), high [208]FPS (25 is more than enough), high resolution ([209]320 x 240 is more than enough) etc. * [210]GNU Unix utils (things like [211]busybox or [212]sbase are probably better) * [213]data types (untyped or single type is better, everything can be just a [214]number) * [215]package managers (just don't use them, install just a few programs manually, or at least make package managers as simple as possible) * [216]electricity ([217]mechanical computers may be just fine) * [218]computers (pen and paper or counting with [219]rocks is better) * anything [220]wireless ([221]wifi, mice, ...) * ... Non-Computer Bloat The concept of bloat can be applied even outside the computing world, e.g. to non-computer technology, [222]art, [223]culture, [224]law etc. Here it becomes kind of synonymous with [225]bullshit, but using the word bloat says we're seeing the issue from the point of view of someone acquainted with computer bloat. Examples include: * [226]clothes * decorations (body, house, ...) * [227]cars * using languages other than [228]English or [229]Esperanto * luxury (big house, yacht with a swimming pool, ...) * having electricity at home * ... See Also * [230]harmful * [231]maximalism * [232]shitware * [233]obscurity * [234]shit * [235]cyclomatic complexity * [236]freedom distance Links: 1. software.md 2. tech.md 3. dependency.md 4. redundancy.md 5. feature_creep.md 6. bug.md 7. security.md 8. obscurity.md 9. free_software.md 10. bullshit.md 11. capitalism.md 12. consumerism.md 13. just_werks.md 14. lrs.md 15. suckless.md 16. minimalism.md 17. corporation.md 18. maximalism.md 19. science_bloat.md 20. bullshit.md 21. soyence.md 22. loc.md 23. cyclomatic_complexity.md 24. programming_language.md 25. dependency.md 26. ram.md 27. fps.md 28. gui.md 29. drm.md 30. xml.md 31. portability.md 32. youtube.md 33. wirths_law.md 34. moores_law.md 35. bill_gates.law 36. soydev.md 37. loc.md 38. de_facto.md 39. gpu.md 40. ram.md 41. free_software.md 42. foss.md 43. license.md 44. de_facto.md 45. freedom.md 46. loc.md 47. freedom_distance.md 48. hyperbolabsd.md 49. systemd.md 50. mono.md 51. proprietary.md 52. degenerate_software.md 53. soydev.md 54. heuristic.md 55. suckless.md 56. cat.md 57. compression.md 58. comun.md 59. lrs.md 60. saf.md 61. small3dlib.md 62. comun.md 63. bullshit.md 64. anarch.md 65. tcc.md 66. doom.md 67. bloat.md 68. bullshit.md 69. python.md 70. js.md 71. cpp.md 72. java.md 73. opengl.md 74. vulkan.md 75. gpu.md 76. vr.md 77. ram.md 78. greenwashing.md 79. vcs.md 80. lod.md 81. vim.md 82. ide.md 83. suckless.md 84. web.md 85. javascript.md 86. modern.md 87. youtube.md 88. https://idlewords.com/talks/website_obesity.htm 89. spyware.md 90. drm.md 91. kde.md 92. gnome.md 93. de.md 94. windows.md 95. blender.md 96. foss.md 97. cmake.md 98. build_system.md 99. drummyfish.md 100. dbus.md 101. docker.md 102. electron.md 103. gui.md 104. framework.md 105. flatpak.md 106. sandbox.md 107. systemd.md 108. unix_philosophy.md 109. gnu.md 110. linux.md 111. vm.md 112. firefox.md 113. chromium.md 114. java.md 115. python.md 116. ide.md 117. vscode.md 118. netbeans.md 119. game_engine.md 120. unreal_engine.md 121. unity.md 122. godot.md 123. games.md 124. 21st_century.md 125. wow.md 126. pulse.md 127. libreoffice.md 128. rich_text.md 129. neural_network.md 130. ted.md 131. godot.md 132. irrlicht.md 133. badwolf.md 134. lrs.md 135. joke.md 136. collapse.md 137. dependency.md 138. fixed_point.md 139. float.md 140. fixed_point.md 141. directory.md 142. linking.md 143. header_only.md 144. gpu.md 145. opengl.md 146. software_rendering.md 147. unicode.md 148. ascii.md 149. antialiasing.md 150. aliasing.md 151. proportional_font.md 152. linking.md 153. make.md 154. header_only.md 155. single_compilation_unit.md 156. infix_notation.md 157. postfix_notation.md 158. gui.md 159. wm.md 160. os.md 161. bare_metal.md 162. multithreading.md 163. parallelism.md 164. virtual_memory.md 165. encryption.md 166. security.md 167. memory_safety.md 168. x11.md 169. database.md 170. flatfile.md 171. c.md 172. brainfuck.md 173. comun.md 174. forth.md 175. glibc.md 176. gcc.md 177. clang.md 178. tcc.md 179. musl.md 180. uclibc.md 181. jpg.md 182. png.md 183. svg.md 184. ppm.md 185. farbfeld.md 186. syntax_highlight.md 187. rich_text.md 188. color.md 189. html.md 190. md.md 191. plaintext.md 192. x86.md 193. risc.md 194. public_domain.md 195. linking.md 196. stali.md 197. web.md 198. gemini.md 199. gopher.md 200. ftp.md 201. mouse.md 202. tcp.md 203. udp.md 204. vim.md 205. ed.md 206. true_color.md 207. 332.md 208. fps.md 209. 320_240.md 210. gnu.md 211. busybox.md 212. sbase.md 213. data_type.md 214. number.md 215. package_manager.md 216. electricity.md 217. mechanical.md 218. computer.md 219. rock.md 220. wireless.md 221. wifi.md 222. art.md 223. culture.md 224. law.md 225. bullshit.md 226. clothes.md 227. car.md 228. english.md 229. esperanto.md 230. harmful.md 231. maximalism.md 232. shitware.md 233. obscurity.md 234. shit.md 235. cyclomatic_complexity.md 236. freedom_ditance.md