master
Miloslav Ciz 11 months ago
parent e105277181
commit 89693a5451

@ -2,7 +2,7 @@
{ We have a [C tutorial](c_tutorial.md)! ~drummyfish }
C is an old [low level](low_level.md) structured [statically typed](static_typing.md) [imperative](imperative.md) compiled [programming language](programming_language.md), the language that's currently mostly used by [less retarded software](lrs.md). Though by very strict standards it would be considered [bloated](bloat.md), compared to any mainstream [modern](modern.md) language it is very bullshitless and [KISS](kiss.md), so it is also the go-to language of the [suckless](suckless.md) community as well as most true experts, for example the [Linux](linux.md) and [OpenBSD](openbsd.md) developers, because of its good, relatively simple design, uncontested performance, wide support, great number of compilers, level of control and a greatly established and tested status. C is perhaps the most important language in history, it influenced, to smaller or greater degree, basically all of the widely used languages today such as [C++](c.md), [Java](java.md), [JavaScript](javascript.md) etc., however it is not a thing of the past -- in the area of low level programming C is still the number one unsurpassed language. C is by no means perfect but it is currently probably the best choice of a programming language.
C is an [old](old.md) [low level](low_level.md) structured [statically typed](static_typing.md) [imperative](imperative.md) compiled [programming language](programming_language.md), the language that's currently mostly used by [less retarded software](lrs.md). Though by very strict standards it would be considered [bloated](bloat.md), compared to any mainstream [modern](modern.md) language it is very bullshitless and [KISS](kiss.md), so it is also the go-to language of the [suckless](suckless.md) community as well as most true experts, for example the [Linux](linux.md) and [OpenBSD](openbsd.md) developers, because of its good, relatively simple design, uncontested performance, wide support, great number of compilers, level of control and a greatly established and tested status. C is perhaps the most important language in history, it influenced, to smaller or greater degree, basically all of the widely used languages today such as [C++](c.md), [Java](java.md), [JavaScript](javascript.md) etc., however it is not a thing of the past -- in the area of low level programming C is still the number one unsurpassed language. C is by no means perfect but it is currently probably the best choice of a programming language.
{ Look up *The Ten Commandments for C Programmers* by Henry Spencer. ~drummyfish }

@ -2,7 +2,7 @@
*Capitalism is how you enslave people with their approval.*
Capitali$m is the worst socioeconomic system we've yet seen in [history](history.md),^[source](logic.md) based on pure greed, culture of slavery and artificially sustained conflict between everyone in society (so called [competition](competition.md)), abandoning all morals and putting money and profit (so called [capital](capital.md)) above everything else including preservation of life itself, capitalism fuels the worst in people and forces them to compete and suffer for basic resources, even in a world where abundance of resources is already possible to achieve. Capitalism goes against progress (see e.g. [antivirus paradox](antivirus_paradox.md)), [good technology](lrs.md) and freedom, it supports immense waste of resources, wars, abuse of people and animals, destruction of environment, decline of morals, deterioration of [art](art.md), invention of [bullshit](bullshit.md) (bullshit jobs, bullshit laws, ...), utilizing and perfecting methods of [torture](marketing.md), brainwashing, [censorship](censorship.md) and so on. In a sense capitalism can be seen as **slavery 2.0** or *universal slavery*, a more sophisticated form of slavery, one which denies the label by calling itself the polar opposite ("freedom") and manipulates people into them approving and voluntarily parttaking in their own enslavement. However wage and consumption slavery is only a small part of capitalist dystopia -- capitalism brings on destruction basically to every part of civilization. It it also often likened to a [cancer](cancer.md) of society; one that is ever expanding, destroying everything with commercialism, materialism, waste and destruction, growing uncontrollably with the sole goal of just never stop an ever accelerating growth. Nevertheless, it's been truthfully stated that "it is now easier to imagine the end of all life than any substantial change in capitalism." Another famous quote is that "capitalism is the belief that the worst of men driven by the nastiest motives will somehow work for the benefit of everyone", which describes its principle quite well.
Capitali$m is the worst socioeconomic system we've yet seen in [history](history.md),^[source](logic.md) based on pure greed, culture of slavery and artificially sustained conflict between everyone in society (so called [competition](competition.md)), abandoning all morals and putting money and profit (so called [capital](capital.md)) above everything else including preservation of life itself, capitalism fuels the worst in people and forces them to compete and suffer for basic resources, even in a world where abundance of resources is already possible to achieve -- of course, capitalism is a purely [rightist](left_right.md) idea. Capitalism goes against progress (see e.g. [antivirus paradox](antivirus_paradox.md)), [good technology](lrs.md) and freedom, it supports immense waste of resources, wars, abuse of people and animals, destruction of environment, decline of morals, deterioration of [art](art.md), invention of [bullshit](bullshit.md) (bullshit jobs, bullshit laws, ...), utilizing and perfecting methods of [torture](marketing.md), brainwashing, [censorship](censorship.md) and so on. In a sense capitalism can be seen as **slavery 2.0** or *universal slavery*, a more sophisticated form of slavery, one which denies the label by calling itself the polar opposite ("freedom") and manipulates people into them approving and voluntarily parttaking in their own enslavement (capitalist slaves are called wage slaves or *wagies*). However wage and consumption slavery is only a small part of capitalist dystopia -- capitalism brings on destruction basically to every part of civilization. It it also often likened to a [cancer](cancer.md) of society; one that is ever expanding, destroying everything with commercialism, materialism, waste and destruction, growing uncontrollably with the sole goal of just never stop an ever accelerating growth. Nevertheless, it's been truthfully stated that "it is now easier to imagine the end of all life than any substantial change in capitalism." Another famous quote is that "capitalism is the belief that the worst of men driven by the nastiest motives will somehow work for the benefit of everyone", which describes its principle quite well.
{ Some web bashing capitalism I just found: http://digdeeper.club/articles/capitalismcancer.xhtml, read only briefly, seems to contain some nice gems capturing the rape of people. ~drummyfish }

@ -1,6 +1,6 @@
# Chess
Chess is a very old two-player board [game](game.md), perhaps most famous and popular among all board games in [history](history.md). It is a [complete information](complete_information.md) game that simulates a battle of two armies on an 8x8 board with different battle pieces. Chess is also called the King's Game, it has a world-wide competitive community and is considered an intellectual [sport](sport.md) but it's also been a topic of research (as the estimated number of chess games is bigger than [googol](googol.md), it is unlikely to ever be solved) and [programming](programming.md) (many chess engines, [AI](ai.md)s and frontends are being actively developed). Chess is similar to games such [shogi](shogi.md) ("Japanese chess"), [xiangqi](xiangqi.md) ("Chinese chess") and [checkers](checkers.md).
Chess is a very [old](old.md) two-player board [game](game.md), perhaps most famous and popular among all board games in [history](history.md). It is a [complete information](complete_information.md) game that simulates a battle of two armies on an 8x8 board with different battle pieces. Chess is also called the King's Game, it has a world-wide competitive community and is considered an intellectual [sport](sport.md) but it's also been a topic of research (as the estimated number of chess games is bigger than [googol](googol.md), it is unlikely to ever be solved) and [programming](programming.md) (many chess engines, [AI](ai.md)s and frontends are being actively developed). Chess is similar to games such [shogi](shogi.md) ("Japanese chess"), [xiangqi](xiangqi.md) ("Chinese chess") and [checkers](checkers.md).
{ There is a nice black and white indie movie called *Computer Chess* about chess programmers of the 1980s, it's pretty good, very oldschool, starring real programmers and chess players, check it out. ~drummyfish }

@ -0,0 +1,24 @@
# Communism
Communism (from *communis* -- common, shared) is a very wide term which most generally stands for the idea that sharing and equality should be the basic values of a society; as such it is a [leftist](left_right.md) idea which falls under [socialism](socialism.md) (i.e. basically focusing on people at large). There are very many branches, theories, political ideologies and schools of thought somewhat based on communism, for example [Marxism](marxism.md), [Leninism](leninism.md), [anarcho communism](ancom.md), primitive communism, Christian communism etc. -- of course, some of these are good while others are evil and only abuse the word communism as a kind of *brand* (as also happens e.g. with [anarchism](anarchism.md)). Sadly after the disastrous failure of the violent pseudocommunist revolutions of the 20th century, most people came to equate the word communism with oppressive militant regimes, however we have to stress that **communism is not equal to [USSR](ussr.md), Marxism-Lenninism, Stalinism or any other form of pseudocommunism**, on the contrary, such regimes were rather hierarchical, violent and pseudocommunist, often downright [fascist](fascism.md). We ourselves embrace true communism and base our [LRS](lrs.md) and [less retarded society](less_retarded_society.md) on ideas of unconditional sharing. Many other communities also work on more or less communist principles, see e.g. Jewish kibbutz, Sikhist [langar](langar.md), [free software](free_software.md), or even just most families for that matter. The color [red](red.md) is usually associated with communism and the "hammer and sickle" (U+262D) is taken as its symbol, though that's mostly associated with the evil communist regimes and so its usage is to be greatly considered.
Common ideas usually associated with communism are (please keep in mind that this may differ depending on the specific flavor of communism):
- Ending [capitalism](capitalism.md) and similar rightist oppressive hierarchical systems which are the polar opposite of communism and are incompatible with it. Along with these also things like [consumerism](consumerism.md), worker exploitation, crime and poverty will disappear.
- Abolishment of private property, establishing common ownership, for example a factory shouldn't have a single owner who makes profit off of it, it should rather be collectively managed by those who work in the factory and they should collectively share what they make there.
- Sharing and collaboration as opposed to [competition](competition.md).
- Equality, seizing of division of people into social classes (such as workers, [bourgeoisie](bourgeoisie.md), rich, poor, aristocracy, ...).
- Eventual abolishment of [state](state.md), as again in a good society that benefits people there shouldn't be any crime, theft, abuse of workers etc. However some "communists" see state and its control of economy as a necessary intermediate step towards this goal.
- Abolishment of [money](money.md) as that is a means of dividing people into classes (rich and poor), means of abuse (wage slavery) and a tool of systems such as capitalism. In a good society money is unnecessary, everyone gets what he needs.
- Sometimes [revolution](revolution.md) (and even [war](war.md), temporary dictatorship etc.) is seen by some "communists" as a necessary way of achieving a change, however many others oppose this as revolution means violence, dominating man by another man (inequality) etc. -- peaceful voluntary evolutionary approach is also an option of achieving communism.
- Focus on workers and common people.
- Intellectual endeavor and idealism -- many communists are intellectuals, scientifically examining society and seeking models of an ideal society, a "[utopia](utopia.md)" as opposed to accepting life in a [dystopia](dystopia.md).
- ...
TODO
## See Also
- [less retarded society](less_retarded_society.md)
- [socialism](socialism.md)
- [capitalism](capitalism.md)

@ -8,7 +8,9 @@ And there is more: floating point behavior really depends on the language you're
{ Really as I'm now getting down the float rabbit hole I'm seeing what a huge mess it all is, I'm not nearly an expert on this so maybe I've written some BS here, which just confirms how messy floats are. Anyway, from the articles I'm reading even being an expert on this issue doesn't seem to guarantee a complete understanding of it :) Just avoid floats if you can. ~drummyfish }
Is floating point literal evil? Well, of course not, but it is extremely overused. You may need it for precise scientific simulations, e.g. [numerical integration](numerical_integration.md), but as our [small3dlib](small3dlib.md) shows, you can comfortably do even [3D rendering](3d_rendering.md) without it. So always consider whether you REALLY need float. You mostly do not.
Is floating point literal evil? Well, of course not, but it is extremely overused. You may need it for precise scientific simulations, e.g. [numerical integration](numerical_integration.md), but as our [small3dlib](small3dlib.md) shows, you can comfortably do even [3D rendering](3d_rendering.md) without it. So always consider whether you REALLY need float. **You mostly do NOT need it**.
**Simple example of avoiding floating point**: many noobs think that if they e.g. need to multiply some integer *x* by let's say 2.34 they have to use floating point. This is of course false and just proves most retarddevs don't know elementary school [math](math.md). Multiplying *x* by 2.34 is the same as *(x * 234) / 100*, which we can [optimize](optimization.md) to an approximately equal division by power of two as *(x * 2396) / 1024*. Indeed, given e.g. *x = 56* we get the same integer result 131 in both cases, the latter just completely avoiding floating point.
## How It Works

@ -1,6 +1,6 @@
# Less Retarded Software
Less retarded software (LRS) is a specific kind of [software](software.md) aiming to be a truly good technology maximally benefiting and respecting its users, following the philosophy of extreme [minimalism](minimalism.md) ([Unix philosophy](unix_philosophy.md), [suckless](suckless.md), [KISS](kiss.md)), [anarcho pacifism](anpac.md) and [freedom](free_software.md). The term was invented by [drummyfish](drummyfish.md).
Less retarded software (LRS) is a specific kind of [software](software.md) aiming to be a truly good technology maximally benefiting and respecting its users, following the philosophy of extreme [minimalism](minimalism.md) ([Unix philosophy](unix_philosophy.md), [suckless](suckless.md), [KISS](kiss.md), ...), [anarcho pacifism](anpac.md) and [freedom](free_software.md). The term was invented by [drummyfish](drummyfish.md).
The symbol of LRS is a heart ([love](love.md)), the peace symbol (pacifism, nonviolence) and A in circle ([anarchism](anarchism.md)).
@ -8,7 +8,7 @@ By extension LRS can also stand for *[less retarded society](less_retarded_socie
## Definition
The definition here is not strict but rather fuzzy, it is in a form of ideas, style and common practices that together help us subjectively identify software as less retarded.
The definition here is not strict but rather [fuzzy](fuzzy.md), it is in a form of ideas, style and common practices that together help us subjectively identify software as less retarded.
[Software](software.md) is less retarded if it adheres, to a high-degree (not necessarily fully), to the following principles:

@ -4,6 +4,8 @@ WORK IN PROGRESS
| mainstream | correct/cooler |
| ------------------------------------------ | -------------------------------------- |
| [Apple](apple.md) user | iToddler |
| average citizen | normie, normalfag, bloatoddler, NPC |
| [cloud](cloud.md) computing | clown computing |
| [cloudflare](cloudfalre.md) | cuckflare |
| code of conduct ([COC](coc.md)) | code of coercion |
@ -16,7 +18,8 @@ WORK IN PROGRESS
| [iPad](ipda.md) | iBad |
| [iPhone](iphone.md) | spyPhone |
| "left" | [pseudoleft](pseudoleft.md), SJW |
| "[Linux](linux.md)" | [GNU](gnu.md) |
| "[Linux](linux.md)" | [GNU](gnu.md), loonix |
| [Microsoft](microsoft.md) | Microshit |
| [microtransaction](microtransaction.md) | microtheft |
| [modern](modern.md) | malicious, shitty |
| [Nintendo](nintendo.md) | Nintendont |

@ -19,7 +19,7 @@ Following are some math areas and topics which a programmer should be familiar w
- **formal [logic](logic.md)**: computers are based on [Boolean](boolean.md) logic, knowing basic formulas and theorems here is crucial (e.g. the completeness of [NAND](nand.md) or [De Morgan's laws](de_morgan.md)), formal logic is also just generally used in formal texts, one should know about predicate vs propositional logic etc.
- **[proofs](proof.md)**: core of high level mathematics, one should know the basic proof techniques (direct, [contradiction](contradiction.md), [induction](induction.md), ...).
- **[linear algebra](linear_algebra.md)**: aka "vectors and matrices", essential in almost every field ([graphics](graphics.md), [machine learning](machine_learning.md), ...).
- **[calculus](calculus.md) and differential equations**: just essential for advanced math and many fields (graphics, machine learning, [electronics](electronics.md), physics, any optimization, ...).
- **[calculus](calculus.md) and [differential equations](differential_equation.md)**: just essential for advanced math and many fields (graphics, machine learning, [electronics](electronics.md), physics, any optimization, ...).
- **theoretical [computer science](compsci.md)**: [computational complexity](computational_complexity.md) (very important), [computability](computability.md), [formal languages](formal_language.md), computational models ([automata](automaton.md), [Turing machines](turing_machine.md), ...), ...
- **[graph theory](graph.md)**: generally useful tools, especially important e.g. in networks or indexing structures in [databases](database.md).
- **[number](number.md) and [set](set.md) theory**: sets of numbers ([natural](natural_number.md), [rational](rational_number.md), [real](real_number.md), [complex](complex_number.md), ...), [prime numbers](prime.md) (important e.g. for [cryptography](cryptography.md), [quantum computing](quantum.md), ...), ...

@ -23,6 +23,7 @@ This is a list of just some of many minigames and minigame types.
- **city bomber**: A plane is descending on the screen, player has to drop bombs to destroy building so that it can land.
- **concentration**
- **[donkey kong](donkey_kong.md)**
- **[dots and boxes](dots_and_boxes.md)**
- **[endless runner](endless_runner.md)**
- **[fifteen](fifteen.md)**
- **[flappy bird](flappy_bird.md)**

@ -6,9 +6,10 @@ Optimization means making a program more efficient in terms of consumption of so
These are mainly for [C](c.md), but may be usable in other languages as well.
- **Tell your compiler to actually optimize** (`-O3`, `-Os` flags etc.).
- **Tell your compiler to actually optimize** (`-O3`, `-Os` flags etc.). Also check out further compiler flags that may help you turn off unnecessary things you don't need, AND try out different compilers, some may just produce better code.
- **[gprof](gprof.md) is a utility you can use to profile your code**.
- **`<stdint.h>` has fast type nicknames**, types such as `uint_fast32_t` which picks the fastest type of at least given width on given platform.
- **Actually measure the performance** to see if your optimizations work or not. Sometimes things behave counterintuitively and you end up making your program perform worse by trying to optimize it! Also make sure that you MEASURE THE PERFORMANCE CORRECTLY, many beginners for example just try to measure run time of a single simple function call which doesn't really work, you want to try to measure something like a million of such function calls in a loop and then average the time.
- **Keywords such as `inline`, `static` and `const` can help compiler optimize well**.
- **Optimize the [bottlenecks](bottleneck.md)!** Optimizing in the wrong place is a complete waste of time. If you're optimizing a part of code that's taking 1% of your program's run time, you will never speed up your program by more than that 1% even if you speed up the specific part by 10000%. Bottlenecks are usually inner-most loops of the main program loop, you can identify them with [profiling](profiling.md). Generally initialization code that runs only once in a long time doesn't need much optimization -- no one is going to care if a program starts up 1 millisecond faster (but of course in special cases such as launching many processes this may start to matter).
- **You can almost always trade space (memory usage) for time (CPU demand) and vice versa** and you can also fine-tune this. You typically gain speed by precomputation (look up tables, more demanding on memory) and memory with [compression](compression.md) (more demanding on CPU).
@ -21,6 +22,7 @@ These are mainly for [C](c.md), but may be usable in other languages as well.
- **Use quick opt-out conditions**: many times before performing some expensive calculation you can quickly check whether it's even worth performing it and potentially skip it. For example in physics [collision detections](collision_detection.md) you may first quickly check whether the bounding spheres of the bodies collide before running an expensive precise collision detection -- if bounding spheres of objects don't collide, it is not possible for the bodies to collide and so we can skip further collision detection.
- **Operations on static data can be accelerated with accelerating structures** ([look-up tables](lut.md) for functions, [indices](indexing.md) for database lookups, spatial grids for collision checking, various [trees](tree.md) ...).
- **Use powers of 2** (1, 2, 4, 8, 16, 32, ...) whenever possible, this is efficient thanks to computers working in [binary](binary.md). Not only may this help nice utilization and alignment of memory, but mainly multiplication and division can be optimized by the compiler to mere bit shifts which is a tremendous speedup.
- **Memory alignment usually helps speed**, i.e. variables at "nice addresses" (usually multiples of the platform's native integer size) are faster to access, but this may cost some memory (the gaps between aligned data).
- **Write [cache-friendly](cache-friendly.md) code** (minimize long jumps in memory).
- **Compare to [0](zero.md) rather than other values**. There's usually an instruction that just checks the zero flag which is faster than loading and comparing two arbitrary numbers.
- **Use [bit tricks](bit_hack.md)**, hacks for manipulating binary numbers in clever ways only using very basic operations without which one might naively write complex inefficient code with loops and branches. Example of a simple bit trick is checking if a number is power of two as `!(x & (x - 1)) && x`.
@ -43,6 +45,7 @@ These are mainly for [C](c.md), but may be usable in other languages as well.
- **Else should be the less likely branch**, try to make if conditions so that the if branch is the one with higher probability of being executed -- this can help branch prediction.
- Similarly **order if-sequences and switch cases from most probable**: If you have a sequences of ifs such as `if (x) ... else if (y) ... else if (z) ...`, make it so that the most likely condition to hold gets checked first, then second most likely etc. Compiler most likely can't know the probabilities of the conditions so it can't automatically help with this. Do the same with the `switch` statement -- even though switch typically gets compiled to a table of jump addresses, in which case order of the cases doesn't matter, it may also get compiled in a way similar to the if sequence (e.g. as part of size optimization if the cases are sparse) and then it may matter again.
- **You can save space by "squeezing" variables** -- this is a space-time tradeoff, it's a no brainer but nubs may be unaware of it -- for example you may store 2 4bit values in a single `char` variable (8bit data type), one in the lower 4bits, one in the higher 4bits (use bit shifts etc.). So instead of 16 memory-aligned booleans you may create one `int` and use its individual bits for each boolean value. This is useful in environments with extremely limited RAM such as 8bit Arduinos.
- **Consider [lazy evaluation](lazy_evaluation.md)** (only evaluate what's actually needed).
- **You can optimize critical parts of code in [assembly](assembly.md)**, i.e. manually write the assembly code that takes most of the running time of the program, with as few and as inexpensive instructions as possible (but beware, popular compilers are very smart and it's often hard to beat them). But note that such code loses [portability](portability.md)! So ALWAYS have a C (or whatever language you are using) [fallback](fallback.md) code for other platforms, use [ifdefs](ifdef.md) to switch to the fallback version on platforms running on different assembly languages.
- **Loop unrolling/splitting/fusion, function inlining etc.**: there are optimizations that are usually done by high level languages at [assembly](assembly.md) level (e.g. loop unrolling physically replaces a loop by repeated commands which gains speed but also makes the program bigger). However if you're writing in assembly or have a dumb compiler (or are even writing your own) you may do these manually, e.g. with macros/templates etc. Sometimes you can hint a compiler to perform these optimizations, so look this up.
- **[Parallelism](parallelism.md) ([multithreading](multithreading.md), [compute shaders](compute_shader.md), ...) can astronomically accelerate many programs**, it is one of the most effective techniques of speeding up programs -- we can simply perform several computations at once and save a lot of time -- but there are a few notes. Firstly not all problems can be parallelized, some problem are sequential in nature, even though most problems can probably be parallelized to some degree. Secondly it is hard to do, opens the door for many new types of bugs, requires hardware support (software simulated parallelism can't work here of course) and introduces [dependencies](dependency.md); in other words it is huge [bloat](bloat.md), we don't recommend parallelization unless a very, very good reason is given. Optional use of [SIMD](simd.md) instructions can be a reasonable midway to going full parallel computation.

@ -8,7 +8,7 @@ Most people I talk to about this article privately tell me they basically agree
love & peace ~drummyfish }
Pedophilia is a sexual orientation towards children. Pedophiles are often called just *pedos* for short. Opposition of pedophilia is called **[pedophobia](pedophobia.md)**.
Pedophilia is a sexual orientation towards children. Pedophiles are often called just *pedos* for short. Opposition of pedophilia is called **[pedophobia](pedophobia.md)** or [pedohysteria](pedohysteria.md).
Unlike for example pure [homosexuality](gay.md), pedophilia is completely natural, normal and not any more harmful than any other orientation, however it is nowadays wrongfully, for political reasons, labelled a "disorder" (just as homosexuality used to be not a long time ago). It is the forbidden, tabooed, censored and bullied sexual orientation of the [21st century](21st_century.md), even though all healthy people are pedophiles -- just don't pretend you've never seen a [jailbait](jailbait.md) you found sexy, people start being sexually attractive exactly as soon as they become able to reproduce; furthermore when you've gone without sex long enough and get extremely horny, you get turned on by anything that literally has some kind of hole in it -- this is completely normal. Basically everyone has some kind of weird fetish he hides from the world, there are people who literally fuck cars in their exhausts, people who like to eat shit, dress in diapers and hang from ceiling by their nipples, people who have sexual relationships with virtual characters etc. -- this is all considered normal, but somehow once you get an erection seeing a hot 17 year old girl, you're a demon that needs to be locked up and cured, if not executed right away, just for a thought present in your mind.

@ -1,14 +1,14 @@
# Update Culture
Update culture is a negative mindset of [capitalist](capitalism.md) society which in technology manifests by developers of a (typically [bloated](bloat.md)) program or similar product creating frequent modifications called "updates" and forcing users to keep consuming these "updates", e.g. by deprecating or neglecting old versions, dropping [backwards compatibility](backwards_compatibility.md) (e.g. [Python](python.md)) or by downright forcing updates in code. This is typically seen as a familiar pop-up message:
Update culture is a malicious mindset emerging in a [capitalist](capitalism.md) society which in technology manifests by developers of a (typically [bloated](bloat.md)) program creating frequent modifications called "updates" and forcing users to keep [consuming](consumerism.md) them, e.g. by deprecating or neglecting old versions, dropping [backwards compatibility](backwards_compatibility.md) (e.g. [Python](python.md)) or by downright forcing updates in code. This often manifests by a familiar pop-up message:
*"Your software is too old, please update to the latest version."*
In software this process is a lot of times automatized and known as [autoupdates](autoupdate.md), but update culture encompasses more than this, it's the whole mentality of having to constantly update one's software, hardware and other products. It is similar to [consumerism](consumerism.md) but more about constant modifications masked as "cool updates" rather than replacement of physical products.
In software this process is a lot of times automatized and known as [autoupdates](autoupdate.md), but update culture encompasses more than this, it's the whole mentality of having to constantly keep up, update one's software, hardware and other products, it is part of [fear culture](fear_culture), [bullshit](bullshit.md) and [consumerism](consumerism.md). Normies get all neurotic when they haven't received their weekly updates that give them new content or fake sense of "[security](security.md)". The truth is updates break more things that they fix and make software progressively [shittier](modern.md). STOP FUCKING UPDATING EVERYTHING EVERY 3 SECONDS YOU IDIOTS. [Good software](lrs.md) is written once and works for hundreds of years without [maintenance](maintenance.md).
A typical example are [web browsers](browser.md) or proprietary [operating systems](operating_system.md) that strive for [bloat monopoly](bloat_monopoly.md).
A typical example falling under update culture are [web browsers](browser.md) or proprietary [operating systems](operating_system.md) that strive for [bloat monopoly](bloat_monopoly.md).
Update culture is however not limited to computers or technology, hell no. It is the mindset of the whole society and applies to things such as fashion, business, gossip, watching TV news every day, browsing social media or constantly updating laws, it is the acceptance and approval of living in a constant stress of having to extort extreme amounts of energy just to keep up with artificially made up [bullshit](bullshit.md), to race against oneself and others in a never ending artificially sustained race with no winners, just with extremely exhausted participants. Current system of law requires constant everyday maintenance that's extremely costly, law needs to be constantly remade and rewritten to reflect any emerging trend in society because it is so unbelievably complex and tries to encompass every single aspect of our society. Of course we eventually oppose any kind of formal law, however the kind of update culture law is yet orders of magnitude worse -- if we see law as a tool to serve society, this kind of law is an utterly shitty tool similar to a hammer that has to be repaired every second just to keep functioning.
Update culture is however not limited to computers or technology, hell no. It is the mood of the whole society and applies to things such as fashion, business, gossip, watching TV news every day, browsing social media or constantly updating laws, it is the acceptance and approval of living in a constant stress of having to extort extreme amounts of energy just to keep up with artificially made up [bullshit](bullshit.md), to race against oneself and others in a never ending artificially sustained race with no winners, just with extremely exhausted participants. Current system of law requires constant everyday maintenance that's extremely costly, law needs to be constantly remade and rewritten to reflect any emerging trend in society because it is so unbelievably complex and tries to encompass every single aspect of our society. Of course we eventually oppose any kind of formal law, however the kind of update culture law is yet orders of magnitude worse -- if we see law as a tool to serve society, this kind of law is an utterly shitty tool similar to a hammer that has to be repaired every second just to keep functioning.
Software updates are usually justified by "muh [security](security.md)" and "muh [modern](modern.md) [features](feature.md)". Users who want to avoid these updates or simply can't install them, e.g. due to using old incompatible hardware or missing dependency packages, are ridiculed as *poorfags*, idiots and their suffering is ignored. In fact, update culture is [cancer](cancer.md) because:
@ -17,4 +17,4 @@ Software updates are usually justified by "muh [security](security.md)" and "muh
- It is [bullshit](bullshit.md) effort, **wasting human work and creating an intentionally high [maintenance](maintenance.md) cost**. Humans, both users and programmers, become slaves to the software.
- **The [security](security.md) justifications are lies**: a true concern for security would lead to unbloating and creating a minimal, stable and well tested software. Update culture in fact constantly pushes newly created vulnerabilities with the updates which are only better in not having been discovered yet, i.e. relying on **security by obscurity**. This creates an intentionally **endless cycle of creating something that will never be finished** (even if it well could be).
- **It kills freedom**. E.g. with the example of web the constant meaningless updates of JavaScript and addition of "features" eliminates any small competition that can't afford to keep up with the constantly changing environment. **This is why we have no good web browsers**.
- **It is a huge security risk** (yes, we don't really buy intro security but this still holds). The developer, whoever it is, has the power to remotely push and execute any code at any time to the devices of many users. In fact this can be seen as the definition of [backdoor](backdoor.md). This is not just an issue of [proprietary](proprietary.md) software, there have been many [FOSS](foss.md) projects pushing [malware](malware.md) this way (look up e.g. the projects that targeted malware at Russians during the Russia-Ukraine war).
- **It is actually a huge security risk** (yes, we don't really buy intro security but this still holds). The developer, whoever it is, has the power to remotely push and execute any code at any time to the devices of many users. In fact this can be seen as the definition of [backdoor](backdoor.md). This is not just an issue of [proprietary](proprietary.md) software, there have been many [FOSS](foss.md) projects pushing [malware](malware.md) this way (look up e.g. the projects that targeted malware at Russians during the Russia-Ukraine war).

@ -75,6 +75,7 @@ hud_panel_infomessages 0;`
- Buy premium account for extra skins and [lootboxes](lootbox.md). Just kidding :)
- Don't [ragequit](ragequit.md), you'll give your opponent the ultimate satisfaction. Making someone ragequit is better than just [raping](rape.md) him.
- Bully players that admit to be playing on [Window$](windows.md).
- There are [minigames](minigame.md) in the game menu, can serve to kill time while waiting to respawn in some modes.
- If you want to win in a team game and your team is losing, just quickly switch to the winning team before the end. Gotta keep them xonstats high.
- Sound is important, firstly you can hear where enemies are (especially when you turn off music) and secondly you can also spot low HP players by sound (they make a specific hurt sound when low HP).
- Just spec good players and do what they do.

Loading…
Cancel
Save