Update
This commit is contained in:
parent
165d7890e6
commit
bb467bc532
20 changed files with 1996 additions and 1978 deletions
16
algorithm.md
16
algorithm.md
|
@ -1,22 +1,20 @@
|
|||
# Algorithm
|
||||
|
||||
Algorithm (from the name of Persian mathematician Muhammad ibn Musa al-Khwarizmi) is an exact step-by-step description of how to solve some type of a problem. Algorithms are basically what [programming](programming.md) is all about: we tell [computers](computer.md), in very exact ways (with [programming languages](programming_language.md)), how to solve problems -- we write algorithms. But algorithms don't have to be just computer programs, they are simply exact, simple instruction for solving problems. Although maybe not as obvious, [mathematics](math.md) is also a lot about creating algorithms because it strives to give us exact instructions for solving problems -- a mathematical formula usually tells us (not explicitly but in an implied way) what we have to do to compute something, so in a way it is an algorithm too. A "series of steps" is a [good enough](good_enough.md) definition of algorithm for everyday use, however for [computer scientists](compsci.md) there is a much more precise, mathematical definition, which states that algorithm is that which can be represented by a [Turing machine](turing_machine.md).
|
||||
Algorithm (from the name of Persian mathematician Muhammad ibn Musa al-Khwarizmi) is an exact step-by-step description of how to solve some type of a problem. Algorithms are basically what [programming](programming.md) is all about: we tell [computers](computer.md), in very exact ways (with [programming languages](programming_language.md)), how to solve problems -- we write algorithms. But algorithms don't have to be just computer programs, they are any kind of exact description for how to solve specific types of problems. Although it may not be immediately evident, [mathematics](math.md) similarly revolves around algorithms because it works towards giving us exact instructions for solving problems -- a mathematical formula usually tells us (not [explicitly](explicit.md) but in an implied way) what we have to do to calculate a result, so in a way it is a sort of algorithm too. A "series of steps" is a [good enough](good_enough.md) definition of algorithm for everyday use, however for [computer scientists](compsci.md) there is a much more precise, mathematical definition, which states that algorithm is that which can be represented by a [Turing machine](turing_machine.md).
|
||||
|
||||
Cooking recipes are commonly given as an example of a non-computer algorithm, though they rarely contain branching ("if condition holds then do...") and loops ("while a condition holds do ..."), the key features of algorithms. The so called wall-follower is a simple algorithm to get out of any [maze](maze.md) which doesn't have any disconnected walls: you just pick either a left-hand or right-hand wall and then keep following it. Long division of numbers which students are taught at school is also an algorithm. You may write a crazy algorithm basically for any kind of problem, e.g. for how to clean a room or how to get a [girl](woman.md) to bed, but it has to be **precise** so that anyone can execute the algorithm just by blindly following the steps; if there is any ambiguity, it is not considered an algorithm; a vague, imprecise "hint" on how to find a solution (e.g. "the airport is somewhere in this general direction.") we rather call a [heuristic](heuristic.md). Heuristics are useful too and they may be utilized by an algorithm, e.g. to find a precise solution faster, but from programmer's point of view algorithms, the PRECISE ways of finding solutions, are the basics of everything.
|
||||
|
||||
Interesting fact: contrary to intuition there are problems that are mathematically proven to be unsolvable by any algorithm, see [undecidability](undecidability.md), but for most practically encountered problems we can write an algorithm (though for some problems even our best algorithms can be unusably [slow](time_complexity.md)).
|
||||
[Interesting](interesting.md) fact: contrary to intuition there are problems that are mathematically proven to be unsolvable by any algorithm, see [undecidability](undecidability.md), but for most practically encountered problems we can write an algorithm (though for some problems even our best algorithms can be unusably [slow](time_complexity.md)).
|
||||
|
||||
Algorithms are mostly (possibly [not always](declarative.md), depending on exact definition of the term) written as a **series of steps** (or "instructions"); these steps may be specific actions (such as adding two numbers or drawing a pixel to the screen) or **conditional jumps** to other steps ("if condition X holds then jump to step N, otherwise continue"). At the lowest level ([machine code](machine_code.md), [assembly](assembly.md)) computers cannot do anything more complex than that: execute simple instructions (expressed as [1s and 0s](binary.md)) and perform conditional jumps -- in this computers are quite dumb (their strength comes from being able to execute many instruction with extreme speed). These jumps can be used to create **[branches](branch.md)** (in programming known as *if-then-else*) and **[loops](loop.md)**. Branches and loops are together known as [control structures](control_structure.md) -- they don't express a direct action but control which steps in the algorithm will follow. All in all, **any algorithm can be built just using these three basic constructs**:
|
||||
Ordinarily (but [not necessarily always](declarative.md)) we write algorithms down as a **series of steps** (or "instructions"); these steps may be specific actions (such as adding two numbers or drawing a [pixel](pixel.md) to the screen) or **conditional jumps** to other steps ("if condition X holds then jump to step N, otherwise continue"). At the lowest level ([machine code](machine_code.md), [assembly](assembly.md)) computers cannot do anything more complex than that: execute simple instructions (expressed as [1s and 0s](binary.md)) and perform conditional jumps -- in this computers are quite dumb (their strength comes from being able to execute many instruction with extreme speed). These jumps can be used to create **[branches](branch.md)** (in programming known as *if-then-else*) and **[loops](loop.md)**. Branches and loops are together known as [control structures](control_structure.md) -- they don't express a direct action but control which steps in the algorithm will follow. All in all, **any algorithm can be built just using these three basic constructs**:
|
||||
|
||||
- **sequence**: A series of steps, one after another. E.g. "write prompt, read number from input, multiply it by two, store it to memory".
|
||||
- **selection** (branches, *if-then-else*): Two branches (blocks of instructions) preceded by a condition; the first branch is executed only if the condition holds, the second ("else") branch is executed only if the condition doesn't hold (e.g. "If user password is correct, log the user in, otherwise print out an error."). The second branch is optional (it may remain empty).
|
||||
- **iteration** (loops, repetition): Sequence of steps that's repeated as long as certain condition holds (e.g. "As long as end of file is not reached, read and print out the next character from the file.").
|
||||
|
||||
Note: as already said above, in a wider sense algorithms may be expressed in other (mathematically equivalent) ways than sequences of steps (non-[imperative](imperative.md) ways, see [declarative languages](declarative.md)), even mathematical equations may be called algorithms. But now we'll stick to the common narrow meaning of algorithm given above.
|
||||
Additional constructs may be introduced to facilitate programming further, e.g. [subroutines/functions](function.md) (kind of small subprograms which the main program may invoke), [macros](macro.md) (shorthand commands that represent multiple commands) or [switch](switch.md) statements (selection with more than two branches). Loops are also commonly divided into several types such as: counted loops, loops with condition and the beginning, loops with condition at the end and infinite loops (`for`, `while`, `do while` and `while (1)` in [C](c.md), respectively) -- in theory there can only be one generic type of loop but for convenience programming languages normally offer different "templates" for commonly used loops. Similarly to mathematical equations, algorithms make use of [variables](variable.md), i.e. values which can change and which have a specific name (such as *x* or *myVariable*).
|
||||
|
||||
Additional constructs can be introduced to make programming more comfortable, e.g. [subroutines/functions](function.md) (kind of small subprograms that the main program uses for solving the problem), [macros](macro.md) (shorthand commands that represent multiple commands) or [switch](switch.md) statements (selection but with more than two branches). Loops are also commonly divided into several types such as: counted loops, loops with condition and the beginning, loops with condition at the end and infinite loops (`for`, `while`, `do while` and `while (1)` in [C](c.md), respectively) -- in theory there can only be one generic type of loop but for convenience programming languages normally offer different "templates" for commonly used loops. Similarly to mathematical equations, algorithms make use of [variables](variable.md), i.e. values which can change and which have a specific name (such as *x* or *myVariable*).
|
||||
|
||||
Practical programming is based on expressing algorithms via [text](text.md) in [programming languages](programming_language.md), but visual programming is also possible: [flowcharts](flowchart.md) are a way of visually expressing algorithms, you have probably seen some. [Decision trees](decision_tree.md) are special cases of algorithms that have no loops, you have probably seen some too. Even though some languages (mostly educational such as [Snap](snap.md)) are visual and similar to flow charts, it is not practical to create big algorithms in this way -- serious programs are written as a text in [programming languages](programming_language.md).
|
||||
Practical programming is based on expressing algorithms via [text](text.md) in **[programming languages](programming_language.md)**, but visual programming is also possible: [flowcharts](flowchart.md) are a way of visually expressing algorithms, you have probably seen some. [Decision trees](decision_tree.md) are special cases of algorithms that have no loops, you have probably seen some too. Even though some languages (mostly educational such as [Snap](snap.md)) are visual and similar to flow charts, it is not practical to create big algorithms in this way -- serious programs are written as a text in [programming languages](programming_language.md).
|
||||
|
||||
## Example
|
||||
|
||||
|
@ -301,9 +299,9 @@ This algorithm is however not very efficient and could be **[optimized](optimiza
|
|||
|
||||
## Study of Algorithms
|
||||
|
||||
Algorithms are the core topic of [computer science](compsci.md), there's a lot of theory and knowledge about them.
|
||||
Algorithms are the center subject of [computer science](compsci.md), there's plenty of theory and knowledge about them.
|
||||
|
||||
[Turing machine](turing_machine.md), a kind of mathematical bare-minimum computer, created by [Alan Turing](turing.md), is the traditional formal tool for studying algorithms, though many other [models of computation](model_of_computation.md) exist -- for example [lambda calculus](lambda_calculus.md) that's a basis of [functional programming](functional.md) under which we already see algorithms in a bit different light: not as a series of steps but rather as evaluating mathematical functions. From theoretical computer science we know not all problems are [computable](computability.md), i.e. there are problems unsolvable by any algorithm (e.g. the [halting problem](halting_problem.md)). [Computational complexity](computational_complexity.md) is a theoretical study of resource consumption by algorithms, i.e. how fast and memory efficient algorithms are (see e.g. [P vs NP](p_vs_np.md)). [Mathematical programming](mathematical_programming.md) is concerned, besides others, with optimizing algorithms so that their time and/or space complexity is as low as possible which gives rise to algorithm design methods such as [dynamic programming](dynamic_programming.md) (practical [optimization](optimization.md) is a more pragmatic approach to making algorithms more efficient). [Formal verification](formal_verification.md) is a field that tries to mathematically (and sometimes automatically) prove correctness of algorithms (this is needed for critical software, e.g. in planes or medicine). [Genetic programming](generic_programming.md) and some other methods of [artificial intelligence](ai.md) try to automatically create algorithms (*algorithms that create algorithms*). [Quantum computing](quantum.md) is concerned with creating new kinds of algorithms for quantum computers (a new type of still-in-research computers). [Programming language](programming_language.md) design is the art and science of creating languages that express computer algorithms well. Etcetc.
|
||||
[Turing machine](turing_machine.md), a kind of mathematical bare-minimum computer, created by [Alan Turing](turing.md), is the traditional formal tool for studying algorithms, though many other [models of computation](model_of_computation.md) exist -- for example [lambda calculus](lambda_calculus.md) that's a basis of [functional programming](functional.md) under which we already see algorithms in a bit different light: not as a series of steps but rather as evaluating mathematical functions. From theoretical computer science we know not all problems are [computable](computability.md), i.e. there are problems unsolvable by any algorithm (e.g. the [halting problem](halting_problem.md)). [Computational complexity](computational_complexity.md) is a theoretical study of resource consumption by algorithms, i.e. how fast and memory efficient algorithms are (see e.g. [P vs NP](p_vs_np.md)). [Mathematical programming](mathematical_programming.md) is concerned, besides others, with optimizing algorithms so that their time and/or space complexity is as low as possible which gives rise to algorithm design methods such as [dynamic programming](dynamic_programming.md) (practical [optimization](optimization.md) is a more pragmatic approach to making algorithms more efficient). [Formal verification](formal_verification.md) is a field that tries to mathematically (and sometimes automatically) prove correctness of algorithms (this is needed for critical software, e.g. in planes or medicine). [Genetic programming](generic_programming.md) and some other methods of [artificial intelligence](ai.md) try to automatically create algorithms (*algorithms that create algorithms*). [Quantum computing](quantum.md) studies new kinds of algorithms running on quantum computers (a new type of still-in-research computers). [Programming language](programming_language.md) design is the art and science of creating languages that express computer algorithms well. Etcetc.
|
||||
|
||||
## Specific Algorithms
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ And now to some general tips:
|
|||
- ...
|
||||
- **low(er) calorie food**: This is what you want your meals to consist of. In general you want stuff with a lot of water in it as water makes it bigger (makes you full) and has no calories.
|
||||
- **fruit/vegetable**: Obviously, very tasty, healthy and cool.
|
||||
- **mushrooms**: Almost entirely made of water, very tasty, but also a bit heavy so can't be eating every day.
|
||||
- **mushrooms**: Nearly entirely made of water, very tasty, but also a bit heavy so can't be eating every day.
|
||||
- **potato**: Amazing product of nature that can be eaten in many forms, is very tasty and doesn't have too many calories.
|
||||
- **rice**: Not the lowest in calories but acceptable and very tasty. There may be differences between different kind of rice, so this must be checked out.
|
||||
- **juices (watered down)**: Natural juices are tasty and only have few calories, which can further be reduced by adding water.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
*"In this moment I am euphoric ..."* --some retarded atheist
|
||||
|
||||
An atheist is someone who doesn't believe in [god](god.md) or any other similar supernatural beings. An especially annoying kind is the fedora tipping **[reddit](reddit.md) atheist** who will DESTROY YOU WITH FACTS AND [LOGIC](logic.md)^(TM) while managing to throw around le [42](42.md) jokes. These atheists are 14 year old children who think they've discovered the secret of the universe and have to let the whole world know they're an ATHEIST who scored 200 [IQ](iq.md) on facebook test and knows all 10 argument fallacies, while in fact they reside at the [mount stupid](mount_stupid.md) and many times involuntarily appear on other subreddits such as r/iamverysmart and r/cringe. They masturbate to [Richard Dawkins](richard_dawkins.md), love to read [soyentific](soyence.md) studiiiiiies about how [race](race.md) has no biological meaning and think that religion is literally [Hitler](hitler.md) (oh noes, reduction to HITLER has been committed, game over) while taking every words of famous soyence popularizators like the word of a priest. They love to write or even read the ["rational" wiki](rationalwiki.md). They like to pick easy targets such as [flatearthers](flat_earth.md) and cyberbully them on [YouTube](youtube.md) with the power of SCIENCE and their enormously large thesaurus (they will never use a word that's among the 100000 most common English words). They are so [cringe](cringe.md) you want to [kill yourself](kys.md), but their discussions are sometimes entertaining to read with a bowl of popcorn.
|
||||
An atheist is someone who doesn't believe in [god](god.md) or any other similar supernatural entities. An especially annoying kind is the fedora tipping **[reddit](reddit.md) atheist** who will DESTROY YOU WITH FACTS AND [LOGIC](logic.md)^(TM), bulletproof pedantry and avalanche of le [42](42.md) [jokes](jokes.md). These atheists are 14 year old children who think they've discovered the secret of the universe and have to let the whole world know they're an ATHEIST who scored 200 [IQ](iq.md) on facebook test and is familiar with all 10 argument fallacies, while in fact they reside at the [mount stupid](mount_stupid.md) and many times involuntarily appear on other subreddits such as r/iamverysmart and r/cringe. They masturbate to [Richard Dawkins](richard_dawkins.md), love to read [soyentific](soyence.md) studiiiiiies about how [race](race.md) has no biological meaning and think that religion is literally [Hitler](hitler.md) (oh noes, reduction to HITLER has been committed, game over) while taking every words of famous soyence popularizators like the word of a priest. They love to write or even read the ["rational" wiki](rationalwiki.md). They like to pick easy targets such as [flatearthers](flat_earth.md) and cyberbully them on [YouTube](youtube.md) with the power of SCIENCE and their enormously large thesaurus (they will never use a word that's among the 100000 most common English words). They are so [cringe](cringe.md) you want to [kill yourself](kys.md), but their discussions are sometimes entertaining to read with a bowl of popcorn.
|
||||
|
||||
Such a specimen of atheist is one of the best quality examples of a [pseudosceptic](pseudoscepticism.md). See also this: https://www.debunkingskeptics.com/Contents.htm.
|
||||
|
||||
|
|
19
beauty.md
19
beauty.md
|
@ -2,11 +2,11 @@
|
|||
|
||||
`O-'"'-.__.-'"'-.__.-'"'-.__.-'"'-.__.-O`
|
||||
|
||||
Beauty is the quality of being extremely appealing and pleasing. Though the word will likely invoke association with traditional [art](art.md), 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 is similar to and many times synonymous with [elegance](elegance.md).
|
||||
Beauty is the quality of being especially appealing and pleasing. Though the word will likely invoke association with traditional [art](art.md), in [technology](technology.md), [engineering](engineering.md), [mathematics](math.md) and other [science](science.md) beauty is, despite its relative vagueness and subjectivity, an important aspect of design, and in fact this "mathematical" kind of beauty has lots of times some clearly defined shapes -- for example [simplicity](kiss.md) is mostly considered beautiful. Beauty is similar to and many times synonymous with [elegance](elegance.md).
|
||||
|
||||
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 (however there is also an opposite side: some people, such as Sabine Hossenfelder, criticize e.g. the pursuit of beautiful theories in modern physics as this approach seems to have led to stagnation). 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 finds 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).
|
||||
Beauty can perhaps be seen as a [heuristic](heuristic.md), a touch of intuition that guides the expert in exploration of previously unvisited abstract land, as we have come to learn that the greatest discoveries tend to be very beautiful and so the path of beauty often leads to valuable discoveries (nonetheless this approach is also opposed and criticized by some: for example Sabine Hossenfelder criticizes the pursuit of beautiful theories in modern physics as this seems to have led to fruitless stagnation). 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 finds himself near the borders of current knowledge, there is suddenly no guidance but intuition, beauty, to suggest ways forward, and here one starts to develop the feel for beauty. At this point the field, even if highly exact and rigorous, has become an [art](art.md).
|
||||
|
||||
What is beautiful then? As stated, there is a lot of subjectivity, but generally the following attributes are correlated with beauty:
|
||||
What is beautiful then? As stated, a lot of subjectivity is at play, but generally the following attributes are correlated with beauty:
|
||||
|
||||
- **[simplicity](minimalism.md)/[minimalism](minimalism.md)**, typically finding simplicity in complexity, e.g. a very short formula or algorithm that describes an infinitely complex [fractal](fractal.md) shape, a simple but valuable equation in physics (*e = m * c^2*), a short computer program that yields rich results ([demoscene](demoscene.md), [code golfing](golf.md), [suckless](suckless.md), [minimal viable program](minimal_viable_program.md), ...).
|
||||
- **deepness** -- if something very simple, let's say a single small equation, has consequences and implications that may be studied into great depth, for example [prime numbers](prime.md).
|
||||
|
@ -17,11 +17,18 @@ What is beautiful then? As stated, there is a lot of subjectivity, but generally
|
|||
- **[self containment](self_hosting.md)**, describing itself, applying to itself, not depending on other things
|
||||
- **aesthetics**, either of the equation itself (or for example the source code) or the generated object ([fractals](fractal.md), attractors, ...).
|
||||
- **rarity**, i.e. something valuable and not often seen.
|
||||
- **ingenuity**, apparent creativity and genius that was needed for the invention, creation or discovery.
|
||||
- TODO
|
||||
|
||||
Examples of beautiful things include:
|
||||
|
||||
- **Euler's identity**, an equation often cited as the most beautiful in mathematics: *e^{i*pi} + 1 = 0*. It is simple and contains many of the most important numbers: *e*, *pi*, *i* 1 and 0.
|
||||
- **Euler's identity**, an equation often cited as the most beautiful in mathematics: *e^{i * pi} + 1 = 0*. It is simple and contains many of the most important numbers: *e*, *pi*, *[i](i.md)* [1](one.md) and [0](zero.md).
|
||||
- **[minimalist software](suckless.md)**, **[Unix philosophy](unix_philosophy.md)**
|
||||
- [fractals](fractal.md) TODO
|
||||
- [bytebeat](bytebeat.md)
|
||||
- [bytebeat](bytebeat.md)
|
||||
- [lambda calculus](lambda_calculus.md)
|
||||
- [game of life](game_of_life.md)
|
||||
- the game of [go](go.md)
|
||||
- elementary [musical](music.md) intervals such as an octave or perfect fifth
|
||||
- examples of visual beauty may include [fractals](fractal.md), [attractors](attractor.md) or [golden ratio](golden_ratio.md)
|
||||
- certain [numbers](number.md), for example 12: it lies between two [prime numbers](prime.md) while itself being highly composite with 5 (!!!) divisors, it can be halved, trisected and quartered, it equals the sum of its divisors less than self (1 + 2 + 3 + 6), it is the number of sides of one of the five platonic solids, edges of a cube, semitones in an octave etc.
|
||||
- ...
|
|
@ -134,6 +134,7 @@ As anything can be represented with numbers, binary can be used to store any kin
|
|||
- [nullary](nullary.md)
|
||||
- [unary](unary.md)
|
||||
- [ternary](ternary.md)
|
||||
- [Morse code](morse_code.md)
|
||||
- [logic gate](logic_gate.md)
|
||||
- [logic circuit](logic_circuit.md)
|
||||
- [bit](bit.md)
|
||||
|
|
|
@ -35,12 +35,12 @@ Potentially supplemental articles to this tutorial are:
|
|||
- Very **widely supported and [portable](portability.md)** to almost anything.
|
||||
- **[Low level](low_level.md)**, i.e. there is relatively little [abstraction](abstraction.md) and not many comfortable built-in functionality such as [garbage collection](garbage_collection.md), you have to write many things yourself, you will deal with [pointers](pointer.md), [endianness](endianness.md) etc.
|
||||
- [Imperative](imperative.md) (based on sequences of commands), without [object oriented programming](oop.md).
|
||||
- Considered **hard**, but in certain ways it's simple, it lacks [bloat](bloat.md) and [bullshit](bullshit.md) of "[modern](modern.md)" languages which is an essential thing. It will take long to learn (don't worry, not nearly as long as learning a foreign language) but it's the most basic thing you should know if you want to create good software. You won't regret.
|
||||
- **Not holding your hand**, i.e. you may very easily "shoot yourself in your foot" and crash your program. This is the price for the language's power.
|
||||
- Very old, well established and tested by time.
|
||||
- Recommended by us for serious programs.
|
||||
- Considered rather **difficult to learn**, but in certain ways it's simple, it lacks [bloat](bloat.md) and [bullshit](bullshit.md) of "[modern](modern.md)" languages which is an essential thing. It will take long to learn (don't worry, not nearly as long as learning a foreign language) but it's the most basic thing you should know if you want to create good software. You won't regret.
|
||||
- **Not holding your hand**, i.e. you may very easily "shoot yourself in your foot" and crash your program. This is the price for the language's power. It can also be [fun](fun.md).
|
||||
- Very [old](old.md), well established and tested by time.
|
||||
- One of the languages recommended by [us](lrs.md) for serious programs.
|
||||
|
||||
If you come from a language like [Python](python.md) or [JavaScript](javascript.md), you may be shocked that C doesn't come with its own [package manager](package_manager.md), [debugger](debugger.md) or [build system](build_system.md), it doesn't have [modules](module.md), [generics](generics.md), [garabage collection](garbage_collection.md), [OOP](oop.md), [hashmaps](hashmap.md), dynamic [lists](list.md), [type inference](type_inference.md) and similar "[modern](modern.md)" features. When you truly get into C, you'll find it's a good thing.
|
||||
If by chance you're already familiar with languages like [Python](python.md) or [JavaScript](javascript.md), you may be shocked that C doesn't come with its own [package manager](package_manager.md), [debugger](debugger.md) or [build system](build_system.md), it doesn't have [modules](module.md), [generics](generics.md), [garabage collection](garbage_collection.md), [OOP](oop.md), [hashmaps](hashmap.md), dynamic [lists](list.md), [type inference](type_inference.md) and similar "[modern](modern.md)" features. When you truly get into C, you'll find it's a [good](good.md) thing.
|
||||
|
||||
Programming in C works like this:
|
||||
|
||||
|
@ -48,13 +48,13 @@ Programming in C works like this:
|
|||
2. You compile the file with a C [compiler](compiler.md) such as [gcc](gcc.md) (which is just a program that turns source code into a runnable program). This gives you the executable program.
|
||||
3. You run the program, test it, see how it works and potentially get back to modifying the source code (step 1).
|
||||
|
||||
So, for writing the source code you'll need a [text editor](text_editor.md); any [plain text](plain_text.md) editor will do but you should use some that can highlight C [syntax](syntax.md) -- this helps very much when programming and is practically a necessity. Ideal editor is [vim](vim.md) but it's a bit difficult to learn so you can use something as simple as [Gedit](gedit.md) or [Geany](geany.md). We do NOT recommend using huge programming [IDEs](ide.md) such as "VS Code" and whatnot. You definitely can NOT use an advanced document editor that works with [rich text](rich_text.md) such as [LibreOffice](libreoffice.md) or that [shit](shit.md) from Micro$oft, this won't work because it's not plain text.
|
||||
So, for typing source code you'll need a [text editor](text_editor.md); any [plain text](plain_text.md) editor will do but you should use some that can highlight C [syntax](syntax.md) -- this helps very much when programming and is practically a necessity. Ideal editor is [vim](vim.md) but it's a bit difficult to learn so you can use something as simple as [Gedit](gedit.md) or [Geany](geany.md). We do NOT recommend using large programming [IDEs](ide.md) such as "VS Code" and whatnot. You definitely can NOT use an advanced document editor that edits [rich text](rich_text.md) such as [LibreOffice](libreoffice.md) or that [shit](shit.md) from [Micro$oft](microsoft.md), this won't work because it's not plain text.
|
||||
|
||||
Next you'll need a C [compiler](compiler.md), the program that will turn your source code into a runnable program. We'll use the most commonly used one called [gcc](gcc.md) (you can try different ones such as [clang](clang.md) or [tcc](tcc.md) if you want). If you're on a [Unix](unix.md)-like system such as [GNU](gnu.md)/[Linux](linux.md) (which you probably should), gcc is probably already installed. Open up a terminal and write `gcc` to see if it's installed -- if not, then install it (e.g. with `sudo apt install build-essential` if you're on a Debian-based system).
|
||||
|
||||
If you're extremely lazy, there are online web C compilers that work in a web browser (find them with a search engine). You can use these for quick experiments but note there are some limitations (e.g. not being able to work with files), and you should definitely know how to compile programs yourself.
|
||||
If you're super lazy (as programmers often are), you may appreciate the existence of online web C compilers that conveniently work in a web browser (search for "online C compiler" or something). These may serve for quick experimentation but, as could be expected, browser tools won't replace the real deal, there are limitations (e.g. not being able to install [libraries](library.md) and so on), and you should definitely know how to compile programs yourself.
|
||||
|
||||
Last thing: there are multiple standards of C. Here we will be covering [C99](c99.md), but this likely doesn't have to bother you at this point.
|
||||
And one last note: there are multiple standards of C. Here we will be covering [C99](c99.md), but this likely doesn't have to bother you at this point. Let's proceed to some real action now.
|
||||
|
||||
## First Program
|
||||
|
||||
|
@ -1729,7 +1729,7 @@ Of course, you may use the prints in other ways, for example to detect at which
|
|||
|
||||
What if the program isn't exactly crashing but is giving wrong results? Then you need to trace the program step by step (not exactly line by line, but maybe function by function) and check which step has a problem in it. If for example your game AI is behaving stupid, you firstly check (with prints) if it correctly detects its circumstances, then you check whether it makes the correct decision based on the circumstances, then you check whether the pathfinding algorithm finds the correct path etc. At each step you need to know what the correct behavior should be and you try to find where the behavior is broken.
|
||||
|
||||
Knowing how to fix a bug isn't everything, we also need to find the bugs in the first place. **[Testing](testing.md)** is the process of trying to find bugs by simply running and using the program. Remember, testing can't prove there are no bugs in the program, it can only prove bugs exist. You can do testing manually or automate the tests. Automated tests are very important for preventing so called **[regressions](regression.md)** (so the tests are called regression tests). Regression happens when during further development you break some of its already working features (it is very common, don't think it won't be happening to you). Regression test (which can simply be just a normal C program) simply automatically checks whether the already implemented functions still give the same results as before (e.g. if *sin(0) = 0* etc.). These tests should be run and pass before releasing any new version of the program (or even before any commit of new code).
|
||||
Knowing how to fix a bug isn't everything, we also need to find the bugs in the first place. **[Testing](testing.md)** is the process of searching for bugs by simply running and using the program. Remember, testing can't prove there are no bugs in the program, it can only prove bugs exist. You can do testing manually or automate the tests. Automated tests are very important for preventing so called **[regressions](regression.md)** (so the tests are called regression tests). Regression happens when during further development you break some of its already working features (it is very common, don't think it won't be happening to you). Regression test (which can simply be just a normal C program) simply automatically checks whether the already implemented functions still give the same results as before (e.g. if *sin(0) = 0* etc.). These tests should be run and pass before releasing any new version of the program (or even before any commit of new code).
|
||||
|
||||
[Optimization](optimization.md) is also a process of improving an already working program, but here we try to make the program more efficient -- the most common goal is to make the program faster, smaller or consume less [RAM](ram.md). This can be a very complex task, so we'll only mention it briefly.
|
||||
|
||||
|
@ -1737,7 +1737,7 @@ The very basic thing we can do is to turn on automatic optimization with a compi
|
|||
|
||||
## Final Program
|
||||
|
||||
Now is the time to write a final program that showcases what we've learned, so let's write a quite simple but possibly useful [hex viewer](hex_editor.md). The program will allow us to interactively inspect bytes in any file, drawing their hexadecimal values along with their addresses, supporting one character commands to move within the file. If you want, you can take it and improve it as an exercise, for example by adding more viewing modes (showing decimal octal or ASCII values), maybe even allowing editing and saving the file. Here is the source code:
|
||||
Now comes the time for the final program to showcase what we've learned, so let's write a quite simple but possibly useful [hex viewer](hex_editor.md). The program will allow us to interactively inspect bytes in any file, drawing their hexadecimal values along with their addresses, supporting one character commands to move within the file. If you want, you can take it and improve it as an exercise, for example by adding more viewing modes (showing decimal octal or ASCII values), maybe even allowing editing and saving the file. Here is the source code:
|
||||
|
||||
```
|
||||
/* Simple interactive hex file viewer. */
|
||||
|
@ -1890,7 +1890,7 @@ Let's stress you should only get into graphics after you've written several pure
|
|||
|
||||
For start please note that:
|
||||
|
||||
- **C itself doesn't know anything about graphics**. C is just trying to be a good programming language, it leaves the vast area of graphics for others to solve, therefore though you can try to avoid it (see below), typically you will use a third party [library](library.md) to draw some real pixels to the screen, there isn't a universal way of doing it, you have to choose specific solution based on what you want to achieve, what's available etc.
|
||||
- **C itself doesn't know anything about graphics**. C merely focuses on being a good programming language, it leaves the vast area of graphics for others to solve, therefore even though you can try to avoid it (see below), typically you will use a third party [library](library.md) to draw some real [pixels](pixel.md) to the screen, there isn't a universal way of doing it, you have to choose specific solution based on what you want to achieve, what's available etc.
|
||||
- **By graphics we really just mean drawing [pixels](pixel.md)**. Things like keyboard and mouse [input](io.md) (which you need for anything [interactive](interactivity.md) like [games](game.md)), loading [PNG](png.md) pictures, playing sounds, loading and displaying 3D models, detecting [collisions](collision.md) of virtual objects and so on won't necessarily be covered here, it's all too much to learn at once. We will ONLY be trying to show basic shapes on the screen.
|
||||
- We'll be doing things in simplified ways here, omitting common [optimizations](optimization.md), safety checks and so on. Just know that in practice things will be yet a bit more complex.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Dusk OS
|
||||
|
||||
Dusk OS (http://duskos.org/) is a work in progress non-[Unix](unix.md) extremely [minimalist](minimalism.md) 32 bit [free as in freedom](free_software.md) [operating system](operating_system.md) whose primary purpose is to be helpful during societal [collapse](collapse.md) but which will still likely be very useful even before it happens. It is made mainly by [Virgil Dupras](dupras.md), the developer of [Collapse OS](collapseos.md), as a bit "bigger" version of Collapse OS, one that's intended for the first stage of societal collapse and will be more "powerful" and comfortable to use for the price of increased complexity (while Collapse OS is simpler and meant for the use during later stages). But don't be fooled, Dusk OS is still light year ahead in simplicity than the most minimal [GNU](gnu.md)/[Linux](linux.md) distro you can imagine; by this extremely minimalist design Dusk OS is very close to the ideals of our [LRS](lrs.md), it is written in [Forth](forth.md) but also additionally (unlike Collapse OS) includes a so called "Almost [C](c.md)" compiler allowing [ports](port.md) of already existing programs, e.g. Unix [command line](cli.md) utilities. It can also be seen as a Forth implementation/system. The project is available under [CC0](cc0.md) [public domain](public_domain.md) just as official LRS projects, that's simply unreal.
|
||||
Dusk OS (http://duskos.org/) is a work in progress non-[Unix](unix.md) extremely [minimalist](minimalism.md) 32 bit [free as in freedom](free_software.md) [operating system](operating_system.md) whose primary purpose is to be helpful during societal [collapse](collapse.md) but which will still likely be very useful even before it happens. It is made mainly by [Virgil Dupras](dupras.md), the developer of [Collapse OS](collapseos.md), as a bit "bigger" version of Collapse OS, one that's intended for the first stage of societal collapse and will be more "powerful" and comfortable to use for the price of increased complexity (while Collapse OS is simpler and meant for the use during later stages). But don't be fooled, Dusk OS is still light year ahead in simplicity than the most minimal [GNU](gnu.md)/[Linux](linux.md) distro you can imagine; by this extremely minimalist design Dusk OS is very close to the ideals of our [LRS](lrs.md), it is written in [Forth](forth.md) but also additionally (unlike Collapse OS) includes a so called "almost [C](c.md)" compiler allowing [ports](port.md) of already existing programs, e.g. Unix [command line](cli.md) utilities. It can also be seen as a Forth implementation/system. The project is available under [CC0](cc0.md) [public domain](public_domain.md) just as official LRS projects, that's simply unreal.
|
||||
|
||||
The project has a private mailing list. Apparently there is talk about the system being useful even before the collapse and so it's even considering things like [networking](network.md) support etc. -- as [capitalism](capitalism.md) unleashes hell on [Earth](earth.md), any simple computer capable of working on its own and allowing the user complete control will be tremendously useful, even if it's just a programmable calculator. Once [GNU](gnu.md)/[Linux](linux.md) and [BSD](bsd.md)s sink completely (very soon), this may be where we find the safe haven.
|
||||
The [project](project.md) has a private mailing list. Apparently there is talk about the system being useful even before the collapse and so it's even considering things like [networking](network.md) support etc. -- as [capitalism](capitalism.md) unleashes hell on [Earth](earth.md), any simple computer capable of working on its own and allowing the user complete control will be tremendously useful, even if it's just a programmable calculator. Once [GNU](gnu.md)/[Linux](linux.md) and [BSD](bsd.md)s sink completely (very soon), this may be where we find the safe haven.
|
||||
|
||||
The only bad thing about the project at the moment seems to be the **lurking [SJW](sjw.md) danger**, presence of some [pseudoleftists](pseudoleft.md) around the project, threatening political takeover etcetc. At the moment there thankfully seems to be no [code of censorship](coc.md), however it can be smelled in the air that there are many people with the eyes on the project extremely horny about adding one. It will most likely be forced very soon -- once this happens, we have to stop supporting the project immediately. Hopefully [forks](fork.md) will come if anything goes wrong. In any case, [we](lrs.md) will be continuing our independent work that will probably yield a similar system, thought much later.
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ The nerdiest of [nerds](nerd.md) read encyclopedias linearly, cover to cover lik
|
|||
|
||||
These are some **nice/interesting/benchmark articles** to look up in encyclopedias: [algorithm](algorithm.md), [anarchism](anarchism.md), Andromeda (galaxy), Antarctica, Atlantis, atom, [axiom of choice](axiom_of_choice.md), [Bible](bible.md), [big bang](big_bang.md), [black hole](black_hole.md), [brain](brain.md), [Buddhism](buddhism.md), [C](c.md) (programming language), [cannibalism](cannibalism.md), [capitalism](capitalism.md), castle, [cat](cat.md), [censorship](censorship.md), [central processing unit](cpu.md), [chess](chess.md), Chicxulub, China, [color](color.md), comet, [communism](communism.md), [computer](computer.md), [Creative Commons](creative_commons.md), [Deep Blue](deep_blue.md), [democracy](democracy.md), Democratic People's Republic of Korea, [depression](depression.md), [determinism](determinism.md), [dinosaur](dinosaur.md), dodo, [dog](dog.md), [Doom](doom.md) (game), [Earth](earth.md), [Einstein](einstein.md), [Elo](elo.md), [Encyclopedia](encyclopedia.md), [entropy](entropy.md), [ethics](ethics.md), [Euler's Number](e.md), [evolution](evolution.md), [font](font.md), [football](football.md), [fractal](fractal.md), [free software](free_software.md), [game](game.md), gigantopythecus, [go](go.md) (game), [god](god.md), [GNU](gnu.md) project, [hacker](hacking.md), Hanging Gardens of Babylon, [hardware](hardware.md), [Hitler](hitler.md), [Holocaust](holocaust.md), [homosexual](gay.md), [human](human.md), [infinity](infinity.md), [information](information.md), intelligence, [Internet](internet.md), [IQ](iq.md), Japan, [Jesus](jesus.md), [Jew](jew.md), [language](language.md), [Latin](latin.md), [life](life.md), [light](light.md), lightning, [Linux](linux.md), [logarithm](log.md), [logic](logic.md), [love](love.md), Mammoth, [mathematics](math.md), Mariana Trench, Mars, Milky Way, Moon, [morality](morality.md), Mount Everest, [music](music.md), [necrophilia](necropiilia.md), [number](number.md), [Open Source](open_source.md), negro, [nigger](nigger.md), pacifism, [pedophilia](pedophilia.md), [penis](penis.md), [pi](pi.md), Pluto, [prime number](prime.md), [quaternion](quaternion.md), Pompei, [Quran](quran.md), [race](race.md), Roman Empire, [sex](sex.md), [sine](sin.md), [schizophrenia](schizo.md), [software](sw.md), [Stallman](rms.md) (Richard), [star](star.md), Stonehenge, [suicide](suicide.md), Sun, Tibet, [technology](technology.md), Tetris, [time](time.md), Titanic, [transistor](transistor.md), Troy, Tyrannousaurus Rex, [UFO](ufo.md), [universe](universe.md), [Unix](unix.md), Uruk, [Usenet](usenet.md), Valonia Ventricosa (bubble algae), Vatican, Venus, video game, [Wikipedia](wikipedia.md), [woman](woman.md), [World War II](wwii.md), [World Wide Web](www.md), ...
|
||||
|
||||
**What is the best letter in an encyclopedia?** If you are indeed so autistic to ask questions like this, you may start to search for your favorite starting letter right now -- this if [fun](fun.md) and may also help you e.g. decide which volume of your encyclopedia to take with you when traveling. Which letter is best depends on many things, e.g. the language of the encyclopedia, its size, your area of interest and so on. Assuming [English](english.md) and topics that would be interesting to the readers of [LRS wiki](lrs_wiki.md), the best letter is most likely C -- it is the second most common starting letter in dictionaries, has a great span and includes essential and interesting terms such as [calculator](calculator.md), [computer](computer.md), [C](c.md) programming language, [cat](cat.md), [communism](communism.md), [capitalism](capitalism.md), [chess](chess.md), [christianity](christianity.md), [collapse](collpase.md), [CPU](cpu.md), [color](color.md), [culture](culture.md), [copyleft](copyleft.md), [compiler](compiler.md), [creative commons](creative_commons.md), [cryptography](cryptography.md), [copyright](copyright.md), [car](car.md), [cancer](cancer.md), [cellular automata](cellular_automaton.md), [consumerism](consumerism.md), [cosine](cosine.md), [Chomsky](chomsky.md), [CIA](cia.md), [cybernetics](cybernetics.md), [cracking](cracking.md), [chaos](chaos.md), [carbon](carbon.md), [curvature](curvature.md), [chemistry](chemistry.md), [censorship](censorship.md) and others. As close second comes S, the most frequent letter in dictionaries, with terms such as [Stallman](rms.md), [science](science.md), [shader](shader.md), [semiconductor](semiconductor.md), [silicon](silicon.md), [software](software.md), [sound](sound.md), [socialism](socialism.md), [state](state.md), [selflessness](selflessness.md), [speech recognition](speech_recognition.md), [steganography](steganography.md), [square root](square_root.md), [sudoku](sudoku.md), [suicide](kys.md), [speedrun](speedrun.md), [space](space.md), [star](star.md), [Sun](sun.md), [sine](sin.md), [Soviet union](ussr.md), [schizophrenia](schizo.md), [set](set.md), [suckless](suckless.md), [shit](shit.md), [sex](sex.md) and others. { This is based on a list I made where I assigned points to each letter. The letters that follow after C and S are P, M, A, E, T, L, R, F, D, G, I, B, H, U, N, W, V, J, O, K, Q, Z, Y, X. ~drummyfish }
|
||||
**What is the best letter in an encyclopedia?** If you are indeed so [autistic](autism.md) to ask questions like this, you may begin your journey for finding out the ultimate encyclopedia starting letter -- this is [fun](fun.md) and may also help you for example decide which volume of your favorite encyclopedia to pack in your bag when on the travel. Which letter will be the best depends on many factors, e.g. the language of the encyclopedia, its size, your area of interest and so on. Assuming [English](english.md) and topics that would appeal to an average [LRS wiki](lrs_wiki.md) reader, the best letter is most likely C -- it is the second most common starting letter in dictionaries, has a great span and includes essential and curious terms such as [calculator](calculator.md), [computer](computer.md), [C](c.md) programming language, [cat](cat.md), [communism](communism.md), [capitalism](capitalism.md), [chess](chess.md), [christianity](christianity.md), [collapse](collpase.md), [CPU](cpu.md), [color](color.md), [culture](culture.md), [copyleft](copyleft.md), [compiler](compiler.md), [creative commons](creative_commons.md), [cryptography](cryptography.md), [copyright](copyright.md), [car](car.md), [cancer](cancer.md), [cellular automata](cellular_automaton.md), [consumerism](consumerism.md), [cosine](cosine.md), [Chomsky](chomsky.md), [CIA](cia.md), [cybernetics](cybernetics.md), [cracking](cracking.md), [chaos](chaos.md), [carbon](carbon.md), [curvature](curvature.md), [chemistry](chemistry.md), [censorship](censorship.md) and others. As close second comes S, the most frequent letter in dictionaries, with terms such as [Stallman](rms.md), [science](science.md), [shader](shader.md), [semiconductor](semiconductor.md), [silicon](silicon.md), [software](software.md), [sound](sound.md), [socialism](socialism.md), [state](state.md), [selflessness](selflessness.md), [speech recognition](speech_recognition.md), [steganography](steganography.md), [square root](square_root.md), [sudoku](sudoku.md), [suicide](kys.md), [speedrun](speedrun.md), [space](space.md), [star](star.md), [Sun](sun.md), [sine](sin.md), [Soviet union](ussr.md), [schizophrenia](schizo.md), [set](set.md), [suckless](suckless.md), [shit](shit.md), [sex](sex.md) and others. { This is based on a list I made where I assigned points to each letter. The letters that follow after C and S are P, M, A, E, T, L, R, F, D, G, I, B, H, U, N, W, V, J, O, K, Q, Z, Y, X. ~drummyfish }
|
||||
|
||||
## Notable/Nice Encyclopedias
|
||||
|
||||
|
|
10
fractal.md
10
fractal.md
|
@ -1,10 +1,10 @@
|
|||
# Fractal
|
||||
|
||||
Informally speaking fractal is a shape that's geometrically "infinitely complex" while being described in an extremely simple way, e.g. with a very simple formula or [algorithm](algorithm.md). Shapes found in the nature, such as trees, mountains or clouds, are often fractals. Fractals show self-similarity, i.e. when "zooming" into an ideal fractal we keep seeing it is composed, down to an infinitely small scale, of shapes that are similar to the shape of the whole fractal; e.g. the branches of a tree look like smaller versions of the whole tree etc.
|
||||
Informally speaking fractal is a shape that's geometrically "infinitely complex" while being described in an extremely simple way, e.g. with a very simple formula or [algorithm](algorithm.md). Shapes found in nature, such as trees, mountains or clouds, often exhibit fractal structure. Fractals show self-similarity, i.e. upon "zooming" into an ideal fractal we observe that it is composed, down to an infinitely small scale, of shapes resembling the shape of the whole fractal; e.g. the branches of a tree look like smaller versions of the whole tree etc.
|
||||
|
||||
TODO: brief history
|
||||
Fractals are the [beauty](beauty.md) of mathematics that can easily be seen even by non-mathematicians, so they are probably good as a motivational example in [math](math.md) education.
|
||||
|
||||
Fractals are the [beauty](beauty.md) of mathematics that can easily be seen even by non-mathematicians, so are probably good as a motivational example in [math](math.md) education.
|
||||
As for the [history](history.md) of fractal theory, the mathematical interest in them seems to date back to 17th century and Gottfied Leibniz's study, although humans have been "intuitively" aware of fractal patterns for as long as anyone will remember, fractals are encountered in oldest architecture etc. At the beginning of 20th century two of the most iconic fractals were described: the Koch snowflake and Sierpinski triangle. This was followed by Felix Hausdorff's definition of fractal dimension in 1918. The word "fractal" was coined in 1975 by Benoit Mandelbrot. [Computer graphics](graphics.md) enabled by the newest technology then led to popularization and increased focus on fractals.
|
||||
|
||||
Fractal geometry is a kind of [geometry](geometry.md) that examines these intricate shapes -- it turns out that unlike "normal" shapes such as circles and cubes, whose attributes (such as circumference, volume, ...) are mostly quite straightforward, perfect fractals (i.e. the mathematically ideal ones whose structure is infinitely complex) show some greatly unintuitive properties -- basically just as anything involving [infinity](infinity.md) they can get very tricky. For example a 2D fractal may have **finite area but infinite circumference** -- this is because the border is infinitely complex and swirls more and more as we zoom in, increasing the length of the border more and more the closer we look.
|
||||
This was famously notice e.g. when people tried to measure lengths of rivers or coastlines (which are sort of fractal shapes) -- the length they measured always depended on the length of the ruler they used; the shorter ruler you use, the greater length you get because the meanders of the details increase it. For this reason it is impossible to exactly and objectively give an exact length of such a shape.
|
||||
|
@ -146,9 +146,11 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
|
|||
|
||||
## See Also
|
||||
|
||||
- [attractor](attractor.md)
|
||||
- [recursion](recursion.md)
|
||||
- [Lissajous curve](lissajous_curve.md)
|
||||
- [rose curves](rose_curve.md)
|
||||
- [cardioid](cardioid.md)
|
||||
- [spirograph](spirograph.md)
|
||||
- [procedural generation](procgen.md)
|
||||
- [turtle graphics](turtle_graphics.md)
|
||||
- [turtle graphics](turtle_graphics.md)
|
3
lmao.md
3
lmao.md
|
@ -44,7 +44,8 @@ to deliver prepared [jokes](jokes.md) (see also [humorwashing](humorwashing.md))
|
|||
- There is some crazy ass Irish priest called Neil Horan, now stripped of his priesthood (:D), that could hold the world record for most IRL trolls and just being weird as fuck in general. Of course he's done all the usual business like walking in streets with antisemitic banners and "sexually harassing" children, but he dared go much further and even ran onto a formula one track during the race, literally risking his life. Very funny was his stunt during 2004 Olympic gaymes where he ran on the marathon track and pushed the guy who was leading the race into the spectators, just for the lulz :D The runner was shaken and finished third. He actually tried to appeal for a gold medal in court but the court said nope :D
|
||||
- In 2024 the twitter account of Greta Thunberg's father, Svante Thunberg, was hijacked by soyjak.party and started posting some funny stuff about [niggas](nigger.md), telling Greta she was adopted, offending journalists in DMs and so on.
|
||||
- Some trollolo gentleman in 1810 London fucked up some random guy from his street by ordering thousands of services to his house, he just sat and watched the madness as coal deliveries and sweep services and even piano deliveries flooded the poor man's door lol. He did it for a bet.
|
||||
- In 2022 a [chess](chess.md) playing robot was playing a 7 year old child, the robot wanted to grab a piece but instead took the kid's finger and broke it lol. WHAT A MARVELOUS DAY.
|
||||
- In 2022 a [chess](chess.md) robot in Russia was playing a 7 year old child, the robot wanted to grab a piece but instead took the kid's finger and broke it.
|
||||
- In 1992 someone tried to legally change his name to Misteri [Nigger](nigger.md).
|
||||
- ...
|
||||
|
||||
## See Also
|
||||
|
|
1
main.md
1
main.md
|
@ -144,6 +144,7 @@ Are you a [noob](noob.md) but see our ideas as appealing and would like to join
|
|||
- That before refrigerators were invented people used so called ice houses to store food in cold temperatures? Ice house was kind of a cellar into which ice was put during winter and where it would last throughout whole summer until the next winter.
|
||||
- That [wifi](wifi.md) radiation causes [cancer](cancer.md)?
|
||||
- That David Hampson is a man who repeatedly commits the crime of standing in the middle of the road, lets himself be arrested and then refuses to speak a single word, then goes to jail and once released repeats this whole again? He is capable of talking, he just likes doing this. This is one of the most [based](based.md) things anyone has ever done.
|
||||
- That there was a jamaican musician whose name was [Nigger](nigger.md) Kojak?
|
||||
- That cockpits of big airplanes speak out loud warnings to the pilots about dangerous situations and one of the warnings literally says "[retard](retard.md)"? It's often the last word the pilots hear before a crash.
|
||||
- That as early as 1907 it was possible to send photographs over long distances via telephone lines (basically [fax](fax.md) them) thanks to Belinographe? The photo was rotating on a cylinder where a beam of light was scanning it by lines and transmitting the reflected light intensity as electric current to the receiver who reversed the process to recreate the image.
|
||||
- That hygrometers (devices that measure air humidity) typically work by having a stretched human hair inside which changes its tension based on air humidity?
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
*Not to be [confused](often_confused.md) with [Niger](niger.md).*
|
||||
|
||||
Nigger (also nigga, niBBa, nigra, N-word or chimp) is a [forbidden word](newspeak.md) that refers to a member of the [black](black.md) [race](race.md), [SJWs](sjw.md) call the word a [politically incorrect](political_correctness.md) "slur". Its counterpart targeted on white people is *[cracker](cracker.md)*. To [Harry Potter](harry_potter.md) fans the word may be compared to the word *Voldemort* which everyone is afraid to say out of fear of being [cancelled](cancel_culture.md). Nigger is not to be confused with [negro](negro.md), negrito etc. (which are subgroups of the black race).
|
||||
Nigger (also nigga, niBBa, nigra, N-word or chimp) is a [forbidden word](newspeak.md) that refers to a member of the [black](black.md) [race](race.md), [SJWs](sjw.md) call the word a [politically incorrect](political_correctness.md) "slur". Its counterpart targeted on white people is *[cracker](cracker.md)*. To [Harry Potter](harry_potter.md) fans the word may be compared to the word *Voldemort* which everyone is afraid to say out of fear of being [cancelled](cancel_culture.md). Nigger is not to be confused with [negro](negro.md), negrito etc. (which are subgroups of the black race). [Wikidata](wikidata.md) currently lists 184 items containing the word "Nigger", including a deceased dog named Nigger, island named Nigger Head, [musical](music.md) composition named Nigger [Faggot](faggot.md) and a book called [Capitalist](capitalism.md) Nigger. Nigger also appears in some countries both as a first name and surname.
|
||||
|
||||
```
|
||||
.988886,
|
||||
|
@ -34,7 +34,8 @@ The word is used in a number of projects and works, e.g.:
|
|||
- **Ten Little Niggers**, a book by one of the most famous writers, Agatha Christie.
|
||||
- **On the Creation of Niggers** (https://en.m.wikisource.org/wiki/On_the_Creation_of_Niggers), a short poem by H. P. Lovecraft, one of the greatest authors of all time.
|
||||
- **Nigger in the Wonderland**, an old [game](game.md).
|
||||
- **Alabama Nigger**, a famous song.
|
||||
- **Niggers in the White House**, the poem (https://upload.wikimedia.org/wikipedia/commons/9/9c/Kentucky_New_Era_3_13_03.png).
|
||||
- A number of songs such as **Alabama Nigger**, **[Woman](woman.md) Is the Nigger of the World** or **Nigger Fucker**.
|
||||
- Memorable movie quotes such as the Pulp Fiction's rant about dead nigger storage.
|
||||
- Echinacea plant is colloquially called *wild niggerhead*.
|
||||
- ...
|
||||
|
@ -55,6 +56,8 @@ On brainwashing platforms the word *nigger* is usually just downright filtered o
|
|||
|
||||
In the [gender studies](gender_studies.md) circles there is an academic debate about whether the word *nigger* is in fact allowed to be used by black people, i.e. niggers themselves -- if so, anyone could use the word *nigger* as long as he mentally identifies as one because according to the latest [peer censored](peer_censorship.md) research about official truth [race](race.md) also isn't at all based in anything physical (like gender or age for example), it's purely an identity anyone can adopt mentally and things like his skin color and [IQ](iq.md) change automatically based on that (see e.g. [Michal Jackson](michael_jackson.md)).
|
||||
|
||||
[English](english.md) also knows the word *niggardly*, which has however nothing to do with niggers.
|
||||
|
||||
The first nigger in space was Guion Bluford Jr.
|
||||
|
||||
## See Also
|
||||
|
|
3745
random_page.md
3745
random_page.md
File diff suppressed because it is too large
Load diff
|
@ -6,7 +6,7 @@ Recursion (from Latin recursio, "running back") in general is a situation in whi
|
|||
|
||||
{ Perhaps an analogy to this kind of recursion may be an "Inception"-style multi level dreams: imagine having a dream in a dream in a dream ... and so on -- and then at one point you start waking up, always getting back to where you were in each of the dreams, and so on until you completely wake up. --drummyfish }
|
||||
|
||||
We divide recursion to a **direct** and **indirect** one. In direct recursion the function calls itself directly, in indirect function *A* calls a function *B* which ends up (even possibly by calling some more functions) calling *A* again. Indirect recursion is tricky because it may appear by mistake and cause a [bug](bug.md) (which is nevertheless easily noticed as the program will mostly run out of memory and crash).
|
||||
We subdivide recursion to a **direct** and **indirect**. In direct recursion the function calls itself directly, in indirect function *A* calls a function *B* which ends up (even possibly by calling some more functions) calling *A* again. Indirect recursion is tricky because it may appear by mistake and cause a [bug](bug.md) (which is nevertheless easily noticed as the program will mostly run out of memory and crash).
|
||||
|
||||
When a function calls itself, it starts "diving" deeper and deeper and in most situations we want this to stop at some point, so in most cases **a recursion has to contain a terminating condition**. Without this condition the recursion will keep recurring and end up in an equivalent of an infinite loop (which in case of recursion will however crash the program with a [stack overflow](stack_overflow.md) exception). Let's see this on perhaps the most typical example of using recursion, a [factorial](factorial.md) function:
|
||||
|
||||
|
@ -60,7 +60,7 @@ unsigned int factorial(unsigned int x)
|
|||
}
|
||||
```
|
||||
|
||||
Here is another example of elegant recursion: printing string backwards:
|
||||
Printing string backwards also exemplifies elegant recursion:
|
||||
|
||||
```
|
||||
#include <stdio.h>
|
||||
|
@ -102,8 +102,8 @@ readAndPrintBackwards
|
|||
|
||||
Some problems, for example [Ackermann function](ackermann_function.md), [quick sort](quick_sort.md), [tree](tree.md) traversals or the mentioned factorial are said to be "recursive" because they are just most elegantly defined and/or solved with recursion, but as we've seen, there is no problem that would inherently require recursive function calls. There may exist Turing complete languages without recursion that can still solve all problems that any other language can.
|
||||
|
||||
How do the computers practically make recursion happen? Basically they use a [stack](stack.md) to remember states (such as values of local variables and return addresses) on each level of the recursive dive -- each such state is captured by so called **stack frame**. In programming languages that support recursive function calls this is hidden behind the scenes in the form of so called **[call stack](call_stack.md)**. This is why an infinite recursion causes stack overflow.
|
||||
How do computers practically make recursion happen? Basically they use a [stack](stack.md) to remember states (such as values of local variables and return addresses) on each level of the recursive dive -- each such state is captured by so called **stack frame**. In programming languages that support recursive function calls this is hidden behind the curtains in the form of so called **[call stack](call_stack.md)**. This is why an infinite recursion causes stack overflow whereas infinite loop doesn't -- each recursive call creates a new stack frame in the call stack and at one point the stack overflows.
|
||||
|
||||
Another important type of recursion is **tail recursion** which happens when the recursive call in a function is the very last command. It is utilized in functional languages that use recursion instead of loops. This kind of recursion can be optimized by the compiler into basically the same code a loop would produce, so that e.g. stack won't grow tremendously.
|
||||
Another relevant type of recursion is **tail recursion** that occurs when the recursive call in a function is the very last command. It is utilized in functional languages that use recursion instead of loops. This kind of recursion can be optimized by the compiler into basically the same code a loop would produce, so that e.g. stack won't grow tremendously.
|
||||
|
||||
Mathematical recursive functions find use in [computability](computability.md) theory where they help us (similarly to e.g. [Turing machines](turing_machine.md)) define [classes](class.md) of functions (such as primitive recursive and partial recursive) by how "computationally strong" of a computer we need to compute them.
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# Reddit
|
||||
|
||||
*Oh shiiiiiiiiiiiiit it criiingeeeeeeeee as FUCK xD*
|
||||
|
||||
Le Reddit, established in 2005, [marketing](marketing.md) itself as the "frontpage of the [Internet](internet.md)", also known as the *Internet Superhero Headquarters*, was an immensely successful, popular and also a quite enjoyable website for sharing links, ideas and leading discussions about them, before it got absolutely destroyed by [capitalists](capitalism.md) right before they year 2020. It used to be a forum with great amount of [free speech](free_speech.md) (see e.g. [beatingWomen subreddit](https://web.archive.org/web/20110429073233/reddit.com/r/beatingwomen)) and with quite enjoyable, plain user interface; in a swift turn of events however it flipped completely over and is now among the worst, most [censored](censorship.md) sites on the whole [web](www.md), a place [toxic](toxic.md) with [SJW](sjw.md) fumes and its site is literally unusable for the amount of [bloat](bloat.md) and [ads](marketing.md) it employs. Never visit the site again even if it's a matter of life and death.
|
||||
|
||||
Reddit users are the kind of pseudorebels, keyboard warriors, wannabe Internet "superheroes" that copy paste all mainstream opinions into their brains, [parroting them without thinking](npc.md), the sort of absolutely insignificant (but the more harmful kind of) scum believing they deserve a medal for changing a profile picture or sharing an "unpopular" opinion on [Facebook](facebook.md), like "I actually think [piracy](piracy.md) is not always bad! Take this [corporations](corporation.md)!". [Nowadays](21st_century.md) reddit users are already exclusively [SJWs](sjw.md), all the popular post are attempts at [virtue signaling](virtue_signaling.md) and circlejerking about [liberalism](liberalism.md), you'll find annoying propaganda inserted into absolutely unrelated subreddits, e.g. in a subreddit for sharing interesting pictures the all time top post will be something like a motivational tweet by Zelenski or some other [gay](gay.md) (of course there are now annoying sponsored posts inserted in too, literally makes you wanna [kill yourself](kys.md)). Very infamous are for example reddit [atheists](atheism.md) who are very enlightened by Neil De Grass documentaries, they don't understand how a medieval peasant could believe in irrational things, conform to orthodox preaching and participate in witch hunts, but if you suggest [removing the age of consent](pedophilia.md) or opposing [feminism](feminism.md) they pick up the torches and go full angry mob yelling "Stone that heretic to death!" That's because they're just trained to react to [key words](shortcut_thinking.md), they can't do much more. Again, they're just NPCs, don't expect any thought or brain activity.
|
||||
|
|
|
@ -51,7 +51,7 @@ Of course there exist variants of sudoku, e.g. with different grid sizes, extend
|
|||
|
||||
There are two topics to address: solving sudoku by people and solving sudoku by computers.
|
||||
|
||||
Humans almost exclusively use logical reasoning techniques to solve sudoku, which include:
|
||||
Humans use almost exclusively logical reasoning techniques to solve sudoku, which include:
|
||||
|
||||
- **scanning**: We take a look at some frequently appearing number in the grid and see which columns and rows they intersect which implies they cannot be placed in those columns and rows, possibly revealing the only possible location to place such number.
|
||||
- **single remaining candidate**: When there is only one number left to fill in any column, row or subgrid, it is always clear which one it is and can be safely placed.
|
||||
|
|
|
@ -17,7 +17,7 @@ There are also many activists promoting euthanasia for people to whom medicine c
|
|||
For SCIENTIFIC RESEARCHERS: these are some highly scientifically researched methods of suicide for creating bleeding edge (pun intended) scientifically peer reviewed scientific papers for scientifically PREVENTING suicides ([LMAO](lmao.md)): { Again, please don't kill yourself if you don't have to :-) <3 ~drummyfish }
|
||||
|
||||
- **legal [euthanasia](euthanasia.md)** = best if available. This is just a no brainer: if one has the option to leave peacefully under the assistance of a medical professional, why choose anything else?
|
||||
- **wrist cutting** (and heart stabbing etc.) = attention whoring, very low chance of success. It is known that cutting one's wrists rarely leads to death, it's almost impossible to cut very deep even if you want to, the body is just programmed to not let itself do it and especially feminine [zoomers](zoomer.md) nowadays don't have any balls to do it, one will just create a bloody mess. Self stabbing oneself to death is seen sometimes but many times it's under the influence of drugs or extremely serious mental illness which just turns off all self preservation instincts. To bleed out it's not enough to cut a vein, one must hit the artery. The correct way to cut a wrist is in the direction ALONG the wrist, NOT in perpendicular direction -- the cuts must be extremely deep to be dangerous, however the best way is to target the artery on the neck or in groin. People often do it in hot bath as that increases blood flow and is also kind of less messy and possibly more comfortable (if that can even be said about the moment in which one is dying). Using ordinary knife won't work, it's never sharp enough, one has to use razor, but a small razor is hard to manipulate, so razor knife is ideal. Even so actually dying from cutting/stabbing oneself is very rare -- one paper gave a success rate of 4%.
|
||||
- **wrist cutting** (and heart stabbing etc.) = attention whoring, very low chance of success. It is known that cutting wrists rarely leads to death, it's nearly impossible to cut very deep even if you want to, the body is just programmed to not let itself do it and especially feminine [zoomers](zoomer.md) nowadays don't have any balls to do it, one will just create a bloody mess. Self stabbing oneself to death is seen sometimes but many times it's under the influence of drugs or extremely serious mental illness which just turns off all self preservation instincts. To bleed out it's not enough to cut a vein, one must hit the artery. The correct way to cut a wrist is in the direction ALONG the wrist, NOT in perpendicular direction -- the cuts must be extremely deep to be dangerous, however the best way is to target the artery on the neck or in groin. People often do it in hot bath as that increases blood flow and is also kind of less messy and possibly more comfortable (if that can even be said about the moment in which one is dying). Using ordinary knife won't work, it's never sharp enough, one has to use razor, but a small razor is hard to manipulate, so razor knife is ideal. Even so actually dying from cutting/stabbing oneself is very rare -- one paper gave a success rate of 4%.
|
||||
- **setting oneself on fire** = extremely painful, slow, potentially unreliable method with the only advantage being getting attention; hence it is often used for political protests (see e.g. [Palach](palach.md)). Not succeeding means spending the rest of one's life badly deformed, experiencing horrible pain every day.
|
||||
- **jumping from (VERY big) height** = reliable (if done well), quick and painless serious attempt accessible to everyone. If a man truly wishes to die reliably, he will jump from a very, VERY big height -- the biggest skyscraper or bridge he can find, at least 10 stories or so (4 stories has 50% survival rate, 7 stories only 10%). He will ideally jump head first without looking down and contemplating the choice for too long (being slightly drunk may prevent backing out, but it may also increase the chance of actually deciding against the idea, so who knows) AND, importantly, trying to minimize the chance of hurting someone else down below (e.g. by choosing an area where few people walk). People that survived such attempts said the few seconds of flight were the most frightening experience of their life, one immediately regrets the jump, therefore closing one's eyes may be good. Success rate given by sources wasn't so big numerically -- some 60% -- but it's likely driven down by people who choose small heights, which is probably the only way one can fuck this method up. Having great height basically guarantees quick death without anything that could go wrong.
|
||||
- **jumping in front of a train** = good choice if done right and one's will is strong, but can be risky. Some say it's safer to put one's head on the rails and get decapitated. In any case doing so in or near the train station is a very bad idea: slow train is a bad guarantee of success. It's important to choose a very fast train and go all in, backing away in last second may result in horrible injury or extremely slow death (check out gore sites, people split in half can be seen to live excruciatingly long). One must not walk on the tracks for a long time, waiting for the train, because nowadays there are cameras everywhere and there's a chance (low but still) you'll get spotted, reported and the incoming train will start braking -- hence people usually do this at night, they hide in a bush near the track and only jump in at the last moment. The train operator will be scarred for life, there may be better ways to leave. Success rate is around 78%.
|
||||
|
|
10
tangram.md
10
tangram.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
{ I made a simple tangram game in [SAF](saf.md), look it up if you want to play some tangram. ~drummyfish }
|
||||
|
||||
Tangram is a simple, yet greatly amusing old puzzle [game](game.md) in which the player tries to compose a given shape (of which only silhouette is seen) out of given basic geometric shapes such as [triangles](triangle.md) and [squares](square.md). It is a rearrangement puzzle, a 2D game that's in principle similar e.g. to [Soma cube](soma_cube.md), a game in which, similarly, one makes shapes out of basic parts, but in which the shapes are three dimensional. In Tangram many thousands of shapes can be created from just a few geometric shapes, some looking like animals, people and man made objects. This kind of puzzles have been known for a long time -- the oldest recorded tangram is Archimedes' box (square divided into 14 pieces), over 2000 years old. In general any such puzzle is called tangram, i.e. it is seen as a family of puzzle games, however tangram may also stand for **modern tangram**, a one with 7 polygons which comes from 18th century China and which then became very popular also in the west and even caused a so called "tangram craze" around the year 1818. Unless mentioned otherwise, we will talk about this modern version from now on.
|
||||
Tangram is an old, simple, yet highly amusing puzzle [game](game.md) wherein the player tries to compose a given shape (presented only by its silhouette) out of elementary geometric shapes such as [triangles](triangle.md) and [squares](square.md). It is a rearrangement puzzle, a 2D game that's in principle similar e.g. to [Soma cube](soma_cube.md), a game in which, similarly, one makes shapes out of basic parts that are however [three dimensional](3d.md). Tangram exploits the fact that from just a handful of building blocks it is possible to construct many thousands of shapes, some resembling animals, people and man made objects. This type of puzzle has been known for many centuries -- the oldest recorded tangram is Archimedes' box (square divided into 14 pieces), over 2000 years old. In general any such puzzle is called tangram, i.e. it is seen as a family of puzzle games, however tangram may also stand for **modern tangram**: one with 7 polygons, originating from 18th century China from where its popularity spread to the west and even briefly sparked a so called "tangram craze" around the year 1818. Unless mentioned otherwise, we'll be talking about this modern version from now on.
|
||||
|
||||
```
|
||||
_________________
|
||||
|
@ -19,9 +19,9 @@ Tangram is a simple, yet greatly amusing old puzzle [game](game.md) in which the
|
|||
|
||||
*Divide square like this to get the 7 tangram pieces. Note that the parallelogram is allowed to be flipped when creating shapes as it has no mirror symmetry (while all other shapes do).*
|
||||
|
||||
[LRS](lrs.md) considers tangram to be **one of the best games** as it is extremely [simple](kiss.md) to make and [learn](easy_to_learn_hard_to_master.md), it has practically no [dependencies](dependency.md) (computers, electricity, ... one probably doesn't even have to have the sense of sight), yet it offers countless hours of [fun](fun.md) and allows deep insight, there is [art](art.md) in coming up with new shapes, [math](math.md) in counting possibilities, good exercise in trying to [program](programming.md) the game etc.
|
||||
Tangram is a cute, appealing game and [LRS](lrs.md) considers it **one of the best games** as it is beautifully [simple](kiss.md) to make and [learn](easy_to_learn_hard_to_master.md), it has practically no [dependencies](dependency.md) ([computers](computer.md), [electricity](electricity.md), ... not even the sense of sight is strictly required), yet it offers countless hours of [fun](fun.md) and holds potential for gaining deep insight, there is [art](art.md) in shape composition, [math](math.md) in counting possibilities, good exercise for [programmers](programming.md) and much more.
|
||||
|
||||
Tangram usually comes as a box with the 7 pieces and a number of cards with shapes for the player to solve. Each card has on its back side a solution. Some shape are easy to solve, some are very difficult.
|
||||
Tangram ordinarily comes as a box with 7 pieces and a number of cards depicting shapes for the player to solve. On its back side each card shows a solution. Some of the shapes are easy to solve and some are very difficult.
|
||||
|
||||
```
|
||||
_/|
|
||||
|
@ -48,9 +48,9 @@ Tangram usually comes as a box with the 7 pieces and a number of cards with shap
|
|||
|
||||
*Two tangram shapes: bunny and stork (from 1917 book Amusements in Mathematics).*
|
||||
|
||||
{ I found tangram to be a nice practice for **letting go of ideas** -- sometimes you've got an almost complete solution that looks just beautiful, it looks like THE only one that just has to be it, but you can't quite fit the last pieces. I learned that many times I just have to let go of it, destroy it and start over, usually there is a different, even more beautiful solution. This experience may carry over to practical life, e.g. [programming](programming.md). ~drummyfish }
|
||||
{ I found tangram to be a nice practice for **letting go of ideas** -- sometimes you've got a nearly complete solution that looks just beautiful, it looks like THE only one that just has to be it, but you can't quite fit the last pieces. I learned that many times I just have to let go of it, destroy it and start over, usually there is a different, even more beautiful solution. This experience may carry over to practical life, e.g. [programming](programming.md). ~drummyfish }
|
||||
|
||||
**Can tangram shapes be [copyrighted](copyright.md)?** As always nothing is 100% clear in law, but it seems many tangram shapes are so simple to not pass the threshold of originality for copyright. Furthermore tangram is old and many shapes have been published centuries ago, making them public domain, i.e. if you find some old, [public domain](public_domain.md) book (e.g. the book *The Fashionable Chinese Puzzle*, *Amusement in Mathematics* or *Ch'i ch'iao hsin p'u: ch'i chiao t'u chieh*) with the shape you want to use, you're most definitely safe to use it. HOWEVER watch out, a collection of shapes, their ordering and/or shapes including combinations of colors etc. may be considered non-trivial enough to spawn copyright (just as collections of colors may be copyrightable despite individual colors not being copyrightable), so do NOT copy whole shape collections.
|
||||
**Can tangram shapes be [copyrighted](copyright.md)?** As always nothing is 100% clear in [law](law.md), but it seems many tangram shapes are so simple to not pass the threshold of originality that's a prerequisite for copyright. Furthermore tangram is old and many shapes have been published centuries ago, making them public domain, i.e. if you find some very dated, [public domain](public_domain.md) book (e.g. the book *The Fashionable Chinese Puzzle*, *Amusement in Mathematics* or *Ch'i ch'iao hsin p'u: ch'i chiao t'u chieh*) with the shape you want to use, you're most definitely safe to use it. HOWEVER watch out, a collection of shapes, their ordering and/or shapes including combinations of colors etc. may be considered non-trivial enough to spawn copyright (just as collections of colors may be copyrightable despite individual colors not being copyrightable), so do NOT copy whole shape collections.
|
||||
|
||||
**Tangram [paradoxes](paradox.md)** are an [interesting](interesting.md) discovery of this game -- a paradox is a shape that looks like another shape with added or substracted piece(s), despite both being composed of the same pieces. Of course geometrically this isn't possible, the missing/extra area is always compensated somewhere, but to a human eye this may be hard to spot (see also [infinite chocolate](infinite_chocolate.md)). New players get confused when they encounter a paradox for the first time, they think they solved the problem but are missing a piece, or have an extra one, while in fact they just made a wrong shape. TODO: example
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
114
wiki_stats.md
114
wiki_stats.md
|
@ -2,13 +2,13 @@
|
|||
|
||||
This is an autogenerated article holding stats about this wiki.
|
||||
|
||||
- number of articles: 637
|
||||
- number of commits: 1008
|
||||
- total size of all texts in bytes: 5350724
|
||||
- total number of lines of article texts: 38552
|
||||
- number of articles: 638
|
||||
- number of commits: 1009
|
||||
- total size of all texts in bytes: 5360076
|
||||
- total number of lines of article texts: 38719
|
||||
- number of script lines: 324
|
||||
- occurrences of the word "person": 10
|
||||
- occurrences of the word "nigger": 126
|
||||
- occurrences of the word "nigger": 127
|
||||
|
||||
longest articles:
|
||||
|
||||
|
@ -31,29 +31,29 @@ longest articles:
|
|||
- [bloat](bloat.md): 40K
|
||||
- [iq](iq.md): 40K
|
||||
- [copyright](copyright.md): 40K
|
||||
- [cheating](cheating.md): 36K
|
||||
- [procgen](procgen.md): 36K
|
||||
|
||||
top 50 5+ letter words:
|
||||
|
||||
- which (2921)
|
||||
- which (2924)
|
||||
- there (2299)
|
||||
- people (2200)
|
||||
- example (1853)
|
||||
- people (2198)
|
||||
- example (1854)
|
||||
- other (1664)
|
||||
- about (1501)
|
||||
- number (1359)
|
||||
- about (1502)
|
||||
- number (1360)
|
||||
- software (1313)
|
||||
- because (1228)
|
||||
- their (1155)
|
||||
- would (1108)
|
||||
- something (1106)
|
||||
- would (1107)
|
||||
- something (1107)
|
||||
- being (1088)
|
||||
- program (1071)
|
||||
- program (1072)
|
||||
- language (1015)
|
||||
- called (988)
|
||||
- things (947)
|
||||
- without (907)
|
||||
- simple (885)
|
||||
- called (989)
|
||||
- things (946)
|
||||
- without (909)
|
||||
- simple (886)
|
||||
- function (879)
|
||||
- computer (858)
|
||||
- numbers (847)
|
||||
|
@ -62,24 +62,24 @@ top 50 5+ letter words:
|
|||
- programming (796)
|
||||
- however (794)
|
||||
- world (793)
|
||||
- should (765)
|
||||
- system (764)
|
||||
- still (753)
|
||||
- should (769)
|
||||
- system (766)
|
||||
- still (755)
|
||||
- doesn (747)
|
||||
- games (719)
|
||||
- games (720)
|
||||
- drummyfish (702)
|
||||
- point (691)
|
||||
- while (690)
|
||||
- society (687)
|
||||
- possible (681)
|
||||
- always (680)
|
||||
- probably (673)
|
||||
- society (690)
|
||||
- point (689)
|
||||
- always (687)
|
||||
- possible (682)
|
||||
- probably (674)
|
||||
- simply (671)
|
||||
- using (656)
|
||||
- course (633)
|
||||
- https (627)
|
||||
- similar (622)
|
||||
- actually (621)
|
||||
- actually (622)
|
||||
- someone (610)
|
||||
- first (597)
|
||||
- though (592)
|
||||
|
@ -89,6 +89,30 @@ top 50 5+ letter words:
|
|||
latest changes:
|
||||
|
||||
```
|
||||
Date: Sat Apr 19 23:59:35 2025 +0200
|
||||
90s.md
|
||||
asmr.md
|
||||
bill_gates.md
|
||||
earth.md
|
||||
feminism.md
|
||||
history.md
|
||||
hitler.md
|
||||
lgbt.md
|
||||
main.md
|
||||
military.md
|
||||
minimalism.md
|
||||
nigger.md
|
||||
number.md
|
||||
pi.md
|
||||
procgen.md
|
||||
programming.md
|
||||
random_page.md
|
||||
regex.md
|
||||
rms.md
|
||||
ssao.md
|
||||
stereotype.md
|
||||
wiki_pages.md
|
||||
wiki_stats.md
|
||||
Date: Sat Apr 19 16:16:46 2025 +0200
|
||||
anorexia.md
|
||||
atheism.md
|
||||
|
@ -104,30 +128,6 @@ Date: Sat Apr 19 16:16:46 2025 +0200
|
|||
random_page.md
|
||||
stereotype.md
|
||||
transsexual.md
|
||||
wiki_pages.md
|
||||
wiki_post_mortem.md
|
||||
wiki_stats.md
|
||||
woman.md
|
||||
Date: Thu Apr 17 19:16:48 2025 +0200
|
||||
acronym.md
|
||||
aliasing.md
|
||||
antialiasing.md
|
||||
c_tutorial.md
|
||||
drummyfish.md
|
||||
fourier_transform.md
|
||||
framework.md
|
||||
free_speech.md
|
||||
human_language.md
|
||||
interesting.md
|
||||
lmao.md
|
||||
mandelbrot_set.md
|
||||
privacy.md
|
||||
productivity_cult.md
|
||||
public_domain.md
|
||||
quake.md
|
||||
random_page.md
|
||||
reddit.md
|
||||
rust.md
|
||||
```
|
||||
|
||||
most wanted pages:
|
||||
|
@ -172,21 +172,20 @@ most popular and lonely pages:
|
|||
- [shit](shit.md) (116)
|
||||
- [math](math.md) (116)
|
||||
- [fun](fun.md) (114)
|
||||
- [woman](woman.md) (110)
|
||||
- [woman](woman.md) (112)
|
||||
- [gnu](gnu.md) (107)
|
||||
- [linux](linux.md) (105)
|
||||
- [art](art.md) (104)
|
||||
- [history](history.md) (103)
|
||||
- [corporation](corporation.md) (103)
|
||||
- [bullshit](bullshit.md) (103)
|
||||
- [art](art.md) (103)
|
||||
- [history](history.md) (102)
|
||||
- [fight_culture](fight_culture.md) (100)
|
||||
- [hacking](hacking.md) (96)
|
||||
- [work](work.md) (93)
|
||||
- [less_retarded_society](less_retarded_society.md) (93)
|
||||
- [programming_language](programming_language.md) (92)
|
||||
- [free_culture](free_culture.md) (92)
|
||||
- [internet](internet.md) (92)
|
||||
- ...
|
||||
- [friend_detox](friend_detox.md) (5)
|
||||
- [free_body](free_body.md) (5)
|
||||
- [explicit](explicit.md) (5)
|
||||
- [dodleston](dodleston.md) (5)
|
||||
|
@ -215,5 +214,6 @@ most popular and lonely pages:
|
|||
- [dick_reveal](dick_reveal.md) (4)
|
||||
- [deferred_shading](deferred_shading.md) (4)
|
||||
- [crow_funding](crow_funding.md) (4)
|
||||
- [asmr](asmr.md) (4)
|
||||
- [random_page](random_page.md) (1)
|
||||
|
||||
|
|
Loading…
Reference in a new issue