This commit is contained in:
Miloslav Ciz 2023-11-25 02:49:12 +01:00
parent 6766c52da6
commit 14fc271097
9 changed files with 158 additions and 10 deletions

View file

@ -4,5 +4,37 @@ TODO
**Simplified example of capitalist bullshit**: under [capitalism](capitalism.md) basically the whole society is based on bullshit of many kinds, small and big, creating many bullshit clusters that are all intertwined and interact in complex ways, creating one huge bullshit. For simplicity let's consider an educational isolated bullshit cluster (that we won't see that often in reality), a hypothetical [car](car.md) factory. No matter how the factory came to be, it now ended up making cars for people so that these people can drive to work at the car factory to make more cars for other people who will work to the car factory to make cars etc. -- a bullshit cycle that exists just for its own sake, just wastes natural resources and lives of people. Of course at one point all the factory employees will own a car and the factory will have no more demand for the cars, which threatens its existence. Here capitalism employs adding more bullshit: let's say they create new bullshit jobs they call something like "[smart](smart.md) car research center" -- this will create new work position, i.e. more people who will need cars to drive to work, but MAINLY the job of these people will be adding [artificial obsolescence](artificial_obsolescence.md) to the cars, which will make them last much shorter time and regularly break so that they will need repairs using parts manufactured at the factory, creating more work that will need to be done and more bullshit jobs in the car repair department. Furthermore the team will make the cars completely dependent on [subscription](subscription.md) software, employing [consumerism](consumerism.md), i.e. the car will no longer be a "buy once" thing but rather something one has to keep feeding constantly (fuel, software subscription, insurance, repairs, cleaning, tire changes, and of course once in a few years just buying a new non-obsolete model), so that workers will still need to drive to work every day, perpetuating their need for being preoccupied with owning and [maintaining](maintenance.md) a car. This is a bullshit cluster society could just get rid of without any cost, on the contrary it would gain many free people who could do actually useful things like curing diseases, eliminating world hunger, creating art for others to enjoy. However if you tell a capitalist any part of this system is bullshit, he will defend it by its necessity in the system as a whole ("How will people get to work without cars?!", "Factories are needed for the economy!", "Economy is needed to drive manufacturing of cars!") -- in reality the bullshit clusterfuck spans the whole world to incredibly deep levels so you just can't make many people see it, especially when they're preoccupied with maintaining their own existence and just get by within it.
Some things that are bullshit include:
- [antiviruses](antivirus.md)
- [army](army.md)
- [bureaucracy](bureaucracy.md)
- [capitalism](capitalism.md)
- [censorship](censorship.md)
- [clothes](clothes.md)
- [consumerism](consumerism.md)
- [countries](country.md)
- [crypto](crypto.md)
- [DRM](drm.md)
- [economy](economy.md)
- [fashion](fashion.md)
- "[game design](game_design.md)" (it's just part of programming games)
- [gender studies](gender_studies.md)
- [guns](gun.md)
- [insurance](insurance.md)
- [jobs](work.md)
- [law](law.md)
- [licenses](license.md)
- [marketing](marketing.md), ads
- [money](money.md)
- [police](police.md)
- [political correctness](political_correctness.md)
- prisons
- [privacy](privacy.md)
- [productivity](productivity_cult.md)
- [property](property.md) (including [copyright](copyright.md) etc.)
- [security](security.md)
- [states](state.md)
- ...
OK then, what's not bullshit? Well, things that matter, for example [food](food.md), health, [love](love.md), [fun](fun.md), [art](art.md), [technology](technology.md), knowledge about the world, [science](science.md), [morality](morality.md), exploration, ...

View file

@ -57,7 +57,7 @@ An approach similar to the predictor may be trying to find some general mathemat
Another property of data to exploit may be its sparsity -- if for example we have a huge image that's prevalently white, we may say white is the implicit color and we only somehow store the pixels of other colors.
Some more wild techniques may include [genetic programming](genetic_programming.md) that tries to evolve a small program that reproduces the input data, or using "[AI](ai.md)" in whatever way to compress the data (in fact compression is an essential part of many [neural networks](neural_network.md) as it forces the network to "understand", make sense of the data -- many neural networks therefore internally compress and decompress the data so as to filter out the unimportant information).
Some more wild techniques may include [genetic programming](genetic_programming.md) that tries to evolve a small program that reproduces the input data, or using "[AI](ai.md)" in whatever way to compress the data (in fact compression is an essential part of many [neural networks](neural_network.md) as it forces the network to "understand", make sense of the data -- many neural networks therefore internally compress and decompress the data so as to filter out the unimportant information; [large language models](llm.md) are now starting to beat traditional compression algorithms at compression ratios).
Note that many of these methods may be **combined or applied repeatedly** as long as we are getting smaller results.

View file

@ -19,7 +19,7 @@ The following are a few notable fantasy consoles.
|Pyxel |[MIT](mit.md) |[Python](python.md)|256x256 4b | |
|[SAF](saf.md) |[CC0](cc0.md) |[C](c.md) |64x64 8b |[LRS](lrs.md), suckless |
|[TIC-80](tic80.md) |[MIT](mit.md) |Lua, JS, ... |240x136 4b |paid "pro" version |
|[Uxn](uxn.md) |[MIT](mit.md) |[Tal](tal.md) | |very minimal |
|[uxn](uxn.md) |[MIT](mit.md) |[Tal](tal.md) | |very minimal |
## See Also
@ -27,4 +27,5 @@ The following are a few notable fantasy consoles.
- [handheld](handheld.md)
- [virtual machine](vm.md)
- [IBNIZ](ibniz.md)
- [ISA](isa.md)
- [SAF](saf.md)

View file

@ -4,7 +4,7 @@
Feminism, also feminazism, is a [fascist](fascism.md) [terrorist](terrorism.md) [pseudoleftist](pseudoleft.md) movement aiming for establishing [female](woman.md) as the superior gender, for social revenge on men and gaining political power, e.g. that over [language](political_correctness.md). Similarly to [LGBT](lgbt.md), feminism is violent, [toxic](toxic.md) and [harmful](harmful.md), based on [brainwashing](brainwashing.md), mass hysteria, [bullying](bullying.md) (e.g. the [metoo](metoo.md) campaign) and [propaganda](propaganda.md).
[LMAO](lmao.md), this just sums up the feminist ways: **a supposed woman writer who won 1 million euro prize turned out to actually be three men writers**, see Carmen Mola :) Also the recent "historically first all female space walk" at which they managed to lose $100K worth of equipment :D
{ [LMAO](lmao.md), **a supposed woman writer who won 1 million euro prize turned out to actually be three men writers**, see Carmen Mola :) Also the recent "historically first all female space walk" during which they managed to lose $100K worth of equipment :D ~drummyfish }
If anything's clear, then that feminism is not at all about gender equality but about hatred towards men. Firstly feminism is not called *gender equality movement* but *feminism*, i.e. for-female, and as we know, [name plays a huge role](name_is_important.md). To a feminist man is what a [jew](jew.md) was to the Nazi; the whole story is repeated again, we have yet again not learned a bit from our history. Indeed, women have historically been oppressed and needed support, but once women reach social equality -- which has basically already happened a long time ago now -- feminist movement will, if only by [social inertia](social_inertia.md), keep pursuing more advantages for women (what else should a movement called *feminism* do?), i.e. at this point the new goal has already become female superiority. In the age of capital no one is going to just dissolve a movement because it has already reached its goal, such a movement present political capital one will simply not throw out of window, so feminists will forever keep saying they're being oppressed and will forever keep inventing new bullshit issues to keep [fighting](fight_culture.md). Note for example that feminists care about things such as wage gap but of course absolutely don't give a damn about opposite direction inequality, such as men dying on average much younger than women etc. -- feminism cares about women, not equality. And of course, when men establish "men rights" movements, suddenly feminists see those as "fascist", "toxic" and "violent" and try to destroy such movements.

View file

@ -149,5 +149,12 @@ TODO: extensions, continuous, code, optimizations
## Extensions, Modifications And Generalizations
Game of Life can be extended in great number of ways, some notable are e.g.:
- **[Larger Than Life](ltl.md) (LTL)**: Extended neighborhood of cells; one variant is e.g. 9x9 neighbourhood, cell dies with 34 to 58 live neigbors, dead cell becomes live with 34 to 45 live neighbors. Produces interesting, more smooth, bubble-like patterns that can move in various angles.
- **[Smooth Life](smooth_life.md)**: Continuous generalization of Game of Life, time steps are still discrete.
- **[Lenia](lenia.md)**: A relatively recent, highly generalized continuous version of Game of Life -- unlike Smooth Life all variables are continuous here, including space, time and states. This system produces incredible patterns and great many organisms.
- **different grid geometry, more states, additional rules, ...**: Slight modifications one can make to experiment, e.g. trying out hexagonal grid, triangular grid, [hyperbolic space](hyperbolic.md), 3D and higher dimensional grids, more states (e.g. cells that remember their age) etc. Modifying the base rules is also possible, creating so called life-like automata: the basic game of life is denoted as B3/S23 (born with 3, stays alive with 2 or 3), some life-like variants include e.g. High Life which adds a rule that a dead cell with 6 live neighbors comes alive (B36/S23) -- this gives rise to a new pattern known as *replicator*.
TODO

101
interaction_net.md Normal file
View file

@ -0,0 +1,101 @@
# Interaction Net
Interaction nets are a way of performing computation by manipulating graphical diagrams according to a few simple rules. Interaction nets can be seen as one of many possible ways to create the lowest level basis for a [computer](computer.md), so we call them a *[model of computation](model_of_computation.md)*; other models of computation are for example [grammars](grammar.md), [Turing machines](turing_machine.md), [lambda calculus](lambda_calculus.md), [cellular automata](cellular_automaton.md) etc. -- all of these can be used to perform the same computations, though in different ways; interaction nets do this by representing a [program](program.md) with a [graph](graph.md)-like diagram which is then manipulated by some predefined rules and "reshaped" into another graph that represents the result of the performed computation. For this interaction nets can also be see as a kind of graphical [programming language](programming_language.md) (and even a textual one once we learn how to represent the graphical diagrams with text, which we call *interaction calculus*), though it's an extremely low level language (even things such as addition of natural numbers have to be programmed from scratch) that would be extremely impractical for everyday programming. The advantage of interaction nets is besides their simplicity usually said to be mainly their **[parallel nature](parallelism.md)**: as computation really means locally replacing parts of the network with predefined patterns, it is possible to simultaneously process multiple parts of the network at once, greatly speeding up the computation.
**WATCH OUT**: interaction nets are a bit confusing to newcomers because they look a bit like [logic circuits](logic_circuit.md) and so people think the computation happens by passing some data through the network -- THIS IS NOT THE CASE! The computation happens by CHANGING THE NETWORK itself, i.e. there is no data flowing, all that happens is REPLACING parts of the network with patterns defined by the rewriting rules. The idea is similar to that of [grammars](grammar.md).
A general interaction net consists of nodes, or **agents**, that are connected with wires, or **edges**. Alongside the net exist **interaction rules** that say how patterns in the net get replaced with other patterns. A concrete definition of specific agent types and interaction rules is called an **interaction system** (i.e. *interaction net* is the general idea, like for example a *[cellular automaton](cellular_automaton.md)*, while *interaction system* is a specific realization of that idea, like for example *[game of life](game_of_life.md)*).
An **agent** is a type of block that may appear in the net. We may see it as a block with a number of ports (wires); it must have exactly one **principal port** (a kind of special, interacting port) and can have any number (even zero) of additional **auxiliary ports** (kind of "passive" ports) -- usually we just say the agent has *N* ports (where *N* >= 1) and we consider the first one to be the principal port, the other ones are auxiliary. Graphically the principal port is usually distinguished e.g. with an arrow. For example let's define three agents:
```
______
| |
| ZERO |==>
|______|
______
| |
---| SUCC |==>
|______|
______
<==| |
| ADD |---
| |
---|______|
```
Here we defined agents `ZERO`, with one port (only the principal one), `SUCC` (for "successor", one principal and one auxiliary port) and `ADD`, with three ports (one of them is principal).
Now let's define interaction rules with these agents. An interaction rule simply defines a pattern of interconnected agents that get replaced by another pattern; however **interaction rule may only be defined for agents both connected by their principal ports** (so called *active pairs*). Our interaction rules will be following:
```
rule 1:
______
| | ______
| ZERO |==><==| |
|______| | ADD |--- y rewrites to x ------------- y
| |
x ---|______|
rule 2:
______
| | ______ ______ ______
x ---| SUCC |==><==| | rewrites to x <==| | | |
|______| | ADD |--- z | ADD |------| SUCC |==> z
| | | | |______|
y ---|______| y ---|______|
```
Now we can perform a computation of 2 + 1. We first set up the interaction net that represents our program and then we'll be applying the interaction rules as long as we can:
```
representation of 2
______ ______ ______
| | | | | | ______
| ZERO |==>---| SUCC |==>---| SUCC |==><==| |
|______| |______| |______| | ADD |--- z
______ ______ | |
| | | |==>---|______|
| ZERO |==>---| SUCC |
|______| |______|
representation of 1
apply rule 2:
______ ______
| | | | ______ ______
| ZERO |==>---| SUCC |==><==| | | |
|______| |______| | ADD |------| SUCC |==> z
______ ______ | | |______|
| | | |==>---|______|
| ZERO |==>---| SUCC |
|______| |______|
apply rule 2:
______
| | ______ ______ ______
| ZERO |==><==| | | | | |
|______| | ADD |------| SUCC |==>---| SUCC |==> z
______ ______ | | |______| |______|
| | | |==>---|______|
| ZERO |==>---| SUCC |
|______| |______|
apply rule 1:
______ ______ ______ ______
| | | | | | | |
| ZERO |==>---| SUCC |==>---| SUCC |==>---| SUCC |==> z
|______| |______| |______| |______|
representation of 3 (the result)
no more rules to apply
```
TODO: continue
One specific very important interaction system is called **interaction combinators** -- it is a very simple system, consisting of three predefined agents and three rewrite rules, which can simulate any other system, i.e. it is [Turing complete](turing_complete.md) (also *universal*).
TODO

View file

@ -1,10 +1,15 @@
# License
License is a legal text by which we share some of our exclusive rights (e.g. [copyright](copyright.md)) over [intellectual](intellectual_property.md) works with others. For the purpose of this Wiki a license is what enables us to legally implement [free (as in freedom) software](free_software.md) (as well as [free culture](free_culture.md)): we attach a license to our program that says that we grant to everyone the basic freedom rights to our software with optional conditions (which must not be in conflict with free software definition, e.g. we may require [attribution](attribution.md) or [copyleft](copyleft.md), but we may NOT require e.g. non-commercial use only). We call these licenses *free licenses* ([open source](open_source.md) licenses work the same way). Of course, there also exist [non-free](proprietary.md) licenses called [EULAs](eula.md), but we stay away from these.
License is a legal text by which we grant some of our exclusive rights (e.g. [copyright](copyright.md) or [patents](patent.md)) over [intellectual](intellectual_property.md) works to others. To [us](lrs.md) a license is what enables us to legally implement [free (as in freedom) software](free_software.md) (as well as [free culture](free_culture.md)): we attach a license to our program (or other work) which says that we grant to everyone the basic freedom rights to our software/work with optional conditions (which must not be in conflict with free software definition, e.g. we may require [attribution](attribution.md) or [copyleft](copyleft.md), but we may NOT require e.g. [non-commercial](nc.md) use only). Licenses used to enable free software are called *free licenses* ([open source](open_source.md) licenses work the same way). Of course, there also exist [non-free](proprietary.md) licenses called [EULAs](eula.md), but we stay away from these -- from now on we will implicitly talk about free licenses only. Licenses are similar to [waivers](waiver.md).
TODO: classification (permissive vs copyleft etc.)
**You shall always use a free license for your software.**
At [LRS](lrs.md) we highly prefer [public domain](public_domain.md) [waivers](waiver.md) instead of licenses, i.e. we release our works without any conditions/restrictions whatsoever (e.g. we don't require credit, [copyleft](copyleft.md) and similar conditions, even if by free software rules we could). This is because we oppose the very idea of being able to own information and ideas, which any license is inherently based on. Besides that, licenses are not as legally [suckless](suckless.md) as public domain and they come with their own issues, for example a license, even if free, may require that you promote some political ideology you disagree with (see e.g. the principle of [+NIGGER](plusnigger.md)).
Free licenses are mainly divided into:
- **[copyleft](copyleft.md)**: Licenses that require that further modifications of the work will still remain free, i.e. "forcing freedom". Example of such licenses are [GPL](gpl.md) and [CC BY-SA](cc_by_sa.md). Copyleft licenses are a bit more associated with free software (as opposed to open source) as the main free software organization -- [GNU](gnu.md) -- advocates them because they disallow corporations to take free programs and make them into proprietary ones.
- **[permissive](permissive.md)**: Licenses that basically allow to "do anything you want" (though usually still requiring e.g. credit to the original author), even making modified non-free versions of the work. Most famous example is the [MIT](mit.md) license. Though not strictly so, permissive licenses are a bit more associated with open source than free software as they are friendlier to business (one can "unfree" new versions of a software at any time if it's desirable for money making; of course old versions of the program will still remain free), however some prefer them for other reasons, e.g. greater legal simplicity and not wanting to force a "correct" use of one's work.
At [LRS](lrs.md) we highly prefer [public domain](public_domain.md) [waivers](waiver.md) such as [CC0](cc0.md) instead of licenses, i.e. we release our works without any conditions/restrictions whatsoever (e.g. we don't require credit, [copyleft](copyleft.md) and similar conditions, even if by free software rules we could). This is because we oppose the very idea of being able to own information and ideas, which any license is inherently based on. Besides that, licenses are not as legally [suckless](suckless.md) as public domain and they come with their own issues, for example a license, even if free, may require that you promote some political ideology you disagree with (see e.g. the principle of [+NIGGER](plusnigger.md)).
Some most notable free licenses for software include (FSF: FSF approved, OSI: OSI approved, LRS: approved by us, short: is the license short?):

View file

@ -46,5 +46,6 @@ Abstract hardware specification means e.g. description on the [logic gate](logic
## See Also
- [Varvara](varvara.md) computer
- [comun](comun.md)
- [uxn](uxn.md)
- [less retarded watch](less_retarded_watch.md)

5
uxn.md
View file

@ -16,8 +16,9 @@ Here is a kind of concise sum up of uxn "ecosystem"/terminology/specs/etc.:
- so called *one page computer* (can implement itself in at most 500 lines of own assembly)
- has **2 circular [stacks](stack.md)**: working stack and return stack, each one has size of 256 bytes.
- **memory**: total size 64 kb, memory map is following:
- 16 varvara devices, each one taking 16 bytes.
- 16 varvara devices, each one taking 16 bytes: the whole device section is called a **page**, the bytes inside it are called **ports**. A port that holds a [callback](callback.md) address is called **vector** (e.g. a mouse device will have a vector for *mouse click* callback).
- address 256: start of program instructions.
- extensible with so called *banks*.
- **instructions**: Each one takes 8 bits. Every value is a valid instruction. Instruction format is following:
- lowest 5 bits: instruction [opcode](opcode.md) (i.e. there are 32 instructions in total)
- following bit (*2*): if set, instruction works with 16 bit shorts (otherwise it works with 8 bit bytes).
@ -32,7 +33,7 @@ Here is a kind of concise sum up of uxn "ecosystem"/terminology/specs/etc.:
- **[rom](rom.md)**: Compiled binary executable that can be directly run by an *uxn CPU*. The rom files have `.rom` extension.
- **varvara**: A device, "frontend", peripheral that's connected to *uxn CPU* to perform [input/output](io.md), for example a screen, keyboard or terminal.
TODO: vectors, subroutines, ...
TODO: subroutines, ...
## See Also