This commit is contained in:
Miloslav Ciz 2023-02-01 22:29:15 +01:00
parent 253e6f22f2
commit ae2c2384b2
3 changed files with 33 additions and 3 deletions

View file

@ -17,7 +17,9 @@ It is generally given that a hash (or hash function) should satisfy the followin
- **Minimize collisions**, i.e. the probability of two different values giving the same hash. Mathematically collisions are always possible if we're mapping a big space onto a smaller one, but we should try to reduce collisions that happen in practice. This property should follow from the principle of uniformity and chaotic behavior mentioned above. - **Minimize collisions**, i.e. the probability of two different values giving the same hash. Mathematically collisions are always possible if we're mapping a big space onto a smaller one, but we should try to reduce collisions that happen in practice. This property should follow from the principle of uniformity and chaotic behavior mentioned above.
- **Be difficult to reverse** (mainly for security related hashes). Lots of times this comes naturally from the fact that a hash maps a big space onto a smaller space (i.e. it is a non-[injective](injective.md) function) and from their chaotic nature. Hashes can typically be reversed only by [brute force](brute_force.md). - **Be difficult to reverse** (mainly for security related hashes). Lots of times this comes naturally from the fact that a hash maps a big space onto a smaller space (i.e. it is a non-[injective](injective.md) function) and from their chaotic nature. Hashes can typically be reversed only by [brute force](brute_force.md).
Hashes are similar to [checksums](checksum.md) but are different: checksums are simpler because their only purpose is for checking data integrity, they don't have to have a chaotic behavior, uniform mapping and they are often easy to reverse. Hashes are also different from database IDs: IDs are just sequentially assigned numbers that aren't derived from the data itself, they don't satisfy the hash properties and they have to be absolutely unique. Hashes are similar to [checksums](checksum.md) but are different: checksums are simpler because their only purpose is for checking data integrity, they don't have to have a chaotic behavior, uniform mapping and they are often easy to reverse. Hashes are also different from database IDs: IDs are just sequentially assigned numbers that aren't derived from the data itself, they don't satisfy the hash properties and they have to be absolutely unique. The term **pseudohash** may also be encountered, it seems to be used for values similar to true hashes which however don't quite satisfy the definition.
{ I wasn't able to find an exact definition of *pseudohash*, but I've used the term myself e.g. when I needed a function to make a string into a corresponding fixed length string ID: I took the first N characters of the string and appended M characters representing some characteristic of the original string such as its length or checksum -- this is what I called the string's pseudohash. ~drummyfish }
Some common uses of hashes are: Some common uses of hashes are:

View file

@ -1,8 +1,18 @@
# Less Retarded Society # Less Retarded Society
Less retarded society (LRS, same [acronym](acronym.md) as [less retarded software](lrs.md)) is a model of ideal society towards which we, the [LRS](lrs.md), want to be moving. Less retarded society is a peaceful, collaborative society that aims for maximum well being of all living beings, a society without violence, [money](money.md), oppression, need for [work](work.md), social [competition](competition.md), poverty, scarcity, criminality, [censorship](censorship.md), [self-interest](self_interest.md), government, police, laws, bullshit, slavery and many other negative phenomena. It equally values all living beings and establishes true social equality in which everyone can pursue his true desires freely. The society works similarly to that described by the [Venus Project](venus_project.md) and various [anarchist](anarchism.md) theories (especially [anarcho pacifist](anpac.md) [communism](communism.md)). Less retarded society (LRS, same [acronym](acronym.md) as [less retarded software](lrs.md)) is a model of ideal society towards which we, the [LRS](lrs.md), want to be moving. Less retarded society is a peaceful, collaborative society based on love of all life, which aims for maximum well being of all living beings, a society without violence, [money](money.md), oppression, need for [work](work.md), social [competition](competition.md), poverty, scarcity, criminality, [censorship](censorship.md), [self-interest](self_interest.md), government, police, laws, bullshit, slavery and many other negative phenomena. It equally values all living beings and establishes true social equality in which everyone can pursue his true desires freely. The society works similarly to that described by the [Venus Project](venus_project.md) and various [anarchist](anarchism.md) theories (especially [anarcho pacifist](anpac.md) [communism](communism.md)).
Note that this society is an ideal model, i.e. it can probably not be achieved 100% but it's something that gives us a direction and to which we can **get very close** with enough effort. We create an ideal theoretical model and then try to approximate it in reality, which is a [scientific](science.md) approach that is utilized almost everywhere: for example [mathematics](math.md) defines a perfect sphere and such a model is then useful in practice even if we cannot ever create a mathematically perfect sphere in the real physical world -- the mathematical equations of a sphere guide us so that with enough effort we are able to create physical spheres that are pretty close to an ideal sphere. The same can be done with society. This largely refutes the often given argument that *"it's impossible to achieve so we shouldn't try at all"* -- we should try our best and the closer to the ideal we get, the better for us. Note that this society is an ideal model, i.e. it can probably not be achieved 100% but it's something that gives us a direction and to which we can **get very close** with enough effort. We create an ideal theoretical model and then try to [approximate](approximation.md) it in reality, which is a [scientific](science.md) approach that is utilized almost everywhere: for example [mathematics](math.md) defines a perfect sphere and such a model is then useful in practice even if we cannot ever create a mathematically perfect sphere in the real physical world -- the mathematical equations of a sphere guide us so that with enough effort we are able to create physical spheres that are pretty close to an ideal sphere. The same can be done with society. This largely refutes the often given argument that *"it's impossible to achieve so we shouldn't try at all"* -- we should try our best and the closer to the ideal we get, the better for us.
## Basis: Love Of All Life
When thinking about how to change society for the better, the first thing that needs to be done is defining a goal which the society should aim for -- an [axiom](axiom.md) which serves as a measure of what's objectively [good](good.md) and [bad](bad.md), which in turn helps us take the right steps towards the good. This is only logical, without a goal we aren't really trying to achieve anything and "good" and "evil" are just words without any objective meaning.
The basis of less retarded society is a **universal and unconditional [love](love.md) of all life**; the kind of love a glimpse of which you catch when you for example observe an animal play and be happy of just existing as a living being that's able to feel joy and happiness. This kind of love and the strong emotion associated with it is to us possibly the greatest miracle of the universe and so we choose to support it, make it flourish, we define it as an axiom that life which experiences joy and happiness is good. Similarly we define it as bad when life feels suffering or when there is little or even no life in the universe. **Here we set the goal for our society to support life, make it flourish, and make individual living beings feel happiness**.
We purposefully make this goal a little bit vague, we avoid specifying our basic goal with exact mathematical metrics because defining maximization of any such measure as a goal leads to undesired results (as for example in [capitalism](capitalism.md) setting the goal to maximizing capital leads to maximizing it on the detriment of all other values such as well being of people). This is known as the [Goodhart's law](goodharts_law.md): "when a metric becomes a goal, it stops being a good metric".
**What does love of all life mean exactly?** As hinted above, it does **NOT** necessarily mean maximizing specific measures such as abundance of life (which could lead to overpopulation and in turn to suffering), the sum of happiness of all life (which could lead to just dosing everyone with drugs or killing unhappy individuals), elimination of negative emotion such as hatred (which would likely prevent us from recognizing wrong directions of our society) etc. It doesn't even mean that we will never kill anyone on purpose, our society may support [euthanasia](euthanasia.md) without violating its principles. Love of all life mostly means that **we start behaving [selflessly](selflessness.md) and altruistically instead of pursuing self interest**, at least as much as we practically can. It means that we start seeing the life on our whole planet (and possibly in the whole universe) as our own family, not as our enemies. This doesn't mean we will like everyone, that we'll agree with everyone's opinions, that we won't criticize anyone or that we'll be [politically correct](political_correctness.md) etc., it just means that we will never try to cause suffering to others, that we'll try to not exploit others, that we'll be aware of the needs of others and try to behave towards them with empathy and love. Importantly **we will try to pursue these ideals even if we can't achieve perfection**.
## Basic Description ## Basic Description

18
low_poly.md Normal file
View file

@ -0,0 +1,18 @@
# Low Poly
The term *low poly* (also low-poly or lowpoly) is used for polygonal [3D models](3d_model.md) whose polygon count is relatively low -- so low that one can see the model [approximates](approximation.md) the ideal shape only very roughly. For typical models (animals, cars, guns, ...) the polygon count under which they are correctly called low poly is usually a few dozens or few hundreds at most. The opposite of low poly is *[high poly](high_poly.md)*.
**WATCH OUT**: Retards nowadays use the term "low poly" for stylized/untextured high poly models; they even use the term for models whose polygon count is lower than the number of atoms in observable universe, or they use the term completely randomly just to put a cool label to their lame shit models. **STOP THIS FUCKING INSANITY, DON'T CALL HIGH POLY MODELS LOW POLY**.
The exact threshold on polygon count from which we call a model low poly can't be objectively set because firstly there's a subjective judgment at play and secondly such threshold depends on the ideal shape we're approximating. This means that not every model with low polygon count is low poly: if a shape, for example a [cube](cube.md), can simply be created with low number of polygons without it causing a distortion of the shape, it shouldn't be called low poly. And similarly a model with high polygon count can still be classified as low poly if even the high number of polygons still causes a significant distortion of the shape.
The original purpose of creating low poly models was to improve performance, or rather to make it even possible to render something in the era of early computer graphics. Low poly models take less space in memory and on good, non-capitalist computers render faster. As computers became able to render more and more polygons, low poly models became more and more unnecessary and eventually ended up just as a form of **"retro" art style** -- many people still have nostalgia for [PS1](ps1.md) graphics with very low poly models and new games sometimes try to mimic this look. In the world of capitalist consoomer computing/[gayming](game.md) nowadays no one really cares about saving polygons on models because "[modern](modern.md)" [GPUs](gpu.md) aren't really affected by polygon count anymore, everyone just uses models with billions of polygons even for things that no one ever sees, soydevs don't care anymore about the art of carefully crafting models on a low polygon budget. However in the context of [good, non-capitalist technology](lrs.md) low poly models are still very important.
Low poly models are intended to be used in interactive/[real-time](real_time.md) [graphics](graphics.md) while high poly ones are for the use in offline (non-realtime) rendering. Sometimes (typically in games) a model is made in both a low poly and high poly version: the low poly version is used during gameplay, the high poly version is used in cutscenes. Sometimes even more than two versions of models are made, see [level of detail](lod.md).
## See Also
- [pixel art](pixel_art.md)
- [ASCII art](ascii_art.md)
- [low fidelity](low_fidelity.md)
- [retro](retro.md)