master
Miloslav Ciz 2 weeks ago
parent ede02b10de
commit ab31f1dd64

@ -10,7 +10,7 @@ Examples of approximations:
- **Engineering approximations** ("guesstimations"): e.g. **sin(x) = x** for "small" values of *x* or **[pi](pi.md) = 3** (integer instead of float).
- **[Physics engines](physics_engine.md)**: complex triangle meshes are approximated with simple analytical shapes such as **spheres**, **cuboids** and **capsules** or at least **convex hulls** which are much easier and faster to deal with. They also approximate **relativistic** physics with **Newtonian**.
- **Addition/subtraction** (of integers) can sometimes be approximated with logical [OR](or.md)/[AND](and.md) operations, as they behave a bit similarly. This can be used e.g. for brightening/darkening of pixel colors in [332](rgb332.md) or [565](rgb565.md) format -- without the approximation addition of colors in these formats is very expensive (basically requires conversion to RGB, addition, clamping and a conversion back).
- **[Square root](sqrt.md)/square** (integer) can be roughly approximated too. E.g. to get a quick "almost square" of a number you can try something like doubling each binary digit and shifting everything right, e.g. `101` -> `11001` -- it's not very accurate but may be good enough e.g. for some graphics effects and may be especially effective as hardware implementation as it works instantly and uses literally no [logic gates](logic_gate.md) (you just reorder bits)! A bit improved version may construct a pair of digits from each digit as logical AND (upper bit) and logical OR (lower bit) of the bit with its lower neighbor (lowest bit may still just be doubled), e.g. `1101` -> `11010111`. Square root can similarly be roughly estimated by reducing each pair of bits with logical OR sown to a single bit (e.g. `101100` -> `110`). { Dunno if this is actually used anywhere, I came up with this once before I fell asleep. ~drummyfish } A famous hack in Quake, called *fast inverse square root*, uses a similar approximation in [floating point](float.md).
- **[Square root](sqrt.md)/square** (integer) can be roughly approximated too. E.g. to get a quick "almost square" of a number you can try something like doubling each binary digit and shifting everything right, e.g. `101` -> `11001` -- it's not very accurate but may be [good enough](good_enough.md) e.g. for some graphics effects and may be especially effective as hardware implementation as it works instantly and uses literally no [logic gates](logic_gate.md) (you just reorder bits)! A bit improved version may construct a pair of digits from each digit as logical AND (upper bit) and logical OR (lower bit) of the bit with its lower neighbor (lowest bit may still just be doubled), e.g. `1101` -> `11010111`. Square root can similarly be roughly estimated by reducing each pair of bits with logical OR sown to a single bit (e.g. `101100` -> `110`). { Dunno if this is actually used anywhere, I came up with this once before I fell asleep. ~drummyfish } A famous hack in Quake, called *fast inverse square root*, uses a similar approximation in [floating point](float.md).
- **[3D graphics](3d_rendering.md)** is almost completely about approximations, e.g. basically all shapes are approximated with triangle meshes, [screen space](screen_space.md) effects (like [SSAO](ssao.md)) are used to approximate global illumination, reflections etc. Similarly [ray tracing](ray_tracing.md) neglects indirect lighting etcetc.
- **[Real numbers](real_number.md)** are practically always approximated with [floating point](floating_point.md) or [fixed point](fixed_point.md) (rational numbers).
- **[Numerical methods](numerical.md)** offer generality and typically yield approximate solutions while their precision vs speed can be adjusted via parameters such as number of iterations.

@ -50,6 +50,8 @@ S :S :-S :oS ;S ;-S ;oS =S =-S =oS 8S 8-S 8oS BS B-S BoS XS X-S XoS
:'S :^S :~S ;'S ;^S ;~S ='S =^S =~S 8'S 8^S 8~S B'S B^S B~S X'S X^S X~S
* :* :-* :o* ;* ;-* ;o* =* =-* =o* 8* 8-* 8o* B* B-* Bo* X* X-* Xo*
:'* :^* :~* ;'* ;^* ;~* ='* =^* =~* 8'* 8^* 8~* B'* B^* B~* X'* X^* X~*
1 :1 :-1 :o1 ;1 ;-1 ;o1 =1 =-1 =o1 81 8-1 8o1 B1 B-1 Bo1 X1 X-1 Xo1
:'1 :^1 :~1 ;'1 ;^1 ;~1 ='1 =^1 =~1 8'1 8^1 8~1 B'1 B^1 B~1 X'1 X^1 X~1
: ; = 8 X
) ): )-: )o: ); )-; )o; )= )-= )o= )8 )-8 )o8 )X )-X )oX
@ -82,8 +84,10 @@ S S: S-: So: S; S-; So; S= S-= So= S8 S-8 So8 SX S-X SoX
S': S^: S~: S'; S^; S~; S'= S^= S~= S'8 S^8 S~8 S'X S^X S~X
* *: *-: *o: *; *-; *o; *= *-= *o= *8 *-8 *o8 *X *-X *oX
*': *^: *~: *'; *^; *~; *'= *^= *~= *'8 *^8 *~8 *'X *^X *~X
1 1: 1-: 1o: 1; 1-; 1o; 1= 1-= 1o= 18 1-8 1o8 1X 1-X 1oX
1': 1^: 1~: 1'; 1^; 1~; 1'= 1^= 1~= 1'8 1^8 1~8 1'X 1^X 1~X
:-1 >-) :)) :^} :'-( B{|} >:( xD
>-) :)) :^} :'-( B{|} >:( xD
_ - ~ . v w o ...
OO O_O (O_O) O-O (O-O) O~O (O~O) O.O (O.O) OvO (OvO) OwO (OwO) OoO (OoO) O...O (O...O)
@ -128,4 +132,4 @@ salutations: o/ \o o7 \o/
SOS: ...---...
hitler: :=)
```
```

@ -118,7 +118,7 @@ Here are some questions to test your LRS related knowledge :D
17. Name at least five licenses commonly used for [FOSS](foss.md) programs, five text editors/IDEs commonly used for programming and five operating systems whose source code is mostly free-licensed (none of these is allowed to be using the same or forked kernel of any other).
18. What is the minimum number of [bits](bit.md) that will allow us to represent 12345678910111213 distinct values?
19. Give at least one example of [analog](analog.md) electronic device and one of [digital](digital.md) mechanical device.
20. Is physical violence every justified?
20. Is physical violence ever justified?
21. Find a normalized (having length 1) [normal](normal.md) ([vector](vector.md) that's perpendicular to surface) of the [triangle](triangle.md) defined by vertices *A = {1,2,3}*, *B = {5,5,1}* and *C = {1,5,2}*. (Orientation doesn't matter.)
22. Why will (in a typical programming language such as C) an infinite [recursion](recursion.md) crash the program but infinite loop generally won't?
23. Answer yes/no to following: Is base-three number 2101 greater than base-seven number 206? Is using [gemini](gemini.md) a good idea when [gopher](gopher.md) exists? Is there any [triangle](triangle.md) (in Euclidean geometry) whose one side is longer than the sum of lengths of its other two sides?
@ -132,8 +132,10 @@ Here are some questions to test your LRS related knowledge :D
31. Does the statement "10 does not equal 10" logically [imply](implication.md) that intelligent alien life exists?
32. What is the principle of [asymmetric cryptography](asymmetric_cryptography.md) and why is it called *asymmetric*?
33. What is the main reason for [Earth](earth.md) having seasons (summer, winter, ...)?
34. WARNING: VERY HARD. There are two integers, both greater than 1 and smaller than 100. *P* knows their product, *S* knows their sum. They have this conversation: *P* says: I don't know the numbers. *S* says: I know you don't, I don't know them either. *P* says: now I know them. *S* says: now I know them too. What are the numbers? To solve this you are allowed to use a programming language, pen and paper etc. { Holy shit this took me like a whole day. ~drummyfish }
35. Did you enjoy this quiz?
34. Name at least three [x86](x86.md) [assembly](assembly.md) instructions and shortly explain what they do.
35. WARNING: VERY HARD. There are two integers, both greater than 1 and smaller than 100. *P* knows their product, *S* knows their sum. They have this conversation: *P* says: I don't know the numbers. *S* says: I know you don't, I don't know them either. *P* says: now I know them. *S* says: now I know them too. What are the numbers? To solve this you are allowed to use a programming language, pen and paper etc. { Holy shit this took me like a whole day. ~drummyfish }
36. Compare advantages and disadvantages of [hash](hash.md) tables vs binary [trees](tree.md) for storing text strings, especially in regards to searching the string database.
37. Did you enjoy this quiz?
### Answers
@ -170,8 +172,10 @@ Here are some questions to test your LRS related knowledge :D
31. Yes, a false statement implies anything.
32. The main difference against symmetric cryptography is we have two keys instead of one, one (private) for encrypting and one (public) for decrypting -- neither key can be used for the other task. Therefore encryption and decryption processes differ greatly (while in symmetric cryptography it's essentially the same, using the same key, just in reversed way), the problem looks different in one direction that the other, hence it is called *asymmetric*.
33. It's not the distance from the Sun (the distance doesn't change that much and it also wouldn't explain why opposite hemispheres have opposite seasons) but the tilted Earth axis -- the tilt changes the maximum height to which the Sun rises above any specific spot and so the angle under which it shines on the that spot; the [cosine](cos.md) of this angle says how much energy the place gets from the Sun (similarly to how we use cosine to determine how much light is reflected off of a surface in [shaders](shader.md)).
34. 4 and 13, solution: make a table, columns are first integer, rows are second (remember, both *P* and *S* can be making their own table like this too). Cross out whole bottom triangle (symmetric values). *P* doesn't know the numbers, so cross out all combinations of two primes (he would know such numbers as they have only a unique product). *S* knew *P* didn't know the numbers, so the sum also mustn't be a sum of two primes (if the sum could be written as a prime plus prime, *S* couldn't have known that *P* didn't know the numbers, the numbers may have been those two primes and *P* would have known them). This means you can cross out all such numbers -- these are all bottom-left-to-top-right diagonals that go through at least one already crossed out number (combination of primes), as these diagonal have constant sum. Now *P* has a table like this with relatively few numbers left -- if he now leaves in only the numbers that make the product he knows, he'll very likely be left with only one combination of numbers -- there are still many combinations like this, but only the situation when the numbers are set to be 4 and 13 allows *S* to also deduce the numbers after *P* declares he knows the numbers -- this is because *S* knows the combination lies on one specific constant-sum diagonal and 4-13 lie on the only diagonal that in this situation has a unique product within the reduced table. So with some other combinations *P* could deduce the numbers too, but only with 4-13 *S* can finally say he knows them too.
35. yes
34. For example: MOV (moves values between memory locations or registers), JNE (jump if not equal, jumps to another instruction if comparison resulted in non-equality), ADD (adds values in memory or registers), CMP (compares two values and sets the flags register), RET (returns from procedure, pops return address and jumps there) etc.
35. 4 and 13, solution: make a table, columns are first integer, rows are second (remember, both *P* and *S* can be making their own table like this too). Cross out whole bottom triangle (symmetric values). *P* doesn't know the numbers, so cross out all combinations of two primes (he would know such numbers as they have only a unique product). *S* knew *P* didn't know the numbers, so the sum also mustn't be a sum of two primes (if the sum could be written as a prime plus prime, *S* couldn't have known that *P* didn't know the numbers, the numbers may have been those two primes and *P* would have known them). This means you can cross out all such numbers -- these are all bottom-left-to-top-right diagonals that go through at least one already crossed out number (combination of primes), as these diagonal have constant sum. Now *P* has a table like this with relatively few numbers left -- if he now leaves in only the numbers that make the product he knows, he'll very likely be left with only one combination of numbers -- there are still many combinations like this, but only the situation when the numbers are set to be 4 and 13 allows *S* to also deduce the numbers after *P* declares he knows the numbers -- this is because *S* knows the combination lies on one specific constant-sum diagonal and 4-13 lie on the only diagonal that in this situation has a unique product within the reduced table. So with some other combinations *P* could deduce the numbers too, but only with 4-13 *S* can finally say he knows them too.
36. Hash table will only allow efficient searching of exact matches while binary tree will also allow efficient searching e.g. for all strings starting with some prefix. On the other hand hash table may be faster, in ideal case searching for the match in constant time, but this will depend on the quality of implementation (hash function, number of hash bits, ...), in worst case hash table can degenerate to a mere list. Binary trees will generally be a bit slower, with logarithmic time, but here we'll also have to ensure good implementation, especially balancing the tree -- badly implemented tree may also degenerate to a list.
37. yes
## Other

@ -41,6 +41,7 @@ Here is a list of some projects and project ideas which we, [LRS](lrs.md), need
| game: [Trackmania](trackmania.md) clone| hard | [Licar](licar.md) | drummyfish | started | | |
| game: [Pokemon](pokemon.md) clone | hard? | | | | catchable monsters game, procedurally generated ones? SAF? | Tuxemon, ... |
| game: fantasy [RPG](rpg.md) | hard? | | | | Dream: Elder Scrolls clone, also just a dungeon crawler, ... | |
| game: multiplayer arena shooter | hard | | | | Xonotic died, OpenArena is imperfect, we need a suckless one | OpenArena? |
| games: tiny ones | easy | [uTD](micro_td.md), ... | ... |can never have enough| very tiny games, SAF is ideal for this, nice learning project | |
| [go](go.md) engine/library (C or comun)| mid? | | | | | |
| [GUI](gui.md) library | easy/mid | | | |like SAF but for "PC" GUI (mouse, sound, ...), now GUI's a mess | |

@ -75,6 +75,7 @@ There are many terms that are very similar and can many times be used interchang
- **[geek](geek.md)** vs **[nerd](nerd.md)**
- **[GNU](gnu.md)/Linux** vs **[Linux](linux.md)**
- **[gradient noise](gradient_noise.md)** vs **[value noise](value_noise.md)**
- **[hyperlink](hyperlink.md)** vs **[link](link.md)** vs **[URI](uri.md)** vs **[URL](url.md)**
- **[ID](id.md)** vs **[token](token.md)** vs **[hash](hash.md)** vs **[handle](handle.md)** vs **[identifier](identifier.md)**
- **[infinite](infinity.md)** vs **[arbitrarily large/unbounded](unbounded.md)**
- **[Internet](internet.md)** vs **[web](web.md)**
@ -101,7 +102,6 @@ There are many terms that are very similar and can many times be used interchang
- **[shading](shading.md)** vs **[shadows](shadow.md)**
- **[science](science.md)** vs **[soyence](soyence.md)**
- **[Unicode](unicode.md)** vs **[UTF](utf.md)**
- **[URI](uri.md)** vs **[URL](url.md)**
- **[webpage](webpage.md)** vs **[website](website.md)**
- **[wrap around](wrap.md)** vs **[overflow](overflow.md)**
- ...

File diff suppressed because it is too large Load Diff

@ -9,7 +9,7 @@ Some stereotypes are:
{ WIP ~drummyfish }
- [Americans](usa.md):
- extremely stupid, primitive, close-minded, not knowing geography/history besides the US, think US is the center of the world
- extremely stupid, primitive, close-minded, not knowing geography/history besides the US, think US is the center of the world (and probably whole [Universe](universe.md))
- extremely fat, eat only fast food, have no real cuisine
- shallow, obsessed with looks (white teeth etc.)
- materialist, obsessed with money, hardcore [capitalists](capitalism.md), panic fear of anything resembling [communism](communism.md)/[socialism](socialism.md)

@ -2,7 +2,7 @@
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 narrow-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.
A typical example of troll occurred e.g. circa 2006 when in the game [World of Warcraft](wow.md) some guys pulled the world boos Lord Kazzak into Stormwind, one of the game's main cities, where of course this beast towering above all buildings proceeded to assrape the whole city and anything that stood in his way -- the boss couldn't even be killed because he healed every time he killed someone and with so many low level noobs and NPCs in reach he was just healing constantly. This was an ingenious move but of course, Blizzard like a huge unfunny pussy just stepped in, restarted the server and stopped all the fun because constantly dying several hours in a row was making some of their customers potentially unhappy. Blizzard is full of imbeciles who only listen to money of course.
A typical example of troll occurred e.g. circa 2006 when in the game [World of Warcraft](wow.md) some guys pulled the world boss Lord Kazzak into Stormwind, one of the game's main cities, where of course this beast towering above all buildings proceeded to assrape the whole city and anything that stood in his way -- the boss couldn't even be killed because he healed every time he killed someone and with so many low level noobs and NPCs in reach he was just healing constantly. This was an ingenious move but of course, Blizzard like a huge unfunny pussy just stepped in, restarted the server and stopped all the fun because constantly dying several hours in a row was making some of their customers potentially unhappy. Blizzard is full of imbeciles who only listen to money of course.
Here are some potentially entertaining ways of trolling (they'll be written from the point of view of a fictional character so as to avoid legal responsibility for potential crimes they may inspire lol):

File diff suppressed because one or more lines are too long

@ -3,9 +3,9 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 577
- number of commits: 773
- total size of all texts in bytes: 3668944
- total number of lines of article texts: 28305
- number of commits: 774
- total size of all texts in bytes: 3670729
- total number of lines of article texts: 28314
- number of script lines: 262
- occurences of the word "person": 8
- occurences of the word "nigger": 73
@ -36,24 +36,24 @@ longest articles:
top 50 5+ letter words:
- which (2107)
- there (1591)
- there (1592)
- people (1378)
- other (1145)
- example (1110)
- example (1111)
- software (1043)
- number (1010)
- about (948)
- about (950)
- program (853)
- their (791)
- because (735)
- called (732)
- because (736)
- called (733)
- computer (720)
- would (718)
- language (712)
- simple (690)
- being (687)
- being (688)
- things (679)
- numbers (676)
- numbers (677)
- without (641)
- programming (632)
- function (630)
@ -66,13 +66,13 @@ top 50 5+ letter words:
- should (538)
- games (534)
- point (523)
- doesn (520)
- doesn (521)
- society (517)
- though (495)
- memory (493)
- while (485)
- using (482)
- drummyfish (482)
- using (483)
- drummyfish (483)
- technology (473)
- still (467)
- course (464)
@ -82,13 +82,23 @@ top 50 5+ letter words:
- https (435)
- really (416)
- computers (411)
- extremely (407)
- extremely (408)
- always (405)
- value (397)
latest changes:
```
Date: Sun Apr 21 20:52:14 2024 +0200
21st_century.md
ascii_art.md
everyone_does_it.md
exercises.md
mechanical.md
pedophilia.md
random_page.md
wiki_pages.md
wiki_stats.md
Date: Sat Apr 20 14:23:58 2024 +0200
42.md
art.md
@ -115,19 +125,6 @@ Date: Sat Apr 20 14:23:58 2024 +0200
wiki_pages.md
wiki_stats.md
woman.md
Date: Fri Apr 19 21:07:22 2024 +0200
assembly.md
exercises.md
fail_ab.md
faq.md
game.md
less_retarded_society.md
often_confused.md
proof.md
random_page.md
reddit.md
sjw.md
tangram.md
```
most wanted pages:

@ -10,7 +10,7 @@ Just one of countless damages YouTube has done to society is establishing videos
In November 2021 YouTube removed the dislike count on videos so as to make it impossible to express dislike or disagreement with their propaganda as people naturally started to dislike the exponentially skyrocketing shit and immorality of content [corporations](corporation.md) and [SJWs](sjw.md) started to force promote on YouTube (such as that infamous Lord of the Rings series with ["afro american"](nigger.md) dwarves that got like a billion dislikes [lmao](lmao.md)). In other words capitalism has made it to the stage of banning disagreement when people started to dislike the horse shit they're being force fed. This was met with a wave of universal criticism but of course YouTube told people to shut up and keep consuming that horse excrement -- of course [zoomers](zoomer.md) are just brainless zombies dependent on YouTube like a street whore on heroin so they just accepted that recommendation. Orwell would definitely be happy to see this.
[LMAO](lmao.md), as of 2022 YouTube has become the **kingdom of [clickbait](clickbait.md)**. If you're living in the future and haven't seen this, you wouldn't believe how ridiculously fucked up it is, the platform is quite literally UNUSABLE (but it's still consumable and addictive to idiots so it [works](just_werks.md)) -- ALL videos, including (and especially) those of the "serious" YouTubers (like mr. Veritasium), put absolutely misleading and downright made up lying thumbnails and titles, the videos have [zero](zero.md) [correlation](correlation.md) with how they're presented. Additionally the majority of thumbnails has to be occupied by some [femoid](femoid.md)'s breasts, even "educational [science](soyence.md) videos", so as to force children to click it and masturbate (YouTube can really be seen as a soft [porn](porn.md) site now). Everyone has to do it because [everyone does it](everyone_does_it.md). The YouTube slave shitheads are constantly bothering you and trying to trick you into "audience interaction" because that's what the algorithm pushes them to do with threats of starvation ("I think 1 + 1 = 3, please let me know in the comments if you disagree"). YouTube is not a place to find something useful, it's a place mostly littered by traps set up to exploit you and you can only hope to maybe get something small back for letting yourself be raped (well, basically like in any other for profit place). In other words [capitalism](capitalism.md) is once again working as expected. Yeah and also **ALL videos include sponsored content**, again even the "educational science videos" that children are forced to watch at schools etc. -- this is in addition to "normal" ads that randomly play during the videos.
[LMAO](lmao.md), as of 2022 YouTube has become the **kingdom of [clickbait](clickbait.md)**. If you're living in the future and haven't seen this, you wouldn't believe how ridiculously fucked up it is, the platform is quite literally UNUSABLE (but it's still consumable and addictive to idiots so it [works](just_werks.md)) -- ALL videos, including (and especially) those of the "serious" YouTubers (like mr. Veritasium), put absolutely misleading and downright made up lying thumbnails and titles, the videos have [zero](zero.md) [correlation](correlation.md) with how they're presented. Every second a new video is uploaded titled "THE BIGGEST THING IN HISTORY OF EVER JUST HAPPANED" or "THIS NEW THING WILL CHANGE EVERYTHING FOREVER", then then next second another one etcetc., basically according to YouTube every second the most important thing in history is happening. Additionally the majority of thumbnails has to be occupied by some [femoid](femoid.md)'s breasts, even "educational [science](soyence.md) videos", so as to force children to click it and masturbate (YouTube can really be seen as a soft [porn](porn.md) site now). Everyone has to do it because [everyone does it](everyone_does_it.md). The YouTube slave shitheads are constantly bothering you and trying to trick you into "audience interaction" because that's what the algorithm pushes them to do with threats of starvation ("I think 1 + 1 = 3, please let me know in the comments if you disagree"). YouTube is not a place to find something useful, it's a place mostly littered by traps set up to exploit you and you can only hope to maybe get something small back for letting yourself be raped (well, basically like in any other for profit place). In other words [capitalism](capitalism.md) is once again working as expected. Yeah and also **ALL videos include sponsored content**, again even the "educational science videos" that children are forced to watch at schools etc. -- this is in addition to "normal" ads that randomly play during the videos.
A typical 2022 YouTube video now looks like this:

Loading…
Cancel
Save