From 3510c0d46fab5b5597466f7ba1683fbc90d12c5c Mon Sep 17 00:00:00 2001 From: Miloslav Ciz Date: Fri, 19 Aug 2022 21:03:00 +0200 Subject: [PATCH] Update --- antivirus_paradox.md | 4 +--- de_facto.md | 9 ++++++++ drummyfish.md | 2 ++ fail_ab.md | 2 +- fight_culture.md | 4 ++-- history.md | 2 +- lmao.md | 1 + lrs.md | 4 ++-- main.md | 5 ++-- oop.md | 12 ++++++---- programming_tips.md | 2 +- race.md | 4 ++-- tas.md | 2 +- venus_project.md | 54 ++++++++++++++++++++++++++++++++++++++++++++ watchdog.md | 2 +- 15 files changed, 88 insertions(+), 21 deletions(-) create mode 100644 de_facto.md create mode 100644 venus_project.md diff --git a/antivirus_paradox.md b/antivirus_paradox.md index b131266..215911f 100644 --- a/antivirus_paradox.md +++ b/antivirus_paradox.md @@ -6,6 +6,4 @@ Antivirus paradox is the paradox of someone who's job it is to eliminate certain It is a known phenomenon that many firefighters are also passionate arsonists because society simply rewards them for [fighting](fight_culture.md) fires (as opposed to rewarding them for the lack of fires). -In [capitalism](capitalism.md) and other systems requiring people to have jobs this paradox prevents progress, i.e. actual elimination of undesirable phenomena, hence capitalism and similar systems are anti-progress. And not only that, the system pressures people to artificially creating new undesirable phenomena (e.g. lack of [women](woman.md) in tech and similar [bullshit](bs.md)) just to create new jobs that "fight" this phenomena. In a truly good society where people are not required to have jobs and in which people aim to eliminate [work](work.md) this paradox disappears. - -By extension this also leads to the creation of [bullshit jobs](bullshit_job.md), i.e. not only are there people with an interest on preserving negative phenomena but there are also people with an interest in creating new negative phenomena, "[fighting](fight_culture.md)" of which can then serve as a basis for creating a new job for themselves. For example if [LGBT](lgbt.md) inventions an issue of "not enough gay people in IT", they can then start creating "diversity departments" to guarantee themselves a comfy job. \ No newline at end of file +In [capitalism](capitalism.md) and similar systems requiring people to have jobs this paradox prevents progress, i.e. actual elimination of undesirable phenomena, hence capitalism and similar systems are anti-progress. And not only that, the system pressures people to artificially creating new undesirable phenomena (e.g. lack of [women](woman.md) in tech and similar [bullshit](bs.md)) just to create new [bullshit jobs](bs_job.md) that "[fight](fight_culture.md)" this phenomena. In a truly good society where people are not required to have jobs and in which people aim to eliminate [work](work.md) this paradox largely disappears. \ No newline at end of file diff --git a/de_facto.md b/de_facto.md new file mode 100644 index 0000000..d599c7d --- /dev/null +++ b/de_facto.md @@ -0,0 +1,9 @@ +# De Facto + +De facto is [Latin](latin.md) for "in fact" or "by facts", it means that something holds in practice; it is contrasted with [de jure](de_jure.md) ("by law"). We use the term to say whether something is actually true in reality as opposed to "just on paper". + +For example in [technology](tech.md) a so called [de facto standard](de_facto_standard.md) is something that, without it being officially formalized or forced by law in prior, most developers naturally come to adopt so as to keep [compatibility](compatibility.md); for example the [Markdown](md.md) format has become the de facto standard for [READMEs](readme.md) in [FOSS](foss.md) development. Of course it happens often that de facto standards are later made into official standards. On the other hand there may be standards that are created by official standardizing authorities, such as the state, which however fail to gain wide adoption in practice -- these are official standards but not de facto one. TODO: example? :) + +Regarding politics and society, we often talk about **de facto [freedom](freedom.md)** vs **de jure freedom**. For example in the context of [free (as in freedom) software](free_software.md) it is stressed that software ought to bear a free [license](license.md) -- this is to ensure de jure freedom, i.e. legal rights to being able to use, study, modify and share such software. However in these talks the **de facto freedom of software is often forgotten**; the legal (de jure) freedom is worth nothing if it doesn't imply real and practical (de facto) freedom to exercise the rights given by the license; for example if a piece of "free" (having a free license) software is extremely [bloated](bloat.md), our practical ability to study and modify it gets limited because doing so gets considerably expensive and therefore limits the number of people who can truly exercise those rights in practice. This issue of diminishing de facto freedom of free software is addressed e.g. by the [suckless](suckless.md) movement, and of course our [LRS](lrs.md) movement. + +There is also a similar situation regarding [free speech](free_speech.md): if speech is free only de jure, i.e. we can "in theory" legally speek relatively freely, BUT if then in reality we also CANNOT speek freely because e.g. of fear of being [cancelled](cancel_culture.md), **our speech is de facto not free**. \ No newline at end of file diff --git a/drummyfish.md b/drummyfish.md index 60f6852..ca3330b 100644 --- a/drummyfish.md +++ b/drummyfish.md @@ -8,6 +8,8 @@ Aside from creating [LRS](lrs.md) drummyfish has contributed to a few [FOSS](fos Drummyfish's real name is Miloslav Číž, he was born on 24.08.1990 and lives in Moravia, Czech Republic. He started programming at high school in [Pascal](pascal.md), then he went on to study [compsci](compsci.md) (later focused on [computer graphics](graphics.md)) in a Brno University of Technology and got a master's degree, however he subsequently refused to find a job in the industry, partly because of his views (manifested by [LRS](lrs.md)) and partly because of mental health issues (depressions/anxiety/avoidant personality disorder). He rather chose to do less harmful slavery such as cleaning and physical [spam](spam.md) distribution, and continues [hacking](hacking.md) on his programming (and other) projects in his spare time in order to be able to do it with absolute freedom. +In 2019 drummyfish has written a "manifesto" of his ideas called **Non-Competitive Society** that describes the political ideas of an ideal society. It is in the [public domain](public_domain.md) under [CC0](cc0.md) and available for download online. + { Why doxx myself? Following the [LRS](lrs.md) philosophy, I believe information should be free. [Censorship](censorship.md) -- even in the name of [privacy](privacy.md) -- goes against information freedom. We should live in a society in which people are moral and don't abuse others by any means, including via availability of their private information. And in order to achieve ideal society we have to actually live it, i.e. slowly start to behave as if it was already in place. Of course, I can't tell you literally everything (such as my passwords etc.), but the more I can tell you, the closer we are to the ideal society. ~drummyfish } He likes many things such as animals, peace, freedom, programming, [math](math.md) and [games](game.md) (e.g. [Xonotic](xonotic.md)). diff --git a/fail_ab.md b/fail_ab.md index b642739..a75fbc3 100644 --- a/fail_ab.md +++ b/fail_ab.md @@ -2,7 +2,7 @@ Type A and type B fails are two very common cases of failing to adhere to the [LRS](lrs.md) politics/philosophy by only a small margin. Most people don't come even close to LRS politically or by their life philosophy -- these are simply general failures. Then there a few who ALMOST adhere to LRS politics and philosophy but fail in an important point, either by being/supporting [pseudoleft](pseudoleft.md) (type A fail) or being/supporting [right](left_right.md) (type B fail). The typical cases are following (specific cases may not fully fit these, of course): -- **type A fail**: Is anticapitalist, anticonsumerist, supports minimalism, [free software](free_software.md) and [free culture](free_culture.md), may even be a vegan, [anarchist](anarchism.md), [C](c.md) programmer etc., however falls into the trap of supporting [pseudoleft](pseudoleft.md), e.g. [LGBT](lgbt.md) or [feminism](feminism.md) and things such as censorship ("[moderation](moderation.md)", [COCs](coc.md)), "just violence and bullying" (violence against fascists, e.g. [antifa](antifa.md)), falls for memes such as "[Rust](rust.md) is the new [C](c.md)". +- **type A fail**: Is anticapitalist, anticonsumerist, may incline towards minimalism, supports [free software](free_software.md) and [free culture](free_culture.md), may even be a vegan, [anarchist](anarchism.md), [C](c.md) programmer etc., however falls into the trap of supporting [pseudoleft](pseudoleft.md), e.g. [LGBT](lgbt.md) or [feminism](feminism.md) and things such as censorship ("[moderation](moderation.md)", [COCs](coc.md)), "just violence and bullying" (violence against fascists, e.g. [antifa](antifa.md)), falls for memes such as "[Rust](rust.md) is the new [C](c.md)". - **type B fail**: Is against [pseudoleft](pseudoleft.md) bullshit and propaganda such as political correctness, is a [racial realist](racial_realism.md), highly supports [suckless](suckless.md) software, hacking and minimalism to achieve high freedom, usually also opposes [corporations](corporation.md) and state, however falls into the trap of being a [fascist](fascism.md), easily accepts violence, believes in "natural selection/wild west as a basis of society", supports and engages in [cryptocurrencies](crypto.md), believes in some form of [capitalism](capitalism.md) and that the current form of it can be "fixed" (["anarcho" capitalism](ancap.md) etc.) Type A/B fails are the "great filter" of the rare kind of people who show a great potential for adhering to LRS. It may be due to the modern western culture that forces a [right](right.md)-[pseudoleft](pseudoleft.md) false dichotomy that even those showing a high degree of non-conformance eventually slip into the trap of being caught by one of the two poles. These two fails seem to be a manifestation of an individual's true motives of [self interest](self_interest.md) which is culturally fueled with great force -- those individuals then try to not conform and support non-mainstream concepts like free culture or sucklessness, but eventually only with the goal of self interest. It seems to be extremely difficult to abandon this goal, much more than simply non-conforming. Maybe it's also the subconscious knowledge that adhering completely to LRS means an extreme loneliness; being type A/B fail means being a part of a minority, but still a having a supportive community, not being completely alone. diff --git a/fight_culture.md b/fight_culture.md index b50dafd..4021fec 100644 --- a/fight_culture.md +++ b/fight_culture.md @@ -1,5 +1,5 @@ # Fight Culture -Fight culture is the [modern](modern.md) western mindset of seeing any endeavor as a fight against something. Even such causes as aiming for establishment of [peace](peace.md) is seen as fighting people who are against peace, which is [funny](fun.md) but also sad. Fight culture keeps, just by the constant repetition of the word *fight*, a subconscious validation of violence as justified and necessary means for achieving any goal. Fight culture is to a great degree the culture of [capitalist](capitalism.md) society, the environment of extreme competition. +Fight culture is the [modern](modern.md) western mindset of seeing any endeavor as a fight against something. Even such causes as aiming for establishment of [peace](peace.md) is seen as fighting people who are against peace, which is [funny](fun.md) but also sad. Fight culture keeps, just by the constant repetition of the word *fight*, a subconscious validation of violence as justified and necessary means for achieving any goal. Fight culture is to a great degree the culture of [capitalist](capitalism.md) society (of course not exclusively), the environment of extreme competition and hostility. -[We](lrs.md), of course, see fight culture as inherently undesirable for a good society as that needs to be based on peace, love and collaboration, not [competition](competition.md). For this reasons we never say we "fight" anything, we rather aim for goals, look for solutions, educate and sometimes reject, refuse and oppose bad concepts (e.g. fight culture itself). \ No newline at end of file +[We](lrs.md), of course, see fight culture as inherently undesirable for a good society as that needs to be based on peace, love and [collaboration](collaboration.md), not [competition](competition.md). For this reasons we never say we "fight" anything, we rather aim for goals, look for solutions, educate and sometimes reject, refuse and oppose bad concepts (e.g. fight culture itself). \ No newline at end of file diff --git a/history.md b/history.md index 8f64ad7..17c66b3 100644 --- a/history.md +++ b/history.md @@ -6,7 +6,7 @@ WIP This is a brief summary of history of [technology](technology.md) and [computers](computer.md). -The earliest known appearance of technology related to humans is the use of **stone tools** of hominids in Africa some two and a half million years ago. Learning to start and control **fire** was one of the most important advances of earliest humans; this probably happened hundreds of thousands to millions years ago, even before modern humans. Around 8000 BC the **Agricultural Revolution** happened: humans domesticated animals and plants and subsequently started to create cities. Primitive **writing** can be traced to about 7000 BC to China. **Wheel** was another extremely useful technology humans invented, it is not known exactly when or where it appeared, but it might have been some time after 5000 BC (in Ancient Egypt the Great Pyramid was built still without the knowledge of wheel). Around 4000 BC **history starts with first written records**. Humans learned to smelt and use metals approximately 3300 BC (**Bronze Age**) and 1200 BC (**Iron Age**). **[Abacus](abacus.md)**, one of the simplest devices aiding with computation, was invented roughly around 2500 BC. However people used primitive computation helping tools, such as bone ribs, probably almost from the time they started trading. Babylonians in around 2000 BC were already able to solve some forms of **[quadratic equations](quadratic_equation.md)**. +The earliest known appearance of technology related to humans is the use of **stone tools** of hominids in Africa some two and a half million years ago. Learning to start and control **fire** was one of the most important advances of earliest humans; this probably happened hundreds of thousands to millions years ago, even before modern humans. Around 8000 BC the **[Agricultural Revolution](agricultural_revolution.md)** happened: humans domesticated animals and plants and subsequently started to create cities. Primitive **writing** can be traced to about 7000 BC to China. **Wheel** was another extremely useful technology humans invented, it is not known exactly when or where it appeared, but it might have been some time after 5000 BC (in Ancient Egypt the Great Pyramid was built still without the knowledge of wheel). Around 4000 BC **history starts with first written records**. Humans learned to smelt and use metals approximately 3300 BC (**Bronze Age**) and 1200 BC (**Iron Age**). **[Abacus](abacus.md)**, one of the simplest devices aiding with computation, was invented roughly around 2500 BC. However people used primitive computation helping tools, such as bone ribs, probably almost from the time they started trading. Babylonians in around 2000 BC were already able to solve some forms of **[quadratic equations](quadratic_equation.md)**. After 600 BC the Ancient Greek [philosophy](philosophy.md) starts to develop which would lead to strengthening of rational, [scientific](science.md) thinking and advancement of [logic](logic.md) and [mathematics](math.md). Around 300 BC Euklid wrote his famous *Elements*, a mathematical work that proves theorems from basic [axioms](axiom.md). Around 400 BC **[camera obscura](camera_obscura.md)** was already described in a written text from China where **[gears](gear.md)** also seem to have been invented soon after. Ancient Greeks could communicate over great distances using **Phryctoria**, chains of fire towers placed on mountains that forwarded messages to one another using light. 234 BC Archimedes described the famous [Archimedes screw](archimedes_screw.md) and created an **[algorithm](algorithm.md) for computing the number [pi](pi.md)**. In 2nd century BC the **Antikythera mechanism, the first known [analog](analog.md) computer** is made to predict movement of heavenly bodies. Romans are known to have been great builders, they built many roads and such structures as the Pantheon (126 AD) and aqueducts with the use of their own type of concrete and advanced understanding of physics. diff --git a/lmao.md b/lmao.md index a92f27d..c6c7bac 100644 --- a/lmao.md +++ b/lmao.md @@ -14,6 +14,7 @@ LMAO stands for *laughing my ass off*. - In 2022 a proprietary "[smart](smart.md) home" company Insteon got into financial trouble, shut down its servers and left people without functioning houses. Retards fucking deserved it xD - In the 1985 book *Big Score: The Billion-Dollar Story: The Billion-Dollar Story of Silicon Valley* there is a nice chapter talking about the manufacturing of integrated chips that explains how the process is (or at least used to be) very unpredictable and how it's basically astrology for the managers to try to predict and maximize the yield rates (the percentage of manufactured chips that function correctly). There were companies whose research showed the number of good chips correlated with the phases of the Moon, another one found that chips were destroyed by tiny droplets of piss on the hands of workers who didn't wash their hands and that [women](woman.md) workers during menstruation destroyed more chips because of the increased amount of oil secreted from their hands. - The unexpected assassination of Lord British in Ultima Online in 1997 was pretty funny. +- [Elizabeth Holmes](elizabeth_holmes.md) - In 2019 a [progaming](progaming.md) ("esports") organization Vaevictis tried to make an all-[female](woman.md) League of Legends team, which would be the first such team in the high progaming league. The team quickly failed, it can't even be described how badly they played, of course they didn't even had a hope of gaining a single win, they gained several world records for their failures such as the fastest loss (13 minutes), eventually they got fired from the league xD - { At my Uni a professor told us some guy turned in an assignment program but forgot to remove the debug prints. The fun part was he was using prints such as "my dick has a length X cm" where X was the debug value. So beware of that. ~drummyfish } diff --git a/lrs.md b/lrs.md index 0efd48b..c209a06 100644 --- a/lrs.md +++ b/lrs.md @@ -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). By extension LRS can also stand for *less retarded society*. ## Definition @@ -35,7 +35,7 @@ There are other reason for LRS as well, for example it can be very satisfying an LRS is connected to pretty specific political beliefs, but it's not a requirement to share those beliefs to create LRS or be part of its community. You may believe in whatever you want, as long as you create or support LRS, you are part of this. We just think that it doesn't make logical sense to support LRS and not the politics that justifies it and from which it is derived. This is up to your own reasoning though. -With that said, the politics behind LRS is [anarcho pacifist](anpac.md) [communism](communism.md), but NOT [pseudoleftism](pseudoleftism.md) (i.e. we do not support political correctness, [COC](coc.md)s, [cancel culture](cancel_culture.md), Marxism-Leninism etc.). We do NOT have any leaders or heroes; people are imperfect and giving some more power, louder voices or greater influence creates hierarchy and goes against anarchism, therefore we only follow ideas. We aim for true social (not necessarily physical) equality of everyone, our technology helps everyone equally. We reject anti-equality means such as violence, bullying, [censorship](censorship.md), [governments](government.md) and [capitalism](capitalism.md). We support things such as [universal basic income](ubi.md) and [slow movement](slow_movement.md). +With that said, the politics behind LRS is [anarcho pacifist](anpac.md) [communism](communism.md), but NOT [pseudoleftism](pseudoleftism.md) (i.e. we do not support political correctness, [COC](coc.md)s, [cancel culture](cancel_culture.md), Marxism-Leninism etc.). In out views, goals and means we are similar to the [Venus project](venus_project.md). We do NOT have any leaders or heroes; people are imperfect and giving some more power, louder voices or greater influence creates hierarchy and goes against anarchism, therefore we only follow ideas. We aim for true social (not necessarily physical) equality of everyone, our technology helps everyone equally. We reject anti-equality means such as violence, bullying, [censorship](censorship.md), [governments](government.md) and [capitalism](capitalism.md). We support things such as [universal basic income](ubi.md) and [slow movement](slow_movement.md). We highly prefer peaceful [evolution](evolution.md) to [revolution](revolution.md) as revolutions tend to be violent and have to be [fought](fight_culture.md) -- we do not intend to push any ideas by force but rather to convince enough people to a voluntary change. **We love all living beings**, even those we disagree with and whom we dislike. diff --git a/main.md b/main.md index 15b2573..f39fd5b 100644 --- a/main.md +++ b/main.md @@ -6,7 +6,7 @@ Welcome to [Less Retarded Wiki](lrs_wiki.md), an encyclopedia only I can edit. B { I no longer see any good in this world. This is my last attempt at preserving pure good, I will continue to spread the truth and unconditional love of all life as long as I will be capable of, until the society lynches me for having loved too much. At this point it seems I am alone, this work now exists just for myself in my completely isolated world. But I hope that once perhaps my love will be shared with a reader far away, in space or time, even if I will never know him. This is the only way I can continue living. I wish you happy reading, my dear friend. ~drummyfish } -This is a Wiki for [less retarded software](lrs.md) (LRS) and related topics, mainly those of [politics](politics.md) and [society](society.md), idealization of which LRS should help achieve. LRS Wiki is a new, refreshing wiki without [political correctness](political_correctness.md). +This is a Wiki for [less retarded software](lrs.md) and less retarded society (LRS) and related topics, mainly those of [politics](politics.md) and [society](society.md), idealization of which LRS should help achieve. LRS Wiki is a new, refreshing wiki without [political correctness](political_correctness.md). **We love all living beings. Even you.** We want to create technology that truly and maximally helps you. We do NOT [fight](fight_culture.md) anything. We want to move towards society that's not based on [competition](competition.md) but rather on [collaboration](collaboration.md). @@ -26,7 +26,7 @@ If you're new here, you may want to read answers to [frequently asked questions] ## What Is Less Retarded Software -Well, we're trying to figure this out on this wiki, but it is greatly related to [suckless](suckless.md), [Unix](unix.md), [KISS](kiss.md), [free](free_software.md), selfless and sustainable software created to maximally help all living beings. LRS stands opposed to all [shittiness](shit.md) of so called ["modern"](modern.md) software. For more details see the article about [LRS](lrs.md). +Well, we're trying to figure this out on this wiki, but it is greatly related to [suckless](suckless.md), [Unix](unix.md), [KISS](kiss.md), [free](free_software.md), selfless and sustainable software created to maximally help all living beings. LRS stands opposed to all [shittiness](shit.md) of so called ["modern"](modern.md) software. We pursue heading towards an ideal society such as that of the [Venus project](venus_project.md). For more details see the article about [LRS](lrs.md). ## Are You A Noob? @@ -48,6 +48,7 @@ If you don't know where to start, here are some suggestions. If you're new, the - [antivirus paradox](antivirus_paradox.md) - [public domain](public_domain.md) - [history](history.md) +- [Venus project](venus_project.md) Some more specialized topics you may want to check out are: diff --git a/oop.md b/oop.md index 46b92c3..25fa4dd 100644 --- a/oop.md +++ b/oop.md @@ -16,11 +16,13 @@ Generally OOP programs solve problems by having **[objects](object.md)** that co Now many OO languages use so called **class OOP**. In these we define object [classes](class.md), similarly to defining [data types](data_type.md). A class is a "template" for an object, it defines methods and types of data to hold. Any object we then create is then created based on some class (e.g. we create the object `alice` and `bob` of class `Human`, just as normally we create a variable `x` of type `int`). We say an object is an **instance** of a class, i.e. object is a real manifestation of what a class describes, with specific data etc. +The more "lightweight" type of OOP is called **classless OOP** which is usually based on having so called prototype objects instead of classes. In these languages we can simply create objects without classes and then assign them properties and methods dynamically at runtime. Here instead of creating a `Human` class we rather create a prototype object that serves as a template for other objects. To create specific humans we clone the prototype human and modify the clone. + OOP furthermore comes with some basic principles such as: - **[encapsulation](encapsulation.md)**: Object should NOT be able to access other object's data directly -- they may only use their methods. For example an object shouldn't be able to access the `height` attribute of a `Human` object, it should be able to access it only via methods of that object such as `getHeight`. (This leads to the setter/getter antipattern). - **[polymorphism](polymorphism.md)**: Different objects (e.g. of different classes) may have methods with the same name which behave differently for either object and we may just call that method without caring what kind of object that is (the correct implementation gets chosen at runtime). E.g. objects of both `Human` and `Bomb` classes may have a method `setOnFire`, which with the former will kill the human and with the latter will cause an explosion killing many humans. This is good e.g. in a case when we have an array of [GUI](gui.md) components and want to perform e.g. resize on every one of them: we simply iterate over the whole array and call the method `resize` on each object without caring whether the object is a button, checkbox or a window. -- **[inheritance](inheritance.md)**: In class OOP classes form a hierarchy in which parent classes can have child classes, e.g. a class `LivingBeing` will have `Human` and `Animal` subclasses. Subclasses inherit stuff from the parent class and may add some more. However this leads to other antipatterns such as the [diamond_problem](diamond_problem.md). Inheritance is nowadays regarded as bad even by normies and is being replaced by [composition](composition.md). +- **[inheritance](inheritance.md)**: In class OOP classes form a [hierarchy](hierarchy.md) in which parent classes can have child classes, e.g. a class `LivingBeing` will have `Human` and `Animal` subclasses. Subclasses inherit stuff from the parent class and may add some more. However this leads to other antipatterns such as the [diamond_problem](diamond_problem.md). Inheritance is nowadays regarded as bad even by normies and is being replaced by [composition](composition.md). ## Why It's Shit @@ -36,20 +38,20 @@ OOP furthermore comes with some basic principles such as: - If you want to program in object-oriented way and have a good justification for it, **you don't need an OOP language anyway**, you can emulate all aspects of OOP in simple languages like C. So instead of building the idea into the language itself and dragging it along forever and everywhere, it would be better to have optional OOP libraries. - It generalizes and simplifies programming into a few rules of thumb such as encapsulation, again for the sake of inexperienced noobs. However there are no simple rules for how to program well, good programming requires a huge amount of experience and as in any art, good programmer knows when breaking the general rules is good. OOP doesn't let good programmers do this, it preaches things like "global variables bad" which is just too oversimplified and hurts good programming. -## But Which Paradigm To Use Instead Of OOP? +## So Which Paradigm To Use Instead Of OOP? After many people realized OOP is kind of shit, there has been a boom of "OOP alternatives" such as [functional](functional.md), [traits](traits.md), [agent oriented programming](agent_oriented_programming.md), all kinds of "lightweight" OOP etc etc. Which one to use? In short: NONE, **by default use the [imperative](imperative.md) paradigm** (also called "procedural"). Remember this isn't to say you shouldn't ever apply a different paradigm, but imperative should be the default, most prevalent and suitable one to use in solving most problems. There is nothing new to invent or "beat" OOP. -But why imperative? Why can't we simply improve OOP or come up with something ultra genius to replace it with? Why do you say OOP is bad because it's forced and now you are forcing imperative paradigm? The answer is that the **imperative paradigm is special because it is how computers actually work**, it is not made up but rather it's the **natural low level paradigm with minimum [abstraction](abstraction.md) that reflects the underlying nature of computers**. This makes it special among all other paradigms because: +But why imperative? Why can't we simply improve OOP or come up with something ultra genius to replace it with? Why do we say OOP is bad because it's forced and now we are forcing imperative paradigm? The answer is that the **imperative paradigm is special because it is how computers actually work**, it is not made up but rather it's the **natural low level paradigm with minimum [abstraction](abstraction.md) that reflects the underlying nature of computers**. You may say this is just bullshit arbitrary rationalization but no, these properties makes procedural paradigm special among all other paradigms because: - Its implementation is simple and [suckless](suckless.md)/[LRS](lrs.md) because it maps nicely and naturally to the underlying hardware -- basically commands in a language simply translate to one or more instructions. This makes construction of compilers easy. - It's predictable and efficient, i.e. a programmer writing imperative code can see quite clearly how what he's writing will translate to the assembly instructions. This makes it possible to write highly efficient code, unlike high level paradigms that perform huge amounts of [magic](magic.md) for translating foreign concepts to machine instructions -- and of course this magic may differ between compilers, i.e. what's efficient code in one compiler may be inefficient in another (similar situation arose e.g. in the world of [OpenGL](opengl.md) where driver implementation started to play a huge role and which led to the creation of a more low level API [Vulkan](vulkan.md)). - It doesn't force high amounts of unnecessary high level abstraction. This means we MAY use any abstraction, even OOP, if we currently need it, e.g. via a [library](library.md), but we aren't FORCED to use a weird high level concepts on problems that can't be described easily in terms of those concepts. That is if you're solving a non-OOP problem with OOP, you waste effort on translating that problem to OOP and the compiler then wastes another effort on un-OOPing this to translate this to instructions. With imperative paradigm this can't happen because you're basically writing instructions which has to happen either way. -- It is generally true that the higher the abstraction, the smaller its scope should be, so the default abstraction (paradigm) should be low level. This works e.g. in science: psychology is a high level abstraction but can only be applied to study human behavior, while quantum physics is a low level abstraction which applies to the whole universe. +- It is generally true that the higher the abstraction, the smaller its scope of application should be, so the default abstraction (paradigm) should be low level. This works e.g. in science: psychology is a high level abstraction but can only be applied to study human behavior, while quantum physics is a low level abstraction which applies to the whole universe. -Once computers start fundamentally working on a different paradigm, e.g. functional, we may switch to that paradigm as the default, but until then imperative is the way to go. +Once computers start fundamentally working on a different paradigm, e.g. functional -- which BTW might happen with new types of computers such as [quantum](quantum.md) ones -- we may switch to that paradigm as the default, but until then imperative is the way to go. ## History diff --git a/programming_tips.md b/programming_tips.md index 46e8a13..080d29b 100644 --- a/programming_tips.md +++ b/programming_tips.md @@ -4,4 +4,4 @@ This is a place for sharing some practical programming tips. - **add by small steps**: When adding features/functionality etc. into your code, do it by very small steps and test after each step. Do NOT add multiple things at once. If you add 3 features at once and then find out the program doesn't work, you will have an extremely hard time finding out the bug because it may be in feature 1, feature 2, feature 3 or ANY COMBINATION of them, so you may very well never find the bug. If you instead test after adding each step, you find potential bugs immediately which will make fixing them very quick and easy. - **no indentation for temporary code**: Tiny "workflow" tip: when adding new code, keep it unindented so that you know it's the newly added code and can delete it at any time. Only when you test the added code, indent it correctly to incorporate it as the final code. Of course, this fails in languages where indentation matters ([Python](python.md) cough cough) but similar effects can be achieved e.g. by adding many empty lines in front of/after the temporary code. -- **comments/preprocessor to quickly hide code**: It is a basic trick to comment out lines of code we want to temporarily disable. However preprocessor may work even better, e.g. in C if you want to be switching between two parts of code, instead of constantly commenting one part and uncommenting the other just use `#if 0` and `#else` directives around the two parts. You can switch between them by just changing 0 to 1 and back. +- **comments/preprocessor to quickly hide code**: It is a basic trick to comment out lines of code we want to temporarily disable. However preprocessor may work even better, e.g. in C if you want to be switching between two parts of code, instead of constantly commenting one part and uncommenting the other just use `#if 0` and `#else` directives around the two parts. You can switch between them by just changing 0 to 1 and back. This can also disable parts of code that already contain multiline comments (unlike a comment as nested multiline comments aren't allowed). diff --git a/race.md b/race.md index cd2b775..10d9b5b 100644 --- a/race.md +++ b/race.md @@ -1,9 +1,9 @@ # Race -{ Remember that racism, i.e. hatred and oppression of a race as a whole is wrong, as is any other kind of hatred and oppression against living beings. Telling the truth without censorship, using politically incorrect terms and acknowledging differences between people is however not racism in itself, despite what modern propaganda tells you. Keep this in mind when reading this article. ~drummyfish } - Races of people are very large, loosely defined groups of genetically similar (related) people. Races significantly differ by their look and in physical, mental and cultural aspects. This topic is nowadays forbidden to be discussed and researched in "[science](soyence.md)", however there exists a number of older research and some things are just obvious. Theories such as polygenism -- the idea that different races evolved from different pre-humans, i.e. Asians from asian monkeys, Africans from african monkeys etc. -- are forbidden to be supported and they're ridiculed and demonized by mainstream information sources like [Wikipedia](wikipedia.md) who only promote the politically correct "out of Africa" theory. [SJWs](sjw.md) reject any idea of a race with the same religious fanaticism with which Christian fanatics opposed Darwin's evolution theory. +{ Remember that racism, i.e. hatred and oppression of a race as a whole is wrong, as is any other kind of hatred and oppression against living beings. Telling the truth without censorship, using politically incorrect terms and acknowledging differences between people is however not racism in itself, despite what modern propaganda tells you. Keep this in mind when reading this article. ~drummyfish } + Race can be told from the shape of the skull or one's [DNA](dna.md), which finds use e.g. in forensics to help solve crimes. It is officially called the *ancestry estimation*. Some idiots say this should be forbidden because it's "racist" lmao. Most generally races are called by the color of their skin, i.e. White (Caucasian), Black (African), Yellow (Asian) and Brown (Indian). But the lines can be drawn in many ways, some go as far as calling different nations separate races (e.g. the Norwegian race, Russian race etc.). diff --git a/tas.md b/tas.md index b98f33c..e0fb2b5 100644 --- a/tas.md +++ b/tas.md @@ -2,7 +2,7 @@ Tool assisted speedrun (TAS, also more generally *tool assisted superplay*) is a category of [game](game.md) [speedruns](speedrun.md) in which help of any tools is allowed, even those that would otherwise be considered [cheating](cheating.md), e.g. scripts, savestates, [aimbots](aimbot.md) or time manipulation, however NOT those that alter the game itself. This makes it possible to create flawless, perfect or near-perfect runs which can serve as a theoretical upper limit for what is achievable by humans -- and of course TAS runs are pretty [fun](fun.md) to watch. The normal, non-TAS runs are called RTA (real time attack). For example the current (2022) RTA world record of Super Mario Bros is 4.58.881 while the TAS record is 4.41.27. -{ Watching a TAS is kind of like watching the [God](god.md) play the game. I personally like to watch Trackmania TASes, some are really unbelievable. Also note that [SAF](saf.md) games have TAS support. ~drummyfish } +{ Watching a TAS is kind of like watching the [God](god.md) play the game. I personally like to watch Trackmania TASes, some are really unbelievable. Elastomania TASes are also pretty fucked up. Also note that [SAF](saf.md) games have TAS support. ~drummyfish } There is a website with videos of game TASes: https://tasvideos.org/. diff --git a/venus_project.md b/venus_project.md new file mode 100644 index 0000000..e97d829 --- /dev/null +++ b/venus_project.md @@ -0,0 +1,54 @@ +# The Venus Project + +The Venus Project is a big project established by [Jacque Fresco](jacque_fresco.md), already running for decades, aiming for a voluntary and rational transition towards an ideal, highly technological and automated [society](society.md) without [money](money.md), scarcity, need for human [work](work.md), social [competition](competition.md), wars and violence, a society in which people would have abundance thanks to so called [resource based economy](resource_based_economy.md), where they would be [collaborating](collaboration.md), loving, respecting the nature, caring for others and free to pursue their true potential. It is similar to the [Zeitgeist Movement](zeitgeist_movement.md). In its views, goals and means the Venus Project is extremely close to [LRS](lrs.md) and we highly support it. + +## Overview + +{ The following is based mainly on my understanding of what I've read in Fresco's book *The Best That Money Can't Buy*. I recommend the book for an overall overview of the project. ~drummyfish } + +The project is a child of [Jacque Fresco](jacque_fresco.md), a [generalist](generalism.md) futurist who sadly died in 2017, who worked on it for many decades with his life partner Roxanne Meadows. It has a center located in Florida and is a [nonprofit](nonprofit.md) organization that performs research, education and prototype technology according to their ideas of a future we should strive for. + +Although the project seems to be avoiding specific political labels (possibly as to avoid historical associations), it is [de facto](de_facto.md) **[anarcho pacifist](anpac.md) [communist](communism.md)** movement (i.e. politically the same as [LRS](lrs.md)). Very nicely it also seems, at least as of 2022, uninfected with the [SJW](sjw.md) [cancer](cancer.md) -- [fight culture](fight_culture.md) and [fascism](fascism.md) goes directly against their goals and Fresco explicitly stated that we have to stop constantly fighting for human rights and rather establish a society with human rights built-in. + +Fresco highly criticizes today's society and just as [us](us.md) says it only tries to cure the symptoms (search the solutions within the current framework and mindset) rather than the root cause of its issues (the system itself). He mainly criticizes the presence of the monetary system and laws -- currently taking the form of [capitalism](capitalism.md) -- which he correctly blames for most today's issues such as artificial scarcity, hunger, wars, [fascism](fascism.md), lack of social security, poverty, [wage slavery](wage_slavery.md), destruction of natural environment, waste, energy crisis, [planned obsolescence](plenned_obsolescence.md), deteriorating psychological health etc. He says with the presence of advanced technology we have this system is highly outdated (for example it forces artificial scarcity because only scarce resources can be sold, unlike for example air) and points out the fact that we have more than enough resources for everyone on Earth and could live in abundance and peace, practicing **[collaboration](collaboration.md) rather than [competition](comptetition.md)**. Therefore he argues that we have to eliminate [money](money.md), barter and markets from the society and change the very basis of whole society, down to our mentality and outdated historical associations (and eventually even language which should be closer to the scientific language). + +He argues to replace the monetary system with so called **[resource based economy](resource_based_economy.md)** (RBE) which should be a pillar of the future society. RBE is called an "economy" but doesn't use any money or barter, it starts by declaring that all Earth's resources are a common heritage of all people on Earth -- it basically means that "everything is available to everyone", i.e. no one can own resources of the Earth, they belong to us all and whoever needs something can take it. RBE would be supported by high automatization and computer monitoring to deliver resources where they are needed. Normies usually can't comprehend that this could work, they say "but then someone will just steal everything", but Fresco correctly argues that with correct and rational use of our technology we can, unlike in the past, already extract as many resources as to satisfy everyone with high abundance; basically we can make for example food as abundant as is air nowadays -- no one will be (and can be) stealing food when there's more free food than anyone can eat, just as stealing air isn't a concern nowadays. + +This should therefore also eliminate the need for complex laws -- when no one is stealing, we don't need laws against stealing etc. Elimination of money and laws will remove the need for [bullshit](bullshit.md) jobs such as lawyers, judges, politicians, marketing guys, bankers etc., freeing more people and getting rid of a lot of unnecessary work and burden of society. + +Fresco supports this by the fact that **human behavior is determined by the environment and upbringing** -- nowadays we have criminality mostly because firstly people are poor, i.e. pushed into illegal activity, and secondly nurtured by the competitive propaganda that teaches them, right from little children, to [fight](fight_culture.md) and compete with others. In a caring society that provides all their needs and raises them in the spirit of collaboration and love towards others criminals will be almost non existent, there will simply be no gain from it. + +The project further seeks to **eliminate the need for human [work](work.md)**: all work, including complex decision making, would be automated. Bullshit jobs would be removed and [maintenance](maintenance.md) reduced to minimum. People would be free to pursue their true interests and could fully and freely devote themselves to it. Again normies usually say something like "BUT THEN NOBODY AIN'T GONNA WORK". Well, firstly that wouldn't be an issue since no human work would even be needed anymore, and secondly Fresco correctly answers by saying that competition and force isn't the only drive of human activity, people are motivated for work and creative activity by other phenomena such as curiosity, sense of accomplishment, boredom, moral values etc., and usually even perform better than when forced to it. [Maslow's Hierarchy of Needs](maslows_hierarchy_of_needs.md) is a well known psychological model that says that once basic needs such as food and shelter are satisfied (which RBE will accomplish), people start voluntarily pursuing higher needs such as art, science and other creative work. People did work and create long before money and jobs existed. The idea of reducing or eliminating human work is already being considered nowadays in the form of [universal basic income](ubi.md) -- experiments have been confirming that it works. + +Venus Project stresses the important of **[science](science.md)** -- their approach is strictly scientific -- technology (such as [AI](ai.md) and sensors all over the Earth) and [rationality](rationality.md) and argues for application of technology to everything as that, in their opinion, will allow RBE and remove the need for human government. **There should be no human governing the society**, decisions will be made mostly by machines in a network of decentralized cities all over the Earth ("technophobes" are informed that even nowadays we put our lives into the hands of machines, e.g. in planes or with pacemakers, and they do better job than humans). Technology should be sustainable, respect the nature and be aligned with it, i.e. not fight against it but rather direct its forces towards good causes. Protection of the environment and integration of natural elements in cities is stressed. Only clean and safe energy would be used. Earth carrying capacity should be respect, i.e. people would avoid overpopulation by voluntary birth control. + +The project is for **absolute freedom of information** -- there would be no [intellectual property](intellectual_property.md) (copyright, patents, ...), no trade secrets, state secrets and probably also no personal secrets, as in a non-competitive society there wouldn't be a danger of abusing personal information. They argue that despite computer sensors being present everywhere, there would simply be no need for surveillance of people as there would be no corporations, no criminality etc. + +It also opposes nationalism, racism and other forms of privilege and inequality. However this shouldn't be forced in the [SJW](sjw.md) style, it should rather come naturally thanks to fixing the the root cause of these issues (removing competition, governments, money etc.). + +Education would play a huge role in the society -- again, it wouldn't be forced on children, they should want to go to school because education would be [fun](fun.md) and give them freedom to pursue their interests. There would be no grades and it should teach high scientific and critical thinking, rational discussion, nonviolent resolution of conflicts, collaboration through group project and collaborative games, love towards nature (e.g. by projects involving growing plants) etc. [Generalism](generalism.md) would be preferred before hyper [specialization](specialization.md) (which we see nowadays). + +Fresco also addresses the fear of some people of people becoming too uniform and losing individuality -- he stresses that individuality would be focused on, uniformity would only lie in common goals and caring for all humans and nature. Unlike in current society, each human would have the freedom to pursue his true interests and goals. + +The project claims it has years of research and seems to have a great number of specific ideas for what the technology might look like, how we would harness energy, travel etc. There are many 3D visualizations. Fresco claims that in the new society everyone would have a higher living standard than the rich have nowadays. + +The transition towards this society should be **peaceful and evolutionary, NOT revolutionary**. It has to be voluntary and rational. The initial stage -- building the first center with the project ideas in mind -- has already been completed in Florida. Raising funds and educating the public should continue, then more cities in the spirit of the project should start to appear, interconnect and prove the ideas in practice. Then slowly the new cities and ideas would start to replace our current system. + +## Comparison With LRS + +We, [LRS](lrs.md), highly support and agree with the Venus Project, in its analysis of current society, goals and means of achieving it. At least as of 2022, we can't know if any single project will become corrupt in the future (e.g. with [SJWs](sjw.md)). We may still disagree on some details, focus a bit more on different areas etc. Here are a few points about that. + +Venus Project seems to only focus on humans, unlike LRS which is based on the love of all life, i.e. also animals, possibly even alien life etc. Venus Project mentions that in the future there would possibly be fish farms -- for us this seems unacceptable as we advocate [vegetarianism](vegetarianism.md), even the lives of fish are precious to us. In a highly advanced society artificial meat (which we accept) would probably be available and replace meat from any living animals so we would eventually align with Venus Project, but the human-centeredness of Venus Project is still there. + +It may seem we also focus on simplicity of technology (e.g. [sucklessness](suckless.md)) while Venus Project seems to advocate [bloat](bloat.md) and overapplication of technology. This may not be such an issue because a truly good technology that Venus Project advocates should converge towards simplicity naturally thanks to minimizing maintenance, maximizing safety (minimizing dependencies), removal of bullshit features etc. In other word even hi-tech advocated by Venus Project can be done in a suckless way, for example the automation would work on top of [Unix](unix_philosophy.md) operating systems. Still the future from LRS point of view may look less hi-tech, we might prefer simple buttons to voice recognition and so on :-) + +Also the project doesn't seem to practice [free culture](free_culture.md) and [free software](free_software.md), even though of course it would implement them in their society -- it kind of makes sense as they seem to be trying to be above current movements, they simply think we should focus beyond them. We might disagree and say that even looking into the far future we should still keep an eye on the now, education about free culture can greatly contribute to education about the advantages of information freedom etc. Furthermore they are selling some videos on their site, which we don't really like but the project justifies it as raising funds for their operation. To their credit they have many gratis videos and educational material, even the books can be found as "free download". Another criticism comes towards the materials themselves which are sometimes a bit unprofessional which is a shame (e.g. the book has many typos and is not so readable). Also there seems to be a bit of personality cult around Jacque and Roxanne, their faces are all over the place and even though they seem like really great people and even though it may simply be due to the lack of other "strong personalities", this makes the movement look like a religious cult to some critics. Nevertheless this changes nothing about the ideas the project presents, which we support. + +## History + +TODO + +## See Also + +- [LRS](lrs.md) +- [Zeitgeist Movement](zeitgeist_movement.md) \ No newline at end of file diff --git a/watchdog.md b/watchdog.md index bd0d0f4..9555ac7 100644 --- a/watchdog.md +++ b/watchdog.md @@ -2,7 +2,7 @@ Watchdog is a special [timer](timer.md) that serves as a safety mechanism for detecting malfunction of computer programs at [run time](run_time.md) by requiring programs to periodically reset the timer. -Basically watchdog keeps counting up and a correctly behaving program is supposed to periodically reset this count ("feed the dog") -- if the reset doesn't happen for a longer period, the watchdog counts up to a high value and alerts that something's wrong ("the dog starts barking"), e.g. with an [interrupt](interrupt.md) or a [signal](signal.md). This can mean for example that the program has become stuck in an [infinite loop](infinite_loop.md) or that its instructions were corrupted and the program control jumped to some unintended area of RAM and is doing crazy [shit](shit.md). This is usually handled by resetting the system so as to prevent possible damage by the program gone insane, also [logs](log.md) can be made etc. Watchdogs are very often used in [embedded systems](embedded.md). [Operating systems](os.md) may also use them to detect nonresponsive [processes](process.md). +Basically watchdog keeps counting up and a correctly behaving program is supposed to periodically reset this count ("kick" or "feed the dog") -- if the reset doesn't happen for a longer period, the watchdog counts up to a high value and alerts that something's wrong ("the dog starts barking"), e.g. with an [interrupt](interrupt.md) or a [signal](signal.md). This can mean for example that the program has become stuck in an [infinite loop](infinite_loop.md) or that its instructions were corrupted and the program control jumped to some unintended area of RAM and is doing crazy [shit](shit.md). This is usually handled by resetting the system so as to prevent possible damage by the program gone insane, also [logs](log.md) can be made etc. Watchdogs are very often used in [embedded systems](embedded.md). [Operating systems](os.md) may also use them to detect nonresponsive [processes](process.md). Watchdog is similar to the dead man's switch used e.g. in trains where the operator is required to periodically push a button otherwise the train will automatically activate brakes as the operator is probably sleeping or dead.