This commit is contained in:
Miloslav Ciz 2024-05-25 21:44:26 +02:00
parent b593b70f20
commit 412b7489cc
22 changed files with 1901 additions and 1769 deletions

View file

@ -4,6 +4,8 @@ Duke Nukem 3D (often just *duke 3D*) is a legendary first man shooter video [gam
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.
Duke was very much influenced by a very cool anticapitalist movie called *They Live*, up to the point to completely copy pasting some of the most memorable lines.
## Code
The codebase (including Build engine) is roughly 100000 [LOC](loc.md) of [C](c.md), with some parts in [assembly](assembly.md).

View file

@ -1,3 +1,3 @@
# Entrepreneur
Entrepreneur is an individual practicing legal slavery and legal theft under [capitalism](capitalism.md); capitalists describe those actions by euphemisms such as "doing [business](business.md)". Successful entrepreneurs can also be seen as murderers as they consciously firstly hoard resources that poor people lack (including basic resources needed for living) and secondly cause and perpetuate situations such as the third world slavery where people die on a daily basis performing extremely difficult, dangerous and low paid work, so that the entrepreneur can buy his ass yet another private jet.
Entrepreneur is an individual practicing legal slavery, murder and theft under [capitalism](capitalism.md); capitalists describe those actions by euphemisms such as "doing [business](business.md)". Successful entrepreneurs can also be seen as mass murderers and terrorists as they consciously firstly hoard resources that poor people lack (including basic resources needed for living) and secondly cause and perpetuate situations such as the third world slavery where people die on a daily basis performing extremely difficult, dangerous and low paid work, so that the entrepreneur can buy his ass yet another private jet.

View file

@ -191,7 +191,8 @@ Bear in mind the main purpose of this quiz is for you to test your understanding
88. [Optical fiber](optical_fiber.md) cabels mustn't be bent too much -- one reason for this is that the fibers inside might crack, but another reason is related to the physics of how the light travels inside. What is this effect of optics called and why does it limit the bend radius?
89. We know that an [ellipse](ellipse.md) is a set of points in 2D plane that have constant sum of [distances](distance.md) to some two given points that are called *focal points*. What if we instead consider a taxicab distance (computed as distance alongside X axis plus distance alongside Y axis)? Consider the constant sum of distances to always be set higher than the taxicab distance of the two focal points. What shape will we get? Just describe the shape and intuitively show why it looks like that.
90. What does [Turing tarpit](turing_tarpit.md) mean?
91. Did you enjoy this quiz?
91. =fgtnmtg qlcowj jakju lm vglcnr gjv dm gocl gjv qk vcjU
92. Did you enjoy this quiz?
### Answers
@ -285,7 +286,8 @@ Bear in mind the main purpose of this quiz is for you to test your understanding
88. Total internal refraction -- light travelling in the fibers bounces off of the walls of the fiber, but in order to bounce (be reflected) when it hits the boundary it must hit it under an angle that's smaller than so called critical angle which is calculated from the indices of refraction of the fiber and the material outside of it. If the cable was bent too much, light could hit the boundary under and angle close to perpendicular and by this it would escape to the outside medium.
89. Kind of octagon but with unevenly long sides; a rectangle with bevelled corners, i.e. two horizontal sides, two vertical sides, two 45 degree walls and two 135 degree walls. We can imagine taxicab distance from given point like sort of a diamond, it creates 4 quadrants around the point, in each the distance increases linearly in diagonal direction -- regions of constant distance here form 45 degree angled squares. Boundaries between these quadrants form a cross of infinite size. Taking two different points these two crosses will overlap and form 9 regions (draw it): top-left, top-middle, top-right, middle-left etc. Examining each of the regions we will find that it either keeps the increasing direction the same (if both overlaid directions are the same) or that some principal direction cancels out and leave the sum increasing only in one principal direction -- basically we find that in each of those regions the sum increases linearly in one of 8 directions separated by 45 degrees (except for the middle region where the sum is constant). It's also clear the heightmap has to stay continuous as both of the summed functions are continuous. From all this we can deduce the shape basically.
90. It's a [Turing complete](turing_complete.md) system (typically a [programming language](programming_language.md)) that's however extremely hard to use for any practical programming, i.e. it can be seen as a programming language in which it is theoretically possible to program anything (anything programmable in any other language) but practically it's impossible to program anything significant because of the complicated nature of that language. This terms is related to [esoteric languages](esolang.md).
91. yes
91. [Earth](earth.md) or jvpcG. The cipher reverses the ASCII string and xors every byte (that's not a space) with 0x02 (i.e. flips the second lowest bit) -- don't bitch too much about this being too arbitrary, you can notice the string is reversed by the last character being uppercase and the first one being special char (?), then you can kind of recognize the words as the encoded chars are close to their decoded versions and the lengths of the words also hint on the words (for example a question is quite likely to start with "What").
92. yes
## Other

14
fsf.md
View file

@ -6,15 +6,21 @@ FSF stands for Free Software Foundation, a non-profit organization established b
## History
TODO
FSF was founded in 1985 by [Richard Stallman](rms.md) who also started the [GNU](gnu.md) project.
Later on sister non-profits were founded on other continents, e.g. FSFE ([Europe](europe.md)) in 2001 and FSFLA (Latin America) in 2005.
In September 2019 Richard Stallman, the founder and president of the FSF, was cyberbullied and [cancelled](cancel_culture.md) by SJW fascists for simply stating a rational but unpopular opinion on child sexuality and was forced to resign as a president. This might have been the last nail in the coffin for the FSF. The new president would come to be [Geoffrey Knauth](geoffrey_knauth.md), an idiot who spent his life writing [proprietary](proprietary.md) software in such shit as [C#](c_sharp.md) and helped make [military](military.md) software for killing people (just read his cv online). What's next, a porn actor becoming the next Pope? Would be less surprising.
After this the FSF definitely died.
After this the FSF died completely.
## See Also
- [GNU](gnu.md)
- [OSI](osi.md)
- [FSFLA](fsfla.md)
- [FSFE](fsfe.md)
- [EFF](eff.md)
- [Creative Commons](creative_commons.md)
- [Creative Commons](creative_commons.md)
- [OSI](osi.md)
- [Copyfree](copyfree.md)
- [suckless](suckless.md)

16
gay.md
View file

@ -16,4 +16,18 @@ There is a terrorist [fascist](fascism.md) organization called [LGBT](lgbt.md) a
Of course, [we](lrs.md) have nothing against gay people as we don't have anything against people with any other disorder -- **we love all people equally**. But we do have an issue with any kind of terrorist organization, so while we are okay with homosexuals, we are not okay with LGBT.
**Are you gay?** How can you tell? In doing so you should actually NOT be guided by your sexual desires -- as has been said, most people are bisexual and in sex it many times holds that what disgusts you normally turns you on when you're horny, i.e. if you're a guy and would enjoy sucking a dick, you're not necessarily gay, it may be pure curiosity or just the desire of "forbidden fruit"; this is quite normal. Whether you're gay is probably determined by what kind of LIFE partner you'd choose, i.e. what sex you can fall in a ROMANTIC relationship with. If you're a guy and fall in love with another guy -- i.e. you're passionate just about being with that guy (even in case you couldn't have sex with him) -- you're probably gay. (Of course this holds the other way around too: if you're a guy and enjoy playing with tits, you may not necessarily be straight.)
**Are you gay?** How can you tell? In doing so you should actually NOT be guided by your sexual desires -- as has been said, most people are bisexual and in sex it many times holds that what disgusts you normally turns you on when you're horny, i.e. if you're a guy and would enjoy sucking a dick, you're not necessarily gay, it may be pure curiosity or just the desire of "forbidden fruit"; this is quite normal. Whether you're gay is probably determined by what kind of LIFE partner you'd choose, i.e. what sex you can fall in a ROMANTIC relationship with. If you're a guy and fall in love with another guy -- i.e. you're passionate just about being with that guy (even in case you couldn't have sex with him) -- you're probably gay. (Of course this holds the other way around too: if you're a guy and enjoy playing with tits, you may not necessarily be straight.)
## See Also
- [tranny](tranny.md)
- [gaysexual](gaysexual.md) (someone who is attracted only to gays)
- [gaygaysexual](gaygaysexual) (someone who is attracted only to gaysexuals)
- [straight](straight.md)
- [pedo](pedophilia.md)
- [bisexual](bisexual.md)
- [disease](disease.md)
- [fashion](fashion.md)
- [LGBT](lgbt.md)
- [no homo](no_homo.md)
- [faggotry](faggotry.md)

View file

@ -9,7 +9,7 @@ What following a "constantly [work in progress](wip.md)" list of subjectively se
- **Extinct animals**: obviously everyone loves dinosaurs (BTW look up well preserved fossils of dinosaurs, some are in excellent state, we also now know for fact the skin color of some dinosaurs), but there are many underrated extincts animals, e.g. gigantopithecus, the biggest ape known to have ever existed (estimated weight up to 300 kg), which we however know almost nothing about (only teeth were found). More recently extinct species such as mammoth, dodo, moa bird (extremely big bird), saber-toothed cats, giant sloth, short-faced bear (probably the biggest bear ever) or Tasmanian tiger (which there still exists a black and white video footage of) are interesting exactly because they are closer on the timeline, people may have seen them and even depicted them somehow (e.g. cave paintings), we have may find much better preserved bodies of them and also have a bigger chance of cloning them one day or even discover them still living somewhere (has happened to several species already).
- **[UFO](ufo.md)s and aliens**: ufology is pretty fun when when you dig through the real retarded cases and ignore soyence fanatics that will stop being friends with you. Remember, you may enjoy digging into weird, suspicious cases without starting to wear tinfoil or seeing little green men behind anything; even if a UFO turns out to be a new, secret military tech or newly discovered atmospheric phenomenon and not aliens, it's still pretty damn interesting. Some cases are pretty solid, e.g. Hangzhou Xiaoshan (China) 2010 sighting of extremely weird tear in the sky which was scanning the whole city with some kind of obviously artificial light screen for a very long time, which was seen by thousands and captured on camera and video by many (e.g. https://yt.artemislena.eu/watch?v=__9s5chdV7c) and even caused an airport to shut down -- the real nature of the thing was never explained and wasn't even much talked about (there also seems to be another simple-to-debunk cover up UFO sighting under the same keywords). The Travis Walton abduction case is also quite interesting, supported by a lot of evidence and has stood for a very long time. There are also many pretty good footages of weird UFOs, especially interesting are those captured by multiple people from different angles, which are extremely hard to fake.
- **Known but unexcavated archaeological sites**: e.g. the Qin tomb, a pyramid in China that's a resting place of a great emperor is buried underground -- historical records say the pyramid contains an unbelievable wealth, a great palace and models of cities, seas, waterways of quicksilver and traps protecting against intruders; this is believable as it is also the place where the astonishing terracota army was already excavated. However it is quite likely the pyramid won't be opened during our lifetime, we probably won't ever see it with our eyes. Also the well known pyramids and sphinx of Giza are still very mysterious -- e.g. there are holes in the great Sphinx you can clearly but about which no one ever talks -- you can see they lead somewhere inside but you never see the actual inside, they let no one in and photos are nowhere to be found. Historical places of yet unknown locations, like the hanging gardens of Babylon, are also pretty interesting.
- **Oldest existing photographs**, video and audio recordings, and also old paintings, e.g. cave paintings capturing extinct animals.
- **Oldest existing [photographs](photo.md)**, video and audio recordings, and also old paintings, e.g. cave paintings capturing extinct animals.
- 1816, so called **year without summer**, probably caused by great volcano eruption whose effects might have given a glimpse to what it looked like after the impact of the asteroid that killed the dinosaurs -- however this time many people wrote first hand witness accounts (you can find many in old books and reports, many times just scanned on Internet archive).
- Back before [reddit](reddit.md) became such huge shit interesting stuff could be discovered e.g. at https://old.reddit.com/r/interestingasfuck/top/, however nowadays it seems to be just a propaganda ground -- current all-time top two posts are both literally uninteresting political posts about Ukrainian war? :D Use internet archive to try to dig up the good stuff from the past maybe.
- People with [perfect pitch](perfect_pitch.md) (rare condition that makes one be able to precisely identify any musical tone) always lose this ability some time in their 50s.

View file

@ -59,7 +59,7 @@ Also remember the worst thing you can do to a joke is put a [disclaimer](disclai
- Our new [app](app.md) partly adopts the [KISS](kiss.md) philosophy, specifically the "stupid" part.
- I just had sex with a German chick, for some reason she kept yelling her age. (Or maybe she just didn't consent.)
- I find it much more pleasant to browse the web on a 1 bit display, it can't display a [rainbow](lgbt.md).
- What's long ans sticky? A stick.
- What's long and sticky? A stick.
- The term *military intelligence* is an oxymoron. The term *criminal lawyer* is a redundancy.
- Why are [noobs](noob.md) the most pacifist beings in existence? Because they never beat anyone.
- What does short circuited [capacitor](capacitor.md) and [gratis software](freeware.md) have in common? They are free of charge.
@ -75,6 +75,7 @@ Also remember the worst thing you can do to a joke is put a [disclaimer](disclai
- The goal of [computer science](compsci.md) is to create things that will last at
least until we're finished building them.
- How many lesbians do you need to screw a lightbulb? Eleven: one to screw it and ten to talk about how great it was doing it without a man.
- A fine is tax for doing bad, a tax is fine for doing good.
- What do you like most in a [woman](woman.md)? My dick.
- The new version of [Windows](windows.md) is going to be backdoor free! The backdoor will be free of charge.

View file

@ -10,6 +10,8 @@ As mentioned, **love is not a single feeling**, there are many types of it, for
Is there a **good real life example of unconditional selfless love**? Yes. When a fascist [Brenton Tarrant](brenton_tarrant.md) shot up the Christchurch mosques on 15 March 2019 and killed 51 people, there was a woman among them whose husband said after the incident he wanted to hug Tarrant. The husband was also present during the shooting. Not only has he forgiven the killer of his wife and someone who almost also murdered him alone, he showed him loved, something which must have been unimaginably difficult and something that proved him one of the most pure people on this planet. He said about it the following (paraphrased for copyright concerns): "There is no use in anger. Anger and fight will not fix it, only with love and caring can we warm hearts. [...] I love him because he is a human being, he is my brother. [...] I don't support his act. [...] But perhaps he was hurt in his life, perhaps something happened to him. [...] Everyone has two sides, a bad one and a good one; bring out the good in you.". (source: https://www.mirror.co.uk/news/world-news/husband-forgives-new-zealand-terrorist-14154882) { This moved me so much when I read it, I can't explain how much this affected my life. I have so much admiration for what this man said and I wish I could follow his message for my whole life. Only the words of the man alone have awoken so much of the purest love in me towards every living being on this planet, which I didn't even know existed. ~drummyfish }
In the past selfless love was often felt by mothers for their children (fathers not so much), although that's not the case anymore in [21st century](21st_century.md).
The only true love is unconditional love, love that doesn't punish. **Conditional love is not true love**, it is [evil](evil.md) trying to deceive by likening itself to something good. If love is conditioned, it is just a commodity offered for certain price, i.e. just another form of [business](business.md). Treating love as a form of [capital](capital.md) is the only way practiced in western world, especially the [USA](usa.md), an American is physically incapable of comprehending even the idea of unconditional love.
## The Way Of Love

File diff suppressed because one or more lines are too long

View file

@ -54,9 +54,10 @@ NOTE: **We also desperately need [suckless](suckless.md) rewrites of "FOSS" soft
| [MUD](mud.md) codebase (C or comun) | mid | | | | AFAIK there is no nice MUD codebase now | |
| nice polished concise encyclopedia | mid/hard? | | | | nice printable UNCENSORED encyclop. (clone of Larousse Desk E.) | |
| neural net/other ML library | hard? | | | | could use something KISS in pure C without needed python n shit | nothing |
| non capitalist mouse | harder? | | | | simple no BS free HW mouse, can be ball, good if handles gamyes |capitalist mice :( keyboard|
| steganography hosting anywhere | easy/mid | | |planning in head... |embedding uncensored data anywhere on the Inet with steganography| darknet n shit |
|[PD computer](public_domain_computer.md)| very hard | | | | needs prerequisites done first (language, logic circ. lib., ...)| Thinkpads :) |
| PD computer "[operating system](os.md)"| mid? | | | | not now, will be more like Pokitto loader (see OS article) | |
| PD computer "[operating system](os.md)"| mid? | [comun shell](comun_shell.md)? | drummyfish | highly WIP | | BSDs? DuskOS? |
| [portal renderer](portal_rendering.md) | mid/hard? | | | | for Anarch II? :) | Doom engine, BUILD |
| propaganda materials | easy | | |can never have enough|wallpapers, songs, videos, translations, tutorials, games, ... | |
| programming language | mid/hard | [comun](comun.md) | drummyfish | done, continuing | | C, comun, FORTH, ... |

View file

@ -83,6 +83,7 @@ There are many terms that are very similar and can many times be used interchang
- **[kB/mB/gB/tB](memory_units.md)** vs **[KiB/MiB/GiB/TiB](memory_units.md)**
- **[latency/ping/lag](latency.md)** vs **[throughput/bandwidth](throughput.md)**
- **[leftism](left_right.md)** vs **[pseudoleftism](pseudoleft.md)**
- **[lemma](lemma.md)** vs **[theorem](theorem.md)**
- **[liberalism](liberalism.md)** vs **[libertarianism](libertarianism.md)**
- **[license](license.md)** vs **[waiver](waiver.md)**
- **main [memory](memory.md)** vs **working memory** vs **[RAM](ram.md)**

View file

@ -1,5 +1,99 @@
# Pseudorandomness
*Randomness is too important of a matter to be left to chance.*
Pseudorandom data is [data](data.md) that appears (for example by its statistical properties) to have been generated by a [random](random.md) process despite in fact having been generated by a [deterministic](determinism.md) (i.e. non-random) process. I.e. it's a kind of "fake" but mostly [good enough](good_enough.md) randomness that arises from [chaotic](chaos.md) systems -- systems that behave without randomness, by strict rules, but which scramble, shuffle, twist and transform the numbers in such a complicated way that they eliminate obvious patterns and leave the data looking very "random", though the numbers would be scrambled exactly the same way if the process was repeated with the same conditions, i.e. it is possible (if we know how the generator works) to exactly predict which numbers will fall out of a pseudorandom generator. This is in contrast to "true randomness" that (at least to what most physicists probably think) appears in some processes in nature (most notably in [quantum physics](quantum.md)) and which are absolutely unpredictable, even in theory. Pseudorandomness is typically used to emulate true randomness in [computers](computer.md) because for many things ([games](game.md), [graphics](graphics.md), audio, random sampling, ...) it is absolutely sufficient, it is easy to do AND the repeatability of a pseudorandom sequence is actually an advantage to engineers, e.g. in [debugging](debugging.md) in which we have to replicate bugs we find, or in programs that simply have to behave deterministic (e.g. many network games). True randomness is basically only ever needed for [cryptography](cryptography.md)/[security](security.md) (or possibly for rare applications where we absolutely NEED to ensure lack of any patterns in the data), it is a bit harder to achieve because we need some unbiased source of real-world random data. Pseudorandom generators are so common that in most contexts in programming the word "random" silently actually means just "pseudorandom".
TODO
## How It Works
Firstly let's mention that we can use [look up tables](lut.md), i.e. embed some high quality random data right into our program and then use that as our random numbers, taking one after another and getting back to start once we run out of them. This is for example how [Doom](doom.md)'s pseudorandom generator worked. This is easy to do and extremely fast, but will take up some memory and will offer only a quite limited sized sequence (your generator will have a short period), so ponder on the pros and cons for your specific needs. From now on we'll leave this behind and will focus on really GENERATING the pseudorandom values with some [algorithm](algorithm.md), but look up tables may still be kept in mind (they might even perhaps be somehow combined with the true generators).
There are possibly many ways to approach generating pseudorandom numbers (for example you can just run some chaotic [cellular automaton](cellular_automaton.md) and then convert it to numbers somehow), however we'll be describing the most typical way, used in implementation of programming languages etc.
Pseudorandom generators generate an infinite (but in practice eventually repeating) **sequence** of numbers from some initial starting number which we call a **[seed](seed.md)** (i.e. it's important to rather think of sequences than of individual "random numbers" -- a number itself can hardly be random). For the same seed number the same sequence will always be generated (of course supposing we use the same generator). If you ask the generator for the next pseudorandom number, it will just generate the next number in the sequence and pass it to you. (In practice programs often use system time as the generator's seed number because that will make the program generate different numbers each time it is run.)
The next number in the sequence is typically only generated from the previous number by performing some chaotic operations with it that transform it into a new number. However this is not entirely true because then the generator would have the following weakness: if it generated number *A* and then *B*, then every number *A* would ALWAYS be followed by number *B* -- that doesn't look exactly random. For this reason the generator internally keeps a big number with which it operates and it only returns some *N* [bits](bit.md) (for example the highest 16 bits) of that number to you. This way it is possible (from your point of view) to have the same number be followed by different numbers (though this doesn't hold for the generator's internal value of course, but that doesn't bother us, we are only looking at the output sequence).
The number of bits that the generator takes from its internal number and gives you determines the **range** of random values that you can get. For example if the generator gives you 16 bit numbers, you know the numbers will be in range 0 to 65535. (This can be used to also generate numbers in any range but we'll look at that later.)
Now let's realize another important thing -- if the generator has some internal number, which is the only thing that determines the next number, and if its internal number has some limited size -- let's say for example 32 bits -- then the sequence HAS TO start repeating sometimes because there is a limited number of values the internal number can be in and once we get to the same number, it will have to evolve the same way it evolved before (because we have a deterministic generator and the number is the whole generator's state). Imagine this as a [graph](graph.md): numbers are nodes, the seed is the node we start in, there are finitely many nodes and each one leads to exactly one other node -- going through this graph you inevitably have to end up running in some loop. For this reason we talk about the **period** of a pseudorandom generator -- this period says after how many values the sequence will start to repeat. In fact it is possible that only last *N* values of the initial sequence will start to repeat -- again, if you imagine the graph, it is possible that an initial path leads us to some smaller loop in which we then keep cycling. This may depend on the seed, so the whole situation can get a bit messy, but we can resolve this, just hold on.
It's not hard to see that the period of the generator can be at most 2 to the power of the number of bits of the generator's internal value (i.e. the number of possible distinct values the number can be, or the nodes in the graph). **We want to achieve this maximum period** -- indeed, it is ideal if we can make it as long as possible, but achieving the maximum period will also mean the period won't depend on seed. If you imagine the graph, having a big loop over all the values means that there are no other loops, there's just one long repeating sequence in which each internal value appears exactly once, so no matter where we start (which seed we set), we'll always end up being in the same big loop.
Now let's take a look at specific generators, i.e. types of algorithms to generate the numbers. There are many different kinds, for example [Mersenne Twister](mersenne_twister.md), middle square etc., however probably the **most common type** is the **[linear congruential generator](lcg.md)** (LCG) -- though for many decades now it's been known this type of generator has some issues (for example less significant bits have shorter and shorter periods, for which we usually want to use a very big internal value and return its highest bits as the result), it will likely suffice for most of your needs, but you have to be careful about choosing the generator's parameters correctly. It works like this: given a current (internal) number *x[n]* (which is initially set to the seed number), the next number in the sequence is computed as
*x[n + 1] = (A * x[n] + C) mod M*
where *A*, *C* and *M* are constants -- these are the parameters of the generator. I.e. the next number in the sequence is computed by taking the current number, multiplying it by some constant, adding some constant and then taking modulo (remainder after division) of this by some constant. The catch is in choosing the right constants *A*, *C* and *M* -- it seems there are only a few combinations of these constants that will yield quality sequences. Furthermore we try to make the equation fast to compute, so we often aim to choose *M* to be some power of two -- if we are for example using 32 bit numbers, then choosing *M* to be 2^32 is extremely convenient, we simply let the number overflow (the overflow does the same thing as modulo by 2^32) or, at worse, perform a simple logical [and](and.md) to mask out the lowest bits. It would be cool to also have *A* a power of two because then also the multiplication would be very fast and simple (just a bit shift), BUT this can't really be done because then the multiplication wouldn't actually achieve much randomness, it would just shift the number left, meaning the higher bits of *x[n + 1]* would really be the same (or at least corelated with) the lower bits of *x[n]*.
So how to choose the *A*, *C* and *M* constants? Let's say we take *M* to be a power of two, for reasons stated above. Now it is proven (Hull-Dobell theorem) that we'll get the maximum possible period (the thing we absolutely WANT) if exactly all of the following conditions hold: *M* and *C* must have the highest common divisor 1 (i.e. they must be coprime) AND *A - 1* is divisible by all prime factors of *M* AND *A - 1* is divisible by 4 if *M* is divisible by 4. So basically we want all of these conditions to always hold -- however even if they hold, we don't necessarily have a statistically good generator yet (to ensure this see the tests below). The value of *C* isn't very significant, it's enough if the above conditions hold for it, so many just use e.g. 1 or some prime number, but choosing *A* correctly turns out to be quite hard.
Here is a template for a [C](c.md) linear congruential generator:
```
T _currentRand; // the internal number
void randomSeed(unsigned int seed)
{
_currentRand = seed;
}
unsigned int random()
{
_currentRand = A * _currentRand + C;
return _currentRand >> S;
}
```
Here `T` is the data type of the internal number (implying the *M* constant) -- use some fixed width type from `stdint.h` here. `C` is the multiplicative constant, `A` is the additive constant and `S` is a shift that implies how many highest bits of the internal number will be taken (and therefore what range of numbers we'll be getting). The following table gives you a few hopefully good values you can just plug into this snippet to get an alright generator:
| `T` | `A` | `C` | `S` | note |
| ------------- | ------------------- | --------- | -------- | -------------------- |
| `uint32_t` | 32310901 | 37 | 16 or 24 | *A* from *L'Ecuyer* |
| `uint32_t` | 2891336453 | 123 | 16 or 24 | *A* from *L'Ecuyer* |
| `uint32_t` | 2147001325 | 715136305 | 16 | from *Entacher 1999* |
| `uint32_t` | 22695477 | 1 | 16 | from *Entacher 1999* |
| `uint64_t` | 2862933555777941757 | 12345 | 32 or 48 | *A* from *L'Ecuyer* |
| `uint64_t` | 3935559000370003845 | 1719 | 32 or 48 | *A* from *L'Ecuyer* |
{ I pulled the above numbers from various sources I found, mentioned in the note, tried to select the ones that were allegedly good, I also quickly tested them myself, checked the period was at maximum at least for the 32 bit generators and lower. ~drummyfish }
**How to generate a number in certain desired range?** As said your generator will be giving you numbers of certain fixed number of bits, usually something like 16 or 32, which means you'll be getting numbers in range 0 to 2^bits - 1. But what if you want to get numbers in some specific range *A* to *B* (including both)? To do this you just need to generate a number in range 0 to *B - A* and then add *A* to it (e.g. to generate number from 20 to 30 you generate a number from 0 to 10 and add 20). So let's just suppose we want a number in range 0 to *N* (where *N* can be *B - A*). Let's now suppose *N* is lower than the upper range of our generator, i.e. that we want to get the number into a small range (if this is not the case, we can arbitrarily increase the range of our generator simply by generating more random bits with it, i.e we can join two 16 bit numbers to get a 32 bit number etc.). Now the most common way to get the number in the desired range is by using *modulo (N + 1)* operation, i.e. in [C](c.md) we simply do something like `int random0to100 = random() % 101;`. This easily forces the number we get into the range we want. HOWEVER beware, there is one statistical trap about this called the **modulo bias** that makes some numbers slightly more likely to be generated than others, i.e. it biases our distribution a little bit. For example imagine our generator gives us numbers from 0 to 15 and we want to turn it into range 0 to 10 using the modulo operator, i.e. we'll be doing *mod 11* operation -- there are two ways to get 0 (*0 mod 11* and *11 mod 11*) but only one way to get 9 (*9 mod 11*), so number 0 is twice as likely here. In practice this effect isn't so strong and in many situations we don't really mind it, but we have to be aware of this effects for the sake of cases where it may matter. If necessary, the effect can be reduced -- we may for example realize that modulo bias will be eliminated if the upper range of our generator is a multiple of the range into which we'll be converting, so we can just repeatedly generate numbers until it falls under a limit that's a highest multiple of our desired range lower than the true range of the generator.
**How to generate other probability distributions?** Up until now we supposed a uniform probability distribution, i.e. the most random kind of generator that has an equal probability of generating any number. But sometimes we want a different distribution, i.e. we may want some numbers to be more likely to be generated than others. For this we normally start with the uniform generator and then convert the number into the new distribution. For that we may make use of the following:
- **Averaging many uniform distributions converges to normal distribution** -- this is called *central limit theorem* and in fact works even more generally (the averaged distribution doesn't have to be uniform), but to us it's enough to know that if we want normally distributed random numbers, we can just average many uniformly distributed variables. Intuitively this makes sense -- averaging many numbers will likely be close to the mean value, it's very unlikely to be close to either end as to get an extreme average we would have to roll only numbers close to that one extreme.
- **Elimination method**: This is a very straightforward method, which however requires iteration (i.e. it may not be the fastest). If you know the probability density function of your desired distribution, you can randomly generate 2D points *[x,y]* and once one of them falls under the graph of the density function, you take *x* as the generated value. Again, this makes intuitive sense -- values that have low probability according to the distribution have also lower probability to be generated this way as they have a smaller range of passing values.
- **Inverse transform method**: In this method we take the inverse function of our desired distribution's cumulative distribution function (function that for any *x* says the probability the outcome will be lower than or equal to *x*) and we pass to it a number in range 0 to 1 generated with the vanilla uniform distribution -- this gives us the number in the desired distribution. However for this we have to know the cumulative distribution function's inverse function.
- ...
## Quality/Testing Of Pseudorandom Sequences/Generators
This topic alone can be extremely complex, you could probably do a [PhD](phd.md) on it, let's just do some overview for mere noobs like us.
Firstly you want your generator to be simply a good program in general, i.e. you want it to be as fast, small and as [simple](simple.md) as possible while generating nice sequences. Consider that someone will want to use it to for example generate a white noise for a whole HD screen 60 times per second -- that may be something like 100 million numbers per second! We often judge generators by type and number of operations they need to generate the next number, as that will imply the speed -- as always, you generally want to avoid general division, branching, minimize multiplications and so on. Typically you'll probably want something like one multiplication and a few fast operations like an addition and modulo by power of two. That's basically what the congruential generators do. See also [optimization](optimization.md).
However the core of a pseudorandom generator is the quality of the sequence itself, i.e. ensuring it really looks very random, that it has no patterns. To a noob this sounds easy, he thinks that if you just make some random shit with the numbers it's going to look random, he also thinks that the more things you do with the numbers the more random they'll look -- this is FALSE (typically if you just throw in more operations without thinking you'll make the sequence worse). It's not easy at all to make a random looking sequence of numbers! There is a danger in that with some effort you can make a sequence that will look random to you, but once you use the sequence to generate something -- for example some kind of noise -- you'll see there is actually some pattern, for example you'll see some straight lines in the noise etc. For some applications it may be sufficient to have a lower quality generator, but the danger lies in the cases in which you need a good generator and you think you have one while in fact you don't -- typically scientific simulation have to be extremely careful about this. For example if you're doing [genetic programming](genetic_programming.md) and you need to somehow randomly pick organisms so as to make the evolution fair -- if you have a bad generator, your program won't work because it may secretly be not too random in its choices, it will be unfair -- in this case it will be VERY hard for you to find the cause of why your program doesn't work (in the worse case you'll think it works and will trust its results when in fact the results are bad). To avoid this trap you need to actually test the quality of your sequence (TBH if you want a really good generator you should definitely use something better than the mentioned congruential generator). Let's see some general stuff you can try (considering the base case of generating uniformly distributed numbers):
- **Intuitive check with your senses**: Obviously you'll take a look at the numbers and see if they look random, additionally you can also for example convert the numbers to another base, interpret the sequence as a sequence of different length words (8bit, 10bit, 16bit, ...), convert them to a string, reverse their bits and so on -- it should always look random. Next convert the data to something visual and maybe even auditory, your senses are trained to spot patterns in data. Firstly make a normal plot of the values, it should look like random noise, going up and down completely randomly. Then make a 2D image of the data -- for example plot the values as colors, plot each bit separately etc. -- keep changing the picture width and see if patterns appear. You can also try to make something like [Ulam spiral](ulam_spiral.md). Another way to make a picture (or a 3D point cloud) is to interpret the sequence as a sequence of 2D (or 3D) coordinates and plotting them as points. You must see no patterns in these images, such as clear lines, rectangles, ripples or chunks, it has to look like static [noise](noise.md). You can possibly also try to play the data as a sound, you should hear no tones, or rhythm or anything, just static.
- **Each bit separately has to look random**: Check each bit of the data separately, i.e. firstly take a look only at sequence of the lowest bits of each number -- it has to look random. If you see for example 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, ..., you see it's not really random (if this is the lowest bit the sequence here implies you're getting an odd number, then even, then odd, then even etc.). Do all the tests for this bit alone, then check another bit etc.
- **Check the sequence period**: You want the longest possible period of your generator, i.e. if your generator has an *N* bit internal number and you start with number *A*, you get back to *A* after *2^N* steps and no sooner -- this will ensure not only the maximum period length, but also that the period length will be the same for every starting seed! That's because in this ideal case you simply have a single cycle over all the possible internal number values.
- **Try to [compress](compression.md) the sequence**: Truly random data should be basically impossible to compress -- you can exploit this fact and try to compress your sequence with some compression programs. It is ideal if the compression programs end up enlarging the file.
- **Statistical tests**: Here you use objective mathematical tests -- there exist many very advanced tests, we'll only mention the very simple ones.
- **[Histogram](histogram.md)**: Generate many numbers (but not more than the generator's period) and make a histogram (i.e. for every number count how many times it appeared) -- all numbers should appear roughly with the same frequency. Also count 1 and 0 bits in the whole sequence -- there should be almost the same number of them. But keep in mind this only checks if you have correct frequencies of numbers, it says nothing about their distribution. Even a sequence 1, 2, 3, 4, 5, .... will pass this.
- **Averaging any non-short interval should be close to middle value**: In a random sequence it should hold that if you take any interval that's not too short -- let's say at leas 100 numbers in a row -- the average value should very likely be close to the middle value (the longer the interval, the closer it should be). You can test your sequence like this. This already takes into account even the distribution of the numbers.
- **[Fourier transform](fourier_transform.md)** (and similar methods that give you the spectrum) -- the spectrum of the data should have equal amount of all frequencies, just like white noise.
- **[Correlation](correlation.md) coefficients**: You can try to compute some correlation coefficients, for example try to compute how much correlation there is between consecutive numbers (it's similar to plotting the data as coordinates and seeing if they form a line or not) -- you should ideally find no significant correlations.
- **Chi square test**: Very common test for this kind of thing, see also *poker test*.
- **[Monte Carlo](monte_carlo.md) tests**: Monte Carlo algorithms use random sampling to compute a certain desired value -- for example the value of [pi](pi.md). These suppose that we can sample certain space randomly, so we can exploit this -- if we know what result we want to get (for example we already know the value of pi) we can test the algorithm with our generator and see if we get the desired result -- if we come close to the desired result, we can be a bit more confident that our sampling was random (however we cannot be certain of it -- like with any testing we can only ever be certain about the presence of an error, not about the lack of it).
- **The cool uber randomness test** described in article on [randomness](randomness.md) ;) Basically every number (and by extension any sequence of numbers) should be equally likely to be followed by any other number.
- For the linear congruential generators there's a so called spectral test, it seems to be the one true test for that kind of generators, make sure to do it if you're aiming for the top generator.
- ...
- **Test programs**: There exist programs that do the automatic tests for you, for example [ent](ent.md).
- ...
TODO: add some advanced generator code, e.g. the mersene twister or the middle square + Weyl
## See Also
- [pseudo](pseudo.md)
- [randomness](randomness.md)
- [noise](noise.md)

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@
Randomness means unpredictability, lack of patterns, and/or behavior without cause. Random events can only be predicted imperfectly using [probability](probability.md) because there is something present that's subject to chance, something we don't know; events may be random to us either because they are inherently random (i.e. they really have no cause, pattern etc.) or because we just lack knowledge or practical ability to perfectly predict the events. Randomness is one of the most basic, yet also one of the most difficult concepts to understand about our [Universe](universe.md) -- it's a phenomenon of uttermost practical importance, we encounter it every second of our daily lives, but it's also of no lesser interest to science, philosophy, art and religion. Whole libraries could be filled just with books about this topic, here we will be able to only scratch the surface of it by taking a look at the very basics of randomness, mostly as related to [programming](programming.md) and [math](math.md).
As with similarly wide spanning terms the word *randomness* and *random* may be defined in different ways and change meaning slightly depending on context, for example sometimes we have to distinguish between "true" randomness, such as that we encounter in [quantum mechanics](quantum.md) or that present in nondeterministic mathematical models, and [pseudorandomness](pseudorandomness.md) (what as a programmer you'll be probably dealing with), i.e. imitating this true randomness with [deterministic](determinism.md) ("non-randomly behaving") systems, e.g. sequences of numbers that are difficult to [compress](compression.md). Other times we call random anything at all that just deviates from usual order, as in "someone started randomly spamming me in chat". Let's briefly review a few terms related to this topic:
As with similarly wide spanning terms the word *randomness* and *random* may be defined in different ways and change meaning slightly depending on context, for example sometimes we have to distinguish between "true" randomness, such as that we encounter in [quantum mechanics](quantum.md) or that present in nondeterministic mathematical models, and [pseudorandomness](pseudorandomness.md) (what as a programmer you'll be probably dealing with), i.e. imitating this true randomness with [deterministic](determinism.md) ("non-randomly behaving") systems, e.g. sequences of numbers that are difficult to [compress](compression.md). Other times we call random anything at all that just deviates from usual order, as in "someone started randomly spamming me in chat". Sometimes there are slight nuances in the meaning, for example by the word "random" we can mean "generated by a randomly behaving process", but also for example "data having statistical properties the same as if they were generated by a random process". Sometimes the distinctions don't matter too much, sometimes they do. Let's briefly review a few terms related to this topic:
- **randomness**: The wide term meaning great unpredictability, which may be inherent or just apparent. We usually divide it to:
- **true randomness**: Randomness that is caused by inherently unpredictable behavior of a system, i.e. behavior that truly has no cause and is decided purely by chance, without ever being able to be perfectly predicted, even just theoretically; this is contrasted with pseudorandomness. A typical example given is [quantum physics](quantum.md) in which true randomness seems to be present in things such as some properties of elementary particles of the Universe -- though in fact this can never be proven with certainty, there is so much evidence of us not being able to predict quantum phenomena that we just mostly take it for the closest thing to true randomness in real world. However we can also see some purely mathematical models to have true randomness, simply because they define it so, e.g. a nondeterministic [Turing machine](turing_machine.md) is simply defined to sometimes make purely random decisions.

View file

@ -27,3 +27,5 @@ Some **things that are shit** include [systemd](systemd.md), [capitalism](capita
- [bullshit](bullshit.md)
- [toilet](toilet.md)
- [suck ass](suck_ass.md)
- [pinus](pinus.md)
- [benis](benis.md)

View file

@ -1,6 +1,8 @@
# Trolling
Trolling is a linguistically fairly recent term that has evolved alongside the [Internet](internet.md) and whose meaning ranges from an activity of purposefully causing [drama](drama.md) (mostly on the Internet) for entertainment (the original, narrower meaning) to just shamelessly abusing rules of any system on the detriment of others (narrower meaning, e.g. *[patent](patent.md) trolling*, pre-election *media trolling* etc.). Core value of the wide-sense trolling is simply [fun](fun.md) on the detriment of others -- trolls are those who before the Internet would be called something like jokers or pranksters, however [real life](irl.md) pranks have limited potential -- on the Internet on the other hand trolling can flourish (likely owing to the aspect of [anonymity](anonymity.md), lack of nonverbal communication, lack of consequences and responsibility and so on), so this [art](art.md) has evolved into something more, it is by now an inseparable part of Internet [culture](culture.md) (and should probably become protected by Unesco). Trolling is cherished by cool people who don't take things too seriously and can make fun of themselves and is therefore embraced by forums like [4chan](4chan.md); on the other hand it is demonized by those without sense of humor, those who fear the power of humor (e.g. dictators and fascists) and those who mostly get butthurt by it ([reddit](reddit.md), [Wikipedia](wikipedia.md) and other "safe space" networks). [Evil](evil.md) is always afraid of fun.
Trolling (as a verb) is a fairly recent term that has evolved alongside the [Internet](internet.md) and whose meaning ranges from an activity of purposefully causing [drama](drama.md) (mostly on the Internet) for entertainment (the original, narrower meaning) to just shamelessly abusing rules of any system on the detriment of others (narrower meaning, e.g. *[patent](patent.md) trolling*, pre-election *media trolling* etc.). Core value of the wide-sense trolling is simply [fun](fun.md) on the detriment of others -- trolls are those who before the Internet would be called something like jokers or pranksters, however [real life](irl.md) pranks have limited potential -- on the Internet on the other hand trolling can flourish (likely owing to the aspect of [anonymity](anonymity.md), lack of nonverbal communication, lack of consequences and responsibility and so on), so this [art](art.md) has evolved into something more, it is by now an inseparable part of Internet [culture](culture.md) (and should probably become protected by Unesco). Trolling is cherished by cool people who don't take things too seriously and can make fun of themselves and is therefore embraced by forums like [4chan](4chan.md); on the other hand it is demonized by those without sense of humor, those who fear the power of humor (e.g. dictators and fascists) and those who mostly get butthurt by it ([reddit](reddit.md), [Wikipedia](wikipedia.md) and other "safe space" networks). [Evil](evil.md) is always afraid of fun.
NOTE: That who performs trolling is called a *troll*, a word taken from Nordic mythology where it stands for a fantastic, weird kind of creature that lives in forests, caves or under bridges. Trolls are often a [race](race.md) in many fantasy universes (e.g. Warcraft, LOTR, Harry Potter, ...) -- there their appearance isn't very unified, some make them big, stupid giants, others paint them as tall but human sized creatures with tusks and so on. Further on we'll just be discussing trolls as related to *trolling*.
Trolling is highly associated with the troll face [meme](meme.md) -- the face has become a universal trolling symbol.
@ -20,6 +22,7 @@ Here are some potentially entertaining ways of trolling (they'll be written from
- **Stack overtroll**: I love to perform this troll on sites like programming advice subreddits where wannabe [soydevs](soydev.md) try to roleplay as authorities on programming -- these deserve to be trolled the most :D This gets me banned every time but it's totally worth it, I use this to leave social network sites with style once I get bored with them. I make a piece of code that looks like some noob attempt at making a game, but it's secretly an [obfuscated](obfuscation.md) code that when run does something nasty like delete all files on the computer, create one trillion subdirectories or set goatse as a wallpaper (bloat languages like [Python](python.md) are actually great for this as they can do nasty stuff like execute a dynamically constructed string and they can also download stuff from the Internet and basically do anything they like). Then I post it with a question "hello fellow programmers, I am trying to make my first game but my code doesn't work, can u help me plz?" If the code is well made, i.e. not trivial and quite hard to understand just by looking at it, chances are the first thing people are gonna do is simply copy paste the code and run it -- that's why I prefer to make the code completely destroy the computer so that the guy has to take at least a few hours to reinstall the system to be able to warn others it's a troll. Whenever some comment pops up saying it's a trap, I immediately downvote it and report it for hate speech (I also use puppet accounts here to spam the downvotes because I'll get banned anyway). The good things about this is that I actually teach people about muh [security](security.md), those who step on this mine will never run a random code from the Internet again.
- **The racist gayming streamtroll**: As a famous [vidya](game.md) streamer I love to do this to cause lulz, if done right I just cause drama and won't even get banned. I pick some convenient game, for example GTA or Obvlivion or something, then I just play the game, audience is watching, the catch is that I'll be making slightly racist or sexist choices in the gameplay, for example when driving between mission if I run over pedestrians, I'll only be killing black ones :D I will never buy anything from a black NPC or woman, I will never steal a black car and will prefer taking only white cars I can and so on. BUT... I won't be open about it of course! And I'll be denying it if someone starts to notice, in turn blaming him for being racist for making such observations. I can make this very subtle, for example I'll sometimes run over a white pedestrian too, but I'll keep the ratio biased towards black in such a way that it's noticeable but that it leaves them scratching their heads if it's intentional or not :'D Now if the chat starts to make drama out of it, I'll just say they're paranoid, I'll even do whatever they want me to to make them believe it's not intentional... and then I start slowly doing it again :'D Now this is funny because they can prove you nothing, and it's hilarious if you get reports and some mod literally has to go watch your streams and count the ratio of blacks versus whites you run over LMAO. Nice thing is also that if someone accuses you of racism, mod reviews it and says unconclusive, you can just ban the accuser for trolling, further scaring people from stepping in, at which point you can start being slightly more racist in the gameplay and so on, see how long you can balance on this fine line :D Another idea: play some MMORPG and be racist/sexist towards the races in the game, for example refuse to trade with female characters or speak to gnomes or whatever.
- **Troll the troll**: Advanced mastery of trolling allows one to troll other less experienced trolls -- an encounter of two trolls can be quite fun and educational. Imagine for example troll A setting up the above mentioned *stack overtroll* bait -- troll B, an experienced player of the game, notices the bait, but of course he doesn't bring this up -- no, he pretends to take the bait and responds with something like "wait a minute, let me run the code". Troll A is happy because he thinks he won, but then troll B responds: "yeah, here on line X you got this wrong, here is the correct code...". Troll A is now confused, he's unsure if he's been spotted or if troll B simply skipped running the code, troll B is now in advantage of controlling the game -- a best result here is if troll B actually somehow gets troll A to run the "fixed" code which however breaks his computer; here troll B succeeded in deflecting the troll back and catching OP into his own trap -- this kind of outcome is the best you can wish for and a showcase of true trolling mastery.
- **The richfag**: As a rich faggot I can do literally what I want so for example I bought a forest and started a company that employs people who's job it is to just run around a tree for 8 hours every day -- my goal is to have every tree have one man running around it eventually. The company is not profitable, in fact it loses money but I don't care about that, I already have infinite money. The fun thing is the people are actually grateful because I created jobs basically for all nearby villages :D
- **Creative [Wikipedia](wikipedia.md) vandalism aka [Creative TrollLolz](creative_commons.md)**: for example funny redirects or categorizations (put [Bill Gates](bill_gates.md) to "famous homosexuals" category or something), also consider vandalizing other wikis that usually don't have as much protection.
- `a:hover { display: none; }`
- **Classic trollz** revolve around creating [drama](drama.md) on forums -- this is kind of an [art](art.md) as you have to keep the right balance of seriousness and stupidity; too much of the former and you're not trolling anyone, too much of the latter and you're just spotted as obvious troll. It's definitely not about logging on a starting to drop the [N-words](nigger.md) and insulting everyone, that's just an instant ban that ends the fun; you rather want to start slow, get many people seriously involved in the discussion, be polite and then slightly steer the talk towards something controversial (nice if you pretend to be part of some "oppressed minority"). Then you just make it look like you're just an uneducated simple minded individual who kind of happens to lean towards an opinion the others truly hate, but you have to keep their hope that they can convince you to change your opinion, so still try to be polite, just so you keep arguing with them and wasting more and more of their time until they start losing their shit and the thread explodes into [hitler](hitler.md) arguments etc., then just watch and enjoy.

2
usa.md
View file

@ -50,6 +50,8 @@ Here is a comparison of average European country before and after infestation wi
| wanted to commit suicide | no | yes |
| society worked | kinda | no |
**USA <3 [imperialism](imperialism.md).** In general it goes like this: there is some jungle tribe that has figured life out, they don't have to work much, lie down all day, have sex with anyone they like, have no money, walk around naked, are generally happy. USA sees their resources and they go: "Hey, you need some [DEMOCRACY](democracy.md). We'll take your fields but we'll build a factory there and GIVE YOU [JOBS](work.md). It's not slavery, you'll just be in the factory for 12 hours each day doing repetitive tasks, then you give half of the money you make there to us so that you can keep the land on which you have your hut -- no, it's not slavery, we don't use that word anymore, we call it [capitalism](capitalism.md). We'll teach you what [racism](racism.md) and [feminism](feminism.md) is. We'll build you MCdonalds in your village. We'll kill the jungle in 100km radius along with all life in it, but we'll give you a device to manage your finance and as a bonus it will be showing you ads all day so you don't even have to look around at all the mayhem, you'll just be watching the display, OK? You're welcome."
In [Europe](europe.md), or maybe just anywhere else in the world, you are afraid of getting hit by a car because you might die, in America you afraid of it because you couldn't afford the ambulance bill and would get into unpayable debt (yes, even if you pay "health insurance"). You can literally find footage of half dead people running away from ambulances so that they don't have to go to debt for being kept alive. In Europe you are afraid to hit someone with a car because you might kill him, in America you are afraid of it because he might sue you. This is not an exaggeration or [joke](jokes.md), it's literally how it is -- it's incredible how people can believe the country is somehow "more advanced", it is quite literally the least developed country in history.
## See Also

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: 580
- number of commits: 807
- total size of all texts in bytes: 3808396
- total number of lines of article texts: 29213
- number of commits: 808
- total size of all texts in bytes: 3816598
- total number of lines of article texts: 29236
- number of script lines: 262
- occurences of the word "person": 7
- occurences of the word "nigger": 86
@ -35,60 +35,73 @@ longest articles:
top 50 5+ letter words:
- which (2180)
- there (1642)
- people (1450)
- example (1192)
- other (1185)
- which (2185)
- there (1649)
- people (1461)
- example (1198)
- other (1187)
- software (1073)
- number (1038)
- about (988)
- program (867)
- their (813)
- because (777)
- about (989)
- program (871)
- their (816)
- because (780)
- would (769)
- called (752)
- language (736)
- called (753)
- language (740)
- computer (732)
- being (716)
- things (698)
- being (721)
- things (699)
- simple (697)
- numbers (688)
- something (677)
- without (660)
- programming (646)
- without (661)
- programming (649)
- function (645)
- these (612)
- these (613)
- different (612)
- however (607)
- world (575)
- system (559)
- should (545)
- doesn (543)
- however (610)
- world (576)
- system (561)
- should (546)
- doesn (544)
- games (540)
- society (534)
- society (535)
- point (534)
- though (506)
- while (503)
- while (504)
- drummyfish (498)
- memory (497)
- using (495)
- still (482)
- technology (478)
- still (484)
- technology (479)
- similar (476)
- course (475)
- similar (474)
- simply (460)
- possible (460)
- possible (463)
- simply (461)
- https (451)
- really (424)
- extremely (419)
- computers (418)
- extremely (415)
- always (415)
- actually (414)
latest changes:
```
Date: Wed May 22 17:49:39 2024 +0200
duskos.md
egoism.md
exercises.md
minimalism.md
money.md
oop.md
random_page.md
trolling.md
wiki_pages.md
wiki_stats.md
wikipedia.md
work.md
Date: Tue May 21 21:34:38 2024 +0200
faq.md
pedophilia.md
@ -108,20 +121,6 @@ Date: Mon May 20 21:37:56 2024 +0200
random_page.md
wiki_pages.md
wiki_stats.md
Date: Sun May 19 22:21:45 2024 +0200
coc.md
crime_against_economy.md
exercises.md
linux.md
lrs_dictionary.md
number.md
race.md
random_page.md
trolling.md
usa.md
wiki_pages.md
wiki_stats.md
wikipedia.md
```
most wanted pages:
@ -134,9 +133,9 @@ most wanted pages:
- [buddhism](buddhism.md) (11)
- [array](array.md) (11)
- [quake](quake.md) (10)
- [meme](meme.md) (10)
- [complex_number](complex_number.md) (10)
- [tree](tree.md) (9)
- [meme](meme.md) (9)
- [gpl](gpl.md) (9)
- [drm](drm.md) (9)
- [syntax](syntax.md) (8)
@ -150,9 +149,9 @@ most wanted pages:
most popular and lonely pages:
- [lrs](lrs.md) (281)
- [capitalism](capitalism.md) (212)
- [capitalism](capitalism.md) (213)
- [c](c.md) (211)
- [bloat](bloat.md) (200)
- [bloat](bloat.md) (201)
- [free_software](free_software.md) (165)
- [game](game.md) (139)
- [suckless](suckless.md) (134)
@ -174,8 +173,8 @@ most popular and lonely pages:
- [hacking](hacking.md) (73)
- [fight_culture](fight_culture.md) (73)
- [bullshit](bullshit.md) (73)
- [programming_language](programming_language.md) (71)
- [art](art.md) (71)
- [programming_language](programming_language.md) (70)
- [shit](shit.md) (69)
- [float](float.md) (66)
- [chess](chess.md) (65)

View file

@ -97,6 +97,7 @@ Here is a list of almost all historically notable women:
- **Eve of the Bible**: achieved probably the biggest fuck up in [history](history.md), she did the single one thing she was forbidden from doing without even gaining much benefit from it, she ate some kind of [God](god.md) forbidden fruit, enraged God and doomed all people who will ever live to be banished from paradise :D
- **Helen of Troy**: caused the Troy war.
- **Hermione Granger**: smart girl, also fictional (these two attributes seem to go together in girls).
- Jack The Ripper's victims: prostitutes famous for being killed by a famous serial killer.
- **Joan of Arc**: [militant](military.md) nationalist [fascist](fascism.md), basically Christian [jihadist](jihad.md).
- **Judit Polgar**: best non-fictional female [chess](chess.md) player that at her peak managed the incredible feat of ranking #56 in the world while actually existing.
- **[Marie Curie](marie_curie.md)**: this one was actually probably quite skilled and based, won two Nobel Prizes (at the time when there were no diversity quotas so it actually counts), though she probably stole most of her work from her husband. She was quite ugly tho.

View file

@ -30,6 +30,7 @@ For lawyers: we officially DO NOT ADVISE any illegal methods mentioned here. How
- **Getting a rich partner?**: someone rich can just take care of you for sex and love, however it may be not worth it as rich people are often capitalists whom it's better to stay away from.
- **Moving to some nice community that doesn't force work**: the problem is actually finding such community, but maybe some hippie tent villages could be like that. Multiple people living together can be an advantage, they may pool in money to pay the absolutely necessary bills like property tax -- this will spread the expenses over many people so that every member will have to pay just a very small amount per year. They may then use their land to establish a micro community that works on [communist](communism.md) principles, making their own food etc.
- **Going to [jail](jail.md)**: in some countries jail are quite luxurious and once in jail you can just refuse to work as they cannot lock you up more. In jail you have shelter and food, i.e. already more than most people in a capitalist society. However watch out: for some crimes you may just get fined, not actually locked up, so it's good to study the law to know which crimes it's best to commit to safely get one to jail.
- **US edition: suing the employer**: If you're a woman, nowadays you can successfully sue anyone for rape, you don't even need evidence, making $1000000 shouldn't be a problem. A non-white can play it on [racism](racism.md), a "disabiled" man can play it on disability etc. However one mustn't hurt a fellow working class poorfag, it must be made so that the comapany or some rich manager pays. IN THEORY it is possible to plot with one's coworkers -- for example the coworkers on same positions talk to each other, reveal their pays to one another, then the one with lowest pay sues for discrimination and they split the profit. Etc.
- **Becoming a prostitute (usually for [women](woman.md))**: it's easy money and you literally get paid for having [sex](sex.md). Unless you're real ugly it may be enough to just "work" like this for a few days in a month.
- ...

View file

@ -10,4 +10,5 @@ It would work on the same principle as e.g. [teletext](teletext.md): there would
## See Also
- [Ronja](ronja.md)
- [Ronja](ronja.md)
- [teletext](teletext.md)