diff --git a/4chan.md b/4chan.md index b5c6e56..d8e88ed 100644 --- a/4chan.md +++ b/4chan.md @@ -2,7 +2,7 @@ { haha https://lolwut.info/comp/4chan/4chan-g.html ~drummyfish } -4chan (https://4chan.org/) is the most famous [image board](image_board.md), a website causing controversies by its low [censorship](censorship.md) and a place of great [fun](fun.md), [trolling](troll.md), toxicity and [memes](meme.md). As most image boards, 4chan has a nice, oldschool minimalist look, even though it contains shitty captchas for posting and the site's code is [proprietary](proprietary.md). The site tolerates a great amount of [free speech](free_speech.md) up to the point of being regularly labeled "right-wing extremist site" (although bans for stupid reasons such as harmless [pedo](pedophilia.md) [jokes](jokes.md) are very common, speaking from experience). Being a "rightist paradise" it is commonly seen as a rival to [reddit](reddit.md), aka the [pseudoleftist](pseudoleft.md) paradise -- both forums hate each other to death. The discussion style is pretty nice, there are many nice stories and memes (e.g. the famous [greentexts](greentext.md)) coming from 4chan but it can also be a hugely depressing place just due to the shear number of retards with incorrect opinions. +4chan (https://4chan.org/) is the most famous [image board](image_board.md), a website causing controversies by its low [censorship](censorship.md) and a place of great [fun](fun.md), [trolling](troll.md), toxicity and [memes](meme.md). As most image boards, 4chan has a nice, oldschool minimalist look, even though it contains shitty captchas for posting and the site's code is [proprietary](proprietary.md). The site tolerates a great amount of [free speech](free_speech.md) up to the point of being regularly labeled "right-wing extremist site", though it actually censors a lot of stuff and bans for stupid reasons such as harmless [pedo](pedophilia.md) [jokes](jokes.md) are very common (speaking from experience) -- 4chan global rules for example PROHIBIT CRITICISING 4chan (LMAO, rule no. 8), doxxing and call for raids. Being a "rightist paradise" it is commonly seen as a rival to [reddit](reddit.md), aka the [pseudoleftist](pseudoleft.md) paradise -- both forums hate each other to death. The discussion style is pretty nice, there are many nice stories and memes (e.g. the famous [greentexts](greentext.md)) coming from 4chan but it can also be a hugely depressing place just due to the shear number of retards with incorrect opinions. Just as reddit consists of subcommunities known as subreddits, 4chan consists of different boards (just as other image boards), each with given discussion topic and rules. The most (in)famous boards are likely *politically incorrect* AKA /pol/, where most of the american school shooters hang around, and *random* AKA /b/ which is just a shitton of [meme](meme.md) shitposting, [porn](porn.md), [toxicity](toxic.md), [fun](fun.md), [trolling](troll.md) and retardedness. diff --git a/chess.md b/chess.md index afd8616..468a07c 100644 --- a/chess.md +++ b/chess.md @@ -17,6 +17,8 @@ Chess (from Persian *shah*, *king*) is a very [old](old.md) two-player board [ga Many however see [go](go.md) as yet a more [beautiful](beauty.md) game: a more minimal, yet more difficult one, with a completely unique experience. +**Where to play chess online?** There exist many servers such as https://chess.com or https://chess24.com -- however these ones are proprietary, so don't use them. For us a possible one is **Lichess** (libre chess) at https://lichess.org which not only [FOSS](foss.md), but is also gratis (it also allows users to run bots under special accounts which is an amazing way of testing engines against people and other engines), however it requires JavaScript. Another server, a more [suckless](suckless.md) one, is **Free Internet Chess Server** (FICS) at https://www.freechess.org/ -- on this one you can play through telnet (`telnet freechess.org 5000`) or with graphical clients like pychess. Online servers usually rate players with Elo/Glicko just like FIDE, sometimes there are computer opponents available, chess puzzles, variants, analysis tools etc. + Chess as a game is not and cannot be [copyrighted](copyright.md), but **can chess games (moves played in a match) be copyrighted?** Thankfully there is a pretty strong consensus and precedence that say this is not the case, even though [capital worshippers](capitalism.md) try to play the intellectual property card from time to time (e.g. 2016 tournament organizers tried to stop chess websites from broadcasting the match moves under "trade secret protection", unsuccessfully). **Chess and [IQ](iq.md)/intelligence**: there is a debate about how much of a weight general vs specialized intelligence, IQ, memory and pure practice have in becoming good at chess. It's not clear at all, everyone's opinion differs. A popular formula states that *highest achievable Elo = 1000 + 10 * IQ*, though its accuracy and validity are of course highly questionable. All in all this is probably very similar to language learning: obviously some kind of intelligence/talent is needed to excel, however chess is extremely similar to any other sport in that putting HUGE amounts of time and effort into practice (preferably from young age) is what really makes you good -- without practice even the biggest genius in the world will be easily beaten by a casual chess amateur, and even a relatively dumb man can learn chess very well under the right conditions (just like any dumbass can learn at least one language well); many highest level chess players admit they sucked at math and hated it. As one starts playing chess, he seems to more and more discover that it's really all about studying and practice more than anything else, at least up until the highest master levels where the genius gives a player the tiny nudge needed for the win -- at the grandmaster level intelligence seems to start to matter more. Intelligence is perhaps more of an accelerator of learning, not any hard limit on what can be achieved, however also just having fun and liking chess (which may be just given by upbringing etc.) may have similar accelerating effects on learning. Really the very basics can be learned by literally ANYONE, then it's just about learning TONS of concepts and principles (and automatizing them), be it tactical patterns (forks, pins, double check, discovery checks, sacrifices, smothered mates, ...), good habits, positional principles (pawn structure, king safety, square control, piece activity, ...), opening theory (this alone takes many years and can never end), endgame and mating patterns, time management etcetc. @@ -62,8 +64,6 @@ Computers have already surpassed the best humans in their playing strength (we c The first chess computer that beat the world champion (at the time Gary Kasparov) was famously [Deep Blue](deep_blue.md) in 1997. [Alan Turing](turing.md) himself has written a chess playing algorithm but at his time there were no computers to run it, so he executed it by hand -- nowadays the algorithm has been implemented on computers (there are bots playing this algorithm e.g. on lichess). -For online chess there exist many servers such as https://chess.com or https://chess24.com, but for us the most important is https://lichess.org which is gratis and uses [FOSS](foss.md) (it also allows users to run bots under special accounts which is an amazing way of testing engines against people and other engines). These servers rate players with Elo/Glicko, allow them to play with each other or against computer, solve puzzles, analyze games, play chess variants, explore opening databases etc. - Playing strength is not the only possible measure of chess engine quality, of course -- for example there are people who try to make the **smallest chess programs** (see [countercomplex](countercomplex.md) and [golfing](golf.md)). As of 2022 the leading programmer of smallest chess programs seems to be Óscar Toledo G. (https://nanochess.org/chess.html). Unfortunately his programs are [proprietary](proprietary.md), even though their source code is public. The programs include Toledo Atomchess (392 [x86](x86.md) instructions), Toledo Nanochess (world's smallest [C](c.md) chess program, 1257 non-blank C characters) and Toledo Javascript chess (world's smallest [Javascript](javascript.md) chess program). He won the [IOCCC](ioccc.md). Another small chess program is micro-Max by H. G. Muller (https://home.hccnet.nl/h.g.muller/max-src2.html, 1433 C characters, Toledo claims it is weaker than his program). Other engines try to be strong while imitating human play (making human moves, even mistakes), most notably Maia which trains several neural networks that play like different rated human players. { Nanochess is actually pretty strong, in my testing it easily beat [smallchesslib](smallchesslib.md) Q_Q ~drummyfish } diff --git a/duke3d.md b/duke3d.md index 7ca2d80..7bdfc64 100644 --- a/duke3d.md +++ b/duke3d.md @@ -1,12 +1,14 @@ # Duke Nukem 3D -Duke Nukem 3D (often just *duke 3D*) is a legendary first person shooter video [game](game.md) released in January 1996 (as [shareware](shareware.md)), one of the best known such games and possibly the second greatest 90s FPS right after [Doom](doom.md). It was made by 3D realms, a company competing with Id software (creators of Doom), in engine made by [Ken Silverman](key_silverman.md). It is remembered not only for being very technologically advanced, further pushing advanced fully textured 3D graphics that Doom introduced, but also for its great gameplay and above all for its humor and excellent parody of the prototypical 80s overtestosteroned [alpha male](chad.md) hero, the protagonist Duke himself -- it showed a serious game didn't have to take itself too seriously and became loved exactly for things like weird alien enemies or correct portrayal of [women](woman.md) as mere sexual objects which nowadays makes [feminists](feminism.md) screech in furious rage of thousand suns. Only idiots criticised it. Of course, Duke is sadly [proprietary](proprietary.md), as most gaymes, though the source code was later released as [FOSS](foss.md) under [GPL](gpl.md) (excluding the game data and proprietary engine, which is only [source available](source_available.md)). +Duke Nukem 3D (often just *duke 3D*) is a legendary first person shooter video [game](game.md) released in January 1996 (as [shareware](shareware.md)), one of the best known such games and possibly the second greatest 90s FPS right after [Doom](doom.md). It was made by 3D realms, a company competing with Id software (creators of Doom), in engine made by [Ken Silverman](key_silverman.md). Duke 3D is a big sequel to two previous games which were just 2D platformers; when this 3rd installment came out, it became a hit. It is remembered not only for being very technologically advanced, further pushing advanced fully textured 3D graphics that Doom introduced, but also for its great gameplay and above all for its humor and excellent parody of the prototypical 80s overtestosteroned [alpha male](chad.md) hero, the protagonist Duke himself -- it showed a serious game didn't have to take itself too seriously and became loved exactly for things like weird alien enemies or correct portrayal of [women](woman.md) as mere sexual objects which nowadays makes [feminists](feminism.md) screech in furious rage of thousand suns. Only idiots criticised it. Duke was later ported to other platforms (there was even a quite impressive 3D port for [GBA](gba.md)) and received a lot of additional "content". -TODO: FOSS engines, source ports +Of course, Duke is sadly [proprietary](proprietary.md), as most gaymes, though the source code was later released as [FOSS](foss.md) under [GPL](gpl.md) (excluding the game data and proprietary engine, which is only [source available](source_available.md)). A self-proclaimed [FOSS](foss.md) engine for Duke with GPU accelerated graphics exists: [EDuke32](eduke32.md) -- the repository is kind of a mess though and it's hard to tell if it is legally legit as there are parts of the engine's proprietary code (which may be actually excluded from the compiled binary), so... not sure. ## Code -TODO: code stats +The codebase (including Build engine) is roughly 100000 [LOC](loc.md) of [C](c.md), with some parts in [assembly](assembly.md). + +The original system requirements were roughly following: 66 MHz [CPU](cpu.md), 16 MB [RAM](ram.md) and 30 MB storage space. Duke ran on **[Build](build.md) engine**, a legendary [software rendering](sw_rendering.md) [primitive 3D](pseudo_3d.md) engine that had limitations similar to those of [Doom](doom.md) engine, i.e. the camera could not truly rotate up or down (though it could fake this with kind of a "tilting") and things like rooms above other rooms in a level were allowed only in limited ways ([hacks](hacking.md) such as extra rendering passes or invisible teleports were used to allow this). The engine was similar to that of Doom, enemies and other objects were represented with 2D [sprites](sprite.md) and levels were based on the concept of sectors (a level was really made as a 2D map in which walls were assigned different heights and textures), however it had new features -- most notably [dynamic](dynamic.md) environment, meaning that levels could change on the fly without the need for [precomputation](precomputation.md), allowing e.g. destructible environments. How the fuck did they achieve this? Instead of [BSP](bsp.md) rendering (used by Doom) Build engine used **[portal rendering](portal_rendering.md)**: basically (put in a quite simplified way) there was just a set of sectors, some of which shared walls ("portals") -- rendering would first draw the sector the player stood in (from the inside of course) and whenever it encountered a portal wall (i.e. a wall that sees into another sector), it would simply [recursively](recursion.md) render that too in the same way -- turns out this was just fine. Other extra features of the engine included tilted floors and ceilings, fake looking up/down, 3rd person view etc. The Build engine was also used in many other games (most notably [Shadow Warrior](shadow_warrior.md) and [Blood](blood.md)) and later incorporated even more advanced stuff, such as [voxel](voxel.md) models, though these weren't yet present in Duke. Just like Doom, Build engine **only used [fixed point](fixed_point.md)**, no [float](float.md)! { Hmm, actually maybe there was a small exception, see the link below. ~drummyfish } @@ -14,4 +16,5 @@ Duke ran on **[Build](build.md) engine**, a legendary [software rendering](sw_re ## See Also -- [Doom](doom.md) \ No newline at end of file +- [Doom](doom.md) +- [Anarch](anarch.md) \ No newline at end of file diff --git a/faq.md b/faq.md index 15ce867..1868c82 100644 --- a/faq.md +++ b/faq.md @@ -42,17 +42,21 @@ At the moment this wiki/movement/ideology/etc. is basically me (drummyfish). The A forum, mailing list or something would possibly be nice, but so far no one made any and I would be hesitant to call it an "official" LRS forum anyway, exactly to prevent growing into some kind of corrupt "democratic internet community" of which there are too many nowadays. I am also pretty anxious of collaborating with someone, making hard connections to other project etc. So if you'd like to make a LRS-focused forum (or anything similar), it would be best if you just make it your own thing -- of course I'll be very glad if you refer to my stuff etc., I just won't be able to keep up with another project, I will only be able to be a regular user of your forum. +### Why the angry and aggressive tone, can't you write in a nicer way, especially when you advocate love etc.? + +More than once I've been told that someone was initially afraid to talk to me because I write in this "aggressive/angry" way. I am sorry, this way of writing has its reasons that I established here and it's what works for me, I really don't intend to stress you out -- firstly this is how I internally think because yes, I am very frustrated, and I want this wiki to capture my internal thoughts in a very unfiltered way (having bad thoughts doesn't mean one has to act on them), also I find this way flows the best for me and allows me to communicate what I feel and think the best, and it also gives this wiki kind of its own personality, I am really tired of all the overly correct and polite articles on the internet (I have tried to write in different ways but it always stands in the way). Sometimes I get mood swings and regret writing something, other times I bash myself for being too soft -- but I don't want to delete stuff too much, this will all be reflected on this wiki. Underneath all this still lies the important message of love and peace. I guess I also want to show that to be truly loving you don't have to change your personality or censor your thoughts. In normal conversations I try as much as possible to be nice, I actually almost never get aggressive towards others, if I get very stressed I usually just leave or in more extreme cases target hate towards myself, but I really try to not hurt anyone (people also told me they were quite surprised that I was kind of "nice" when they actually talked to me). I actually have a lot of trouble in real life for not defending myself, people often abuse it and I let them, I don't fight back, I don't believe in revenge or violence. Please don't be afraid to contact me <3 + ### Why the name "less retarded"? If you say you're serious about this, why not a more serious name? I don't know, this is not so easy to answer because I came up with the name back when the project was smaller in scope and I didn't think about a name too hard: this name was playful, catchy, politically incorrect (keeping SJWs away) and had a kind of reference to *suckless*, potentially attracting attention of suckless fans. It also has the nice property of being unique, with low probability of name collision with some other existing project, as not many people will want to have the word "retarded" in the name. Overall the name captures the spirit of the philosophy and is very general, allowing it to be applied to new areas without being limited to certain means etc. -Now that the project has evolved a bit the name actually seems to have been a great choice and I'm pretty happy about it, not just for the above mentioned reasons but also because it is NOT some generic boring name that politicians, PR people and other tryhard populists would come up with. In a way it's trying to stimulate thought and make you think (if only by making you ask WHY anyone would choose such a name). Yes, in a way it's a small protest and showing we stay away from the rotten mainstream, but it's definitely NOT an attempt at catching attention at any cost or trying to look like cool rebels -- such mentality goes against our basic principles. Perhaps the greatest reasons for the name is to serve as a test -- truth should prevail no matter what name it is given and we try to test and prove this, or rather maybe prevent succeeding for wrong reasons -- we are not interested in success (which is what mere politicians do); if our ideas are to become accepted, they have to be accepted for the right reasons. And if you refuse to accept truth because you don't like its name, you are retarded and by own ignorance doom yourself to live in a shit society with shit technology. +Now that the project has evolved a bit the name actually seems to have been a great choice and I'm pretty happy about it, not just for the above mentioned reasons but also because it is NOT some generic boring name that politicians, PR people and other tryhard populists would come up with. In a way it's trying to stimulate thought and make you think (if only by making you ask WHY anyone would choose such a name). Yes, in a way it's a small protest and showing we stay away from the rotten mainstream, but it's definitely NOT an attempt at catching attention at any cost or trying to look like cool rebels -- such mentality goes against our basic principles. Perhaps the greatest reason for the name is to serve as a test -- truth should prevail no matter what name it is given and we try to test and prove this, or rather maybe prevent succeeding for wrong reasons -- we are not interested in success (which is what mere politicians do); if our ideas are to become accepted, they have to be accepted for the right reasons. And if you refuse to accept truth because you don't like its name, you are retarded and by own ignorance doom yourself to live in a shit society with shit technology. ### Who writes this wiki? Can I contribute. -You can only contribute to this wiki if you're a straight [white](white.md) male. Just kidding, you can't contribute even if you're a straight white male. +You can only contribute to this wiki if you're a straight [white](white.md) male. Just kidding, you can't contribute even if you're a straight white male :) -At the moment it's just me, [drummyfish](drummyfish.md). This started as a collaborative wiki name *based wiki* but after some disagreements I forked it (everything was practically written by me at that point) and made it my own wiki where I don't have to make any compromises or respect anyone else's opinions. I'm not opposed to the idea of collaboration but I bet we disagree on something in which case I probably don't want to let you edit this. I also resist allowing contributions because with multiple authors the chance of legal complications grows, even if the work is under a free license or waiver (refer to e.g. the situation where some Linux developers were threatening to withdraw their code contribution license). But you can totally fork this wiki, it's [public domain](cc0.md). +At the moment it's just me, [drummyfish](drummyfish.md). This started as a collaborative wiki name *based wiki* but after some disagreements I forked it (everything was practically written by me at that point) and made it my own wiki where I don't have to make any compromises or respect anyone else's opinions. I'm not opposed to the idea of collaboration in some situations but I bet we disagree on something in which case I probably don't want to search for a compromise. I also resist allowing contributions because with multiple authors the chance of legal complications grows, even if the work is under a free license or waiver (refer to e.g. the situation where some Linux developers were threatening to withdraw their code contribution license). But you can totally fork this wiki, it's [public domain](cc0.md). If you want to contribute to the cause, just create your own website, spread the ideas you liked here -- you may or may not refer to LRS, everything's up to you. Start creating software with LRS philosophy if you can -- together we can help evolve and spread our ideas in a decentralized way, without me or anyone else being an authority, a potential censor. That's the best way forward I think. @@ -112,11 +116,11 @@ The culture of being offended is [bullshit](bullshit.md), it is a [pseudoleftist OK, firstly we do NOT love *everything*, we do NOT advocate against hate itself, only against hate of living beings (note we say we love *everyone*, not *everything*). Hating other things than living beings, such as some bad ideas or malicious objects, is totally acceptable, there's no problem with it. We in fact think hate of some concepts is necessary for finding better ways. -Now when it comes to *"hating"* people, there's an important distinction to be stressed: we never hate a living being as such, we may only hate their properties. So when we say we *hate* someone, it's merely a matter of language convenience -- saying we *hate* someone never means we hate a person as such, but only some thing about that person, for example his opinions, his work, actions, behavior or even appearance. I can hear you ask: what's the difference? The difference is we'll never try to eliminate a living being or cause it suffering because we love it, we may only try to change, in non-violent ways, their attributes we find wrong (which we *hate*): for example we may try to educate the person, point out errors in his arguments, give him advice, and if that doesn't work we may simply choose to avoid his presence. But we will never target hate against him. +Now when it comes to *"hating"* people, there's an important distinction to be stressed: we never hate a living being as such, we may only hate their properties. So when we say we *hate* someone, it's merely a matter of language convenience -- saying we *hate* someone never means we hate a man as such, but only some thing about that man, for example his opinions, his work, actions, behavior or even appearance. I can hear you ask: what's the difference? The difference is we'll never try to eliminate a living being or cause it suffering because we love it, we may only try to change, in non-violent ways, their attributes we find wrong (which we *hate*): for example we may try to educate the person, point out errors in his arguments, give him advice, and if that doesn't work we may simply choose to avoid his presence. But we will never target hate against him. Hate the sin, not the sinner. And yeah, of course sometimes we make [jokes](jokes.md) and sarcastic comments, it is relied on your ability to recognize those yourself. We see it as retarded and a great insult to intelligence to put disclaimers on jokes, that's really the worst thing you can do to a joke. -### So you really "love" everyone, even dicks like Trump, school shooters, instagram influencers etc.? +### So you really "love" everyone, even dicks like Trump, school shooters, instagram manipulators etc.? Yes, but it may need an elaboration. There are many different kinds of love: love of a sexual partner, love of a parent, love of a pet, love of a hobby, love of nature etc. Obviously we can't love everyone with the same kind of love we have e.g. for our life partner, that's impossible if we've actually never even seen most people who live on this planet. The love we are talking about -- our universal love of everyone -- is an unconditional love of life itself. Being alive is a miracle, it's beautiful, and as living beings we feel a sense of connection with all other living beings in this universe who were for some reason chosen to experience this rare miracle as well -- we know what it feels like to live and we know other living beings experience this special, mysterious privilege too, though for a limited time. This is the most basic kind of love, an empathy, the happiness of seeing someone else live. It is sacred, there's nothing more pure in this universe than feeling this empathy, it works without language, without science, without explanation. While not all living beings are capable of this love (a virus probably won't feel any empathy), we believe all humans have this love in them, even if it's being suppressed by their environment that often forces them compete, hate, even kill. Our goal is to awaken this love in everyone as we believe it's the only way to achieve a truly happy coexistence of us, living beings. @@ -126,7 +130,7 @@ This is not a question you dummy. Have you even read the title of this page? Any ### Lol you've got this fact wrong and you misunderstand this and this topic, you've got bugs in code, your writing sucks etc. How dare you write about things you have no clue about? -I want a public domain encyclopedia that includes topics of new technology, and also one which doesn't literally make me want to kill myself due to inserted propaganda of evil etc. Since this supposedly [modern](modern.md) society failed to produce even a single such encyclopedia and since every idiot on this planet wants to keep his copyright on everything he writes, I am forced to write the encyclopedia myself, even for the price of making mistakes. No, US public domain doesn't count as world wide public domain. Even without copyright there are still so called [moral rights](moral_rights.md) etc. Blame this society for not allowing even a tiny bit of information to slip into public domain. Writing my own encyclopedia is literally the best I can do in the situation I am in. Nothing is perfect, I still believe this can be helpful to someone. You shouldn't take facts from a random website for granted. If you wanna help me correct errors, email me. +I want a public domain encyclopedia that includes topics of new technology and correct views, and also one which doesn't literally make me want to kill myself due to inserted propaganda of evil etc. Since this supposedly [modern](modern.md) society failed to produce even a single such encyclopedia and since every idiot on this planet wants to keep his copyright on everything he writes, I am forced to write the encyclopedia myself from scratch, even for the price of making mistakes. No, US public domain doesn't count as world wide public domain. Even without copyright there are still so called [moral rights](moral_rights.md) etc. Blame this society for not allowing even a tiny bit of information to slip into public domain. Writing my own encyclopedia is literally the best I can do in the situation I am in. Nothing is perfect, I still believe this can be helpful to someone. You shouldn't take facts from a random website for granted. If you wanna help me correct errors, email me. ### Why is this shit so poorly written and inconsistent (typos, incorrect comma placement, inconsistent acronym case, weird grammar etc.)? diff --git a/game_of_life.md b/game_of_life.md index e238661..8276bdd 100644 --- a/game_of_life.md +++ b/game_of_life.md @@ -1,7 +1,34 @@ # Game Of Life +*--> Reveal the secret of life with these four simple rules! <--* + Game of Life (sometimes just *Life*) is probably the most famous [cellular automaton](cellular_automaton.md) (mathematical simulation set on a grid of cells), which with only four simple rules gives rise to a world with patterns that seem to behave similarly to simple biological [life](life.md). It was invented in 1970 by [John Conway](john_conway.md), a famous mathematician who researched games, and has since gained popularity among programmers, mathematicians and other nerds as it's not only scientifically valuable, it is also [awesome](beauty.md) and [fun](fun.md) to play around with as a kind of [sandbox](sandbox.md) toy; it is very easy to program, play around with, modify and can be explored to great depth. The word *game* is used because what we have here is really a zero-player mathematical [game](game.md), which is furthermore completely [deterministic](determinism.md) (there is no randomness), so we only choose some starting state of the world and then watch the game "play itself". Game of Life is similar systems such as [rule 110](rule110.md) and [Langton's ant](langtons_ant.md). +``` +. [][]. . . . . . . . []. []. . . . . . . [][][]. . . . . . . []. []. . . . . . +[]. . [][]. . . . . . . []. . . . . . . []. . . []. . . . . . . []. . . . . . . +[][]. [][]. . . . . . . . . . . . . . . . . . . . []. . . . . . . . . . . . . [] +[][]. . []. . . . . . . . . . . . []. . []. . . []. . . . . . . . . . . . []. [] +. . [][]. . . . . . . . . . . . []. []. . [][][]. . . . . . . . . . . . []. []. +. . . . . . . . . . . []. . . . . []. . . . . . . . . . . . . []. . . . . []. . +. . . . . . . . . . []. []. . . . . . . . . . . . . . . . . []. []. . . . . . . +. . . . . . . . . . []. []. . . . . . . . . . . . . . . . . []. []. . . . . . . +. . . . . . . . . . . []. . . . . . . . . . . . . . . . . . . []. . . . . . . . +. . . . . . . . . . . . . . [][]. . . . ___\ . . . . . . . . . . . . . . [][]. . . . +. . . . . . . . . . . . . . [][]. . . . / . . . . . . . . . . . . . . [][]. . . . +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +. . . . . . . . []. []. . . . [][]. . . . . . . . . . . . . []. . . . [][]. . . +. . . . . . . . . [][]. . . []. . []. . . . . . . . . . []. []. . . []. . []. . +. . . . . . . . . []. . . . . [][]. . . . . . . . . . . . [][]. . . . [][]. . . +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +. . . . . . . . . . . [][]. . . . . . . . . . . . . . . . . . [][]. . . . . . . +``` + +*Two consecutive frames of the game, notice the glider at bottom middle, which keeps moving bottom right, and still life forms in the right part, which just stay still.* + Study of the game goes extremely deep, people are discovering new patterns and concepts. See e.g. LifeWiki at https://conwaylife.com/wiki/Main_Page, Catalogue at https://catagolue.hatsya.com or Life Lexicon at https://conwaylife.com/ref/lexicon/lex.htm. The Catalogue claims to have discovered 478223 distinct types of objects so far, LifeWiki has 1651 documented patterns (many with just boring numeric names, other ones with funny names like *[Cthulhu](cthulhu.md)*, *En retard*, *Meatball*, *p58 toadsucker*, *Overweight spaceship*, *Why not*, even *[Unix](unix.md)* lol). The following is a sum up of some basic properties of the game, many of which should show why it is so significant: @@ -13,7 +40,7 @@ The following is a sum up of some basic properties of the game, many of which sh - It is [Turing complete](turing_complete.md), meaning the game can be used as a universal computer, with the same computational power as any other computer. - It is very fun to play around with. There are many creatures to discover, observe and document (making this kind of a Pokémon game lol?). -## Rules +## Rules And Their Implications We have an [infinite](infinity.md), regular two dimensional grid of cells, each of which may be in one of two states: alive or dead. Each cell considers its nearest eight cells its neighbors. The game runs in discrete steps, or rounds. Every round each cell counts its neighbors' states and will set its state for the next round according to these rules: @@ -22,13 +49,101 @@ We have an [infinite](infinity.md), regular two dimensional grid of cells, each | alive | 2 or 3 live neighbors | else (under/overpopulation) | | dead | 3 live neighbors | else | -## Code Example +TODO: basic structures, chaos vs order etcetc. -TODO +## Code/Programming -## Programming +The following is a simple [C](c.md) implementation of a [wrapping](wrap.md) version of game of life (i.e. the world is not actually infinite): -TODO: techniques for optimization etc. +``` +#include + +#define WORLD_SIZE 20 + +unsigned char world[WORLD_SIZE * WORLD_SIZE]; + +unsigned char getCell(int x, int y) +{ + return world[y * WORLD_SIZE + x] & 0x01; +} + +void setCell(int x, int y) +{ + world[y * WORLD_SIZE + x] |= 0x01; +} + +int main(void) +{ + unsigned char random = 30; + + for (int i = 0; i < WORLD_SIZE * WORLD_SIZE; ++i) + { + world[i] = random > 127; + random = random * 13 + 22; + } + + char in = 0; + int step = 0; + + while (in != 'q') + { + unsigned char *cell = world; + + for (int y = 0; y < WORLD_SIZE; ++y) + { + int yU = y == 0 ? (WORLD_SIZE - 1) : (y - 1), + yD = (y + 1) % WORLD_SIZE, + xL = WORLD_SIZE - 1, + xR = 1; + + for (int x = 0; x < WORLD_SIZE; ++x) + { + int neighbors = + getCell(xL,yU) + getCell(x,yU) + getCell(xR,yU) + + getCell(xL,y) + getCell(xR,y) + + getCell(xL,yD) + getCell(x,yD) + getCell(xR,yD); + + if ((*cell) & 0x01) + { + putchar('['); + putchar(']'); + + if (neighbors == 2 || neighbors == 3) + *cell |= 0x02; + } + else + { + putchar('.'); + putchar(' '); + + if (neighbors == 3) + *cell |= 0x02; + } + + xL = x; + xR = (x + 2) % WORLD_SIZE; + + cell++; + } + + putchar('\n'); + } + + for (int i = 0; i < WORLD_SIZE * WORLD_SIZE; ++i) + world[i] >>= 1; + + printf("\nstep %d\n",step); + puts("press RETURN to step, Q to quit"); + + step++; + in = getchar(); + } + + return 0; +} +``` + +The world cells are kept in the `world` array -- each cell holds the current state in the lowest bit. We perform drawing and update of the world at the same time. Notice especially that while updating the cells, we mustn't overwrite the cell's current state until its neighbors have been updated as well! Not realizing this is a **common beginner error** and results in so called [naive](naive.md) implementation. We avoid this error by first storing each cell's next state in the second lowest bit (keeping its current state in the lowest bit), and then, after all cells have been updated, we iterate over all cells again and perform one bit shift to the left (making the computed next states into current states). TODO: extensions, continuous, code, optimizations diff --git a/gemini.md b/gemini.md index 2ceb859..1208588 100644 --- a/gemini.md +++ b/gemini.md @@ -2,6 +2,4 @@ Gemini is a [shitty](shit.md) [pseudominimalist](pseudominimalism.md) network [protocol](protocol.md) for publishing, browsing and downloading files, a simpler alternative to the [World Wide Web](www.md) and a more complex alternative to [gopher](gopher.md) (by which it was inspired). It is a part of so called [Smol Internet](smol_internet.md). Gemini aims to be a "[modern](modern.md) take on gopher", adding some new "features" and a bit of [bloat](bloat.md). The project states it wants to be something in the middle between Web and gopher but doesn't want to replace either. -On one hand Gemini is kind of cool but on the other hand it's pretty [shit](shit.md), especially by REQUIRING the use of [TLS](tls.md) [encryption](encryption.md) for "muh security" because the project was made by privacy freaks that advocate the *ENCRYPT ABSOLUTELY EVERYTHIIIIIING* philosophy. This is firstly mostly unnecessary (it's not like you do Internet banking over Gemini) and secondly adds a shitton of [bloat](bloat.md) and prevents simple implementations of clients and servers. Some members of the community called for creating a non-encrypted Gemini version, but that would basically be just gopher. Not even the Web goes as far as REQUIRING encryption, so it may be better and easier to just create a simple web 1.0 website rather than a Gemini capsule. And if you want ultra simplicity, we highly advocate to instead prefer using [gopher](gopher.md) which doesn't suffer from the mentioned issue. - - \ No newline at end of file +On one hand Gemini is kind of cool but on the other hand it's pretty [shit](shit.md), especially by REQUIRING the use of [TLS](tls.md) [encryption](encryption.md) for "muh security" because the project was made by privacy freaks that advocate the *ENCRYPT ABSOLUTELY EVERYTHIIIIIING* philosophy. This is firstly mostly unnecessary (it's not like you do Internet banking over Gemini) and secondly adds a shitton of [bloat](bloat.md) and prevents simple implementations of clients and servers. Some members of the community called for creating a non-encrypted Gemini version, but that would basically be just gopher. Not even the Web goes as far as REQUIRING encryption (at least for now), so it may be better and easier to just create a simple web 1.0 website rather than a Gemini capsule. And if you want ultra simplicity, we highly advocate to instead prefer using [gopher](gopher.md) which doesn't suffer from the mentioned issue. \ No newline at end of file diff --git a/old.md b/old.md index 1000459..c1072c9 100644 --- a/old.md +++ b/old.md @@ -1,3 +1,3 @@ # Old -Nowadays old correlates with better. For comparison of new and old see [modern tech](modern.md). \ No newline at end of file +Nowadays old positively correlates with better. For comparison of new and old see [modern tech](modern.md). \ No newline at end of file diff --git a/science.md b/science.md index dfcf7e9..9b7e325 100644 --- a/science.md +++ b/science.md @@ -12,4 +12,4 @@ TODO: some noice tree of sciences or smth **What should we accept as "legit" science?** [We](lrs.md), in the context of our [ideal society](less_retarded_society.md), argue for NOT creating a strict definition of science, just as we are for example against "formalizing morality" with laws etc. There are no hard lines between good and evil, fun and boring, useful and useless, bloated and minimal, and so also there is no strict line between science and non-science. What is and is not science is to be judged on a case-by-case basis and can be disagreed on without any issue, science cannot be a mass produced stream of papers that can automatically be marked OK or NOT OK. We might define the term **[less retarded science](less_retarded_science.md)** so as to distinguish today's many times twisted and corrupted "science/[soyence](soyence.md)" from the real, good and truly useful science. Less retarded science should follow similar principles as [our technology](lrs.md), it should be completely free as in freedom, [selfless](selflessness.md), [suckless](suckless.md) as much as possible, unobscured etc. -- especially stressed should be the idea of many people being able to reproduce less retarded science; e.g. Newton's law of gravitation is less retarded because it can easily be verified by anyone, while the existence of Higgs boson is not. -**Never confuse trusting scientists with trusting science** (especially in [capitalism](capitalism.md) and other dystopias), the former is literally faith ([soyence](soyence.md)), no different from blindly trusting religious preachers and political propaganda, the latter means only trusting that which you yourself can test and verify at home and therefore having real confidence. Also do NOT confuse or equate science with [academia](academia.md). As with everything, under capitalism academia has become rotten to the core, research is motivated by profit and what's produced is mostly utter bullshit shat out by wannabe PhDs who need to mass produce "something" as a part of the crazy academia publish-or-perish game. As with everything in capitalism, the closer you look, the more corruption you find. \ No newline at end of file +**Never confuse trusting science with trusting scientists** (especially in [capitalism](capitalism.md) and other dystopias), the latter is literally faith ([soyence](soyence.md)), no different from blindly trusting religious preachers and political propaganda, the former means only trusting that which you yourself can test and verify at home and therefore having real confidence. We are not saying that you should never trust a scientist, only that you should know doing so is just pure relying on someone's word, which in today's society you often cannot afford to do. Also do NOT confuse or equate science with [academia](academia.md). As with everything, under capitalism academia has become rotten to the core, research is motivated by profit and what's produced is mostly utter bullshit shat out by wannabe [PhD](phd.md)s who need to mass produce "something" as a part of the crazy academia publish-or-perish game. As with everything in capitalism, the closer you look, the more corruption you find. So wait, **can we just trust nothing researched by someone else?** It's not so simple: for starters just realize that trusting "the big science" nowadays with anything important (e.g. one's health) is just like entrusting a random stranger in the street something that's valuable to you (actually it's worse because unlike a stranger, entities such as [corporations](corporation.md) have absolutely no emotion and conscience) -- can you do that? Well, sometimes yes, mostly it's probably a great risk, and generally you want to avoid having to do it. In the past things were better, so you can generally trust "science" that was done much further in the past, i.e. facts you find in old encyclopedias are generally more trustworthy than facts you find on today's internet. [LRS](lrs.md) would like to establish society in which "big science" would be trustworthy again; until we succeed though, you have to keep distrust in soyence. \ No newline at end of file diff --git a/suckless.md b/suckless.md index 2b36942..e9e09625 100644 --- a/suckless.md +++ b/suckless.md @@ -1,6 +1,6 @@ # Suckless -Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), [freedom](freedom.md) and [hackability](hacking.md), and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless ideas. +Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), [freedom](freedom.md) and [hackability](hacking.md), and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. New movements now came to existence from suckless, e.g. [Bitreich](bitreich.md) and our own [less retarded software](lrs.md). The community is relatively a small niche but has also seen a growth in popularity sometime in 2010s, thanks to tech youtubers such as [Luke Smith](luke_smith.md), [Distro Tube](distro_tube.md) and [Mental Outlaw](mental_outlaw.md). It has also gained traction on [4chan](4chan.md)'s technology board. While consisting a lot of expert programmers and [hackers](hacker.md) mostly interested in systems like [GNU](gnu.md)/[Linux](linux.md), [BSDs](bsd.md) and [Plan 9](plan9.md), a lot of less skilled "[Linux](linux.md)" users and even complete non-programmers have started to use suckless to various degrees -- [dwm](dwm.md) has for example seen a great success among "Unix porn" lovers and chronic [ricers](ricing.md). While some members are hardcore minimalists and apply their principles to everything, some just cherry pick programs they find nice and integrate them in their otherwise bloated systems.