This commit is contained in:
Miloslav Ciz 2024-10-09 14:00:06 +02:00
parent 695e83f707
commit 28d52eba80
11 changed files with 1874 additions and 1834 deletions

View file

@ -2,9 +2,9 @@
*"Either she's genius at comedy or he's genius at comedy."* --comment under one of her videos
Ashley Jones (born around 1999) is a rare specimen of a [based](based.md) [American](usa.md) biological (which on occasion gets questioned) [woman](woman.md) on the [Internet](internet.md), a [politically incorrect](political_correctness.md) [red pilled](red_pill.md) comedienne who is sadly no longer underage. Ashley Jones IS NOT DANGEROUS. She got famous through [4chan](4chan.md) and similar boards thanks to having become red pilled at quite an early age: her being a pretty [underage girl](jailbait.md) on 4chan definitely contributed to her fame, however she started to create masterful OC comedic videos with which she managed to win the hearts of dedicated fans that wouldn't abandon her even after they could legally have sex with her (at least in theory). For some time she used mainstream platforms but, of course, [censorship](censorship.md) would eventually lead her to self-hosting all her stuff with [free software](free_software.md), which she now supports. She loves old vintage technology, has pug [dogs](dog.md) and in one video said she had a brother, but not much else is known about her. It looks like she might be from Minnetonka in Minnesota, because she sometimes talks about that town and even posts photos that look like that place (in her cooking video even showing her "house", but she may be [trolling](trolling.md)).
Ashley Jones (born around ?1999?) is a rare specimen of a [based](based.md) [American](usa.md) biological (which on occasion gets questioned) [woman](woman.md) on the [Internet](internet.md), a [politically incorrect](political_correctness.md) [red pilled](red_pill.md) comedienne who is sadly no longer underage. Ashley Jones IS NOT DANGEROUS. She got famous through [4chan](4chan.md) and similar boards thanks to having become red pilled at quite an early age: her being a pretty [underage girl](jailbait.md) on 4chan definitely contributed to her fame, however she started to create masterful OC comedic videos with which she managed to win the hearts of dedicated fans that wouldn't abandon her even after they could legally have sex with her (at least in theory). For some time she used mainstream platforms but, of course, [censorship](censorship.md) would eventually lead her to self-hosting all her stuff with [free software](free_software.md), which she now supports. She loves old vintage technology, has pug [dogs](dog.md) and in one video said she had a brother, but not much else is known about her. It looks like she might be from Minnetonka in Minnesota, because she sometimes talks about that town and even posts photos that look like other photos from that shithole (in her cooking video she even showed "her house", but may be a [troll](trolling.md)). Ashley Jones ruined her reputation for your sins.
Her website is currently at **[https://dukenukemis.cool](https://dukenukemis.cool)** (previously [https://icum.to](https://icum.to)). Some of her old videos are archived on [jewtube](youtube.md) and bitchute. Currently she seems to be focusing more on videos about technology before doing comedy. If you can, please go donate to Ashley right now, we don't want her to starve!
Her website is newly at **[https://dukenukemis.cool](https://dukenukemis.cool)** (previously [https://icum.to](https://icum.to), also her image board is at https://tubgurl.com). Some of her old videos are archived on [jewtube](youtube.md) and bitchute. Currently she seems to be focusing more on videos about technology before doing comedy. If you can, please go donate to Ashley right now, we don't want her to starve!
```
,,---,,
@ -25,4 +25,4 @@ Her website is currently at **[https://dukenukemis.cool](https://dukenukemis.coo
**Why is she so based?** For example for the following reasons { Note that this is purely my interpretation of what I've seen/read on her website. ~drummyfish }: She is a pretty, biological woman (i.e. NOT some kind of angry [trans](tranny.md) [landwhale](fat.md)) BUT she shits on [feminism](feminism.md) and acknowledges plain facts about women such as that they usually need to be "put in line" (with love) by a man and that they are simply different. She makes a nice, ACTUALLY ENTERTAINING, well made politically incorrect stuff, her art is sincere, not trying to pretend anything or ride on some kind of fashion wave. She is VERY talented at comedy, hosts her OWN video website with a modest fan following and even though on [Jewtube](youtube.md) she could get hundred thousand times more followers and make a fortune, she doesn't do it because that would compromise her art -- she does ask for donations but refuses to monetize her content with [ads](marketing.md) or [paywalls](paywall.md), creating a nice, pure, oldschool free speech Internet place looks to truly be the one thing she's aiming for. She makes [fun](fun.md) of herself (like that she has a crush on [Duke Nukem](duke3d.md) lol), masterfully plays along with jokes blatantly sexualizing her and does some cool stuff like post measurements of her asshole and finding her porn lookalikes for the fanbase. It looks like she possesses some skills with technology (at least [Luke Smith](luke_smith.md) level), she supports [free software](free_software.md). She acknowledges the insanity of [pedophile](pedophilia.md) hysteria and proposes lowering age of consent (despite saying she was NOT a pedophile herself). She wants to normalize nudity, and doesn't shave her legs. Her website is quite nice, 1.0 style, with high [LRS](lrs_wiki.md)/[4chan](4chan.md)/[Dramatica](dramatica.md) vibes, there are "offensive" jokes but she stresses she in fact doesn't encourage violence and that she's not an extremist -- in one video she says she dislikes transsexuals and wants to make fun of gays but that in fact she doesn't mind any individual being gay or whatever, basically just opposing the political movements, propaganda, brainwashing etcetc., i.e. showing the exact same kind of attitude as us. She also understands internet culture and things like [trolling](trolling.md) being part of it -- in one video she clearly separates Internet and [real life](irl.md) and says you "can't apply real life logic on the Internet", that's very mature. By this she for example supports consensual incest. She even freaking has her own imageboard that's by the way very good. She seems to see through propaganda and brainwashing, she says she does "not accept the reality" forced on her by this society, something we say and do as well, she shits on vaccines and likes cool "conspiracy theories". Yes, she seems SMART, she sees the power game of the elites, the propaganda, warns about it, shits on it. She seems to know how to write [English](english.md) without making 10 errors in every word. She advocates ETHICAL veganism, to spare animals of suffering. She hates [Elon Musk](elon_musk.md). She advocates not using cellphones and mainstream social networks. She does NOT have any [tattoos](tattoo.md).
Sure, [we](lrs.md) find disagreements with her, for example on the question of [privacy](privacy.md), but if we call [Diogenes](diogenes.md) a based man and [Encyclopedia Dramatica](dramatica.md) a based website, we also have to admit Ashley Jones is a based woman and her website is likewise no less cool.
Sure, [we](lrs.md) find disagreements with her, for example on the question of [privacy](privacy.md), but if we call [Diogenes](diogenes.md) a based man and [Encyclopedia Dramatica](dramatica.md) a based website, we also have to admit Ashley Jones is a based woman and her website is likewise no less cool. At least at the time when this article was written.

View file

@ -92,9 +92,9 @@ The core of chess programming is writing the [AI](ai.md). Everything else, i.e.
The AI itself works traditionally on the following principle: firstly we implement so called static **evaluation function** -- a function that takes a chess position and outputs its evaluation number which says how good the position is for white vs black (positive number favoring white, negative black, zero meaning equal, units usually being in pawns, i.e. for example -3.5 means black has an advantage equivalent to having extra 3 and a half pawns; to avoid fractions we sometimes use centipawns, i.e. rather -350). This function considers a number of factors such as total material of both players, pawn structure, king safety, men mobility and so on. Traditionally this function has been hand-written, nowadays it is being replaced by a learned [neural network](neural_network.md) ([NNUE](nnue.md)) which showed to give superior results (e.g. Stockfish still offers both options); for starters you probably want to write a simple evaluation function manually.
Note: if you could make a perfect evaluation function that would completely accurately state given position's true evaluation (considering all possible combinations of moves until the end of game), you'd basically be done right there as your AI could just always make a move that would lead to position which your evaluation function rated best, which would lead to perfect play. Though neural networks got a lot closer to this ideal than we once were, as far as we can foresee ANY evaluation function will always be just an approximation, an estimation, heuristic, many times far away from perfect evaluation, so we cannot stop at this. We have to program yet something more.
Note: if you could make a perfect evaluation function that would completely accurately state given position's true evaluation (considering all possible combinations of moves until the end of game), you'd basically be done right there as your AI could just always make a move that would take it to the position which your evaluation function rated best, which would lead to perfect play by searching just to depth 1. Though neural networks got a lot closer to this ideal than we once were, as far as we can foresee ANY evaluation function will always be just an approximation, an estimation, heuristic, many times far away from perfect evaluation, so we cannot stop at this. We have to program yet something more. However some more relaxed engines that don't aim to be among the best can already work in the lazy way and be pretty good opponents -- see for example the Maia engine.
So secondly we need to implement a so called **search** algorithm -- typically some modification of [minimax](minimax.md) algorithm, e.g. with alpha-beta pruning -- that recursively searches the game tree and looks for a move that will lead to the best result in the future, i.e. to position for which the evaluation function gives the best value. This basic principle, especially the search part, can get very complex as there are many possible weaknesses and optimizations. Note now that this search kind of improves on the basic static evaluation function by making it [dynamic](dynamic.md) and so increases its accuracy greatly (of course for the price of CPU time spent on searching).
So secondly we need to implement a so called **search** algorithm -- typically some modification of [minimax](minimax.md) algorithm, e.g. with alpha-beta pruning -- that recursively searches the game tree and looks for a move that will lead to the best result in the future, i.e. to position for which the evaluation function gives the best value. This basic principle, especially the search part, can get very complex as there are many possible weaknesses and optimizations. For example (somewhat counterintuitively) it turns out to be a good idea to do iterative deepening, i.e. first searching to depth 1, then to depth 2, then to depth 3 etc., rather than searching to depth N right away. But again, this is all too complicated to expand on here. Just note now that doing the search kind of improves on the basic static evaluation function by making it [dynamic](dynamic.md) and so increases its accuracy greatly (of course for the price of CPU time spent on searching).
Exhaustively searching the tree to great depths is not possible even with most powerful hardware due to astronomical numbers of possible move combinations, so the engine has to limit the depth quite greatly and use various [hacks](hacking.md), [approximations](approximation.md), [heuristics](heuristic.md) etc.. Normally it will search all moves to a small depth (e.g. 2 or 3 half moves or *plys*) and then extend the search for interesting moves such as exchanges or checks. Maybe the greatest danger of searching algorithms is so called **horizon effect** which has to be addressed somehow (e.g. by detecting quiet positions, so called *quiescence*). If not addressed, the horizon effect will make an engine misevaluate certain moves by stopping the evaluation at certain depth even if the played out situation would continue and lead to a vastly different result (imagine e.g. a queen taking a pawn which is guarded by another pawn; if the engine stops evaluating after the pawn take, it will think it's a won pawn, when in fact it's a lost queen). There are also many techniques for reducing the number of searched tree nodes and speeding up the search, for example pruning methods such as **alpha-beta** (which subsequently works best with correctly ordering moves to search), or **transposition tables** (remembering already evaluated position so that they don't have to be evaluated again when encountered by a different path in the tree).

View file

@ -22,7 +22,7 @@ Some **[interesting](interesting.md) things** about Doom:
- Someone created a Doom system monitor for [Unix](unix.md) systems called [psDooM](psdoom.md) where the monsters in game are the operating system [processes](process.md) and killing the monsters kills the processes.
- In 2024 some researchers made an experimental completely [neural network](neural_net.md) [AI](ai.md) game engine (called GameNGen) and implemented Doom with it -- basically they just made the network play Doom for a long time and so trained it to estimate the next frame from current input and a few previous frames. It can be played at 20+ FPS and looks a lot like Doom but it's also "weird", glitching, and having little persistence (it only remembers a few seconds back). Still pretty impressive.
- The Crispy Doom engine adds `GOOBERS` cheat code which makes all all floor and ceilings the same height, effectively making the game a flat wolf3d-style game.
- The Crispy Doom engine adds `GOOBERS` cheat code which makes all floors and ceilings the same height, effectively making the game a flat [wolf3d](wolf3d.md)-style game.
- Someone (kgsws) has been [hacking](hacking.md) the ORIGINAL Doom engine in an impressive way WITHOUT modifying the source code or the binary, rather using [arbitrary code execution](arbitrary_code_execution.md) bug; he added very advanced features known from newer source ports, for example an improved 3D rendering algorithms allowing geometry above geometry etc. (see e.g. https://yt.artemislena.eu/watch?v=RdbRPNPUWlU). It's called the Ace engine.
- Doom sprites were made from photos of physical things: weapons are modified photos of toys, enemies were made from clay and then photographed from multiple angles (actually a great alternative to [3D modeling](3d_model.md) that's less dependent on computers and produces more realistic results).
- The strongest weapon in the game is name BFG9000, which stands for "big fucking gun".

View file

@ -2,7 +2,7 @@
*Not to be [confused](often_confused.md) with [cracking](cracking.md).*
Hacking (also hackerdom) in the widest sense means exploiting usually (but not necessarily) a [computer](computer.md) [system](system.md) in a clever, "thinking outside the box" way. In context of computers the word *hacker* was originally -- that is in 1960s -- used for very good [programmers](programming.md) and people who were simply good with computers, the word *hacking* had a completely positive meaning; hacker could almost be synonymous with computer [genius](genius.md) (at the time people handling computers were usually physicists, engineers or mathematicians), someone who enjoyed handling and programming computers and could playfully look for very clever ways of making them do what he wanted. Over time hackers evolved a whole **hacker culture** with its own slang, set of values, behavioral and ethical norms, in jokes and rich lore. As time marched on, computer [security](security.md) has started to become an important topic and some media started to use the word *hacker* for someone breaking into a computer system and so the word gained a negative connotation in the mainstream -- though many refused to accept this new meaning and rather used the word *[cracker](cracker.md)* for a "malicious hacker", there appeared new variants such as *white hat* and *black hat* hacker, referring to ethical and malicious hackers. With onset of online [games](game.md) the word *hacking* even became a synonym for [cheating](cheating.md). The original positive meaning has recently seen some comeback with popularity of sites such as [hacker news](hacker_news.md) or hackaday, the word *life hack* has even found its way into the non-computer mainstream dictionary, however a "[modern](modern.md) hacker" is a bit different from the oldschool hacker, usually for the worse (for example a modern self proclaimed "hacker" has no issue with wearing a [suit](suit.md), something that would be despised by an oldschool hacker). We, [LRS](lrs.md), advocate for using the original, oldschool meaning of the word *hacker*.
Hacking (also hackerdom) in the widest sense means exploiting usually (but not necessarily) a [computer](computer.md) [system](system.md) in a clever, "thinking outside the box" way so to speak. In context of computers the word *hacker* was originally -- that is in 1960s -- used for very good [programmers](programming.md) and people who were simply good with computers, the word *hacking* had a completely positive meaning; hacker could almost be synonymous with computer [genius](genius.md) (at the time people handling computers were usually physicists, engineers or mathematicians), someone who enjoyed handling and programming computers and could playfully look for very clever ways of making them do what he wanted. Over time hackers evolved a whole **hacker culture** with its own slang, set of values, behavioral and ethical norms, in jokes and rich lore. As time marched on, computer [security](security.md) has started to become an important topic and some media started to use the word *hacker* for someone breaking into a computer system and so the word gained a negative connotation in the mainstream -- though many refused to accept this new meaning and rather used the word *[cracker](cracker.md)* for a "malicious hacker", there appeared new variants such as *white hat* and *black hat* hacker, referring to ethical and malicious hackers. With onset of online [games](game.md) the word *hacking* even became a synonym for [cheating](cheating.md). The original positive meaning has recently seen some comeback with popularity of sites such as [hacker news](hacker_news.md) or hackaday, the word *life hack* has even found its way into the non-computer mainstream dictionary, however a "[modern](modern.md) hacker" is a bit different from the oldschool hacker, usually for the worse (for example a modern self proclaimed "hacker" has no issue with wearing a [suit](suit.md), something that would be despised by an oldschool hacker). We, [LRS](lrs.md), advocate for using the original, oldschool meaning of the word *hacker*.
## Original Hacker Culture
@ -71,6 +71,7 @@ A great many commonly used tricks in programming could be regarded as hacks even
## See Also
- [zen](zen.md)
- [demoscene](demoscene.md)
- [cracking](cracking.md)
- [databending](databending.md)

View file

@ -27,6 +27,7 @@ On this wiki we kind of use LMAO as a synonym to [LULZ](lulz.md) as used on [Enc
- { Some time in May 2023 I've seen a guy try to upload a "2D game sprite" to [opengameart](opengameart.md) but accidentally uploading a screenshot of him asking ChatGPT how to make a game in Python lol. ~drummyfish }
- Some people believe there is a fictional whole number between 6 and 7 called [thrembo](thrembo.md).
- Some company was accused of racism when its policies forbid hiring people with criminal history, the accusation was that such policy is discriminatory against [black](black.md) people. This left many [SJW](sjw.md)s scratching their heads in confusion -- are the accusers in fact good because they help black people get jobs or bad because they assume criminals are mostly black? :D
- { Once a friend had trouble compiling something, so I asked what error the compiler gave. He said it printed this: `error: too many errors`. Thank you very much compiler :D ~drummyfish }
- God's miracle caught on stream! On April 5th 2013 a "disabled" twitch streamer ZilianOP who was supposedly paralyzed and couldn't walk forgot for a while during live stream that he was paralyzed, he stood up from the wheelchair and went for something, revealing he was in fact just faking the disability so as be considered an American [hero](hero_culture.md) and get more of those viewers seeking inspirational motivators or something :D I'M DISABLED BUT STILL PLAY VIDEO GAMES, WHAT'S YOUR EXCUSE! He then hilariously tried to cover it up along with his girlfriend, saying shit like "nonono, I fell from the chair" and then switching to "I could walk a bit thanks to therapy but I was keeping it secret because I wanted to surprise my girlfriend", you wouldn't believe to what lengths they went lol. On the other hand if you're white and not a [female](woman.md) with large breasts, being disabled is the only chance to ever get any views, so can we really blame him?
- On occasion [reddit](reddit.md) offered its fair share of quality material as well, for example one TIFU (today I fucked up... might actually even have been the TIL subreddit lol) thread recounted a true story of a guy who grew up well into adulthood thinking that toilet seats were ONLY MEANT TO BE USED BY [WOMEN](woman.md) and that men simply sit on the cold toilet edge when they shit :D Apparently no one ever taught him and he only learned about the fact that men can use the seat too when he was buying a new toilet seat and joked with the salesman by saying something along the lines of "haha, if I didn't have a wife I wouldn't have to be spending money on toilet seats" -- then when the guy just stared in confusion all came to be revealed.
- In 2024 the twitter account of Greta Thunberg's father, Svante Thunberg, was hijacked by soyjak.party and started posting some funny stuff about [niggas](nigger.md), telling Greta she was adopted, offending journalists in DMs and so on.

View file

@ -1,12 +1,47 @@
# Procedural Generation
Procedural generation (procgen, also PCG -- *procedural content generation* -- not to be confused with [procedural programming](imperative.md)) refers to creation of data, such as [art](art.md) assets in [games](game.md) or test data for data processing software, by using [algorithms](algorithm.md) and mathematical formulas rather than creating it manually or measuring it in the real world (e.g. by taking photographs). This can be used for example for automatic generation of [textures](texture.md), texts, [music](music.md), game levels or 3D models but also practically anything else, e.g. test [databases](database.md), animations or even computer programs. Such data are also called *synthetic*. Procedural art currently doesn't reach artistic qualities of a skilled human artist, but it can be [good enough](good_enough.md) or even necessary (e.g. for creating extremely large worlds), it may be preferred e.g. for its extreme save of storage memory, it can help add detail to human work, be a good filler, a substitute, an addition to or a basis for manually created art. Procedural generation has many advantages such as saving space (instead of large data we only store small code of the algorithm that generates it), saving artist's time (once we have an algorithm we can generate a lot data extremely quickly), parameterization (we can tweak parameters of the algorithm to control the result or create animation, often in real-time), increasing resolution practically to infinity or extending data to more dimensions (e.g. [3D textures](3d_texture.md)). Procedural generation can also be used as a helper and guidance, e.g. an artist may use a procedurally generated game level as a starting point and fine tune it manually, or vice versa, procedural algorithm may create a level by algorithmically assembling manually created building blocks.
Procedural generation (procgen, also PCG -- *procedural content generation* -- not to be confused with [procedural programming](imperative.md), but see also [RNG](rng.md)) refers to creation of [data](data.md) (and in rarer cases maybe even [programs](program.md)), such as [art](art.md) assets in [games](game.md) or test data for data processing software, by using [algorithms](algorithm.md), [mathematical](math.md) formulas and [randomness](randomness.md) rather than creating them manually or measuring them in the [real world](irl.md) (e.g. by taking photographs, 3D scans etc.). This can be used for example for automatic generation of [textures](texture.md), texts, [music](music.md), game levels or 3D models but also practically anything else, e.g. test [databases](database.md), animations or even computer programs. Such data are also called *synthetic*. Procedural art currently doesn't reach artistic qualities of a skilled human artist, but it can be [good enough](good_enough.md) or even necessary (e.g. for creating extremely large worlds), it may be preferred e.g. for its extreme save of storage memory, it can help add detail to human work, be a good filler, a substitute, an addition to or a basis for manually created art. Procedural generation has many advantages such as saving space (instead of large data we only store small code of the algorithm that generates it), saving artist's time (once we have an algorithm we can generate a lot data extremely quickly), parameterization (we can tweak parameters of the algorithm to control the result or create animation, often in real-time), increasing resolution practically to infinity or extending data to more dimensions (e.g. [3D textures](3d_texture.md)). It's also [fun](fun.md) for the programmer. Procedural generation can also be used as a helper and guidance, e.g. an artist may use a procedurally generated game level as a starting point and fine tune it manually, or vice versa, procedural algorithm may create a level by algorithmically assembling manually created building blocks.
As neural [AI](ai.md) approaches human level of creativity, we may see computers actually replacing many artists in near future, however it is debatable whether AI generated content should be called procedural generation as AI models are quite different from the traditional hand-made algorithms -- AI art is still seen as a separate approach than procedural generation. For this we'll only be considering the traditional approach from now on.
Procedural generation basically means randomly generating things with some added cleverness, i.e. some kind of algorithm and parameter tuning. Randomly generating something isn't that hard, provided we have a good (pseudo)random number generator -- for example to generate random loot in an RPG game may be as simple as generating a single random number representing the item ID -- this isn't yet procedural generation. The process becomes procedural generation if we throw in more rules and cleverness: for example once we start randomly generating cities so that their layout makes some sense (i.e. there are no unreachable streets, buildings in middle of the roads etc.). While doing this it's important to retain in mind all the rules of handling randomness with computers, i.e. we don't really want to employ true randomness but rather [deterministic](determinism.md) [pseudorandomness](pseudorandomness.md)! The whole thing, no matter how big, will be generated just from a single seed number. The same seed must always generate the same thing. And so on and so forth.
[Minecraft](minecraft.md) (or [Minetest](minetest.md)) is a popular example of a game in which the world is generated procedurally, which allows it to have near-infinite worlds -- size of such a world is in practice limited only by ranges of [data types](data_type.md) rather than available memory. [Roguelikes](roguelike.md) also heavily utilize procgen. However this is nothing new, for example the old game called Daggerfall was known for its extremely vast procedurally generated world, and even much older games used this approach. Some amount of procedural generation can be seen probably in most mainstream games, e.g. clouds, vegetation or NPCs are often made procedurally.
```
xc,.....,:cco,,,';,;o:':l:kkkxoooxkkc:',..'.xocxxx ,,:lccoxxkkkx;',;:;lck ,;;, xcl;::,':xkkkxxoccl;,'
kx:,:'.'.'':;'...ooXkxl:xXXxocccccokkxkx;;',l:cXoX :,::lcoxxkkXKKK:'',;lx :,,;.xc;:'',KKKXkkxxocl::,,
kcc;:':','.......::XkXckkxkxocccooxkkXkXXxco:clkkX lll:,:lcoxxxkXKXc'',;o :;;; ol,''lXKXkkxxocl:,:lll
xx;;:'lo;.........;ckxxXkxxoooccooxkkkkkkoXkoxokxk ccoll:,;loccoxXxoo;.,l,:::;,l:.;ooxXxoccol;,:;locc
x:'.:,;xl'.......',;;xXkkxxxxoooooxkkkkkXxXkkxkkkk xxxocll::loooxXxocoo:..,;:,'.,xocoxXxoool::llcoxoo
o:,:xXXkk:.........:'Kkxxxkkkkxxxkxkkkkxkokcl',XxX xkXxxxccl;;cxkXxolccoo, ,: ,ooccloxXkxc;;lccxxkXkx
:''cokkkX,........','0kxoxkxkkkkkkkxkkkkkXo:..,ll; kkXkxxcoxcl;cxKxo;llccol',loccll;oxKxcllcxocxxkKkk
..;'';l,'........lXkXXxxxxkkxxkkkkkkx;;occ,.....'. ,o0XkkoxxxxoccXkx;;;llccooccll;;;xkXccoxxoxokkX0x,
..'''.........,',0kxoooxxxoocoxkkkkx:,:',:,....... ':;XKKkkkkkXKXXxloccllccooccllccoloXXKXkkkkkKKK;:.
..:c::.....':olc'Kxocooxxxoocoxkkkx;'.'c:;'....... :,'.:kooccllllclkkK;::::;;;:::;KXXccllllccock;'',,
kkKXkoc;cXxKKXXxcXkxoxkkkkkkkxokxxk;..;':'.....,lc ;;:,'.loccll;;;kko:xoc..''..cok:okk;;;llccol'',::;
xxxxxxxkkkXkkkkkxkxoooxxkkkcl:;xkk;.........';kKkk cccl;:,'loccll;l:;xkKccllllccKXxl:l;lllcoc'':;lccc
ooxxxkokkkkkkxxxkxxooxxkc::';:,,cl'','.....c0kkooc ''''.':, 'oocclc;:,:cKWMkxMWMc:'::cllcox,.':,.''''
cooooxk;'xkxxkkkxkkxoxoc;kXc'',,,'',,......cXxcccc ::l;;:;:;'.;oocol:.'oX0oK0o0Xx, :locool'';;::;:l::
oxkkxk;.'oXkxkkkxkxkkx',;okxccx;';c:.'.....xXxxooo :lc:;;;::''lcoool:.'okKo0Mo0Xx,.:loooo;'';:;;;,ll,
;,:,'''.'lkkxxxooxxok''',:oXkxkkkko'...;;,:,cccxcl ''''',:, 'oocclc;:',c0WWxxMW0c:'::cllcoo' ,::'''''
..........;;;XkxxXc,;.....oKxoocook,'.:::;'l:,c'.. cccl;:,'loccll;l:;xkKccccccccXXxl,l;llccol'':;lccc
.............lxlc:o:'.....'Xkxooookx:,'...::kXo'.. ;;:,'.;occll;;;kxo:koo......coX:oxk;;;llcco;.',:;;
............',::;Xkol......cXkoocoxkl,''xx:,kX,... :,'.:kccccllllllXkKl::::;;::::;KkXccllllcccok:.',,
..........,cKl,;,xxl.....,,kkkxooxookXXXkkkk;,::.. ',;kKXxkkkkkXXXolocc;lcccoccllccolcXkXkkkkkxXKX;,.
'........'kXxkk;,;,,..,'l',cXkxxooxxooxkkkkco,:l,x 'o0XkkoxxxkxocXkk;;;llccooccll;;;xkXooxxxxxokkX0o'
,,''''...:xkxkk,;;',':,;c,'ookkkxxxxocooxxxkX:c;:: kkKkxxcooollcxKko;llccoc,'loccll;oxKxcllcxocxxkKkk
xkcll,'..'xXxko;',l;:'.cxl,:okkkkkxoooooooooxkoxcl xkXkxxccl;;cxkXxollcoo, ,, ,oocllcxXkxc;;lccxxkXkx
oxxl;.'..,cXkkc:'olxc.'l;':ckXkkkkxooooooooxkocccl xxxoccl::lcooxXxocco;..:l;:..,xccoxXxoool::llcoxxo
':'',,l;clolxllooxxxX:...',0xxxoooxxkkkkkxxol..... ccoll:,;loccooXxool',;::::;:;,.;ooxXooccol;,:llocc
.','''clcl:',;;ccxokkc....oKxoooooxkkkoc:;,....... lll:,:lcoxxxkXKXo,.,;o :;;: o;,''cXKXkxxxocl:,:lll
'......',,,:oxxXooo;,'..'lMkokkxxxkx:.,..''llocl:. ;:::;coxxkkXXK0:'',;lx :,,;.xc;,'':0KXXkkxxocl::,:
:'......';l;o;'';,:''.'ox:,cxkXkkkkoc,......:lxxx; ',:;lcooxkkkkl',:,;lcx ,l;:.xcl;:::';xkkkxoocl;:,'
```
For its extreme save of space procedural generation is extremely popular in [demoscene](demo.md) where programmers try to create as small programs as possible. German programmers made a full fledged 3D shooter called [.kkrieger](kkrieger.md) that fits into just 96 kB! It was thanks to heavy use of procedural generation for the whole game content. [Bytebeat](bytebeat.md) is a simple method of generating procedural "8bit" music, it is used e.g. in [Anarch](anarch.md). Procedural generation is generally popular in indie game dev thanks to offering a way of generating huge amounts of content quickly and without having to pay artists.
*Some procedural textures.*
As [neural](neural_net.md) [AI](ai.md) approaches human level of creativity, we may see computers actually replacing many artists in near [future](future.md), however it is debatable whether AI generated content should be called procedural generation as AI models are quite different from the traditional hand-made procedural algorithms -- AI art is still seen as a separate approach than traditional procedural generation. For this we'll only be considering the traditional approach from now on.
[Minecraft](minecraft.md) (or, for the real chads, [Minetest](minetest.md)) is a popular, relatively recent example of a [game](game.md) completely based on procedural generation, in which the world is wholly procedurally generated, which allows it to have near-[infinite](infinity.md) worlds -- size of such a world is in practice limited only by ranges of [data types](data_type.md) rather than available storage memory. [Roguelikes](roguelike.md) also heavily utilize procgen. However this is nothing new, for example the old game called Daggerfall was known for its extremely vast procedurally generated world, and even much older games used this approach (perhaps more so that there was so little storage memory available). Some amount of procedural generation can be seen probably in most mainstream games, e.g. clouds, vegetation or NPCs are often made procedurally.
For its extreme potential for saving space procedural generation is popular a lot in [demoscene](demo.md) where programmers try to create as small programs as possible. German programmers made a full fledged 3D shooter called [.kkrieger](kkrieger.md) that fits into just 96 kB! It was thanks to heavy use of procedural generation for the whole game content. [Bytebeat](bytebeat.md) is a simple method of generating procedural "8bit" music, it is used e.g. in [Anarch](anarch.md). Procedural generation is generally popular in indie game dev thanks to offering a way of generating huge amounts of content quickly and without having to pay artists.
We may see procgen as being similar to [compression](compression.md) algorithms: we have large data and are looking for an algorithm that's much smaller while being able to reproduce the data (but here we normally go the other way around, we start with the algorithm and see what data it produces rather than searching for an algorithm that produces given data). [John Carmack](john_carmack.md) himself called procgen "basically a shitty compression".

View file

@ -6,7 +6,7 @@ From [mathematical](math.md) viewpoint quine is a **fixed point** of a [function
Attempt mathematically similar to making quines include e.g. making self matching [regular expressions](regex.md) (for this task to be non-trivial the regex has to be for example enclosed between `/`s). Yet another similar challenge is a [polyglot](polyglot.md) program -- one that is a valid program in several languages -- some programs can be quines and polyglots at the same time, i.e. **polyglot quines**.
The challenging part of writing quines lies indeed in the [self reference](self_reference.md) -- normally we cannot just single-line print a string literal containing the source because that string literal would have to contain itself, making it [infinite](infinity.md) in length. The idea commonly used to solve the problem is following:
The challenging part of writing quines lies indeed in the [self reference](self_reference.md) and the fact that as we are working on the solution, we keep changing the goal -- normally we cannot just single-line print a string literal containing the source because that string literal would have to contain itself, making it [infinite](infinity.md) in length. The idea commonly used to solve the problem is following:
1. On first line start a definition of string *S*, later copy-paste to it the string on the second line.
2. On second line put a command that prints the first line, assigning to *S* the string in *S* itself, and then prints *S* (the second line itself).
@ -19,7 +19,7 @@ In the [Text](plaintext.md) [esoteric programming language](esolang.md) every pr
## List Of Quines
**Brainfuck**: not short, has over 2100 characters.
**[Brainfuck](brainfuck.md)**: not short, has over 2100 characters.
**[C](c.md)**:

File diff suppressed because it is too large Load diff

View file

@ -6,7 +6,7 @@ Back in the day there were no [web browsers](browser.md), there was no web. Many
Usenet invented many things that survive until today such as the words *[spam](spam.md)* and *[FAQ](faq.md)* as well as some basic concepts of how discussion forums even work. It was also generally quite a lot for the [free speech](free_speech.md), which is good.
Usenet was originally [ASCII](ascii.md) only, but people started to post binary files encoded as ASCII and there were dedicated sections just for posting binaries, so you co go [piiiiiiiiirating](piracy.md).
Usenet was originally [ASCII](ascii.md) only, but people started to post binary files encoded as ASCII and there were dedicated sections just for posting binaries, so you could go [piiiiiiiiirating](piracy.md).
It worked like this: there were a number of Usenet servers that all collaborated on keeping a database of *articles* that users posted (very roughly this is similar to how [blockchain](blockchain.md) works nowadays); the servers would more or less mirror each other's content. These servers were called *providers* as they also allowed access to Usenet but this was usually for a fee. The system uses a [NNTP](nntp.md) (Network News Transfer Protocol) protocol. The articles users posted were also called *posts* or *news*, they were in [plain text](plain_text.md) and were similar to email messages ([mailing lists](mailing_list.md) actually offer a similar experience). Other users could reply to posts, creating a discussion thread. Every post was also categorized under certain **newsgroup** that formed a hierarchy (e.g. *comp.lang.java*). After so called *Big Renaming* in 1987 the system eventually settled on 8 top level hierarchies (called the *Big 8*): comp.* (computers), news.* (news), sci.* (science), rec.* (recreation), soc.* (social), talk.* (talk), misc.* (other) and humanities.* (humanities). There was also another one called alt.* for "controversial" topics (see especially alt.tasteless). According to [Jargon File](jargon_file.md), by 1996 there was over 10000 different newsgroups.

File diff suppressed because one or more lines are too long

View file

@ -3,9 +3,9 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 598
- number of commits: 895
- total size of all texts in bytes: 4416586
- total number of lines of article texts: 33643
- number of commits: 896
- total size of all texts in bytes: 4422340
- total number of lines of article texts: 33659
- number of script lines: 294
- occurrences of the word "person": 8
- occurrences of the word "nigger": 95
@ -35,60 +35,77 @@ longest articles:
top 50 5+ letter words:
- which (2492)
- there (1911)
- people (1728)
- example (1504)
- other (1366)
- number (1253)
- about (1210)
- software (1201)
- program (986)
- which (2494)
- there (1913)
- people (1729)
- example (1505)
- other (1370)
- number (1254)
- about (1211)
- software (1202)
- program (988)
- because (950)
- their (922)
- would (910)
- their (928)
- would (911)
- something (845)
- called (843)
- language (841)
- being (840)
- things (832)
- things (835)
- numbers (808)
- simple (788)
- computer (768)
- simple (791)
- computer (769)
- without (746)
- programming (724)
- programming (726)
- function (714)
- these (700)
- different (699)
- however (693)
- system (658)
- world (646)
- doesn (630)
- should (627)
- these (701)
- different (700)
- however (692)
- system (663)
- world (647)
- should (632)
- doesn (631)
- while (620)
- point (611)
- games (601)
- games (605)
- society (593)
- still (590)
- still (591)
- drummyfish (577)
- simply (571)
- using (568)
- possible (561)
- though (558)
- simply (572)
- using (570)
- possible (563)
- though (557)
- similar (537)
- course (533)
- course (534)
- https (532)
- memory (527)
- always (514)
- always (515)
- value (510)
- technology (507)
- technology (508)
- basically (499)
- probably (496)
- really (489)
- probably (498)
- really (492)
latest changes:
```
Date: Tue Oct 8 20:06:43 2024 +0200
90s.md
anarchism.md
capitalism.md
chess.md
collapse.md
go.md
lgbt.md
main.md
normalization.md
privacy.md
pseudorandomness.md
random_page.md
randomness.md
unicode.md
wiki_pages.md
wiki_stats.md
Date: Mon Oct 7 14:24:18 2024 +0200
anarch.md
apple.md
@ -108,20 +125,6 @@ Date: Mon Oct 7 14:24:18 2024 +0200
wiki_tldr.md
xxiivv.md
Date: Sun Oct 6 20:23:00 2024 +0200
bbs.md
lrs_dictionary.md
main.md
maintenance.md
nigger.md
random_page.md
ubi.md
unicode.md
wiki_pages.md
wiki_stats.md
Date: Sun Oct 6 16:32:01 2024 +0200
bloat.md
doom.md
freedom.md
```
most wanted pages:
@ -149,23 +152,23 @@ most wanted pages:
most popular and lonely pages:
- [lrs](lrs.md) (306)
- [lrs](lrs.md) (307)
- [capitalism](capitalism.md) (252)
- [c](c.md) (229)
- [bloat](bloat.md) (219)
- [free_software](free_software.md) (185)
- [free_software](free_software.md) (186)
- [suckless](suckless.md) (143)
- [game](game.md) (143)
- [proprietary](proprietary.md) (128)
- [minimalism](minimalism.md) (104)
- [minimalism](minimalism.md) (105)
- [modern](modern.md) (102)
- [computer](computer.md) (102)
- [modern](modern.md) (101)
- [kiss](kiss.md) (100)
- [censorship](censorship.md) (99)
- [fun](fun.md) (96)
- [gnu](gnu.md) (95)
- [fun](fun.md) (97)
- [gnu](gnu.md) (96)
- [linux](linux.md) (94)
- [programming](programming.md) (92)
- [programming](programming.md) (93)
- [math](math.md) (91)
- [shit](shit.md) (86)
- [fight_culture](fight_culture.md) (85)