This commit is contained in:
Miloslav Ciz 2023-12-14 21:08:58 +01:00
parent 53768ca2ea
commit ef91bbba67
9 changed files with 66 additions and 11 deletions

View file

@ -74,6 +74,7 @@ Small/medium bloat includes for example:
- [floating point](float.md) (complex standard with design issues, requires special hardware for acceleration, [fixed point](fixed_point.md) is better) - [floating point](float.md) (complex standard with design issues, requires special hardware for acceleration, [fixed point](fixed_point.md) is better)
- config files (and other unnecessary file I/O that requires a file I/O library, not all computers have file systems, configs should be part of source code) - config files (and other unnecessary file I/O that requires a file I/O library, not all computers have file systems, configs should be part of source code)
- [directories](directory.md) (just have all files on the same level and prefix their file names to organize them)
- library [linking](linking.md) ([header only](header_only.md) libraries are better) - library [linking](linking.md) ([header only](header_only.md) libraries are better)
- any [GPU](gpu.md), [OpenGL](opengl.md) (complex hardware and specifications, not all computers have complex GPUs, [software rendering](software_rendering.md) is better) - any [GPU](gpu.md), [OpenGL](opengl.md) (complex hardware and specifications, not all computers have complex GPUs, [software rendering](software_rendering.md) is better)
- [Unicode](unicode.md) (big specification requiring special libraries and big fonts, [ASCII](ascii.md) is better) - [Unicode](unicode.md) (big specification requiring special libraries and big fonts, [ASCII](ascii.md) is better)

4
c.md
View file

@ -27,11 +27,13 @@ C is not a single language, there have been a few standards over the years since
- **K&R C**: C as described by its inventors in the book *The C Programming Language*, before official standardization. This is kind of too ancient nowadays. - **K&R C**: C as described by its inventors in the book *The C Programming Language*, before official standardization. This is kind of too ancient nowadays.
- **C89/C90 (ANSI/ISO C)**: First fully standardized version, usable even today, many hardcore C programmers stick to this version so as to enjoy maximum compiler support. - **C89/C90 (ANSI/ISO C)**: First fully standardized version, usable even today, many hardcore C programmers stick to this version so as to enjoy maximum compiler support.
- **C95**: A minor update of the previous standard, adds wide character support. - **C95**: A minor update of the previous standard, adds wide character support.
- **C99**: Updated standard from the year 1999 striking a great balance between "[modern](modern.md)" and "good old". This is a good version to use in [LRS](lrs.md) programs, but will be a little less supported than C89, even though still very well supported. - **C99**: Updated standard from the year 1999, striking a nice balance between "[modern](modern.md)" and "good old". This is a good version to use in [LRS](lrs.md) programs, but will be a little less supported than C89, even though still very well supported. Notable new features against C89 include `//` comments, [stdint](stdint.md) library (fixed-width integer types), [float](float.md) and `long long` type, variable length stack-allocated [arrays](array.md), variadic [macros](macro.md) and declaration of variables "anywhere" (not just at function start).
- **C11**: Updated standard from the year 2011. This one is too [bloated](bloat.md) and isn't worth using. - **C11**: Updated standard from the year 2011. This one is too [bloated](bloat.md) and isn't worth using.
- **C17/C18**: Yet another update, yet more bloated and not worth using anymore. - **C17/C18**: Yet another update, yet more bloated and not worth using anymore.
- ... - ...
Quite nice online reference to all the different standards (including C++) is available at https://en.cppreference.com/w/c/99.
[LRS](lrs.md) should use C99 or C89 as the newer versions are considered [bloat](bloat.md) and don't have such great support in compilers, making them less portable and therefore less free. [LRS](lrs.md) should use C99 or C89 as the newer versions are considered [bloat](bloat.md) and don't have such great support in compilers, making them less portable and therefore less free.
The standards of C99 and older are considered pretty [future-proof](future_proof.md) and using them will help your program be future-proof as well. This is to a high degree due to C having been established and tested better than any other language; it is one of the oldest languages and a majority of the most essential software is written in C, C compiler is one of the very first things a new hardware platform needs to implement, so C compilers will always be around, at least for historical reasons. C has also been very well designed in a relatively minimal fashion, before the advent of modern feature-creep and and bullshit such as [OOP](oop.md) which cripples almost all "modern" languages. The standards of C99 and older are considered pretty [future-proof](future_proof.md) and using them will help your program be future-proof as well. This is to a high degree due to C having been established and tested better than any other language; it is one of the oldest languages and a majority of the most essential software is written in C, C compiler is one of the very first things a new hardware platform needs to implement, so C compilers will always be around, at least for historical reasons. C has also been very well designed in a relatively minimal fashion, before the advent of modern feature-creep and and bullshit such as [OOP](oop.md) which cripples almost all "modern" languages.

View file

@ -20,7 +20,7 @@ From a certain point of view capitalism is not really a traditional socioeconomi
Under capitalism you are not a human being, you are a resource, at best a machine that's useful for some time but becomes obsolete and undesired once it outlives its usefulness and potential to be exploited. Under capitalism you are a slave that's forced to live the life of 3 Cs: **conform, consume, compete**. Or, as [Encyclopedia dramatica](dramatica.md) puts it: work, buy, consume, die. Under capitalism you are not a human being, you are a resource, at best a machine that's useful for some time but becomes obsolete and undesired once it outlives its usefulness and potential to be exploited. Under capitalism you are a slave that's forced to live the life of 3 Cs: **conform, consume, compete**. Or, as [Encyclopedia dramatica](dramatica.md) puts it: work, buy, consume, die.
**Who invented capitalism?** Well, it largely developed on its own, society is just responsible for not stopping it. Capitalism as seen today has mostly evolved from the tradition of small [trade](trade.md), [slavery](work.md), markets, [competition](competition.md), [evil](evil.md), [war](war.md) and abuse due to societal hierarchy (e.g. peasants by noblemen, poor by rich etc.), combined with technological progress of [industrial revolution](industrial_revolution.md) (18th. - 19th century) which allowed mass production and mass abuse of workers, as well as the information revolution (20th - 21th century) which allowed mass surveillance, unlimited [corporate](corporation.md) control, acceleration of bullshit business and extreme mass [brainwashing](marketing.md), reaching [capitalist singularity](capitalist_singularity.md). [Adam Smith](adam_smith.md) (18th century), a mentally retarded egoist who tried to normalize and promote self-interest and torture of others for self-benefit, is often called the **"father of capitalism"** (which is about of the same honor as being called the [father of holocaust](hitler.md)) -- this man is to be also largely credited for the future extermination of all [life](life.md). **Who invented capitalism?** Well, it largely developed on its own, society is just responsible for not stopping it. Capitalism as seen today has mostly evolved from the tradition of small [trade](trade.md), [slavery](work.md), markets, [competition](competition.md), [evil](evil.md), [war](war.md) and abuse due to societal hierarchy (e.g. peasants by noblemen, poor by rich etc.), combined with technological progress of [industrial revolution](industrial_revolution.md) (18th. - 19th century) which allowed mass production and mass abuse of workers, as well as the information revolution (20th - 21th century) which allowed mass surveillance, unlimited [corporate](corporation.md) control, acceleration of bullshit business and extreme mass [brainwashing](marketing.md), reaching [capitalist singularity](capitalist_singularity.md). [Adam Smith](adam_smith.md) (18th century), a mentally retarded egoist with some extra chromosomes who tried to normalize and promote self-interest and torture of others for self-benefit, is often called the **"father of capitalism"** (which is about of the same honor as being called the [father of holocaust](hitler.md)) -- this man is to be also largely credited for the future extermination of all [life](life.md).
**On capitalism and [Jews](jew.md)**: rightists believe the issues caused by capitalism are really caused by Jews and that somehow getting rid of Jews will fix society -- actually this is not entirely accurate; white rightists want to remove Jews so that they (the white [race](race.md)) can take their place in ruling the society, so they don't actually want to fix or remove capitalism (on the contrary, they love its presence and its mechanisms), they just want to became the masters instead of slaves. It is definitely true Jews are overrepresented in high positions of a capitalist society, but that's just because Jews as a race really developped the best "skills" to succeed in capitalism as they historically bet on the right cards (focus on trade and money, decentralization of business, spread across the world and globalization, ...) and really evolved to the race best suited for the winners of the capitalist game. So while the rightist may be correct in the observation that Jews are winning the game, [we](lrs.md) of course cannot agree with their supposed "fix" -- we do not want to remove the slave masters and replace them with different ones, we want to get rid of capitalism, the unethical system itself which enables slavery in the first place. **On capitalism and [Jews](jew.md)**: rightists believe the issues caused by capitalism are really caused by Jews and that somehow getting rid of Jews will fix society -- actually this is not entirely accurate; white rightists want to remove Jews so that they (the white [race](race.md)) can take their place in ruling the society, so they don't actually want to fix or remove capitalism (on the contrary, they love its presence and its mechanisms), they just want to became the masters instead of slaves. It is definitely true Jews are overrepresented in high positions of a capitalist society, but that's just because Jews as a race really developped the best "skills" to succeed in capitalism as they historically bet on the right cards (focus on trade and money, decentralization of business, spread across the world and globalization, ...) and really evolved to the race best suited for the winners of the capitalist game. So while the rightist may be correct in the observation that Jews are winning the game, [we](lrs.md) of course cannot agree with their supposed "fix" -- we do not want to remove the slave masters and replace them with different ones, we want to get rid of capitalism, the unethical system itself which enables slavery in the first place.

View file

@ -233,3 +233,4 @@ In this form the code prints a table for right associativity tetration:
## See Also ## See Also
- [googology](googology.md) - [googology](googology.md)
- [p-adic numbers](p_adic.md)

View file

@ -8,7 +8,7 @@ Some see math not as a science but rather a discipline that develops formal tool
On the other hand, one does not have to be a math [PhD](phd.md) in order to be a good programmer in most fields. Sure, knowledge and overview of advanced mathematics is needed to excel, to be able to spot and sense elegant solutions, but beyond these essentials that anyone can learn with a bit of will it's really more about just not being afraid of math, accepting and embracing the fact that it permeates what we do and studying it when the study of a new topic is needed. On the other hand, one does not have to be a math [PhD](phd.md) in order to be a good programmer in most fields. Sure, knowledge and overview of advanced mathematics is needed to excel, to be able to spot and sense elegant solutions, but beyond these essentials that anyone can learn with a bit of will it's really more about just not being afraid of math, accepting and embracing the fact that it permeates what we do and studying it when the study of a new topic is needed.
**The power of math is limited.** In 1932 [Kurt Godel](godel.md) mathematically proved, with his [incompleteness theorems](incompleteness.md), that (basically) there are logical truths which math itself can never prove, and that, put in a simplified way, "math itself cannot prove its own consistency" (which killed so called Hilbert's program which sought to do exactly that). This is related to the limited power of [computers](computer.md) due to [undecidability](undecidability.md) (there are problems a computer can never decide), proven by [Alan Turing](turing.md). There are probably even [numbers](number.md) so big they just can't even be computed, even in theory -- see [busy beaver](busy_beaver.md) function. **The power of math is limited.** In 1932 [Kurt Godel](godel.md) mathematically proved, with his [incompleteness theorems](incompleteness.md), that (basically) there are logical truths which math itself can never prove, and that, put in a simplified way, "math itself cannot prove its own consistency" (which killed so called Hilbert's program which sought to do exactly that). This is related to the limited power of [computers](computer.md) due to [undecidability](undecidability.md) (there are problems a computer can never decide), proven by [Alan Turing](turing.md).
## Overview ## Overview

View file

@ -2,8 +2,8 @@
TODO TODO
Kids today will absolutely NOT remember what Nokia did with phones back then, the richness, amazing creativity, fun. [Apple](apple.md)? WTF, that's like absolute nothing, Nokia was absolutely dominating the shit and coming up with INSANE designs you wouldn't believe. The guys must have been smoking some shit all day, they were like what haven't we done yet? Let's put the buttons all over the shit, let's make it round, let's make it fat, let's make the phone a literal square, let's make it a handheld console. And it worked, it was freakin art, everyone loved it, each phone was unique like, even with different [GUI](gui.md) and everything. It was beautiful. For zoomers and young kids it has to be noted Nokia was likely the craziest cell phone company back then, the richness of their phones and creativity in design was absolutely above any boring [Apple](apple.md) shit that came later, Nokia phones were just colorful, wildly different in shape, style and "personality", they even wildly experimented with things like placing buttons all over the device, at a time when ergonomics of buttons was important for typing and already somewhat established, it was as if the designers were smoking something.
{ IMHO the peak of Nokia was 6600. Just look it up, I've never seen such beautiful design, AND it was such a high tech device back them, unreachable for a kid like me. Just the idea of having a real computer with an operating system in a pocket, with games, even a freaking video camera to shoot videos with, that was absolutely unreal to me. I wanted it so badly, I wanted it more than anything else. I had dreams about it. I also extremely enjoyed comparing it to the biggest competition Siemens SX1, that was a great device too. It was like a clash of two bosses. ~drummyfish } { IMHO the peak of Nokia was 6600, I've never seen such beautiful design, AND it was such a high tech device back them, unreachable to normal people. Just the idea of having a real computer with an operating system in a pocket, with games, even a camera, that was absolutely unreal. I wanted it more than anything else really. It was also nice to compare it to the biggest competition Siemens SX1, that was a great device too. ~drummyfish }
{ Also I remember I was once kicked out of a cell phone shop because they had 6600 there for customers to try it out and I was spending hours playing some LOTR games on it xD I remember it like today, it kind of marked me. ~drummyfish } { Also I remember I was once kicked out of a cell phone shop because they had 6600 there for customers to try out and I was spending hours playing some LOTR games on it xD I remember it like today, it gave me a bit of a trauma. ~drummyfish }

View file

@ -49,6 +49,8 @@ What would an operating system designed by [LRS](lrs.md) principles look like? T
The basic idea for a universal LRS operating system is to be something more akin a mere **text [shell](shell.md)** (possibly [comun](comun.md) shell), we wouldn't probably even call it an operating system. A rough vision is something like **"[DOS](dos.md) plus a bit of [Unix philosophy](unix_philosophy.md)"**. The system would probably seem primitive by "[modern](modern.md) standards", but in a [good society](less_retarded_society.md) it would be sufficient as a universal operating system (i.e. not necessarily suitable for ALL purposes). The OS would in fact be more of a **program loader** (like e.g. the one seen in [Pokitto](pokitto.md)), running with the same privileges as other programs -- its purpose would NOT be to provide a safe environment for programs to run in, to protects user's data and possibly not even to offer a platform for programs to run on (for abstracting hardware away a non-OS [library](library.md) might be used instead), but rather to allow switching between different programs on a computer without having to reupload the programs externally, and to provide basic tools for managing the computer itself (such as browsing files, testing hardware etc.). This shell would basically allow to browse files, load them as programs, and maybe run simple scripts (e.g. in mentioned comun language), allowing things such as automatization of running several program (NOT in parallel but rather one by one) to collaborate on computing something. The basic idea for a universal LRS operating system is to be something more akin a mere **text [shell](shell.md)** (possibly [comun](comun.md) shell), we wouldn't probably even call it an operating system. A rough vision is something like **"[DOS](dos.md) plus a bit of [Unix philosophy](unix_philosophy.md)"**. The system would probably seem primitive by "[modern](modern.md) standards", but in a [good society](less_retarded_society.md) it would be sufficient as a universal operating system (i.e. not necessarily suitable for ALL purposes). The OS would in fact be more of a **program loader** (like e.g. the one seen in [Pokitto](pokitto.md)), running with the same privileges as other programs -- its purpose would NOT be to provide a safe environment for programs to run in, to protects user's data and possibly not even to offer a platform for programs to run on (for abstracting hardware away a non-OS [library](library.md) might be used instead), but rather to allow switching between different programs on a computer without having to reupload the programs externally, and to provide basic tools for managing the computer itself (such as browsing files, testing hardware etc.). This shell would basically allow to browse files, load them as programs, and maybe run simple scripts (e.g. in mentioned comun language), allowing things such as automatization of running several program (NOT in parallel but rather one by one) to collaborate on computing something.
An idea worth mentioning is also the possibility to have a have a distribution of this "operating system" that works completely without a file system, i.e. something aking a "big program" that has all the tools compiled into it, without the possibility to install or uninstall programs. Of course this doesn't mean ALL operating systems would in the world would work like this, it would just be a possibility for those that could benefit from it, e.g. very small wrist watch computers that don't wouldn't want and need to include hardware and software required for a mutable filesystem to work, since all they would need would be a few tools like stopwatch and calculator, plus they would gain the advantage of loading a program instantly. The tools to be "compiled in" could be chosen by the user before compilation to make a personalized "immutable distro".
Let's keep in mind that true LRS computers would be different from the current capitalist ones -- an operating system would only be optional, programs would be able to run on [bare metal](bare_metal.md) as well as under an OS, and operating systems would be as much compatible as possible. By this an OS might be seen as more of an extra tool rather than a platform. Let's keep in mind that true LRS computers would be different from the current capitalist ones -- an operating system would only be optional, programs would be able to run on [bare metal](bare_metal.md) as well as under an OS, and operating systems would be as much compatible as possible. By this an OS might be seen as more of an extra tool rather than a platform.
The system might likely lack features one would nowadays call essential for an OS, such as multiple user support (no need if [security](security.md) is not an issue, everyone can simply make his own subdirectory for personal files), [virtual memory](virtual_memory.md), complex [GUI](gui.md) etc. There might even be no [multitasking](multitasking.md); a possibility to make a multitasking OS exists, but let's keep in mind that even such things as programs interacting via [pipes](pipe.md) may be implemented without it (using temporary buffer files into which one program's output is stored before running the next program). The system might likely lack features one would nowadays call essential for an OS, such as multiple user support (no need if [security](security.md) is not an issue, everyone can simply make his own subdirectory for personal files), [virtual memory](virtual_memory.md), complex [GUI](gui.md) etc. There might even be no [multitasking](multitasking.md); a possibility to make a multitasking OS exists, but let's keep in mind that even such things as programs interacting via [pipes](pipe.md) may be implemented without it (using temporary buffer files into which one program's output is stored before running the next program).

49
real_number.md Normal file
View file

@ -0,0 +1,49 @@
# Real Number
Real numbers are all [numbers](number.md) found on the infinite, continuous one dimensional number line, they often represent what we generally just mean by the term "number" and include for example [zero](zero.md), [pi](pi.md) or -39/11. The [set](set.md) or real numbers includes all [whole numbers](integer.md) as well as all [rational numbers](rational_number.md) (fractions with integer nominator and denominator), but in addition contains infinitely many "special" numbers such as [pi](pi.md), [e](e.md) or [square root](sqrt.md) of 2, numbers that are mathematically very interesting because they for example produce infinitely many digits in our traditional number notation without showing any obvious patterns. However it has to be noted real numbers still do NOT include for example [infinity](infinity.md) or [complex numbers](complex_number.md) (kind of "2D extension" of real numbers) such as [i](i.md). Real numbers really represent a **[continuum](continous.md)**, between any two numbers that are not the same there is always infinitely many real numbers that have no gaps in between -- this leads to the fact that not only is there infinitely many real numbers, but there is **[uncountably many](uncountable.md)** of them, i.e. simply put there is "more than traditional infinity" of real numbers.
WATCH OUT: even though in programming we sometimes we encounter [data types](data_type.md) named *real*, they usually don't represent true real numbers! In [programming](programming.md) we mostly only [approximate](approximation.md) real numbers with [floating](float.md) or [fixed](fixed_point.md) point numbers, which really are only rational numbers -- this is practically always [good enough](good_enough.md), we don't ever need an exact value of pi, a few decimal digits of accuracy is enough to an engineer, but to a mathematician real numbers represent a completely new, different world with some fundamental differences, which even a mere programmer should be at least aware of. Real numbers are tied to questions of the continuum, infinitely big and infinitely small, and they can really eventually lead to deep philosophical debates.
TODO: history?
## The Greater, Uncountable Infinity Of Reals
Compared to the basic sets of numbers, such as [natural](natural_number.md) and [rational numbers](rational_number.md), real numbers are special because **there are [uncountably](uncountable.md) many** of them, i.e not just [infinitely](infinity.md) many; in a sense the infinity representing how many real numbers there are is a **"bigger infinity"** than that representing the size (better said [cardinality](cardinality.md)) of sets of for example natural and rational numbers (which are still infinite, but only *countably* infinite); even if we consider just real numbers between 0 and 1, there is still kind of "more" of them than there are e.g. all possible fractions (with integer nominator and denominator). At first it looks like fractions and real numbers are kind of the same, but this is not true, fractions are still kind of sparse, [discrete](discrete.md), even though we can use fractions to infinitely divide the number line, there will always be kind of "gaps" between them; on the other hand real numbers are TRULY continuous in nature: there are infinitely many "special" numbers among real numbers, such as [pi](pi.md) and [e](e.md) (but most just without any special name, e.g. [square root](sqrt.md) of 2), that can never be written as a fraction of integers or as a number with finite decimal expansion (which is really the same thing as being a fraction), i.e. some real numbers we can approximately write down in decimal expansion (i.e. like 1.23456...) but never finish as their decimal expansion goes on forever and lacks any simple pattern. This is what gives rise to the fact that there are many more real numbers than integers and fractions -- due to this possibility of having "infinitely many arbitrary digits after the decimal point" **we cannot produce an ordered list of real numbers**, i.e. we cannot create a system that would say "this is the first real number, this is the second, this is third, ..." in a way that would eventually list out all the real numbers. I.e. we cannot establish a 1:1 mapping between natural numbers and real numbers, something that IS possible with integers and fractions (though with fractions it's less obvious), even considering things like negative numbers, we can order integers e.g. like: 0, 1, -1, 2, -2, 3, -3, .... With real numbers this is impossible, so we say the infinite size of the set of real numbers is uncountable.
At first this is usually confusing and hard to comprehend, keep in mind we are dealing with [infinities](infinity.md) here and so intuition fails us, what we mean by "size" of an infinite set is better called a [cardinality](cardinality.md) because this is not really a size as we understand it with finite sets, it's a kind of generalization of it that allows us to examine infinity, but as we start dealing with infinities we have to be careful as things we usually take for granted may no longer hold -- for example here we may have a superset of a set of numbers (e.g. all integers, including negative ones, is a superset of natural numbers, which exclude negative numbers) with both sets having the same "size"/cardinality, i.e. something that with finite sets can't happen. With infinities we cannot measure size with counting elements -- there are always infinitely many -- but we can try with making mappings between the sets, which does tell us new things. But we are still in a different realm where our traditional language doesn't work and at best we sometimes have only "close enough" terms for things we encounter there.
**Is this of use to a programmer?** Not to a "normal" programmer, in practical programming we basically never deal with true real numbers in all their generality, we just [approximate](approximation.md) them with [floats](float.md) (i.e. rational numbers), though a programmer should definitely at least be aware of all this, this is just very basics of higher math and should be common knowledge to anyone dealing with math in any way. Of course some specialized programming (e.g. symbolic computation) and theoretical computer science will come to deal with this, so there it is a must know.
Here is a **[proof](proof.md)** by contradiction of not being able to create an ordered list of real numbers, by so called *diagonalization*. Let us only consider (without loss of generality) real numbers between 0 and 1, written in [binary](binary.md), i.e. numbers written only with digits 0 and 1 that always start with `0.`. Suppose we have found ordering of ALL real numbers in which real numbers go one after another like this: *R1*, *R2*, *R3* etc., each *RN* having the digits (after `0.`) *RN_1*, *RN_2*, *RN_3* etc. We can write these numbers into a table that expands infinitely to the right and bottom:
| number | digit 1 | digit 2 | digit 3 | digit 4 | ... |
| ------ | ------- | ------- | ------- | ------- | --- |
| R1 | R1_1 | R1_2 | R1_3 | R1_4 | ... |
| R2 | R2_1 | R2_2 | R2_3 | R2_4 | ... |
| R3 | R3_1 | R3_2 | R3_3 | R3_4 | ... |
| ... | ... | ... | ... | ... | ... |
Now however we can consider a number *X* whose digits are `not(R1_1)`, `not(R2_2)`, `not(R3_3)`, `not(R4_4)` etc., i.e. the number is obtained by taking the table's diagonal and inverting all the digits (1s to 0s and vice versa). We can see number *X* is not present in the table because it is different from every other number in the table -- with any number *RN* it will differ AT LEAST by the *N*th bit. By this we arrive at the contradiction with the original claim that we have an ordered list of ALL real numbers, therefore such list cannot exist.
Another **cool view of real numbers** is this: imagine fractions (rational numbers) in fact sitting on a 2D grid, having coordinates given by their denominator and nominator, e.g. number 3/2 sits at [2,3], i.e. has *x* coordinate 2 and *y* coordinate 3. We are standing at point [0,0] and so every number projects to our field of view, i.e. to an angle from -90 degrees to 90 degrees (with these extremes representing minus and plus infinity, looking straight forward we see [zero](zero.md)). Notice that for example numbers 2/3 and 4/6 exactly overlap from out point of view, as they represent the same value:
```
...^ nominator
6 |. . . . . . . __/ 2/3 = 4/6 = 8/12 = ...
5 |. . . . . .__/
4 |. . . . __/ .
3 |. . .__/. . .
2 |. ._/ . . . .
1 |_/. . . . . .
us -> 0 +-------------> denominator
-1 |1 2 3 4 5 6 7 ...
-2 |. . . . . . .
-3 |. . . . . . .
...|. . . . . . .
```
From our point of view we can see all number, not just the fractions (which only sit on the integer grid points) -- all numbers, including real numbers, project to our field of view. Here fractions represent all the GRID points we see, i.e. a very dense set of points, however there are still gaps shining through which represent the real numbers that aren't fractions -- for example [pi](pi.md); if we shoot a ray from our standpoint in the exact angle that represents pi, the ray will go on forever without ever hitting any grid point! Such line will nearly miss some points, such as 355/113, which represents a good approximation of pi, but it will never hit any point exactly. So real numbers here are represented by the WHOLE, CONTINUOUS field of view.
**Are there bigger sets than those of real numbers?** Of course, a superset of real number is e.g. that of [complex numbers](complex_number.md) and [quaternions](quaternion.md), though they still have the same cardinality. But there are even sets that have bigger cardinality than reals, e.g. the set of all subsets of real numbers (so called [power set](power_set.md) of real numbers). In fact there are infinitely many such infinities of different cardinality.

View file

@ -1,11 +1,11 @@
# Shortcut Thinking # Shortcut Thinking
Shortcut thinking means making conclusions by established associations (such as "theft = bad") rather than making the extra effort of inferring the conclusion from known, possibly updated facts. This isn't bad in itself, in fact it is a great and necessary [optimization](optimization.md) of our thinking process and it's really why we have long term memory -- imagine we'd have to deduce all the facts from scratch each time we think about anything. However shortcut thinking can be a weakness in many situations and leaves people prone to manipulation by [propaganda](propaganda.md). As such this phenomenon is extremely abused by politicians, i.e. they for example try to shift the meaning of a certain negative word to include something they want to get rid of. Shortcut thinking means making conclusions by established associations (such as "theft = bad") rather than making the extra effort of inferring actual conclusions based on new context such as different circumstances or newly discovered facts. This isn't bad in itself, in fact it is a great and necessary [optimization](optimization.md) of our thinking process, a kind of [cache](cache.md), and it's really why we have long term memory -- imagine we'd have to deduce all the facts from scratch each time we thought about anything. However shortcut thinking can be a weakness in many situations and leaves people prone to manipulation by [propaganda](propaganda.md) which twists meanings of words (such as "open mind", ["rationality"](pseudoskepticism.md), "progress", ["theft"](intellectual_property.md), ["science"](soyence.md) etc.), relying on people accepting the unacceptable by having them bypass the thinking process with the mental shortcut. As such this phenomenon is extremely abused by politicians, i.e. they for example try to shift the meaning of a certain negative word to include something they want to get rid of, to have it rejected just based on its name.
Some commonly held associations appearing in shortcut thinking of common people nowadays are for example "theft = piracy = bad", "laziness = bad", "pedophiles = child rapists = bad", "competition = good", "more jobs = good", "more complex technology = better", etc. Of those most are of course either extremely simplified or just plain wrong. however some association may of course be correct, such as "murder = bad". Some commonly held associations appearing in shortcut thinking of common people nowadays are for example "piracy = theft = bad", "laziness = bad", "pedophiles = child rapists = bad", "competition = progress = good", "more jobs = good", "more complex technology = better", "open mind = blindly trusting those officially declared smarter than myself = good" etc. Of those most are of course either extremely simplified or just plain wrong. however some association may still of course be correct, such as "murder = bad", which is an association that e.g. military tries to get rid of.
Let's focus on the specific example of the association "theft = bad". Indeed it has some sense in it -- if we turn shortcut thinking off, we may analyze why this association exists. For most of our history the word theft has meant *taking a physical personal possession of someone else against their will*. Indeed, in a society of people of which most weren't rich, this was bad in most cases as it hurt the robbed person, he has lost something he probably needed. However the society evolved, the meaning of property itself has changed from "personal property" to "private property", i.e. suddenly there were people who could own a whole forest or a factory even if they have never seen it, and there were people who had much more than they needed. If a poor starving person steals food from the rich who doesn't even notice this, suddenly the situation is different and many will say this is no longer bad. Nevertheless the word theft stayed in use and now included even such cases that were ethical because of the shifted meaning of the word "property" and due to changes in conditions of people. Recently the word property was shifted to the extreme with the invention of **[intellectual property](intellectual_property.md)**, i.e. the concept of being able to own information such as ideas or stories in books. Intellectual property is fundamentally different from physical property as it can't be stolen in the same way, it can only be copied, duplicated, but this copying doesn't rid the "owner" of the original information. And so nowadays the word "theft", or one of its modern forms, "[piracy](piracy.md)", includes also mere copying of information or even just reusing an idea (patent) for completely good purposes, for example writing computer programs in certain (patented) ways is considered a theft. Of course, some may argue that such a download or reuse prevents the "owner's" profit from selling copies of that information or licenses to that idea, however it must be known that again, society is completely different nowadays and this so called "theft" actually doesn't hurt anyone but some gigantic billion dollar corporation that doesn't even notice, no actual person gets hurt, only a legal entity, and these so called "theft" actually give rise to good, helpful things. In fact, hurting a corporation, by definition a [fascist](fascism.md) entity hostile to people, may further be seen as a good thing, so stealing from corporation is also good by this view. Furthermore the illusion of profit theft here is arbitrarily made, the "theft" exists only because we've purposefully created a system which allows selling copies of information and restricting ideas and therefore enables this "theft", i.e. this is no longer a natural thing, this is something miles away from the original meaning of the word "theft". With all this in mind we may, in today's context of the new meaning of old words, reconsider theft to no longer be generally bad. Let's focus on the specific example of the association "theft = bad". Indeed it has some sense in it -- if we turn shortcut thinking off, we may analyze why this association exists. For most of our history the word theft has meant *taking a physical personal possession of someone else against his will*. Indeed, in a society of people of which most weren't rich, this was bad in most cases as it hurt the robbed man, he has lost something he probably needed. However the society evolved, the meaning of property itself has changed from "personal property" to "private property", i.e. suddenly there were people who could own a whole forest or a factory even if they have never seen it, and there were people who had much more than they needed. If a poor starving man steals food from the rich to his family and the rich doesn't even notice this, suddenly the situation is different and many will say this is no longer bad. Nevertheless the word theft stayed in use and now included even such cases that were ethical because of the shifted meaning of the word "property" and due to changes in conditions of people. Recently the word property was shifted to the extreme with the invention of **[intellectual property](intellectual_property.md)**, i.e. the concept of being able to own information such as ideas or stories in books. Intellectual property is fundamentally different from physical property as it can't be stolen in the same way, it can only be copied, duplicated, but this copying doesn't rid the "owner" of the original information. Indeed it may prevent the author from making a lot of money under [capitalism](capitalism.md), but that's only thanks to the artificially established system inventing ways of bullying recipients of information into paying money, the system was deliberately made so as to make non harmful things into harmful ones to fuel "[competition](competition.md)" and the situation is no longer as simple as with physical property/stealing, it's actually the underlying system that's wrong here, not actions that aren't aligned with the harmful system. And so nowadays the word "theft", or one of its modern forms, "[piracy](piracy.md)", includes also mere copying of information or even just reusing an idea ([patent](patent.md)) for completely good purposes, for example writing computer programs in certain (patented) ways is considered a theft, even if doing so is done purely to help other people at large. Those arguing that illegal downloads or reuses prevent the "owner's" profit must know that again society is completely different nowadays and this so called "theft" actually doesn't hurt anyone but some gigantic billion dollar corporation that doesn't even notice if loses one or two million dollars, no actual human gets hurt, only a legal entity, and these so called "thefts" actually give rise to good, helpful things by at least a little more balance to society, hurting a virtual, non-living entity to help millions of actual living people. In fact, hurting a corporation, by definition a [fascist](fascism.md) entity hostile to people, may yet further be seen as a good thing in itself, so stealing from corporation is also good by this view. The illusion of profit theft here is arbitrarily made, the "theft" exists only because we've purposefully created a system which allows selling copies of information and restricting ideas and therefore enables this "theft", i.e. this is no longer a natural thing that would exist without something "preventing it", it's something miles away from the original meaning of the word "theft". With all this in mind we may, in today's context of the new meaning of old words, reconsider theft to no longer be generally bad.
When confronted with a new view, political theory etc., we should try to turn shortcut thinking off. Doing this can be called **being open minded**, i.e. opening one's mind to reinterpretation of very basic concepts by a new view. Also we should probably update our association from time to time just to keep them up with the new state of the word. When confronted with a new view, political theory etc., we should try to turn shortcut thinking off; we should also do this every time someone tries to have us make a decision under a competitive system such as [capitalism](capitalism.md) as that someone is most likely trying to manipulate us. Doing this can be called **being open minded**, i.e. opening one's mind to reinterpretation of very basic, possibly strongly rooted concepts by a new view, however be careful as the meaning of the term "open mind" is often twisted too. Also we should probably update our association from time to time just to keep them up with the new state of the world, only by sitting down and thinking about the world and discussing it with the right people.
The politics and views of [LRS](lrs.md) requires extreme open mindedness to be accepted by someone indoctrinated by the standard capitalist fascist propaganda of today. The politics and views of [LRS](lrs.md) requires extreme open mindedness to be accepted by someone indoctrinated by the standard capitalist fascist propaganda of today.