This commit is contained in:
Miloslav Ciz 2023-05-21 21:55:06 +02:00
parent 7a4c69819f
commit 94c2c620d2
8 changed files with 43 additions and 14 deletions

View file

@ -3,3 +3,7 @@
Blender is an "[open-source](open_source.md)" 3D modeling and [rendering](rendering.md) [software](software.md) -- one of the most powerful and "feature-rich" (read [bloated](bloat.md)) ones, even compared to [proprietary](proprietary.md) competition -- used not only by the [FOSS](foss.md) community, but also the industry (commercial [games](game.md), movies etc.), which is an impressive achievement in itself, however Blender is also a [capitalist](capitalist.md) software suffering from many not-so-nice features such as [bloat](bloat.md). Blender is an "[open-source](open_source.md)" 3D modeling and [rendering](rendering.md) [software](software.md) -- one of the most powerful and "feature-rich" (read [bloated](bloat.md)) ones, even compared to [proprietary](proprietary.md) competition -- used not only by the [FOSS](foss.md) community, but also the industry (commercial [games](game.md), movies etc.), which is an impressive achievement in itself, however Blender is also a [capitalist](capitalist.md) software suffering from many not-so-nice features such as [bloat](bloat.md).
After version 2.76 Blender started REQUIRING [OpenGL](opengl.md) 2.1 due to its "[modern](modern.md)" [EEVEE](eevee.md) renderer, deprecating old machines and giving a huge fuck you to all users with incompatible hardware (for example the users of [RYF](ryf.md) software). This new version also stopped working with the [free](free_software.md) [Nouveau](nouvea.md) driver, forcing the users to use NVidia's proprietary drivers. Blender of course doesn't at all care about this. { I've been forced to use the extremely low FPS [software](sw_rendering.md) GL version of Blender after 2.8. ~drummyfish } After version 2.76 Blender started REQUIRING [OpenGL](opengl.md) 2.1 due to its "[modern](modern.md)" [EEVEE](eevee.md) renderer, deprecating old machines and giving a huge fuck you to all users with incompatible hardware (for example the users of [RYF](ryf.md) software). This new version also stopped working with the [free](free_software.md) [Nouveau](nouvea.md) driver, forcing the users to use NVidia's proprietary drivers. Blender of course doesn't at all care about this. { I've been forced to use the extremely low FPS [software](sw_rendering.md) GL version of Blender after 2.8. ~drummyfish }
## See Also
- [3D modeling](3d_modeling.md)

View file

@ -10,6 +10,8 @@ Brainfuck has seen tremendous success in the [esolang](esolang.md) community as
In [LRS](lrs.md) programs brainfuck may be seriously used as a super simple [scripting language](script.md). In [LRS](lrs.md) programs brainfuck may be seriously used as a super simple [scripting language](script.md).
Brainfuck can be trivially translated to [comun](comun.md) like this: remove all comments from brainfuck program, then replace `+`, `-`, `>`, `<`, `.`, `,`, `[` and `]` with `++ ` , `-- `, `$>0 `, `$<0 `, `->' `, `$<0 <- `, `@' ` and `. `, respectively, and prepend `$>0 `.
## Specification ## Specification
The "vanilla" brainfuck operates as follows: The "vanilla" brainfuck operates as follows:
@ -87,6 +89,8 @@ int main(void)
``` ```
TODO: comun implementation
## Programs ## Programs
Here are some simple programs in brainfuck. Here are some simple programs in brainfuck.

View file

@ -192,3 +192,4 @@ Chess is only mildly [bloated](bloat.md) but what if we try to unbloat it comple
- [hexapawn](hexapawn.md) - [hexapawn](hexapawn.md)
- [checkers](checkers.md) - [checkers](checkers.md)
- [backgammon](backgammon.md) - [backgammon](backgammon.md)
- [go](go.md)

View file

@ -1,12 +1,14 @@
# Creative Commons # Creative Commons
Creative Commons (CC) is the forefront non-profit organization promoting [free culture](free_culture.md), i.e. basically relaxation of ["intellectual property"](intellectual_property.md) (such as [copyright](copyright.md)) in [art](art.md). One of the most important contributions of the organization are the widely used Creative Commons [licenses](license.md) which artists may use to make their works more legally free and even put them to the [public domain](public_domain.md).
TODO TODO
## Licenses ## Licenses
Creative commons [licenses](license.md)/waivers form a **[spectrum](spectrum.md)** spanning from complete freedom (CC0, [public domain](public_domain.md), no conditions on use) to complete [fascism](fascism.md) (prohibiting basically everything except for non-commercial sharing). This means that **NOT all Creative Commons licenses are [free cultural](free_culture.md) licenses** -- this is acknowledged by Creative Commons and part of the design. Keep in mind that as a good human you mustn't ever use licenses with [NC](nc.md) (non-commercial use only) or [ND](nd.md) (no derivatives allowed) clauses, these make your work non-free and therefore unusable. Creative commons [licenses](license.md)/waivers form a **[spectrum](spectrum.md)** spanning from complete freedom (CC0, [public domain](public_domain.md), no conditions on use) to complete [fascism](fascism.md) (prohibiting basically everything except for non-commercial sharing). This means that **NOT all Creative Commons licenses are [free cultural](free_culture.md) licenses** -- this is acknowledged by Creative Commons and has been intended. Keep in mind that as a good human you mustn't ever use licenses with [NC](nc.md) (non-commercial use only) or [ND](nd.md) (no derivatives allowed) clauses, these make your work non-free and therefore unusable.
Here is a comparison of the Creative Commons licenses/waivers, from most free to least free: Here is a comparison of the Creative Commons licenses/waivers, from most free (best) to least free (worst):
| name |abbreviation|free culture|use |share |remix |copyleft|attribution|non-commercial|comment | | name |abbreviation|free culture|use |share |remix |copyleft|attribution|non-commercial|comment |
|---------------------------------------------------|------------|------------|-------|-------|-------|--------|-----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------| |---------------------------------------------------|------------|------------|-------|-------|-------|--------|-----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
@ -19,3 +21,7 @@ Here is a comparison of the Creative Commons licenses/waivers, from most free to
|Creative Commons Attribution NonCommercial NoDerivs| CC BY-NC-ND| NO! :((( |yes but|yes but|NO! :( | yes :/ |forced :( | yes :( | [proprietary](proprietary.md) fascist license prohibiting commercial use and even modifications, DO NOT USE | |Creative Commons Attribution NonCommercial NoDerivs| CC BY-NC-ND| NO! :((( |yes but|yes but|NO! :( | yes :/ |forced :( | yes :( | [proprietary](proprietary.md) fascist license prohibiting commercial use and even modifications, DO NOT USE |
| none (all rights reserved) | | NO! :((( |NO! :( |NO! :( |NO! :( |FUCK YOU|FUCK YOU | FUCK YOU | [proprietary](proprietary.md) fascist option, prohibits everything, DO NOT USE | | none (all rights reserved) | | NO! :((( |NO! :( |NO! :( |NO! :( |FUCK YOU|FUCK YOU | FUCK YOU | [proprietary](proprietary.md) fascist option, prohibits everything, DO NOT USE |
## See Also
- [free culture](free_culture.md)
- [free software](free_software.md)

View file

@ -28,6 +28,8 @@ Games can be [suckless](suckless.md) and just as any other software should try t
If you want to make a simple LRS game, there is an official LRS [C](c.md) library for this: [SAF](saf.md). If you want to make a simple LRS game, there is an official LRS [C](c.md) library for this: [SAF](saf.md).
A LRS game will be similar to any other [suckless](suckless.md) program, one example of a design choice it should take is the following: while mainstream games are built around the idea of having a precompiled engine that runs [scripts](script.md) written in some interpreted language, a **LRS/suckless game wouldn't use run-time scripts** but would rather have such "scripts" written as a part of the whole game's source code (e.g. in a file `scripts.h`), in the same language as the engine (typically [C](c.md)) and they would be compiled into the binary program. This is the same principle by which suckless programs such as [dwm](dwm.md) don't use config files but rather have the configuration be part of the source code (in a file `config.h`). Doing this in a suckless program doesn't really have any disadvantages as such program is extremely easy and fast to recompile, and it brings in many advantages such as only using a single language, reducing complexity by not needing any interpreter, not having to open and read script files from the file system and also being faster.
Compared to mainstream games, a LRS game shouldn't be a consumerist product, it should be a tool to help people entertain themselves and relieve their stress. From the user perspective, the game should be focused on the fun and relaxation aspect rather than impressive visuals (i.e. photorealism etc.), i.e. it will likely utilize simple graphics and audio. Another aspect of an LRS game is that the technological part is just as important as how the game behaves on the outside (unlike mainstream games that have ugly, badly designed internals and mostly focus on rapid development and impressing the consumer with visuals). Compared to mainstream games, a LRS game shouldn't be a consumerist product, it should be a tool to help people entertain themselves and relieve their stress. From the user perspective, the game should be focused on the fun and relaxation aspect rather than impressive visuals (i.e. photorealism etc.), i.e. it will likely utilize simple graphics and audio. Another aspect of an LRS game is that the technological part is just as important as how the game behaves on the outside (unlike mainstream games that have ugly, badly designed internals and mostly focus on rapid development and impressing the consumer with visuals).
The paradigm of LRS gamedev differs from the mainstream gamedev just as the [Unix philosophy](unix_philosophy.md) differs from the [Window philosophy](windows_philosophy.md). While a mainstream game is a monolithic piece of software, designed to allow at best some simple, controlled and limited user modifications, a LRS game is designed with [forking](fork.md), wild [hacking](hacking.md), unpredictable abuse and code reuse in mind. The paradigm of LRS gamedev differs from the mainstream gamedev just as the [Unix philosophy](unix_philosophy.md) differs from the [Window philosophy](windows_philosophy.md). While a mainstream game is a monolithic piece of software, designed to allow at best some simple, controlled and limited user modifications, a LRS game is designed with [forking](fork.md), wild [hacking](hacking.md), unpredictable abuse and code reuse in mind.

27
lrs.md
View file

@ -29,9 +29,9 @@ The definition here is not strict but rather fuzzy, it is in a form of ideas, st
## Why ## Why
LRS exists for a number of reasons, one of the main ones is that we simply need better technology -- not better as in "having more features" but better in terms of design and ethics. Technology has to make us more free, not enslave us. Technology has to be a tool that serves us, not a device for our abuse. We believe [mainstream](capitalist_software.md) tech poses a serious, even existential threat for our civilization. We don't think we can prevent [collapse](collapse.md) or a dystopian scenario on our own, or even if these can be prevented at all, but we can help nudge the technology in a better direction, we can inspire others and perhaps make the future a little brighter, even if it's destined to be dark. Even if future seems hopeless, what better can we do than try our best to make it not so? LRS exists for a number of reasons, one of the main ones is that we simply need better technology -- not better as in "having more features" but better in terms of design, purpose and ethics. Technology has to make us more free, not enslave us. Technology has to be a tool that serves us, not a device for our abuse. We believe [mainstream](capitalist_software.md) technology poses a serious, even existential threat to our civilization. We don't think we can prevent [collapse](collapse.md) or a dystopian scenario on our own, or even if these can be prevented at all, but we can help nudge the technology in a better direction, we can inspire others and perhaps make the future a little brighter, even if it's destined to be dark. Even if future seems hopeless, what better can we do than try our best to make it not so?
There are other reason for LRS as well, for example it can be very satisfying and can bring back joy of programming that's been lost in the modern toxic environment of the mainstream. Minimalist programming is pleasant on its own, and in many things we do we can really achieve something great because not many people are exploring this way of tech. For example there are nowadays very few programs or nice artworks that are completely [public domain](public_domain.md), which is pretty sad, but it's also an opportunity: you can be the first human to create a completely public domain software of certain kind. Software of all kind has already been written, but you can be the first one who creates a truly good version of such software so that it can e.g. be run on embedded devices. If you create something good that's public domain, you may even make some capitalist go out of business or at least lose a lot of money if he's been offering the same thing for money. You free people. That's a pretty nice feeling. There are other reason for LRS as well, for example it can be very satisfying and can bring back joy of programming that's been lost in the modern toxic environment of the [capitalist](capitalism.md) mainstream. [Minimalist](minimalism.md) programming is pleasant on its own, and in many things we do we can really achieve something great because not many people are exploring this way of technology. For example there are nowadays very few programs or nice artworks that are completely [public domain](public_domain.md), which is pretty sad, but it's also an opportunity: you can be the first human to create a completely public domain software of certain kind. Software of all kind has already been written, but you can be the first one who creates a truly good version of such software so that it can e.g. be run on embedded devices. If you create something good that's public domain, you may even make some capitalist go out of business or at least lose a lot of money if he's been offering the same thing for money. You free people. That's a pretty nice feeling and makes you actually live a good life.
{ Here and there I get a nice email from someone who likes something I've created, someone who just needed a simple thing and found that I've made it, that alone is worth the effort I think. ~drummyfish. } { Here and there I get a nice email from someone who likes something I've created, someone who just needed a simple thing and found that I've made it, that alone is worth the effort I think. ~drummyfish. }
@ -40,9 +40,9 @@ There are other reason for LRS as well, for example it can be very satisfying an
The "official" LRS programs and libraries have so far been solely developed by [drummyfish](drummyfish.md), the "founder" of LRS. These include: The "official" LRS programs and libraries have so far been solely developed by [drummyfish](drummyfish.md), the "founder" of LRS. These include:
- **[Anarch](anarch.md)**: Game similar to [Doom](doom.md). - **[Anarch](anarch.md)**: Game similar to [Doom](doom.md).
- **[comun](comun.md)**: LRS programming language - **[comun](comun.md)**: LRS [programming language](programming_language.md).
- **[raycastlib](raycastlib.md)**: Advanced 2D [raycasting](raycasting.md) rendering library. - **[raycastlib](raycastlib.md)**: Advanced 2D [raycasting](raycasting.md) rendering library.
- **[SAF](saf.md)**: Tiny library for small portable games. - **[SAF](saf.md)**: Tiny library for small portable [games](game.md).
- **[small3dlib](small3dlib.md)**: Simple software rasterizer for 3D rendering. - **[small3dlib](small3dlib.md)**: Simple software rasterizer for 3D rendering.
- **[smallchesslib](smallchesslib.md)**: Simple [chess](chess.md) library and engine ([AI](ai.md)). - **[smallchesslib](smallchesslib.md)**: Simple [chess](chess.md) library and engine ([AI](ai.md)).
- **[microtd](utd.md)**: Simple [tower defense](tower_defense.md) game written with [SAF](saf.md). - **[microtd](utd.md)**: Simple [tower defense](tower_defense.md) game written with [SAF](saf.md).
@ -63,6 +63,7 @@ Apart from this software a lot of other software developed by other people and g
- **[musl](musl.md)**: Tiny [C](c.md) standard library (alternative to [glibc](glibc.md)). - **[musl](musl.md)**: Tiny [C](c.md) standard library (alternative to [glibc](glibc.md)).
- **[vim](vim.md)** (kind of): [TUI](tui.md) text/[programming](programming.md) [editor](editor.md). Vim is actually relatively big but there are smaller builds, flavors and alternatives. - **[vim](vim.md)** (kind of): [TUI](tui.md) text/[programming](programming.md) [editor](editor.md). Vim is actually relatively big but there are smaller builds, flavors and alternatives.
- **[Simon Tatham's portable puzzle collection](stppc.md)**: Very portable collection of puzzle [games](game.md). - **[Simon Tatham's portable puzzle collection](stppc.md)**: Very portable collection of puzzle [games](game.md).
- ...
Other potentially LRS software to check out may include [TinyGL](tinygl.md), [scc](scc.md), [uClibc](uclibc.md), [miniz](miniz.md), [nuklear](nuklear.md), [dmenu](dmenu.md), [sbase](sbase.md), [sic](sic.md), [tabbed](tabbed.md), [svkbd](svkbd.md), [busybox](busybox.md), [raylib](raylib.md), [PortableGL](portablegl.md) and others. Other potentially LRS software to check out may include [TinyGL](tinygl.md), [scc](scc.md), [uClibc](uclibc.md), [miniz](miniz.md), [nuklear](nuklear.md), [dmenu](dmenu.md), [sbase](sbase.md), [sic](sic.md), [tabbed](tabbed.md), [svkbd](svkbd.md), [busybox](busybox.md), [raylib](raylib.md), [PortableGL](portablegl.md) and others.
@ -84,14 +85,17 @@ It is also possible to talk about LRS data formats, [protocols](protocol.md), st
- **[textboards](textboard.md)**, **[imageboards](imageboard.md)** and pure [HTML](html.md) personal websites as opposed to [forums](forum.md) (no registration, no users, simple interface) or even [social networks](social_network.md) - **[textboards](textboard.md)**, **[imageboards](imageboard.md)** and pure [HTML](html.md) personal websites as opposed to [forums](forum.md) (no registration, no users, simple interface) or even [social networks](social_network.md)
- **[Turing machine](turing_machine.md)**: Minimal definition of a [computer](computer.md). - **[Turing machine](turing_machine.md)**: Minimal definition of a [computer](computer.md).
- **[txt2tags](txt2tags.md)**: Very simple document format. - **[txt2tags](txt2tags.md)**: Very simple document format.
- ...
Other technology than software may also be aligned with LRS principles, e.g.: Other technology than software may also be aligned with LRS principles, e.g.:
- Simple cheap **[bicycle](bicycle.md)** without changing gears, as opposed to e.g. a [car](car.md). - Simple and cheap [bicycle](bicycle.md) without changing gears, as opposed to e.g. a [car](car.md).
- **[Knives](knife.md)** are pretty less retarded. - [Knives](knife.md) are pretty less retarded.
- [rocks](rock.md) - [rocks](rock.md)
- [chess](chess.md) - [chess](chess.md), [go](go.md), [backgammon](backgammon.md), ...
- street [football](football.md) - simple flute or a home-made drum kit as musical instruments (as opposed to e.g. grand piano)
- street [football](football.md) as a cheap, simple and accessible sport (unlike for example ice hockey)
- ...
## Politics/Culture And Society ## Politics/Culture And Society
@ -100,3 +104,10 @@ Other technology than software may also be aligned with LRS principles, e.g.:
LRS is connected to pretty specific political beliefs, but it's not a requirement to share those beliefs to create LRS or be part of the community centered around LRS technology. We just think that it doesn't make logical sense to support LRS and not the politics that justifies it and from which it is derived, but it's up to you to verify this. LRS is connected to pretty specific political beliefs, but it's not a requirement to share those beliefs to create LRS or be part of the community centered around LRS technology. We just think that it doesn't make logical sense to support LRS and not the politics that justifies it and from which it is derived, but it's up to you to verify this.
With that said, the politics behind LRS is an [idealist](idealism.md) [anarcho pacifist](anpac.md) [communism](communism.md), but NOT [pseudoleftism](pseudoleftism.md) (i.e. we do not support political correctness, [COC](coc.md)s, [cancel culture](cancel_culture.md), Marxism-Leninism etc.). In our views, goals and means we are similar to the [Venus project](venus_project.md), even though we may not agree completely on all points. We are not officially associated with any other project or community. **We [love](love.md) all [living beings](life.md)** (not just people), even those who cause us pain or hate us, we believe love is the only way towards a good society -- in this we follow similar philosophy of nonviolence that was preached by [Jesus](jesus.md) but without necessarily being religious, we simply think it is the only correct way of a mature society to behave nonviolently and lovingly towards everyone. We do NOT have any leaders or [heroes](hero_culture.md); people are imperfect and giving some more power, louder voices or greater influence creates hierarchy and goes against anarchism, therefore we only follow ideas. We aim for true social (not necessarily physical) equality of everyone, our technology helps everyone equally. We reject [competition](competition.md) as a basis of society and anti-equality means such as violence, [fights](fight_culture.md), bullying ([cancelling](cancel_culture.md) etc.), [censorship](censorship.md) ([political correctness](political_correctness.md) etc.), [governments](government.md) and [capitalism](capitalism.md). We support things such as [universal basic income](ubi.md) (as long as there exist money which we are however ultimately against), [veganism](veganism.md) and [slow movement](slow_movement.md). We highly prefer peaceful [evolution](evolution.md) to [revolution](revolution.md) as revolutions tend to be violent and have to be [fought](fight_culture.md) -- we do not intend to push any ideas by force but rather to convince enough people to a voluntary change. With that said, the politics behind LRS is an [idealist](idealism.md) [anarcho pacifist](anpac.md) [communism](communism.md), but NOT [pseudoleftism](pseudoleftism.md) (i.e. we do not support political correctness, [COC](coc.md)s, [cancel culture](cancel_culture.md), Marxism-Leninism etc.). In our views, goals and means we are similar to the [Venus project](venus_project.md), even though we may not agree completely on all points. We are not officially associated with any other project or community. **We [love](love.md) all [living beings](life.md)** (not just people), even those who cause us pain or hate us, we believe love is the only way towards a good society -- in this we follow similar philosophy of nonviolence that was preached by [Jesus](jesus.md) but without necessarily being religious, we simply think it is the only correct way of a mature society to behave nonviolently and lovingly towards everyone. We do NOT have any leaders or [heroes](hero_culture.md); people are imperfect and giving some more power, louder voices or greater influence creates hierarchy and goes against anarchism, therefore we only follow ideas. We aim for true social (not necessarily physical) equality of everyone, our technology helps everyone equally. We reject [competition](competition.md) as a basis of society and anti-equality means such as violence, [fights](fight_culture.md), bullying ([cancelling](cancel_culture.md) etc.), [censorship](censorship.md) ([political correctness](political_correctness.md) etc.), [governments](government.md) and [capitalism](capitalism.md). We support things such as [universal basic income](ubi.md) (as long as there exist money which we are however ultimately against), [veganism](veganism.md) and [slow movement](slow_movement.md). We highly prefer peaceful [evolution](evolution.md) to [revolution](revolution.md) as revolutions tend to be violent and have to be [fought](fight_culture.md) -- we do not intend to push any ideas by force but rather to convince enough people to a voluntary change.
## See Also
- [less retarded society](less_retarded_society.md)
- [suckless](suckless.md)
- [reactionary software](reactionary_software.md)
- [KISS](kiss.md)

View file

@ -21,6 +21,7 @@ There are many terms that are very similar and are sometimes used interchangeabl
- **[CLI](cli.md)** vs **[TUI](tui.md)** vs **[terminal](terminal_emulator.md)** vs **[console](console.md)** - **[CLI](cli.md)** vs **[TUI](tui.md)** vs **[terminal](terminal_emulator.md)** vs **[console](console.md)**
- **[color model](color_model.md)** vs **[color space](color_space.md)** - **[color model](color_model.md)** vs **[color space](color_space.md)**
- **[communism](communism.md)** vs **[Marxism](marxism.md)** - **[communism](communism.md)** vs **[Marxism](marxism.md)**
- **[complex](complexity.md)** vs **complicated**
- **[computer language](computer_language.md)** vs **[programming language](programming_language.md)** - **[computer language](computer_language.md)** vs **[programming language](programming_language.md)**
- **[computer science](compsci.md)** vs **[information technology](it.md)** vs **[informatics](informatics.md)** vs **[cybernetics](cybernetics.md)** vs **[computer engineering](computer_engineering.md)** vs **[software engineering](software_engineering.md)** - **[computer science](compsci.md)** vs **[information technology](it.md)** vs **[informatics](informatics.md)** vs **[cybernetics](cybernetics.md)** vs **[computer engineering](computer_engineering.md)** vs **[software engineering](software_engineering.md)**
- **[concurrency](concurrency.md)** vs **[parallelism](parallelism.md)** vs **[quasiparallelism](quasiparallelism.md)** vs **[distribution](distributed.md)** - **[concurrency](concurrency.md)** vs **[parallelism](parallelism.md)** vs **[quasiparallelism](quasiparallelism.md)** vs **[distribution](distributed.md)**

View file

@ -1,4 +1,4 @@
# RationalWiki # "Rational"Wiki
RationalWiki (https://rationalwiki.org/) is a [toxic](toxic.md) child [atheist](atheism.md) pseudorationalist/[pseudoskeptic](pseudoskepticism.md) [SJW](sjw.md) [wiki](wiki.md) website that specializes in attacking rational views on controversial topics on the Internet. It is recommended you delete this website from your bookmarks or it will probably give you brain cancer. RationalWiki (https://rationalwiki.org/) is a [toxic](toxic.md) child [atheist](atheism.md) pseudorationalist/[pseudoskeptic](pseudoskepticism.md) [SJW](sjw.md) [wiki](wiki.md) website that specializes in attacking rational views on controversial topics on the Internet. It is recommended you delete this website from your bookmarks or it will probably give you brain cancer.