From d765507e6a647963ec9a10de112d671bf93ff7d1 Mon Sep 17 00:00:00 2001 From: Miloslav Ciz Date: Wed, 2 Aug 2023 21:23:31 +0200 Subject: [PATCH] Update --- 3d_model.md | 6 +++++- binary.md | 11 +++++++++++ democracy.md | 2 +- less_retarded_hardware.md | 2 +- ronja.md | 4 ++-- unary.md | 9 +++++++++ 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 unary.md diff --git a/3d_model.md b/3d_model.md index 208c029..924513c 100644 --- a/3d_model.md +++ b/3d_model.md @@ -1,6 +1,10 @@ # 3D Model -TODO +In the world of computers (especially in [computer graphics](graphics.md), but also e.g. in physics simulations etc.) 3D model is a representation of a [three dimensional](3d.md) object, for example of a real life object such as a car, [tree](tree.md) or a [dog](dog.md), but also possibly something more abstract like a [fractal](fractal.md) or [function](function.md) plot surface. 3D models can be displayed using various [3D rendering](3d_rendering.md) techniques and are used mostly to simulate [real world](real_world.md) on computers (e.g. [games](game.md)), as real world is, as we know, three dimensional. 3D models can be created in several ways, e.g. manually with 3D modelling software (such as [Blender](blender.md)) by 3D [artists](art.md), by 3D scanning real world objects, or automatically by [procedural generation](procgen.md). + +3D models can be represented in many ways -- the **mainstream "game" 3D models** that most people are used to seeing are polygonal (made of triangles) boundary-representation (recording only surface, not volume) [textured](texture.md) (with "pictures" on their surface) 3D models, but keep in mind many different ways are possible and used too, for example various volume representations, [voxel](voxel.md) models, [point clouds](point_cloud.md), [implicit surfaces](implicit_surface.md), [spline](spline.md) surfaces, [constructive solid geometry](csg.md), [wireframe](wireframe.md) etc. Models may also bear additional extra information and features, e.g. bone rigs for animation, animation key frames, density information, [LODs](lod.md) and so on. + +TODO: classification, operations (subdivision, booleans, ...), texturing, animation, formats, ... ## 3D Modeling: Learning It And Doing It Right diff --git a/binary.md b/binary.md index b72118c..5408500 100644 --- a/binary.md +++ b/binary.md @@ -21,6 +21,17 @@ At the basic level binary works just like the [decimal](decimal.md) (base 10) sy **Conversion to decimal**: let's see an example that utilizes the facts mentioned above. Let's have a number that's written as 10135 in decimal. The first digit from the right (5) says the number of 10^(0)s (1s) in the number, the second digit (3) says the number of 10^(1)s (10s), the third digit (1) says the number of 10^(2)s (100s) etc. Similarly if we now have a number **100101** in binary, the first digit from the right (1) says the number of 2^(0)s (1s), the second digit (0) says the number of 2^(1)s (2s), the third digit (1) says the number of 2^(2)s (4s) etc. Therefore this binary number can be converted to decimal by simply computing 1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 = 1 + 4 + 32 = **37**. +``` +100101 = 1 + 4 + 32 = 37 +|||||| +\\\\\\__number of 2^0s (= 1s) + \\\\\__number of 2^1s (= 2s) + \\\\__number of 2^2s (= 4s) + \\\__number of 2^3s (= 8s) + \\__number of 2^4s (= 16s) + \__number of 2^5s (= 32s) +``` + To **convert from decimal** to binary we can use a simple [algorithm](algorithm.md) that's again derived from the above. Let's say we have a number *X* we want to write in binary. We will write digits from right to left. The first (rightmost) digit is the remainder after integer division of *X* by 2. Then we divide the number by 2. The second digit is again the remainder after division by 2. Then we divide the number by 2 again. This continues until the number is 0. For example let's convert the number 22 to binary: first digit = 22 % 2 = **0**; 22 / 2 = 11, second digit = 11 % 2 = **1**; 11 / 2 = 5; third digit = 5 % 2 = **1**; 5 / 2 = 2; 2 % 2 = **0**; 2 / 2 = 1; 1 % 2 = **1**; 1 / 2 = 0. The result is **10110**. TODO: operations in binary diff --git a/democracy.md b/democracy.md index 3f35258..8deed7d 100644 --- a/democracy.md +++ b/democracy.md @@ -9,6 +9,6 @@ Nowadays the politics of most first world countries is based on elections and vo Voting may be highly ineffective and even dangerous. We have to realize that **sometimes voting is awesome, but sometimes it's an extremely awful idea**. Why? Consider the two following scenarios: - **On simple issues wisdom of the crowd work very well**, as demonstrated by the famous experiment in which averaging guesses of many people on a number of beans in a jar resulted in an extremely precise estimate, a much more precise than any man alone could give. This is an example of when voting is the superior solution to making a decision. -- **Non-experts voting on complex issues is a disaster** (which is why we mostly don't have direct democracy but rather representative one). Many retarded rightists believe direct democracy would somehow be "better" -- no, it would be indeed be infinitely worse to let braindead rednecks vote on complex issues. When a [chess](chess.md) grandmaster plays against thousands of people who make moves by voting, the master easily wins, as demonstrated e.g. by the Karpov vs the World (or Twitch plays Pokémon lol) experiment (later projects such as Kasparov vs the World had to somehow moderate and filter the move votes to give the world a chance). The reason is that the majority of weak moves voted by non-experts outweight the few good votes of experts, but also ADDITIONALLY even if only expert votes are takes, the result may be inferior because different long-term plans and visions will collide with the long term plans of others, which is probably the reason why e.g. Romans used to elect a single dictator in times of a crisis rather than relying on a council of experts. This is why it's a very bad idea to have people vote directly e.g. on complex economic or diplomatic issues. We have to say [we](we.md) do NOT advocate for dictators (we are anarchists) -- we rather believe in implementing a [decentralized](decentralization.md), self-regulating society in which we avoid the need for any dictators or governments. +- **Non-experts voting on complex issues and voting on issues requiring large vision is a disaster** (which is why we mostly don't have direct democracy but rather representative one). Many retarded rightists believe direct democracy would somehow be "better" -- no, it would be indeed be infinitely worse to let braindead rednecks vote on complex issues. When a [chess](chess.md) grandmaster plays against thousands of people who make moves by voting, the master easily wins, as demonstrated e.g. by the Karpov vs the World (or Twitch plays Pokémon lol) experiment (later projects such as Kasparov vs the World had to somehow moderate and filter the move votes to give the world a chance). The reason is that the majority of weak moves voted by non-experts outweight the few good votes of experts, but also ADDITIONALLY even if only expert votes are takes, the result may be inferior because different long-term plans and visions will collide with the long term plans of others, which is probably the reason why e.g. Romans used to elect a single dictator in times of a crisis rather than relying on a council of experts. In such cases democracy may be similar to wanting to create a nice picture by averaging all pictures ever made by all people, the result will probably be just an ugly gray noisy blob (imagine e.g. creating a picture by having many pictures "vote" on color of every pixel simply by voting for the color they have on the same pixel position { Actually I've tried this now and yes, it looks just like a noisy gray blob. ~drummyfish } ). This is why it's a very bad idea to have people vote directly e.g. on complex economic or diplomatic issues. We have to say [we](we.md) do NOT advocate for dictators (we are anarchists) -- we rather believe in implementing a [decentralized](decentralization.md), self-regulating society in which we avoid the need for any dictators or governments. What happens when it is democratically decided that democracy is not a good tool for decision making? If we believe in democracy, then we have to accept its decision and stop believing in democracy, but then if we stop believing in democracy we can just reject the decision because it was made by something that's not to be trusted, but then... \ No newline at end of file diff --git a/less_retarded_hardware.md b/less_retarded_hardware.md index 9e358d2..e2e8155 100644 --- a/less_retarded_hardware.md +++ b/less_retarded_hardware.md @@ -1,3 +1,3 @@ # Less Retarded Hardware -Less retarded hardware (LRH) is an extension of [less retarded software](lrs.md) (LRS) principles to [hardware](hardware.md) design. Such hardware has to be non-consumerist, designed to last and [free (as in freedom) hardware](free_hardware.md) completely from the lowest level, preferably completely [public domain](public_domain.md) without any legal limitations, made with [selfless](selflessness.md) goals, aiming to be good [technology](technology.md) that helps all living beings without abusing them -- this implies the hardware has to be as simple as possible ([KISS](kiss.md), [suckless](suckless.md), ...) so as to maximize the number of people who can understand it, utilize it, improve it and repair it. \ No newline at end of file +Less retarded hardware (LRH) is an extension of [less retarded software](lrs.md) (LRS) principles to [hardware](hardware.md) design. Such hardware has to be non-consumerist, designed [to last](future_proof.md) and [free (as in freedom) hardware](free_hardware.md) completely from the lowest level, preferably completely [public domain](public_domain.md) without any legal limitations, made with [selfless](selflessness.md) goals, aiming to be good [technology](technology.md) that helps all living beings without abusing them -- this implies the hardware has to be as simple as possible ([KISS](kiss.md), [suckless](suckless.md), ...) so as to maximize the number of people who can understand it, utilize it, improve it and repair it. An example of hardware coming close to this may potentially be e.g. [Ronja](ronja.md). \ No newline at end of file diff --git a/ronja.md b/ronja.md index 89065fb..b013307 100644 --- a/ronja.md +++ b/ronja.md @@ -1,10 +1,10 @@ # Ronja -{ I was informed about this by a friend over email <3 ~drummyfish } +{ I was informed about this by a friend over email <3 I basically paraphrase here what he told me. See also http://www.modulatedlight.org/. ~drummyfish } Ronja (reasonable optical near joint access) is a [free/open](foss.md) [KISS](kiss.md) device for wireless connection of two devices using light (i.e. optical communication) and the [ethernet](ethernet.md) protocol; it can be [made at home](diy.md), doesn't require any [MCUs](mcu.md) and as such can be considered a [LRS](lrs.md)/[suckless](suckless.md) alternative to traditional [WiFi](wifi.md) [routers](router.md) that are de-facto owned and controlled by [corporations](corporation.md). It works full [duplex](duplex.md) up to the distance of 1400 meters with a speed of 10 Mbps, which is pretty amazing. One can also imagine Ronja as a kind of ethernet cable, just implemented with light instead of electricity. The design is released under [GFDL](gfdl.md). The project website is at http://ronja.twibright.com/. -There are many advantages in Ronja -- besides the mentioned KISS design and all its implications (freedom, repairability, cheap price, compatibility, ...), Ronja works with just an ethernet card, offers a stable and constant transmission speed with very low latency, can be potentially harder to spy on: besides visible light the transmission can also use infrared spectrum and narrow direction of transmission, as opposed to radiating to all directions, also the fast flickering is unnoticable by human or even normal cameras, therefore Ronja transmission is expensive to detect. Also note that some kind of encryption can be used above Ronja, if one so desires. +There are many advantages in Ronja -- besides the mentioned KISS design and all its implications (freedom, repairability, cheap price, compatibility, ...), Ronja doesn't use radio so there are no bullshit issues with legal bands etc., it also works with just an ethernet card, offers a stable and constant transmission speed with very low latency, can be potentially harder to block with jammers and to spy on: besides visible light the transmission can also use infrared spectrum and narrow direction of transmission, as opposed to radiating to all directions like wi-fis, also the fast flickering of the LED is unnoticable by human or even normal cameras, therefore Ronja transmission is expensive to detect. Also note that some kind of protocol-level [encryption](encryption.md) can be used above Ronja, if one so desires. This makes it a nice communication tool for people under oppresive regimes like those in China or [USA](usa.md). ## See Also diff --git a/unary.md b/unary.md new file mode 100644 index 0000000..a8a6f0e --- /dev/null +++ b/unary.md @@ -0,0 +1,9 @@ +# Unary + +Unary generally refers to having "one of a thing". In different contexts it may specifically signify e.g.: + +- **unary numberal system**: A [base](base.md) for writing numbers (just as [binary](binary.md), [decimal](decimal.md), [hexadecimal](hex.md) etc.). This base is kind of an extreme, using only one symbol (0) and has at least two possible versions: + - The most primitive "caveman" system of recording numbers with a single symbol, recording a number simply by writing "that many symbols", e.g. using the symbol 0, one is written as 0, two as 00, three as 000 etc. Zero itself is represented by an empty string (writing nothing). Though primitive, this system is actually usable. + - The system following rules of computers, i.e. having a fixed space, i.e. number of places, for storing a number (just as in binary we have may have e.g. 8 bits for storing a number). However since each of those places can only hold one value (the single symbol of the unary system, usually set to be 0), the system **is a [joke](joke.md)**, because no matter how many places, we can only ever record one number -- zero. The advantage is that we can store zero even with zero places, i.e. we don't even need any memory to store the number. +- **unary function, operator etc.**: [function](function.md), [operator](operator.md) etc. that only has one parameter (e.g. [square root](sqrt.md), ...). +- ... \ No newline at end of file