From ff1da66b9cb0c22e8af4da84eb7a0dc7dd3863c7 Mon Sep 17 00:00:00 2001 From: Miloslav Ciz Date: Tue, 5 Jul 2022 15:26:04 +0200 Subject: [PATCH] Update --- atan.md | 23 +++++++++++++++++++++++ beauty.md | 2 +- chaos.md | 19 +++++++++++++++++++ chess.md | 6 +++--- collapse.md | 4 +++- easier_done_than_said.md | 5 +++++ easy_to_learn_hard_to_master.md | 16 ++++++++++++++++ facebook.md | 5 +++++ faq.md | 8 ++++++++ function.md | 19 +++++++++++++++++++ gatekeeping.md | 5 ----- hard_to_learn_easy_to_master.md | 5 +++++ python.md | 5 +++++ used.md | 3 +++ wiki_style.md | 1 + zero.md | 2 +- 16 files changed, 117 insertions(+), 11 deletions(-) create mode 100644 atan.md create mode 100644 chaos.md create mode 100644 easier_done_than_said.md create mode 100644 easy_to_learn_hard_to_master.md create mode 100644 facebook.md delete mode 100644 gatekeeping.md create mode 100644 hard_to_learn_easy_to_master.md create mode 100644 python.md create mode 100644 used.md diff --git a/atan.md b/atan.md new file mode 100644 index 0000000..2643028 --- /dev/null +++ b/atan.md @@ -0,0 +1,23 @@ +# Arcus Tangent + +Arcus tangent, written as *atan* or *tan^-1*, is the inverse [function](function.md) to the [tangent](tan.md) function. For given argument *x* (any real number) it returns a number *y* (from -[pi](pi.md)/2 to pi/2) such that *tan(y) = x*. + +**Approximation**: Near 0 *atan(x)* can very rougly be approximated simply by *x*. For a large argument *atan(x)* can be approximated by *pi/2 - 1/x* (as *atan*'s [limit](limit.md) is pi/2). The following formula { created by me ~drummyfish } approximates atan with a [poylnomial](polynomial.md) for non-negative argument with error smaller than 2%: + +*atan(x) ~= (x * (2.96088 + 4.9348 * x))/(3.2 + 3.88496 * x + pi * x^2)* + +``` + | y + pi/2 + + | _..---'''''' + | _.'' + | .' +-----------.+'-+--+--+--+--+--> x + _.' |0 1 2 3 4 5 + _-' | +.--'' | + -pi/2 + + | +``` + +*plot of atan(x)* \ No newline at end of file diff --git a/beauty.md b/beauty.md index 418d63f..d89f78a 100644 --- a/beauty.md +++ b/beauty.md @@ -1,6 +1,6 @@ # Beauty -Beauty is an attribute that makes something extremely appealing. In [technology](technology.md), [mathematics](math.md) and other [science](science.md) beauty is, despite it's relative vagueness and subjectivity, an important aspect of design, and in fact this "mathematical beauty" has lots of times some clearly defined shapes -- for example [simplicity](kiss.md) is mostly considered beautiful. +Beauty is an attribute that makes something extremely appealing. In [technology](technology.md), [engineering](engineering.md), [mathematics](math.md) and other [science](science.md) beauty is, despite it's relative vagueness and subjectivity, an important aspect of design, and in fact this "mathematical beauty" has lots of times some clearly defined shapes -- for example [simplicity](kiss.md) is mostly considered beautiful. Beauty can perhaps be seen as a [heuristic](heuristic.md), a touch of intuition that guides the expert in exploration of previously unknown fields, as we have come to learn that the greatest discoveries tend to be very beautiful. Indeed, beginners and [noobs](noob.md) are mostly concerned with learning hard facts, learning standards and getting familiar with already known ways of solving known problems, they often aren't able to recognize what's beautiful and what's ugly. But as one gets more and more experienced and find himself near the borders of current knowledge, there is suddenly no guidance but intuition, beauty, to suggest ways forward, and here one starts to get the feel for beauty. At this point the field, even if highly exact and rigorous, has become an [art](art.md). diff --git a/chaos.md b/chaos.md new file mode 100644 index 0000000..43b0212 --- /dev/null +++ b/chaos.md @@ -0,0 +1,19 @@ +# Chaos + +In [mathematics](math.md) chaos is a phenomenon that makes it extremely difficult to predict, even approximately, the result of some process even if we completely know how the process works and what state it starts in. In more technical terms chaos is a property of a [nonlinear](nonlinear.md) [deterministic](determinism.md) [system](system.md) in which even a very small change in input creates a great change in the output, i.e. the system is very sensitive to [initial conditions](initial_condition.md). Chaos is a topic studied by the field called **chaos theory** and is important in all [science](science.md). In [computer science](compsci.md) it is important for example for the generation of [pseudorandom](pseudorandom.md) numbers or in [cryptography](cryptography.md). Every programmer should be familiar with the existence of chaotic behavior because in mathematics (programming) it emerges very often, it may pose a problem but, of course, it may be taken advantage of as well. + +Perhaps the most important point is that a chaotic system is difficult to predict NOT because of [randomness](randomness.md), lack of information about it or even its incomprehensible complexity (many chaotic systems are defined extremely simply), but because of its inherent structure that greatly amplifies any slight nudge to the system and gives any such nudge a great significance. This may be caused by things such as [feedback loops](feedback_loop.md) and [domino effects](domino_effect.md). Generally we describe this behavior as so called **[butterfly effect](butterfly_effect.md)** -- we liken this to the fact that a butterfly flapping its wings somewhere in a forest can trigger a sequence of events that may lead to causing a tornado in a distant city a few days later. + +Examples of chaotic systems are the double pendulum, weather (which is why it is so difficult to predict it), dice roll, [rule 30](rule_30.md) cellular automaton, [logistic map](logistic_map.md), gravitational interaction of [N bodies](n_body.md) or [Lorenz differential equations](lorenz_system.md). [Langton's ant](langtons_ant.md) sometimes behaves chaotically. Another example may be e.g. a billiard table with multiple balls: if we hit one of the balls with enough strength, it'll shoot and bounce off of walls and other balls, setting them into motion and so on until all balls come to stop in a specific position. If we hit the ball with exactly the same strength but from an angle differing just by 1 degree, the final position would probably end up being completely different. Despite the system being deterministic (governed by exact and predictable laws of motion, neglecting things like quantum physics) a slight difference in input causes a great different in output. + +A simple example of a chaotic equation is also the function *sin(1/x)* for *x* near 0 where it oscillates so quickly that just a tiny shift along the *x* axis drastically changes the result. See how unpredictable results a variant of the function can give: + +| *x* | *1000 * sin(10^9 / x)* | +|-------|------------------------| +| 4.001 | 455,... | +| 4.002 | 818,... | +| 4.003 | -511,... | +| 4.004 | -974,... | +| 4.005 | -335,... | + + diff --git a/chess.md b/chess.md index 80eae73..d304fa2 100644 --- a/chess.md +++ b/chess.md @@ -1,6 +1,6 @@ # Chess -Chess is an old board [game](game.md), perhaps most famous and popular among all board games in history. It is a complete information game that simulates a battle of two armies on a 64x64 board with different battle pieces. Chess has a world-wide competitive community and is considered an intellectual sport but is also a topic of active research (chess is unlikely to be ever solved due to its non-trivial rules combined with enormous state space, Shannon estimated the number of possible games at 10^120) and programming (many chess engines, [AI](ai.md)s and frontends are being actively developed). +Chess is an old two-player board [game](game.md), perhaps most famous and popular among all board games in history. It is a complete information game that simulates a battle of two armies on a 64x64 board with different battle pieces. Chess has a world-wide competitive community and is considered an intellectual sport but is also a topic of active research (chess is unlikely to be ever solved due to its non-trivial rules combined with enormous state space, Shannon estimated the number of possible games at 10^120) and programming (many chess engines, [AI](ai.md)s and frontends are being actively developed). { There is a nice black and white indie movie called *Computer Chess* about chess programmers of the 1980s, it's pretty good, very oldschool, starring real programmers and chess players, check it out. ~drummyfish } @@ -16,11 +16,11 @@ Chess is an old board [game](game.md), perhaps most famous and popular among all ## Chess in General -Chess evolved from ancient board games in India in about 6th century. Nowadays the game is internationally governed by **FIDE** which has taken the role of defining the rules: FIDE rules are considered to be the standard chess rules. FIDE also organizes tournaments, promotes the game and keeps a list of registered player whose performance it rates with so called Elo system –⁠ based on the performance it also grants titles such as **Grandmaster** (GM, strongest), **Internation Master** (IM, second strongest) or **Candidate Master** (CM). +Chess evolved from ancient board games in India in about 6th century. Nowadays the game is internationally governed by **FIDE** which has taken the on role of an authority that defines the official rules: FIDE rules are considered to be the standard chess rules. FIDE also organizes tournaments, promotes the game and keeps a list of registered players whose performance it rates with so called Elo system –⁠ based on the performance it also grants titles such as **Grandmaster** (GM, strongest), **Internation Master** (IM, second strongest) or **Candidate Master** (CM). **[Elo](elo.md) rating** is a mathematical system of numerically rating the performance of players (it is used in many sports, not just chess). Given two players with Elo rating it is possible to compute the probability of the game's outcome (e.g. white has 70% chance of winning etc.). The FIDE set the parameters so that the rating is roughly this: < 1000: beginner, 1000-2000: intermediate, 2000-3000: master. More advanced systems have also been created, namely the Glicko system. -The rules of chess are quite simple and can be found anywhere on the Internet. In short, the game is played on a 64x64 board by two players: one with **white** pieces, one with **black**. Each piece has a way of moving and capturing (eliminating) enemy pieces, for example bishops move diagonally while pawns move one square forward and take diagonally. The goal is to **checkmate** the opponent's king, i.e. make the king attacked by a piece while giving him no way to escape this attack. There are also lesser known rules that noobs often miss and ignore, e.g. so called en-passant or the 50 move rule that declares a draw if there has been no significant move for 50 moves. +The rules of chess are quite simple ([easy to learn, hard to master](easy_to_learn_hard_to_master.md)) and can be found anywhere on the Internet. In short, the game is played on a 64x64 board by two players: one with **white** pieces, one with **black**. Each piece has a way of moving and capturing (eliminating) enemy pieces, for example bishops move diagonally while pawns move one square forward and take diagonally. The goal is to **checkmate** the opponent's king, i.e. make the king attacked by a piece while giving him no way to escape this attack. There are also lesser known rules that noobs often miss and ignore, e.g. so called en-passant or the 50 move rule that declares a draw if there has been no significant move for 50 moves. At the competitive level **clock** (so called *time control*) is used to give each player a limited time for making moves: with unlimited move time games would be painfully long and more a test of patience than skill. Clock can also nicely help balance unequal opponent by giving the stronger player less time to move. Based on the amount of time to move there exist several formats, most notably **correspondence** (slowest, days for a move), **classical** (slow, hours per game), **rapid** (faster, tens of minutes per game), **blitz** (fast, a few seconds per move) and **bullet** (fastest, units of seconds per move). diff --git a/collapse.md b/collapse.md index 2629dae..bba9a54 100644 --- a/collapse.md +++ b/collapse.md @@ -8,4 +8,6 @@ In technological world a lot of people are concerned with the collapse, notable [Ted Kaczynski](ted_kaczynski.md), a famous primitivist murderer, has seen the collapse as a possible option. People like [Luke Smith](luke_smith.md) advocate (and practice) simple, independent off-grid living, besides other reasons in order to be prepared for such an eventuality as a collapse. Even [proprietary](proprietary.md) normies such as [Jonathan Blow](jonathan_blow.md) warn of a coming disaster (in his talk *Preventing the Collapse of Civilization*). [Viznut](viznut.md) is another programmer warning about the collapse. -The details of the collapse cannot of course be predicted exactly -- it may come is an quick, violent form (e.g. in case of a disaster causing a blackout) or as a more agonizing slow death. CollapseOS site talks about two stages of the slow collapse: the first one after the collapse of the supply chain. i.e. when the production of modern computers halts, and the second (decades after) when the last modern computer stops working. \ No newline at end of file +The details of the collapse cannot of course be predicted exactly -- it may come is an quick, violent form (e.g. in case of a disaster causing a blackout) or as a more agonizing slow death. CollapseOS site talks about two stages of the slow collapse: the first one after the collapse of the supply chain. i.e. when the production of modern computers halts, and the second (decades after) when the last modern computer stops working. + +{ I've read a book called Blackout by Marc Elsberg whose story revolves around a large collapse of power supply in Europe. It goes into details on what the consequences would likely be. It's a nice read on the topic. ~drummyfish } \ No newline at end of file diff --git a/easier_done_than_said.md b/easier_done_than_said.md new file mode 100644 index 0000000..10865cb --- /dev/null +++ b/easier_done_than_said.md @@ -0,0 +1,5 @@ +# Easier Done Than Said + +Easier done than said is the opposite of [easier said than done](easier_said_than_done.md). + +Example: exhaling, as saying the word "exhaling" requires exhaling plus doing some extra work such as correctly shaping your mouth. \ No newline at end of file diff --git a/easy_to_learn_hard_to_master.md b/easy_to_learn_hard_to_master.md new file mode 100644 index 0000000..12dde41 --- /dev/null +++ b/easy_to_learn_hard_to_master.md @@ -0,0 +1,16 @@ +# Easy To Learn, Hard To Master + +"Easy to learn, hard to master" (ETLHTM) is a type of design of a [game](game.md) (and by extension a potential property of any [art](art.md) or [skill](skill.md)) which makes it relatively easy to learn to play while mastering the play (playing in near optimal way) remains very difficult. + +Examples of this are games such as [tetris](tetris.md), [minesweeper](minesweeper.md) or [Trackmania](trackmania.md). + +[LRS](lrs.md) sees the ETLHTM design as extremely useful and desirable as it allows for creation of [suckless](suckless.md), simple games that offer many hours of [fun](fun.md). With this philosophy we get a great amount of value for relatively little effort. + +The simplicity of learning a game comes from simple rules while the difficulty of its mastering arises from the complex emergent behavior these simple rules create. Mastering of the game is many times encouraged by [competition](competition.md) among different people but also competition against oneself (trying to beat own score). In many simple games such as [minesweeper](minesweeper.md) there exists a competitive scene (based either on direct matches or some measurement of skill such as [speedrunning](speedrun.md) or achieving high score) that drives people to search for strategies and techniques that optimize the play, and to training skillful execution of such play. + +The opposite is [hard to learn, easy to master](hard_to_learn_easy_to_master.md). + +## See Also + +- [easier done than said](easier_done_than_said.md) +- [speedrun](speedrun.md) \ No newline at end of file diff --git a/facebook.md b/facebook.md new file mode 100644 index 0000000..179a1a3 --- /dev/null +++ b/facebook.md @@ -0,0 +1,5 @@ +# Facebook + +"*Facebook has no users, it only has useds.*" --[rms](rms.md) + +TODO \ No newline at end of file diff --git a/faq.md b/faq.md index 92af052..72b9bca 100644 --- a/faq.md +++ b/faq.md @@ -49,6 +49,10 @@ Of course you can fork this wiki and try to remove politics from it, but I think [Anarcho pacifist](anpac.md) [communism](communism.md), however we are NOT [pseudoleftist](pseudoleft.md) (i.e. we don't support political correctness, violence, cancel culture, Marxism-Leninism etc.). We create technology to help everyone and abuse no one, i.e. a technology for the society of people that are socially (not necessarily physically) equal. Aiming for equality we reject anti-equality means and concepts such as violence, censorship, bullying, canceling, capitalism, governments, police, wars etc. +### Why do you blame everything on capitalism when most of the issues you talk about, like propaganda, surveillance, exploitation of the poor and general abuse of power, appeared also under practically any other systems we've seen in history? + +This is a good point, we talk about capitalism simply because it is the system of today's world and an immediate threat that needs to be addressed, however we always try to stress that the root issue lies deeper: it is **competition** that we see as causing all major evil. Competition between people is what always caused the main issues of a society, no matter whether the system at the time was called capitalism, feudalism or pseudosocialism. While historically competition and conflict between people was mostly forced by the nature, nowadays we've conquered technology to a degree at which we could practically eliminate competition, however we choose to artificially preserve it via capitalism, the glorification of competition, and we see this as an extremely wrong direction, hence we put stress on opposing capitalism, i.e. artificial prolonging of competition. + ### WTF I am offended, is this a nazi site? Are you racist/Xphobic? Do you love Hitler?!?! We're not fascists, we're in fact the exact opposite: our aim is to create technology that benefits everyone equally without any discrimination. I (drummyfish) am personally a pacifist anarchist, I love all living beings and believe in absolute social equality of all life forms. We invite and welcome everyone here, be it gays, communists, rightists, trannies, pedophiles or murderers, we love everyone equally, even you and Hitler. @@ -97,6 +101,10 @@ We use it to **remove** law from our project. Using a [license](license.md) such No. +### How does it feel to be the only one on this planet to see the undistorted truth of reality? + +Pretty lonely and depressing. + ### Are you retarded? :( Maybe, but even a stupid person can sometimes have smart ideas. \ No newline at end of file diff --git a/function.md b/function.md index cbb6434..4559e4b 100644 --- a/function.md +++ b/function.md @@ -58,6 +58,25 @@ In context of functions we may encounter the term [composition](composition.md) [Calculus](calculus.md) is an important mathematical field that studies changes of continuous functions. It can tell us how quickly functions grow, where they have maximum and minimum values, what's the area under the line in their plot and many other things. +### Notable Mathematical Functions + +Functions commonly used in mathematics range from the trivial ones (such as the constant functions, *f(x) = constant*) to things like trigonometric functions ([sine](sin.md), [cosine](cos.md), [tangent](tan.md), ...), [factorial](factorial.md), [logarithm](log.md), [logistic](logistic_function.md) sigmoid function, [Gaussian function](gaussian_function.md) etc. Furthermore some more complex and/or interesting functions are (the term function may be applied liberally here): + +- **[Ackermann function](ackermann_function.md)**: Extremely fast growing function with some weird properties. +- **[busy beaver function](busy_beaver.md)**: One of [noncomputable](computability.md) functions. +- **Minkowski's [questionmark function](questionmark_function.md)**: Weird function with [fractal](fractal.md) properties. +- **sin(1/x)**: Simple function that gets [chaotic](chaos.md) close to zero. +- **[Dirichlet function](dirichlet_function.md)**: Function that can't really be plotted properly. +- **[Weierstrass function](weierstrass_function.md)**: Continuous everywhere, [differentiable](derivative.md) nowhere. +- **Drawing with function plots**: there are many formulas whose plots create pictures, for example the **[Tupper's formula](tuppers_formula.md)** is a self-referential formula that can be seen as a function which when plotted draws the text of the formula itself. There are also equations such as the [Batman equation](batman_equation.md) or an equation that draws the symbol of a heart, which can be seen as functions too. +- **[Thomae's function](thomaes_function.md)**: Function with a nice [fractal](fractal.md) plot. +- **[Cantor function](cantor_function.md)** +- **[Riemann zeta function](riemann_zeta_function.md)**: Function that's subject to [Riemann hypothesis](riemann_hypothesis.md), one of the most important unsolved problems in mathematics. +- **[Blancmange curve](blancmange.md)** +- **[space filling curves](space_filling_curve.md)** +- **[Dirac delta function](unit_impulse.md)**: Function representing infinitely short impulse with unit energy. +- TODO + ## Programming Functions In programming the definition of a function is less strict, even though some languages, namely [functional](functional.md) ones, are built around purely mathematical functions -- for distinction we call these strictly mathematical functions **pure**. In traditional languages functions may or may not be pure, a function here normally means a **subprogram** which can take parameters and return a value, just as a mathematical function, but it can further break some of the rules of mathematical functions -- for example it may have so called **[side effects](side_effect.md)**, i.e. performing additional actions besides just returning a number (such as modifying data in memory, printing something to the screen etc.), or use randomness and internal states, i.e. potentially returning different numbers when invoked (called) multiple times with exactly the same parameters. These functions are called **impure**; in programming a *function* without an adjective is implicitly expected to be impure. Thanks to allowing side effects these functions don't have to actually return any value, their purpose may be to just invoke some behavior such as writing something to the screen, initializing some hardware etc. The following piece of code demonstrates this in [C](c.md): diff --git a/gatekeeping.md b/gatekeeping.md deleted file mode 100644 index 28a049a..0000000 --- a/gatekeeping.md +++ /dev/null @@ -1,5 +0,0 @@ -# Gatekeeping - - - -[Soyence](soyence.md) practices gatekeeping, they \ No newline at end of file diff --git a/hard_to_learn_easy_to_master.md b/hard_to_learn_easy_to_master.md new file mode 100644 index 0000000..e1f3f09 --- /dev/null +++ b/hard_to_learn_easy_to_master.md @@ -0,0 +1,5 @@ +# Hard To Learn, Easy To Master + +"Hard to learn, easy to master" is the opposite of "[easy to learn, hard to master](easy_to_lear_hard_to_master.md)". + +Example: drinking coffee while flying a plane. \ No newline at end of file diff --git a/python.md b/python.md new file mode 100644 index 0000000..e19bb9a --- /dev/null +++ b/python.md @@ -0,0 +1,5 @@ +# Python + +*What if [pseudocode](pseudocode.md) was actually code?* + +TODO \ No newline at end of file diff --git a/used.md b/used.md new file mode 100644 index 0000000..a3ee7be --- /dev/null +++ b/used.md @@ -0,0 +1,3 @@ +# Used + +Used is someone using technology that abuses him, most notably [proprietary](proprietary.md) software. For example those using [Windows](windows.md) are not users but useds. This term was popularized by [Richard Stallman](rms.md). \ No newline at end of file diff --git a/wiki_style.md b/wiki_style.md index 0024dd5..7b08c9b 100644 --- a/wiki_style.md +++ b/wiki_style.md @@ -41,6 +41,7 @@ These are some sources you can use for research and gathering information for ar - **[books](book.md)**: Books are still of higher quality than online sources so you can [pirate](piracy.md) some and steal some facts from them. - **[Internet Archive](internet_archive.md)**: A lot of things can be found on the old web that today drown in the bloat of shitsites, also Internet Archive has archives of various forums etc. - **[YouTube](youtube.md)**: Yes, sadly this is nowadays one of the biggest sources of information which is unfortunately hidden in videos full of ads and retarded zoomers, the information is unindexed. If you are brave enough, you can dig this information out and write it here as a proper text. +- Try searching with different search engines than just Google (wiby, Yandex, Bing, Yahoo, ...). - **Non-web**: When web fails, you can search the [darknet](darknet.md), [gopher](gopher.md), [gemini](gemini.md), [usenet](usenet.md) etc. ## Purpose diff --git a/zero.md b/zero.md index faf30f3..e1e535e 100644 --- a/zero.md +++ b/zero.md @@ -20,7 +20,7 @@ Some properties of and facts about this number follow: - As it is one of the most commonly used numbers in programming, computers sometimes deal with it in special ways, for example in [assembly](assembly.md) languages there are often special instructions for comparing to 0 (e.g. `NEZ`, not equals zero) which can save memory and also be faster. So as a programmer you may optimize your program by trying to use zeros if possible. - In [C](c.md) 0 represents the [false](false.md) value, a function returning 0 many times signifies an [error](error.md) during the execution of that function. However 0 also sometimes means success, e.g. as a return value from the main function. -**Dividing by zero is not defined**, it is a forbidden operation mainly because it breaks equations (allowing dividing by zero would also allow us to make basically any equation hold, even those that normally don't). In programming dividing by zero typically causes an error, crash of a program or an [exception](exception.md). When operating with [limits](limit.md) however, we can handle divisions by zero in a special way (find out what value an [expression](expression.md) approaches if we get infinitely close to dividing by 0). +**Dividing by zero is not defined**, it is a forbidden operation mainly because it breaks equations (allowing dividing by zero would also allow us to make basically any equation hold, even those that normally don't). In programming dividing by zero typically causes an error, crash of a program or an [exception](exception.md). In some programming languages [floating point](float.md) division by zero results in [infinity](infinity.md). When operating with [limits](limit.md), we can handle divisions by zero in a special way (find out what value an [expression](expression.md) approaches if we get infinitely close to dividing by 0). ## See Also