master
Miloslav Ciz 2 years ago
parent 630e25d688
commit 45660be906

@ -1,6 +1,6 @@
# Anarchism
Anarchism is a [socialist](socialism.md) political philosophy rejecting any social hierarchy and oppression. **Anarchism doesn't mean without rules, but without rulers**; despite popular misconceptions anarchism is not [chaos](chaos.md) -- on the contrary, it strives for a stable, ideal society of equal people that live in peace. The symbols of anarchism include the letter A in a circle and a black flag that for different branches of anarchism is diagonally split from bottom left to top right and the top part is filled with a color specific for that branch.
Anarchism is a [socialist](socialism.md) political philosophy rejecting any social hierarchy and oppression. **Anarchism doesn't mean without rules, but without rulers**; despite popular misconceptions anarchism is not [chaos](chaos.md) -- on the contrary, it strives for a stable, ideal society of equal people that live in peace. It means order without power. The symbols of anarchism include the letter A in a circle and a black flag that for different branches of anarchism is diagonally split from bottom left to top right and the top part is filled with a color specific for that branch.
Most things about anarchism are explained in the text *An Anarchist FAQ*, which is [free licensed](free_culture.md) and can be accessed e.g. at https://theanarchistlibrary.org/library/the-anarchist-faq-editorial-collective-an-anarchist-faq-full.

@ -15,7 +15,7 @@ See [WTF](wtf.md).
### How does LRS differ from [suckless](suckless.md), [KISS](kiss.md) and similar types of software?
Technically these sets largely overlap and LRS is sometimes just a slightly different angle of looking at the same things. I have invented LRS as my own take on suckless software -- as I cannot speak on behalf of the whole suckless community, I have created my own "fork" and simply set my own definitions without worrying about misinterpreting and misquoting someone else. However, LRS does have its specific ideas and areas of focus. The main point is that **LRS is derived from an unconditional love of all life** rather than some shallow idea such as "[productivity](productivity_cult.md)". In practice this leads to such things as a high stress put on [public domain](public_domain.md) and legal safety, altruism, anti-capitalism, accepting software such as games as desirable type of software, NOT subscribing to the [productivity cult](productivity_cult.md), seeing [privacy](privacy.md) as ultimately undesirable etc. While suckless is apolitical and its scope is mostly limited to software, LRS speaks about the whole society.
Sometimes these sets may greatly overlap and LRS is sometimes just a slightly different angle of looking at the same things. I have invented LRS as my own take on suckless software and then expanded its scope to encompass not just technology but the whole society -- as I cannot speak on behalf of the whole suckless community, I have created my own "fork" and simply set my own definitions without worrying about misinterpreting and misquoting someone else. LRS advocates very similar technology to that advocated by suckless, but it furthermore has its specific ideas and areas of focus. The main point is that **LRS is derived from an unconditional love of all life** rather than some shallow idea such as "[productivity](productivity_cult.md)". In practice this leads to such things as a high stress put on [public domain](public_domain.md) and legal safety, [altruism](altruism.md), selflessness, anti-[capitalism](capitalism.md), accepting software such as [games](game.md) as desirable type of software, NOT subscribing to the [productivity cult](productivity_cult.md), seeing [privacy](privacy.md) as ultimately undesirable etc. While suckless is apolitical and its scope is mostly limited to software, LRS speaks not just about technology but about the whole society -- there are two main parts of LRS: [less retarded software](lrs.md) and [less retarded society](less_retarded_society.md).
### Why this obsession with extreme simplicity? Is it because you're too stupid to understand complex stuff?

@ -1,31 +1,35 @@
# Free Software
Free (as in freedom) software is a type of [software](software.md) that's respecting its users' freedom, generally by availability of its source code and by a [license](license.md) that allows anyone to use, study, modify and share the software. It stands opposed to the [proprietary software](proprietary_software.md). Free software is not to be confused with [freeware](freeware.md) ("gratis", software available for free); although free software is always available for free thanks to its definition, zero price is not its goal. The goal is freedom.
Free (as in freedom) software is a type of ethical [software](software.md) that's respecting its users' freedom and preventing their abuse, generally by availability of its source code AND by a [license](license.md) that allows anyone to use, study, modify and share the software. Free software is NOT equal to software whose source code is available or software that is offered for zero price, the basic rights to the software are the key attribute that has to be present. Free software stands opposed to [proprietary software](proprietary_software.md) -- the kind of abusive, closed software that [capitalism](capitalism.md) produces by default. Free software is not to be confused with [freeware](freeware.md) ("gratis", software available for free); although free software is always available for free thanks to its definition, zero price is not its goal. The goal is freedom.
Free software is also known as *free as in freedom* or *free as in speech* software. It is sometimes equated with [open source](open_source.md), even though open source is fundamentally different, or neutrally labelled FOSS (free and open-source software). Software that is gratis is sometimes called *free as in beer*.
Free software is also known as *free as in freedom*, *free as in speech* software or *libre* software. It is sometimes equated with [open source](open_source.md), even though open source is fundamentally different ([evil](evil.md)), or neutrally labelled FOSS or FLOSS (free/libre and open-source software). Software that is gratis (freeware) is sometimes called *free as in beer*.
[Richard Stallman](rms.md), the inventor of the concept and the term "free software", says free software is about ensuring the freedom of computer users, i.e. people truly owning their tools -- he points out that unless people have complete control over their tools, they don't truly own them and will instead become controlled and abused by the makers (true owners) of those tools, which in [capitalism](capitalism.md) are [corporations](corporation.md). Richard Stallman stressed that **there is no such thing as partially free software** -- it takes only a single line of code to take away the user's freedom and therefore if software is to be free, it has to be free as a whole. This is in direct contrast with [open source](open_source.md) which happily tolerates for example [Windows](windows.md) only programs and accepts them as "open source", even though such a program cannot be run without the underlying proprietary code of the platform.
[Richard Stallman](rms.md), the inventor of the concept and the term "free software", says free software is about ensuring the freedom of computer users, i.e. people truly owning their tools -- he points out that unless people have complete control over their tools, they don't truly own them and will instead become controlled and abused by the makers (true owners) of those tools, which in [capitalism](capitalism.md) are [corporations](corporation.md). Richard Stallman stressed that **there is no such thing as partially free software** -- it takes only a single line of code to take away the user's freedom and therefore if software is to be free, it has to be free as a whole. This is in direct contrast with [open source](open_source.md) which happily tolerates for example [Windows](windows.md) only programs and accepts them as "open source", even though such a program cannot be run without the underlying proprietary code of the platform. It is therefore important to support free software rather than the business spoiled open source.
**Is free software [communism](communism.md)?** This is a question often debated by [Americans](usa.md) who have a panic phobia of anything resembling ideas of sharing and giving away for free. The answer is: yes and no. No as in it's not [Marxism](marxism.md), the kind of [evil](evil.md) pseudocommunism that plagued Europe not a long time long ago -- that was a hugely complex, twisted violent ideology encompassing whole society which furthermore betrayed many basic ideas of equality and so on. Compared to this free software is just a simple idea of not applying intellectual property to software, and this idea may well function under some form of early capitalism. But on the other hand yes, free software is communism in its general form that simply states that sharing is good, it is communism as much e.g. charity or teaching a kid to share toys with its siblings.
**Is free software [communism](communism.md)?** This is a question often debated by [Americans](usa.md) who have a panic phobia of anything resembling ideas of sharing and giving away for free. The answer is: yes and no. No as in it's not [Marxism](marxism.md), the kind of [evil](evil.md) pseudocommunism that plagued the world not a long time long ago -- that was a hugely complex, twisted violent ideology encompassing whole society which furthermore betrayed many basic ideas of equality and so on. Compared to this free software is just a simple idea of not applying intellectual property to software, and this idea may well function under some form of early capitalism. But on the other hand yes, free software is communism in its general form that simply states that sharing is good, it is communism as much e.g. teaching a kid to share toys with its siblings.
# Definition
Free software was originally defined by [Richard Stallman](rms.md) for his [GNU](gnu.md) project. The definition was subsequently adopted and adjusted by other groups such as [Debian](debian.md) and so nowadays there isn't just one definition, even though the GNU definition is usually implicitly supposed. However, all of these definition are very similar and are basically variations and subsets of the original one. The GNU definition of free software is paraphrased as follows:
Software is considered free if all its users have the rights to:
Software is considered free if all its users have the legal and [de facto](de_facto.md) rights to:
0. Use the software for any purpose.
1. Study the software. For this source code of the program has to be available.
2. Share the software with anyone.
3. Modify the software. This modified version can also be shared with anyone.
3. Modify the software. For this source code of the program has to be available. This modified version can also be shared with anyone.
Note that as free software cares about real freedom, the word "right" here is seen as meaning a [de facto](de_facto.md) right, i.e. NOT just a legal right -- legal rights (a free [license](license.md)) are required but if there appears a non-legal obstacle to those freedoms, free software communities will address them. Again, open source differs here by just focusing on legality.
To make it clear, freedom 0 (use for any purpose) covers ANY use, even commercial use or use deemed unethical by society of the software creator. Some people try to restrict this freedom, e.g. by prohibiting use for military purposes or prohibiting use by "fascists", which makes the software NOT free anymore. NEVER DO THIS. The reasoning behind freedom 0 is the same as that behind [free speech](free_speech.md): allowing any use doesn't imply endorsing or supporting any use, it simply means that we refuse to engage in certain kinds of oppression our of principle. Trying to mess with freedom 0 would be similar to e.g. prohibiting [science](science.md) on the ground of the fact that scientific results can be used in unethical ways -- we simply don't do this. We try to prevent unethical behavior in other ways than prohibiting basic rights.
[Source code](source_code.md) here means the preferred form in which software is modified, i.e. things such as [obfuscated](obfuscation.md) source code don't count as true source code.
The developers of Debian operating system have created their own guidelines (Debian Free Software Guidelines) which respect these points but are worded in more complex terms and further require e.g. non-functional data to be available under free terms as well ([source](https://people.debian.org/~bap/dfsg-faq.html#not_just_code)) which GNU doesn't ([source](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html#non-functional-data)). The definition of open source is yet more complex even though in practice legally free software is eventually also open source and vice versa.
# History
Free software was invented by the great [Richard Stallman](rms.md) in the 1980s. His free software movement inspired later movements such as the [free culture](free_culture.md) movement and the evil [open-source](open_source.md) movement.
Free software was invented by [Richard Stallman](rms.md) in the 1980s. His free software movement inspired later movements such as the [free culture](free_culture.md) movement and the evil [open-source](open_source.md) movement.
# See Also

@ -32,4 +32,8 @@ This is a summary of some main guidelines on how an LRS supporter should behave
- **Do NOT worship or create heroes**. It is another common mistake to for example call [Richard Stallman](rms.md) a "hero of free software" and to even worship him as a celebrity. The concept of a hero is [harmful](harmful.md), rightist concept that is connected to war mentality, it goes against [anarchist](anarchism.md) principles, it creates social hierarchy and given some people a power to deceive. People are imperfect and make mistake -- only ideas can be perfect. Respect people but don't make anyone your moral compass, you should rather subscribe to specific ideas, i.e. rather than worshipping Stallman subscribe to and promote his idea of [free software](free_software.md).
- **Do NOT support pseudoleft ([LGBT](lgbt.md), [feminism](feminism.md), [Antifa](antifa.md), [soyence](soyence.md) ...)**, don't become [type A fail](fail_ab.md). Of course you should equally reject [rightism](right.md), but that goes without saying.
- **Do NOT engage in [political correctness](political_correctness.md)**. Remember that staying silent often means supporting status quo, so the more deceit you see in society, the more you should try to not stay silent and the more you should try to tell the truth.
- **Reject harmful things like [proprietary](proprietary.md) software, [capitalism](capitalism.md), [copyright](copyright.md), [bloat](bloat.md), [work](work.md) etc.** Use and promote the ethical equivalents, i.e. [free software](free_software.md), [free culture](free_culture.md), frugality, [anarchism](anarchism.md) etc.
- **Reject harmful things like [proprietary](proprietary.md) software, [capitalism](capitalism.md), [copyright](copyright.md), [bloat](bloat.md), [work](work.md) etc.** Use and promote the ethical equivalents, i.e. [free software](free_software.md), [free culture](free_culture.md), frugality, [anarchism](anarchism.md) etc.
## How To Live
TODO

@ -2,7 +2,7 @@
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](less_retarded_society.md)*, a kind of ideal society which we aim for with our technology.
By extension LRS can also stand for *[less retarded society](less_retarded_society.md)*, a kind of ideal society which we aim to achieve with our technology.
## Definition
@ -33,16 +33,6 @@ There are other reason for LRS as well, for example it can be very satisfying an
{ Here and there I get a nice email from someone who likes something I've created, someone who just needed a simple thing and found that I've made it, that alone is worth the effort I think. ~drummyfish. }
## Politics
*See also [less retarded society](less_retarded_society.md).*
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.). 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.
## Specific Software
The "official" LRS programs and libraries have so far been solely developed by [drummyfish](drummyfish.md), the "founder" of LRS. These include:
@ -98,4 +88,12 @@ Other technology than software may also be aligned with LRS principles, e.g.:
- **[Knives](knife.md)** are pretty less retarded.
- [rocks](rock.md)
- [chess](chess.md)
- street [football](football.md)
- street [football](football.md)
## Politics And Society
*See also [less retarded society](less_retarded_society.md) and [FAQ](faq.md).*
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 the community centered around LRS technology. 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, but it's up to you to verify this.
With that said, the politics behind LRS is an [idealist](idealism.md) [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 our views, goals and means we are similar to the [Venus project](venus_project.md), even though we may not agree completely on all points. We are not officially associated with any other project or community. **We [love](love.md) all [living beings](life.md)** (not just people), even those who cause us pain or hate us, we believe love is the only way towards a good society -- in this we follow similar philosophy of nonviolence that was preached by [Jesus](jesus.md) but without necessarily being religious, we simply think it is the only correct way of a mature society to behave nonviolently and lovingly towards everyone. 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 [competition](competition.md) as a basis of society and anti-equality means such as violence, [fights](fight_culture.md), bullying ([cancelling](cancel_culture.md) etc.), [censorship](censorship.md) ([political correctness](political_correctness.md) etc.), [governments](government.md) and [capitalism](capitalism.md). We support things such as [universal basic income](ubi.md) (as long as there exist money which we are however ultimately against), [veganism](veganism.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.

@ -1,16 +1,16 @@
# Luke Smith
Luke Smith is an Internet tech mini-celebrity known for making videos about [suckless](suckless.org) software, independent living in the woods and here and there about historical, political, linguist and religious topics. His look has been described as the *default Runescape character*: he is bald, over 30 years old and lives in a rural location in Florida (exact coordinates have been doxxed but legally can't be shared here, but let's just say the road around his house bears his name). He has a podcast called *Not Related!* in which he discusses things such as alternative historical theories -- actually a great podcast. He has a minimalist 90s style website https://lukesmith.xyz/ and his own [peertube](peertube.md) instace where his videos can be watched if one doesn't want to watch them on [YouTube](youtube.md). He is the author of [LARBS](larbs.md) and minimalist recipe site https://based.cooking/. Unfortunately he's a [crypto](cryptocurrency.md) and [brave](brave.md) browser shill.
Luke Smith is an Internet tech mini-celebrity known for making videos about [suckless](suckless.org) software, independent living in the woods and here and there about historical, political, linguist and religious topics. His look has been described as the *default Runescape character*: he is bald, over 30 years old and lives in a rural location in Florida (exact coordinates have been doxxed but legally can't be shared here, but let's just say the road around his house bears his name). He has a podcast called *Not Related!* in which he discusses things such as alternative historical theories -- actually a great podcast. He has a minimalist 90s style website https://lukesmith.xyz/ and his own [peertube](peertube.md) instace where his videos can be watched if one doesn't want to watch them on [YouTube](youtube.md). He is the author of [LARBS](larbs.md) and minimalist recipe site https://based.cooking/ (recently he spoiled the site with some shitty web framework lol).
He's kind of based when it comes to many things but also retarded to a great degree other times, for example he used to shill the [Brave](brave.md) browser pretty hard before he realized it was actually a huge scam all along xD He's a crypto fascist, also probably a Nazi. In July 2022 he started promoting some shitty [bloated](bloat.md) [modern](modern.md) tranny website generator that literally uses [JavaScript](js.md)? WHAT THE FUCK. 100% he's getting paid for that promotion. He seems to be going to huge shit. It sadly seems like he's just another [capitalist](capitalism.md), so we recommend slowly unsubscribing from this guy's feed.
He's kind of based when it comes to many things like identifying the harmfulness of [bloat](bloat.md) and [soyence](soyence.md), but also retarded to a great degree other times, for example he used to shill the [Brave](brave.md) browser pretty hard before he realized it was actually a huge scam all along xD He's a crypto fascist, also probably a Nazi. In July 2022 he started promoting some shitty [bloated](bloat.md) [modern](modern.md) [tranny](tranny_software.md) website generator that literally uses [JavaScript](js.md)? WHAT THE FUCK. 100% he's getting paid for that promotion. Also he's shilling [crypto](crypto.md), he's anti-[porn](porn.md), anti-[games](game.md) and leans towards medieval ideas such as imagination and boredom being [harmful](harmful.md) because it makes you search for porn etc. He seems to be going to huge [shit](shit.md). Though he makes [suckless](suckless.md) more popular, he isn't a programmer (shell scripting isn't programming) and sometimes doesn't seem to understand the ideas in depth, he's more of a typical [productivity](productivity_cult.md) retard. It sadly seems like he's just another [capitalist](capitalism.md), so we recommend slowly unsubscribing from this guy's feed.
Luke is a [type B fail](fail_ab.md).
His videos consist of normie-friendly tutorials on suckless software, rants, independent living, live-streams and podcasts. The typical Luke Smith video is him walking somewhere in the middle of a jungle talking about how retarded modern technology is and how everyone should move to the woods.
Luke studies PhD in linguistics but is very critical of academia -- he "speaks" several languages (including [Latin](latin.md)), though many of them to a low level with bad American accent and he can't sometimes even speak English correctly (using phrases such as "the reason is because", "less people" etc.). He is a self described [right-winder](left_right.md) and talks in meme phrases which makes his "content" kind of enjoyable. He despises such things as [soydevry](soydev.md), [bloat](bloat.md), "consoomerism" and [soyence](soyence.md).
Luke studies [PhD](phd.md) in linguistics but is very critical of academia -- he "speaks" several languages (including [Latin](latin.md)), though many of them to a low level with bad American accent and he can't sometimes even speak English correctly (using phrases such as "the reason is because", "less people" etc.). He is a self described [right-winder](left_right.md) and talks in meme phrases which makes his "content" kind of enjoyable. He despises such things as [soydevry](soydev.md), [bloat](bloat.md), "consoomerism" and [soyence](soyence.md).
## See Also
- [Mental Outlaw](mental_outlaw.md): Luke's black clone
- [Mental Outlaw](mental_outlaw.md): Luke's black brother
- [Distro Tube](distro_tube.md)

@ -2,7 +2,7 @@
*Love everyone, help [selflessly](selflessness.md).*
Welcome to [Less Retarded Wiki](lrs_wiki.md), an encyclopedia only I can edit. But you can [fork](fork.md) it, it is [public domain](public_domain.md) under [CC0](cc0.md) (see [wiki rights](wiki_rights.md)) :) Holy [shit](shit.md), I'm gonna get [cancelled](cancel_culture.md) hard as soon as [SJWs](sjw.md) find out about this. Until then, let's enjoy the ride. THERE'S NO [MODERATION](moderation.md), I can do whatever I want here lol. I love this. INB4 "[hate speech](hate_speech.md)" website ([LMAO](lmao.md) [codeberg](codeberg.md) has already banned it).
Welcome to [Less Retarded Wiki](lrs_wiki.md), an encyclopedia only I can edit. But you can [fork](fork.md) it, it is [public domain](public_domain.md) under [CC0](cc0.md) (see [wiki rights](wiki_rights.md)) :) Holy [shit](shit.md), I'm gonna get [cancelled](cancel_culture.md) hard as soon as [SJWs](sjw.md) find out about this. Until then, let's enjoy the ride. THERE'S NO [MODERATION](moderation.md), I can do whatever I want here lol. I love this. INB4 "[hate speech](hate_speech.md)" website ([LMAO](lmao.md) [codeberg](codeberg.md) has already banned it). CONGRATULATIONS, you have discovered the one true, undistorted and unbiased view of the world -- this is not a joke, this wiki contains pure truth and the solution to most of the issues of our society.
{ I no longer see hope, good is practically non existent 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 I feel very alone, this work now exists mostly for myself in my 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](drummyfish.md) }

@ -1,5 +1,5 @@
# Newspeak
Newspeak is a modified form of natural language (e.g. [English](english.md)) twisted for the purpose of thought control of mass population, with [propaganda](propaganda.md) and ideology built in so as to affect thinking of people in a way desired by the rulers of society. It first appeared in George Orwell's 1949 book called [Nineteen Eighty Four](1984.md) and started to become significantly implemented in [real world](irl.md) since about the end of 20th century by the [pseudoleft](pseudoleft.md) and capitalists (i.e. [liberals](liberal.md)). Refusing to use newspeak is labeled [thought crime](thought_crime.md), [hate speech](hate_speech.md) or psychological disorder and punished either officially by government or unofficially by society-approved and state-tolerated lynching (so called [cancelling](cancel_culture.md)).
Newspeak is a modified form of natural language (e.g. [English](english.md)) twisted for the purpose of thought control of mass population, with [propaganda](propaganda.md) and ideology built in so as to affect thinking of people in a ways desired by the rulers of society. Newspeak was first described in the story of George Orwell's 1949 book called [Nineteen Eighty Four](1984.md) and it is now being implemented in the [real world](irl.md), especially since about the end of 20th century, by the [pseudoleft](pseudoleft.md) and capitalists (i.e. [liberals](liberal.md)). Refusing to use newspeak is labeled [thought crime](thought_crime.md), [hate speech](hate_speech.md) or psychological disorder and punished either officially by government or unofficially by society-approved and state-tolerated lynching (so called [cancelling](cancel_culture.md)).
Real world newspeak is characterized by banning certain keywords, for example so called [slurs](slur.md) such as [nigger](nigger.md), [faggot](faggot.md) or [retard](retard.md), as well as inventing [euphemisms](euphemism.md) for [harmful](harmful.md) and oppressive concepts ([copyright](copyright.md) instead of copyrestriction, [moderation](moderation.md) instead of [censorship](censorship.md) etc.), redefining the meanings of existing terms such as [racism](racism.md) (originally hating people of certain race, now anyone who disagrees with mainstream pseudoleft ideology), [homophobia](homophobia.md) (originally hating gay people, now anyone who disagrees with pseudoleft ideology regarding [LGBT](lgbt.md)), [rape](rape.md) (originally sexual violence, now any action taken by man towards a woman) and inventing completely new terms such as [hate speech](hate_speech.md) and [sanism](sanism.md) serving for eliminating ideological opposition and suppression of [free speech](free_speech.md).
Real world newspeak is characterized by banning certain keywords, for example so called [slurs](slur.md) such as [nigger](nigger.md), [faggot](faggot.md) or [retard](retard.md), as well as [political correctness](political_correctness.md) ("gender neutral nouns", replacing "man" with "person" etc.), inventing [euphemisms](euphemism.md) for [harmful](harmful.md) and oppressive concepts ([copyright](copyright.md) instead of copyrestriction, [moderation](moderation.md) instead of [censorship](censorship.md) etc.), redefining the meanings of existing terms such as [racism](racism.md) (originally hating people of certain race, now anyone who disagrees with mainstream pseudoleft ideology), [homophobia](homophobia.md) (originally hating gay people, now anyone who disagrees with pseudoleft ideology regarding [LGBT](lgbt.md)), [rape](rape.md) (originally sexual violence, now any action taken by man towards a woman) and inventing completely new terms such as [hate speech](hate_speech.md) and [sanism](sanism.md) serving for eliminating ideological opposition and suppression of [free speech](free_speech.md).

@ -2,7 +2,7 @@
*Not to be confused with [Niger](niger.md).*
Nigger (also nigga, niBBa, N-word, negro or chimp) is a forbidden word that refers to a member of the black [race](race.md), [SJWs](sjw.md) call it a [politically incorrect](political_correctness.md) "slur". Its counterpart targeted on white people is *cracker*.
Nigger (also nigga, niBBa, N-word, negro or chimp) is a forbidden word that refers to a member of the [black](black.md) [race](race.md), [SJWs](sjw.md) call it a [politically incorrect](political_correctness.md) "slur". Its counterpart targeted on white people is *cracker*.
The word's used in a number of projects, e.g. in [niggercoin](niggercoin.md) [cryptocurrency](crypto.md) or [+NIGGER](plusnigger.md) license modifier that uses this politically incorrect term to prevent corporations from adopting free projects.

@ -0,0 +1,105 @@
# Noise
Noise in general is an undesirable [signal](signal.md) that's mixed in with useful signal and which we usually try to filter out, even though it can also be useful, especially e.g. in [procedural generation](procgen.md). Typical example of noise is flickering or static in video and audio signals, but it can also take a form of e.g. random errors in transferred texts, irrelevant links in web search results or imperfections in measuring of economic data. In measurements we often talk about [signal to noise ratio](snr.md) (SNR) -- the ratio that tells us how much noise there is in our data. While in engineering and scientific measurements noise is almost always something that's burdening us (e.g. [cosmic microwave background](cmb.md), the noise left over from the [Big Bang](big_bang.md), may interfere with our radio communication), in some fields such as [computer graphics](graphics.md) (and other computer [art](art.md)) or [cryptography](cryptography.md) we sometimes try to purposefully generate artificial noise -- e.g. in [procedural generation](procgen.md) noise is used to generate naturally looking terrain, clouds, textures etc.
```
xxxx x x x x xx x xxx x x x
x xxx x x x xxxxxx x
x xxxx x xxxx x xxx xx xxx xx xxx
xxx xxx xx x xxx x
x x x xxx x xxx x x x xxx x
x xxx xx xxxxxx xxx x xx x xx x
xxxxx x x x x x x xxxx xxx x x
xxxx x x x xx xx xx x xx
x xxx xxx x x x xx xx xxx
xx xx xxx x x xxx xxxxx xxx x x
x x xx x xxxx x xx xxx x x x xx xx
xx xx xxx x x xx x xx xx xx
xx xx x x x x xxx xx x xx x
xxx xx xxxx x xx xx xxx x x x xx
xx x xxx x xxx xx x x x x
x x xx x x xxxxxx x x xxx
x xxx x x x x x x xx xxxxxxxx
x xx x x xx x xxxxxxxxx xxx xxx xx
x xxxx xxx x x x xxx xxxxx
xx x x x xxxxxx x xxx xxx
```
*2D binary white noise*
## Artificial Noise
In [computer science](compsci.md), especially e.g. in [computer graphics](graphics.md) or audio generation, we often want to generate artificial noise that looks like real noise, in order to be able to generate data that look like real world data. Noise may serve as a basis (first step, random initial state) for generating something or it may be used to distort or modulate other data, for example when drawing geometrical shapes we may want them to look as if written by hand in which case we want to make them imperfect, add a bit of noise to an otherwise perfect shape a computer would create. Adding noise can help make rendered pictures look more natural, it can help us model human speech that arises from noise created by our vocal cords, it can help AI train itself to filter out real life noise etc.
Normally we don't want our noise to be completely [random](randomness.md) but rather **[pseudorandom](pseudorandomness.md)** so that our programs stay [deterministic](determinism.md). Imagine for example we are generating terrain [heightmap](heightmap.md) based on a 2D noise -- if such function was truly random, the terrain in a certain place would be different every time we returned to that place again, but if the noise is pseudorandom ([seeded](seed.md) by the position coordinates), the terrain generated at any given coordinate will be always the same.
There are different types of noise characterized by their properties such as number of dimensions, [frequencies](frequency.md) they contain, [probability distribution](probability.md) of the values they contain etc. Basic division of noises may be this:
- by type/[algorithm](algorithm.md):
- **value noises**: The simplest type of noise, it arises by generating a (pseudo)random value at each node of the spatial grid. Values in between grid nodes are obtained by [interpolation](interpolation.md).
- **gradient noises**: More sophisticated than value noise, rather than a simple value it generates a [gradient](gradient.md) at each grid point. Specific algorithms/types of gradient noise are:
- **[Perlin noise](perlin_noise.md)**: One of the most common and basic gradient noises, which however suffers from some [artifacts](artifact.md).
- **[simplex noise](simplex_noise.md)**: A more sophisticated noise than Perlin noise, improves some of its properties, works with a [simplex](simplex.md) lattice of points rather than orthogonal grid.
- ...
- **spectral noises**: Noises that are generated in the [spectral domain](spectrum.md) (see [Fourier transform](fourier_transform.md)):
- **[anisotropic noise](anisotropic_noise.md)**: Noise that has a specific orientation, can be used e.g. for water waves that go in one direction.
- ...
- **[convolution](convolution.md) noises**: Noises that use [convolution](convolution.md) of given kernel with some simpler noise to create a larger texture.
- **[Gabor noise](gabor_noise.md)**
- ...
- other:
- **[Voronoi](voronoi.md) noise**: Noise that looks like a "honeycomb" or structures created by living cells, it is created by generating random point coordinates and then assigning each space point (e.g. each pixel) a [distance](distance.md) to its closest point. Different random [point sampling](point_sampling.md) methods or distance functions can help change the look of the noise. Worley Noise is one type of Voronoi noise.
- Combinations and modifications of standard noises: we may e.g. blend or [modulate](modulation.md) two noise functions to create a new complex type of noise.
- **[midpoint displacement](midpoint_displacement.md)/[diamond square](diamond_square.md)**: Relatively simple [algorithms](algorithm.md) for generating [fractal](fractal.md) heightmaps, working on the principle of repeatedly subdividing a line (or in higher dimensions a square, cube etc.) and (pseudo)randomly displacing the generated point.
- **[wavelet noise](wavelet_noise.md)**: Noise further improving some characteristics of Perlin noise.
- unorthodox noises created e.g. by [cellular automata](cellular_automaton.md), AI etc.
- ...
- by frequencies:
- **[fractal noise](fractal_noise.md)**: Very important type of noise that similarly to [fractals](fractal.md) is composed of differently scaled versions of itself -- this noise looks like (and can be used to simulate) clouds, mountains and other structures found in nature. It is created by taking some basic noise function (e.g. Perlin noise or simplex noise) and overlaying (adding) multiple versions of it that differ by frequency and amplitude (just as e.g. mountains are composed of big and tall hills that have on them progressively smaller and less tall hills up to the microscopic level). These different individual layers are called octaves: *i*th octave has the amplitude *p^i* (where *p* is a constant from 0 to 1 called a persistence) and frequency of *2^i*.
- **[white noise](white_noise)**: Noise containing "same amount of all frequencies" -- this is basically the simplest kind of noise we get when we generate a sequence of independent ([uncorrelated](correlation.md)) (pseudo)random numbers with uniform probability distribution.
- **[pink noise](pink_noise.md)**: Energy density of frequencies decreases proportionally with 1/frequency, i.e. it basically has strong high frequencies and weak low frequencies.
- **[blue noise](blue_noise.md)**
- ...
- by other properties:
- **symmetry/invariance** and other function properties: A noise may or may not be invariant against various operations such as shifting, rotation or scaling, i.e. when we apply this operation it will look basically the same. For example Perlin noise outputs value 0 at each grid point and is non-zero only between the grid point, so it is NOT invariant towards shifting. Noise functions are just mathematical [functions](function.md), so we may examine noises just as we examine functions (they may be continuous, bounded etc.).
- **explicit vs implicit**: Values of an implicit noise can relatively simply and quickly be computed at any given point in space whereas explicit noises require processing as a whole and therefore storage of the whole generated noise in memory.
- **tiling**: Similarly to [procedural](procgen.md) [textures](texture.md), a noise generated by an algorithm may be tiling, i.e. not having visible seams when repeated in certain dimensions.
- ...
```
..----..
.'' ''.
..'' '. .....
'''' ' ..'' '''--..
'. .'' ''..
'. ..' '''
''...''
octave1
+
.... ...
..--''' ''. ..'''... .'' ''-.. ..--''
''---''' '''''---...-'' ''''
octave2
+
''-....----'''-...-'''-...-'''''''-----...-'''--..-'''-....---'''
octave3
=
..
.'' '.
-' ''.-'-.
... .. ' -'''--...
' '' ' .
'-. -' -.. .. .'
-. -' ' ''
'...-.--''
fractal noise
```
*1D fractal noise composed of 3 octaves*

@ -52,6 +52,7 @@ There are many terms that are very similar and are sometimes used interchangeabl
- **[free software](free_software.md)** vs **[open source](open_source.md)** vs **[public domain](public_domain.md)** vs **[source available](source_available.md)** vs **[freeware](freeware.md)**
- **[geek](geek.md)** vs **[nerd](nerd.md)**
- **[GNU](gnu.md)/Linux** vs **[Linux](linux.md)**
- **[gradient noise](gradient_noise.md)** vs **[value noise](value_noise.md)**
- **[hypothesis](hypothesis.md)** vs **[theory](theory.md)** vs **[conjecture](conjecture.md)**
- **[ID](id.md)** vs **[token](token.md)** vs **[hash](hash.md)** vs **[handle](handle.md)** vs **[identifier](identifier.md)**
- **[infinite](infinity.md)** vs **[arbitrarily large/unbounded](unbounded.md)**

@ -26,14 +26,14 @@ OOP furthermore comes with some basic principles such as:
## Why It's Shit
- OOP is just a bad abstraction for many problems that by their nature aren't object-oriented. OOP is not a [silver bullet](silver_bullet.md), yet it tries to behave as one. **The greatest issue of OOP is that it's trying to solve everything**. You may ask what else to use then? See the section below.
- For simple programs (which most programs should be) OOP is an unnecessarily high and overly complex abstraction.
- Great number of the supposed "features" and design-patterns (setters/getters, singletons, inheritance, ...) turned out to actually be anti-patterns and burdens.
- OOP as any higher abstraction very often comes with overhead, memory footprint and performance loss ([bloat](bloat.md)) as well as more complex [compilers](compiler.md) and language specifications.
- The relatively elegant idea of pure OOP didn't catch up and the practically used OOP languages are abomination hybrids of imperative and OOP paradigms that just take more head space, create friction and unnecessary issues to solve. Sane languages now allow the choice to use OOP fully, partially or avoid it completely, which leads to a two-in-one overcomplication.
- OOP is just a bad abstraction for many problems that by their nature aren't object-oriented. OOP is not a [silver bullet](silver_bullet.md), yet it tries to behave as one. **The greatest issue of OOP is that it's trying to solve everything**. For example it forces the idea that data and [algorithms](algorithm.md) should always come together, but that's simply a stupid statement in general, there is no justification for it, some data is simply data and some algorithms are simply algorithms. You may ask what else to use instead of OOP then -- see the section below.
- For simple programs (which most programs should be) such as many [Unix](unix.md) utilities OOP is simply completely unnecessary.
- Great number of the supposed "features" and [design patterns](design_pattern.md) (setters/getters, singletons, inheritance, ...) turned out to actually be [antipatterns](antipatter.md) and burdens -- this isn't a controversial statement, even OOP proponents usually agree with this.
- OOP as any higher abstraction very often comes with overhead, memory footprint and performance loss ([bloat](bloat.md)) as well as more complex [compilers](compiler.md), language specifications, more [dependencies](dependency.md) etc.
- The relatively elegant idea of pure OOP didn't catch on and the practically used OOP languages are abomination hybrids of imperative and OOP paradigms that just take more [head space](head_space.md), create [friction](friction.md) and unnecessary issues to solve. Sane languages now allow the choice to use OOP fully, partially or avoid it completely, which leads to a two-in-one overcomplication.
- The naive idea of OOP that the real world is composed of nicely defined objects such as `Human`s and `Tree`s also showed to be completely off, we instead see shit like `AbstractIntVisitorShitFactory` etc.
- The idea that OOP would lead to code reusability also completely went to shit, it's simply not the case at all, implementation code of specific classes is typically burdened with internal and external dependencies just like any other bloated code.
- Good programmers don't need OOP because they know how to program -- OOP doesn't invent anything, it is merely a way of trying to **force** good programming mostly on incompetent programmers hired in companies, to prevent them from doing damage. However this of course doesn't work, a shit programmer will always program shit, he will find his way to fuck up despite any obstacles and if you invent obstacles good enough for stopping him from fucking up, you'll also stop him from being able to program something that works well as you tie his hands.
- The idea that OOP would lead to code reusability also completely failed, it's simply not the case at all, implementation code of specific classes is typically burdened with internal and external dependencies just like any other bloated code. OOPer believed that their paradigm would create a world full of reusable [blackboxes](blackbox.md), but that wasn't the case, OOP is neither necessary for blackboxing, nor has the practice shown it would contribute to it -- quite on the contrary, e.g. simple imperative header-only C libraries are much more reusable than those we find in the OOP world.
- Good programmers don't need OOP because they know how to program -- OOP doesn't invent anything, it is merely a way of trying to **force** good programming mostly on incompetent programmers hired in companies, to prevent them from doing damage. However this of course doesn't work, a shit programmer will always program shit, he will find his way to fuck up despite any obstacles and if you invent obstacles good enough for stopping him from fucking up, you'll also stop him from being able to program something that works well as you tie his hands. Yes, good programmers write shit buggy code too, but that's more of a symptom of bad, overcomplicated bloated capitalist design of technology that's just asking for bugs and errors -- here OOP is trying to cure symptoms of an inherently wrong direction, it is not addressing the root cause.
- OOP just mostly repeats what other things like modules already do.
- 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.

@ -1,8 +1,23 @@
# SAF
TODO
SAF is a [LRS](lrs.md) [C](c.md) [library](library.md) for small, very [portable](portability.md) [games](game.md) (and possibly other kinds pf programs); it can also be seen as a [fantasy console](fantasy_console.md). It was made by [drummyfish](drummyfish.md). The repository is available e.g. at https://codeberg.org/drummyfish/SAF. [MicroTD](utd.md) is an example of a LRS game made with SAF, but even more complex games such as [Anarch](anarch.md) have been ported to it.
The repository is available at https://codeberg.org/drummyfish/SAF.
The whole SAF library is implemented in a [single header](single_header.md) file and offers a simple [API](api.md) for programming games, i.e. functions for drawing pixels to the screen, playing sounds, reading buttons, computing the [sine](sin.md) function etc., and it handles boring/annoying issues such as the game main loop. It also has built-in a number of [frontends](frontend.md) that allow compiling a correctly made SAF games to any supported platform among which are [SDL](sdl.md), [SFML](sfml.md), [X11](x11.md), [ncurses](ncurses.md) (terminal), even [open consoles](open_console.md) such as [Pokitto](pokitto.md), [Arduboy](arduboy.md) or [Gamebuino META](gamebuino.md). There is an option to auto-convert a color game to black-and-white only displays. Some PC frontends add emulator-like features such as time manipulation, [pixelart upscaling](pixelart_upscale.md), [TAS](tas.md) support and so on.
Games made with SAF run in 64x64 resolution, with 256 colors ([332 palette](332.md)) and 25 [FPS](fps.md). They can use 7 input buttons (arrows, A, B and C), play 4 different sound effects and use 32 [bytes](byte.md) of persistent memory, e.g. for savegames or highscores. These relatively low specifications are set on purpose so as to help [portability](portability.md), reduce [bloat](bloat.md), frustration and [friction](friction.md). Many times good, entertaining games can be very simple, as is the case e.g. with [Tetris](tetris.md), [chess](chess.md), various [shmups](shmup.md), [roguelikes](roguelike.md) and so on -- these are the kinds of games SAF is ideal for.
```
[] [][][][][]
[][][] [][]
[][] []
[] XX XX[]
[] XXXX []
[][] []
[][][] [][]
[] [][][][][]
```
*SAF logo*
```
microTD

@ -8,7 +8,7 @@ If you contribute, add yourself to [wiki authors](wiki_authors.md)! You can also
1. **Everything is [public domain](public_domain.md)** under [CC0](cc0.md) to which all contributors agree. No one owns what we write here.
2. **No [fair use](fair_use.md)** or even unfrair use. We want this Wiki to be as free as possible and don't thread the fine legal lines. That means you can't directly include anything on this Wiki if it's copyrighted, **even if it's under a free license**. So generally **avoid any copy pasting and rather try to write everything yourself**.
3. **Stay on topic**, this Wiki is **CENSORED**: spam, too much of completely non-related text, shitty things, capitalist propaganda and similar are not to be had here.
3. **No unnecessary [censorship](censorship.md)**. Necessary censorship basically only includes spam, shitty content, [IP](intellectual_property.md)-infected content (content that would make this wiki not be in public domain) and hardcore illegal stuff that would put us in jail. Controversial/incorrect/taboo content etc. is NOT to be censored.
## Style
@ -17,6 +17,7 @@ If you contribute, add yourself to [wiki authors](wiki_authors.md)! You can also
- **Each page shall start with a heading** (which may not correspond to article file name).
- I've finally decided that with certain exceptions headings should be written like this: **Each Word Of A Heading Is Capitalized**. This is for simplicity.
- **Filenames of articles shall use a lowercase snake_case**.
- **Article/file names are to be preferably singular nouns**. I.e. "animal" rather than "animals", "portability" rather than "portable" etc. But there may be exception, e.g. articles that are lists may use plural ("human" is about human as species, "people" is a list of existing humans), non-nous MAY be used if nouns would be too long/awkward (e.g. "weird" instead of "weirdness"). Use your brain.
- **This isn't [Wikipedia](wikipedia.md)**, memes, opinions and uncensored truths are allowed (and welcome).
- The style of this wiki is inspired by the classic hacker culture works such as the [WikiWikiWeb](wikiwikiweb.md) and [Jargon File](jargon_file.md).
- **Writing style should be relaxed and in many parts informal**. Formality is used where it is useful (e.g. definitions), most of other text can benefit from being written as a tech conversation among friends.

@ -1,6 +1,6 @@
# Wikidata
Wikidata is a large collaborative project (a sister project of [Wikipedia](wikipedia.md), hosted by Wikimedia Foundation) for creating a huge noncommercial [public domain](public_domain.md) [database](database.md) containing information basically about everything. It records data in a form of so called [knowledge graph](knowledge_graph.md), i.e. it connects items and their properties with statements such as "Earth:location:inner Solar System", creating a mathematical structure called a [graph](graph.md). The whole database is available to anyone for any purpose without any conditions, under [CC0](cc0.md)!
Wikidata is a large collaborative project (a sister project of [Wikipedia](wikipedia.md), hosted by Wikimedia Foundation) for creating a huge noncommercial [public domain](public_domain.md) [database](database.md) containing information basically about everything. Well, not literally everything -- there are some rules about what can be included that are similar to those on [Wikipedia](wikipedia.md), e.g. notability (you can't add yourself unless you're notable enough, of course you can't add illegal data etc.). Wikidata records data in a form of so called [knowledge graph](knowledge_graph.md), i.e. it connects items and their properties with statements such as "Earth:location:inner Solar System", creating a mathematical structure called a [graph](graph.md). The whole database is available to anyone for any purpose without any conditions, under [CC0](cc0.md)!
Wikidata is wildly useful and greatly overlooked in the shadow of Wikipedia even though it offers a way to easily obtain large, absolutely [free](free_culture.md) and public domain data sets about anything. The database can be queried with specialized languages so one can e.g. get coordinates of all terrorist attacks that happened in certain time period, a list of famous male cats, visualize the tree of biological species, list Jews who run restaurants in Asia or any other crazy thing. Wikidata oftentimes contains extra information that's not present in the Wikipedia article about the item and that's not even quickly found by [googling](google.md), and the information is sometimes also backed by sources just like on Wikipedia, so it's nice to always check Wikidata when researching anything.

Loading…
Cancel
Save