master
Miloslav Ciz 6 months ago
parent 3d2999a451
commit 656c60bdff

@ -7,6 +7,7 @@ Beauty can perhaps be seen as a [heuristic](heuristic.md), a touch of intuition
What is beautiful then? As stated, there is a lot of subjectivity, 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 starting very simple, e.g. a single small equation, leads to consequences that may be studied for millennia, for example [prime numbers](prime.md).
- **generality**, i.e. if a simple equation can describe many problems, not just a specific case.
- **lack of exceptions**, i.e. when our equation works without having to deal with special cases (in programming represented by `if-then` branches).
- **[symmetry](symmetry.md)**, i.e. when we can e.g. swap variables in the equation and get some kind of opposite result.

@ -2,7 +2,7 @@
*"God doesn't play dice."* --[some German dude](einstein.md)
Deterministic system (such as a computer program or an equation) is one which over time evolves without any involvement of [randomness](randomness.md); i.e. its current state along with the rules according to which it behaves unambiguously and precisely determine its following states. This means that a deterministic [algorithm](algorithm.md) will always give the same result if run multiple times with the same input values. Determinism is an extremely important concept in [computer science](compsci.md) and [programming](programming.md) (and in many other fields of science and philosophy).
Deterministic system (such as a computer program or an equation) is one which over time evolves without any involvement of [randomness](randomness.md); i.e. its current state along with the rules according to which it behaves unambiguously and precisely determine its following states. This means that a deterministic [algorithm](algorithm.md) will always give the same result if run multiple times with the same input values. Determinism is an extremely important concept in [computer science](compsci.md) and [programming](programming.md) (and in many other fields of science and philosophy). For example [game of life](game_of_life.md) is a deterministic system while [Markov chain](markov_chain.md) is not.
Determinism is also a **philosophical theory** and aspect of physics theories -- here it signifies that our Universe is deterministic, i.e. that everything is already predetermined by the state of the universe and the laws of physics, i.e. that we don't have "[free will](free_will.md)" (whatever it means) because our brains are just machines following laws of physics like any other matter etc. Many normies believe [quantum physics](quantum.md) disproves determinism which is however not the case, there may e.g. exist hidden variables that still make quantum physics deterministic -- some believe the Bell test disproved hidden variables but again this is NOT the case as it relies on statistical independence of the experimenters, determinism is already possible if we consider the choices of experimenters are also predetermined (this is called [superdeterminism](superdeterminism.md)). [Einstein](einstein.md) and many others still believed determinism was the way the Universe works even after quantum physics emerged. { This also seems correct to me. Sabine Hossenfelder is another popular physicist promoting determinism. ~drummyfish } Anyway, this is already beyond the scope of technological determinism.

@ -2,6 +2,13 @@
Prime number (or just *prime*) is a [whole](integer.md) positive [number](number.md) only divisible by 1 and itself, except for the number [1](one.md). I.e. prime numbers are 2, 3, 5, 7, 11, 13, 17 etc. Prime numbers are extremely important, [interesting](interesting.md) and mysterious for their properties and distribution among other numbers, they have for millennia fascinated [mathematicians](math.md), nowadays they are studied in the math subfield called [number theory](number_theory.md). Primes are for example essential in [assymetric cryptography](assymetric_cryptography.md). Primes can be seen as the opposite of [highly composite numbers](highly_composite_number.md) (also antiprimes, numbers that have more divisors than any lower number).
```
.##.#.#...#.#...#.#...#.....#.#.....#...#.#...#.....#.....#.#.....#...
```
*Prime number positions up to 70.*
The largest known prime number as of 2022 is 2^82589933 - 1 (it is so called [Mersenne prime](mersenne_prime.md), i.e. a prime of form 2^N - 1).
Every natural number greater than 1 has a unique **prime factorization**, i.e. a [set](set.md) of prime numbers whose product it is. For example 75 is a product of three primes: 3 * 5 * 5. This is called the *fundamental theorem of arithmetic*. Naturally, each prime has a factorization consisting of a single number -- itself -- while factorizations of non-primes consist of at least two primes. To mathematicians prime numbers are what chemical elements are to chemists -- a kind of basic building blocks.
@ -12,7 +19,7 @@ The unique factorization can also nicely be used to encode [multisets](multiset.
When in 1974 the Arecibo radio message was sent to space to carry a message for [aliens](alien.md), the resolution of the bitmap image it carried was chosen to be 73 x 23 pixels -- two primes. This was cleverly done so that when aliens receive the 1679 sequential values, there are only two possible ways to interpret them as a 2D bitmap image: 23 x 73 (incorrect) and 73 x 23 (correct). This increased the probability of correct interpretation against the case of sending an arbitrary resolution image.
**There are infinitely many prime numbers**. The proof is pretty simple (shown below), however it's pretty interesting that it has still not been proven whether there are infinitely many [twin primes](twin_prime.md) (primes that differ by 2), that seems to be an extremely difficult question.
**There are infinitely many prime numbers**. The proof is pretty simple (shown below), however it's pretty interesting that it has still not been proven whether there are infinitely many **[twin primes](twin_prime.md) (primes that differ by 2)**, that seems to be an extremely difficult question.
Euklid's [proof](proof.md) shows there are infinitely many primes, it is done by contradiction and goes as follows: suppose there are finitely many primes *p1*, *p2*, ... *pn*. Now let's consider a number *s* = *p1* * *p2* * ... * *pn* + 1. This means *s* - 1 is divisible by each prime *p1*, *p2*, ... *pn*, but *s* itself is not divisible by any of them (as it is just 1 greater than *s* and multiples of some number *q* greater than 1 have to be spaced by *q*, i.e. more than 1). If *s* isn't divisible by any of the considered primes, it itself has to be a prime. However that is in contradiction with the original assumption that *p1*, *p2*, ... *pn* are all existing primes. Therefore a finite list of primes cannot exist, there have to be infinitely many of them.
@ -50,6 +57,8 @@ Euklid's [proof](proof.md) shows there are infinitely many primes, it is done by
Here are prime numbers under 1000: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997.
Here are twin prime numbers under 1000: 3, 4, 5, 6, 11, 12, 17, 18, 29, 30, 41, 42, 59, 60, 71, 72, 101, 102, 107, 108, 137, 138, 149, 150, 179, 180, 191, 192, 197, 198, 227, 228, 239, 240, 269, 270, 281, 282, 311, 312, 347, 348, 419, 420, 431, 432, 461, 462, 521, 522, 569, 570, 599, 600, 617, 618, 641, 642, 659, 660, 809, 810, 821, 822, 827, 828, 857, 858, 881, 882.
```
______/
/ /
@ -67,6 +76,12 @@ Here are prime numbers under 1000: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 4
There also exists a term **pseudoprime** -- it stands for a number which is not actually a prime but appears so because it passes some quick primality tests.
**Higher order primes**, also **superprimes** or prime-indexed primes, are primes that occupy prime numberth position within prime numbers, i.e. one of first higher order primes is for example number 5 because it is the 3rd prime and 3 itself is a prime. 5 is also one of second order higher primer numbers because it is 2nd first higher order prime number and 2 is a prime number. Etc. So we may generalize this concept to a prime number order *R(x)*, which says the highest order that number *x* achieves in this sense, with *R(x) = 0* meaning *x* is not prime at all. One of very high superprimes is for example number 174440041 (lowest number with *R(x) = 12*). Prime orders for numbers up to 1000 are (leaving out the ones with order 0):
2: 1, 3: 2, 5: 3, 7: 1, 11: 4, 13: 1, 17: 2, 19: 1, 23: 1, 29: 1, 31: 5, 37: 1, 41: 2, 43: 1, 47: 1, 53: 1, 59: 3, 61: 1, 67: 2, 71: 1, 73: 1, 79: 1, 83: 2, 89: 1, 97: 1, 101: 1, 103: 1, 107: 1, 109: 2, 113: 1, 127: 6, 131: 1, 137: 1, 139: 1, 149: 1, 151: 1, 157: 2, 163: 1, 167: 1, 173: 1, 179: 3, 181: 1, 191: 2, 193: 1, 197: 1, 199: 1, 211: 2, 223: 1, 227: 1, 229: 1, 233: 1, 239: 1, 241: 2, 251: 1, 257: 1, 263: 1, 269: 1, 271: 1, 277: 4, 281: 1, 283: 2, 293: 1, 307: 1, 311: 1, 313: 1, 317: 1, 331: 3, 337: 1, 347: 1, 349: 1, 353: 2, 359: 1, 367: 2, 373: 1, 379: 1, 383: 1, 389: 1, 397: 1, 401: 2, 409: 1, 419: 1, 421: 1, 431: 3,
433: 1, 439: 1, 443: 1, 449: 1, 457: 1, 461: 2, 463: 1, 467: 1, 479: 1, 487: 1, 491: 1, 499: 1, 503: 1, 509: 2, 521: 1, 523: 1, 541: 1, 547: 2, 557: 1, 563: 2, 569: 1, 571: 1, 577: 1, 587: 2, 593: 1, 599: 3, 601: 1, 607: 1, 613: 1, 617: 2, 619: 1, 631: 1, 641: 1, 643: 1, 647: 1, 653: 1, 659: 1, 661: 1, 673: 1, 677: 1, 683: 1, 691: 1, 701: 1, 709: 7, 719: 1, 727: 1, 733: 1, 739:
2, 743: 1, 751: 1, 757: 1, 761: 1, 769: 1, 773: 2, 787: 1, 797: 2, 809: 1, 811: 1, 821: 1, 823: 1, 827: 1, 829: 1, 839: 1, 853: 1, 857: 1, 859: 2, 863: 1, 877: 2, 881: 1, 883: 1, 887: 1, 907: 1, 911: 1, 919: 3, 929: 1, 937: 1, 941: 1, 947: 1, 953: 1, 967: 2, 971: 1, 977: 1, 983: 1, 991: 2, 997: 1.
## Algorithms
**Primality test**: testing whether a number is a prime is quite easy and not computationally difficult (unlike factoring the number). A [naive](naive.md) algorithm is called *trial division* and it tests whether any number from 2 up to the tested number divides the tested number (if so, then the number is not a prime, otherwise it is). This can be optimized by only testing numbers up to the [square root](sqrt.md) (including) of the tested number (if there is a factor greater than the square root, there is also another smaller than it which would already have been tested). A further simple optimization is to to test division by 2, 3 and then only numbers of the form 6q +- 1 (other forms are divisible by either 2 or 3, e.g 6q + 4 is always divisible by 2). Further optimizations exist and for maximum speed a [look up table](lut.md) may be used for smaller primes. A simple [C](c.md) function for primality test may look e.g. like this:

@ -13,7 +13,7 @@ It should be made clear that **rust is [shit](shit.md)** AND **CANNOT BE FIXED**
- **It has licensing/[freedom](free_software.md) issues**, specifically making it difficult to exercise freedom 3 (legally modify software), see https://web.archive.org/web/20191224132425/https://wiki.hyperbola.info/doku.php?id=en:main:rusts_freedom_flaws. **Its "[open source](open_source.md)" label is just [openwashing](openwashing.md)**, it is "open source" in the same way [Android](android.md) is open source (it has a "FOSS" license but it is de facto centrally controlled by some fascist group).
- **Rust has no specification**, it tries to discourage other implementations and as such greatly hurts basic principles of freedom. Lack of fixed specifications also creates [update culture](update_culture.md) etc.
- Due to the above, Rust is not really a language, it is more of a "platform" or "software framework" for programs -- Rust is a programming language in the same sense in which Google App Store is a package manager. If it becomes the mainstream language, it will do to computer programs what e.g. [Steam](steam.md) has done to video [games](game.md).
- **Rust is [fascist](fascism.md) [tranny software](tranny_software.md)** -- not because it is written by trannsexuals, but because it sports political discrimination through [codes of conduct](coc.md) and creating a de-facto monopoly on the language (with [bloat monopoly](bloat_monopoly.md), lack of specification, kicking people out of development based on their political views etc.).
- **Rust is [fascist](fascism.md) [tranny software](tranny_software.md)** -- not because it is written by trannsexuals, but because it sports political discrimination through [codes of conduct](coc.md) and creating a de-facto monopoly on the language (with [bloat monopoly](bloat_monopoly.md), lack of specification, kicking people out of development based on their political views etc.). Its community is infamous for being extremely **[toxic](toxic.md) and [woke](woke.md)**.
- Its selling point is supposed to be memory safety but that makes the language **extremely slow**. For fast programs safety has to be turned off but then you can just write in [C](c.md), so there is no point to Rust -- definitely not as a replacement for C.
- It ridiculously tries to be a **"handholding system language"**, i.e. an expert level language designed for beginners or incompetent people (of course with the obvious goal to empower women forced into tech etc.). Being written by pre-beginner level "[coders](coding.md)", it sets goals such as "system language should tie your hands and prevent beginner mistakes". It's like trying to design a fighter jet around the idea that it will be operated by beginners and therefore e.g. removing fire buttons or limiting top speed so as to limit dangers posed by sitting an amateur pilot in a fighter jet.
- It is more than anything a **political language trying to push propaganda**, send messages about minorities in tech instead of creating good technology, and "[fight](fight_culture.md)" and destroy languages invented by straight white men -- the most popular activity of rust soydevs seems to be rewriting already existing, well established, tested and greatly optimized programs from scratch in rust. As such language it is mostly written by angry minorities such as [girls](girl.md) and trannies who can't much into technology, hence the completely shit design and implementation.

@ -1,10 +1,10 @@
# Steganography
Steganography means hiding secret information in publicly accessible data; for example it is possible to hide text messages in a digital photograph by slightly modifying the colors of the image pixels -- that photo then looks just like an innocent picture while in fact bearing an extra information for those who can read it. Steganography differs from [encryption](encryption.md) by trying to avoid even suspicion of secret communication.
Steganography means hiding secret [information](information.md) within some unrelated data by embedding it in a way that's very hard to notice; for example it is possible to hide text messages in a digital photograph by slightly modifying the colors of the image pixels -- that photo then looks just like an innocent picture while in fact bearing an extra information for those who know it's there and can read it. Steganography differs from [encryption](encryption.md) by trying to avoid even suspicion of secret communication.
There are many uses of steganography, for example in secret communication, bypassing censorship or secretly tracking a piece of digital media with an invisible [watermark](watermark.md) (game companies have used steganography to identify which game clients were used to leak pre-release footage of their games). [Cicada 3301](cicada.md) has famously used steganography in its puzzles.
There are many uses of steganography, for example in secret communication, bypassing [censorship](censorship.md) or secretly tracking a piece of digital media with an invisible [watermark](watermark.md) (game companies have used steganography to identify which tester's game client was used to leak pre-release footage of their games). [Cicada 3301](cicada.md) has famously used steganography in its puzzles.
Steganography may need to take into account the possibility of the data being slightly modified, for example pictures exchanged on the [Internet](internet.md) lose their quality due to repeating compressions, cropping and format conversions. Robust methods may be used to preserve the embedded information even in these cases.
Steganography may need to take into account the possibility of the data being slightly modified, for example pictures exchanged on the [Internet](internet.md) lose their quality due to repeating [compression](compression.md), cropping and format conversions. Robust methods may be used to preserve the embedded information even in these cases.
Some notable methods and practices of steganography include:

@ -51,6 +51,7 @@ These are some sources you can use for research and gathering information for ar
- **[installgentoowiki](https://wiki.installgentoo.com)**
- **[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, marginalia, Yandex, Bing, Yahoo, Internet Archive, ...).
- **old magazines**: If you can get your hands on old magazines somehow (physical, pdf, ...) about computers, cell phones, games etc., you may get a nice source of a lot of interesting, obscure and lost information. For example on the web it's impossible to find a good list of old games -- if you search for "top 50 old games", you get a list of complete shit games from 2015, which is now considered "old"; it's much better you get some old game magazine from say 2005 that lists top 50 games at the time. Furthermore these magazines are professionally made and actually [older](old.md), i.e. of better quality. You may also find nice gems, predictions of the future, politically incorrect articles etc.
- **Non-web**: When web fails, you can search the [darknet](darknet.md), [gopher](gopher.md), [gemini](gemini.md), [usenet](usenet.md), [tor](tor.md) etc.
- ...

Loading…
Cancel
Save