This commit is contained in:
Miloslav Ciz 2024-02-11 21:17:16 +01:00
parent be97db7fc4
commit a9b3ef862e
9 changed files with 1732 additions and 1674 deletions

View file

@ -2,6 +2,8 @@
Informally speaking fractal is a shape that's geometrically "infinitely complex" while being described in an extremely simple way, e.g. with a very simple formula or [algorithm](algorithm.md). Shapes found in the nature, such as trees, mountains or clouds, are often fractals. Fractals show self-similarity, i.e. when "zooming" into an ideal fractal we keep seeing it is composed, down to an infinitely small scale, of shapes that are similar to the shape of the whole fractal; e.g. the branches of a tree look like smaller versions of the whole tree etc. Informally speaking fractal is a shape that's geometrically "infinitely complex" while being described in an extremely simple way, e.g. with a very simple formula or [algorithm](algorithm.md). Shapes found in the nature, such as trees, mountains or clouds, are often fractals. Fractals show self-similarity, i.e. when "zooming" into an ideal fractal we keep seeing it is composed, down to an infinitely small scale, of shapes that are similar to the shape of the whole fractal; e.g. the branches of a tree look like smaller versions of the whole tree etc.
TODO: brief history
Fractals are the [beauty](beauty.md) of mathematics that can easily be seen even by non-mathematicians, so are probably good as a motivational example in [math](math.md) education. Fractals are the [beauty](beauty.md) of mathematics that can easily be seen even by non-mathematicians, so are probably good as a motivational example in [math](math.md) education.
Fractal is formed by [iteratively](iteration.md) or [recursively](recursion.md) (repeatedly) applying its defining rule -- once we repeat the rule infinitely many times, we've got a perfect fractal. [In the real world](irl.md), of course, both in nature and in computing, the rule is just repeat many times as we can't repeat literally infinitely. The following is an example of how iteration of a rule creates a simple tree fractal; the rule being: *from each branch grow two smaller branches*. Fractal is formed by [iteratively](iteration.md) or [recursively](recursion.md) (repeatedly) applying its defining rule -- once we repeat the rule infinitely many times, we've got a perfect fractal. [In the real world](irl.md), of course, both in nature and in computing, the rule is just repeat many times as we can't repeat literally infinitely. The following is an example of how iteration of a rule creates a simple tree fractal; the rule being: *from each branch grow two smaller branches*.
@ -20,7 +22,7 @@ Fractal is formed by [iteratively](iteration.md) or [recursively](recursion.md)
iteration 0 iteration 1 iteration 2 iteration 3 iteration 0 iteration 1 iteration 2 iteration 3
``` ```
Mathematically fractal is a shape whose [Hausdorff dimension](hausdorff_dimension.md) (the "scaling factor of the shape's mass") is non-integer. For example the [Sierpinski triangle](sierpinski_triangle.md) can normally be seen as a 1D or 2D shape, but its Hausdorff dimension is approx. 1.585 as if we scale it down twice, it decreases its "weight" three times (it becomes one of the three parts it is composed of); Hausdorff dimension is then calculated as log(3)/log(2) ~= 1.585. Mathematically fractal is a shape whose [Hausdorff dimension](hausdorff_dimension.md) (the "scaling factor of the shape's mass") may be non-integer and is bigger than its [topological dimension](topological_dimension.md) (the "normal" dimension suh as 0 for a point, 1 for a line, 2 for a plane etc.). For example the [Sierpinski triangle](sierpinski_triangle.md) has a topological dimension 1 but Hausdorff dimension approx. 1.585 because if we scale it down twice, it decreases its "weight" three times (it becomes one of the three parts it is composed of); Hausdorff dimension is then calculated as log(3)/log(2) ~= 1.585.
[L-systems](l_system.md) are one possible way of creating fractals. They describe rules in form of a [formal grammar](grammar.md) which is used to generate a string of symbols that are subsequently interpreted as drawing commands (e.g. with [turtle graphics](turtle_graphics.md)) that render the fractal. The above shown tree can be described by an L-system. Among similar famous fractals are the [Koch snowflake](koch_snowflake.md) and [Sierpinski Triangle](sierpinski_triangle.md). [L-systems](l_system.md) are one possible way of creating fractals. They describe rules in form of a [formal grammar](grammar.md) which is used to generate a string of symbols that are subsequently interpreted as drawing commands (e.g. with [turtle graphics](turtle_graphics.md)) that render the fractal. The above shown tree can be described by an L-system. Among similar famous fractals are the [Koch snowflake](koch_snowflake.md) and [Sierpinski Triangle](sierpinski_triangle.md).
@ -50,7 +52,7 @@ Fractals can of course also exist in 3 and more dimensions so we can have also h
However, as shown by Code Parade (https://yewtu.be/watch?v=Pv26QAOcb6Q), complex fractals could be rendered even before the computer era using just a projector and camera that feeds back the picture to the camera. This is pretty neat, though it seems no one actually did it back then. However, as shown by Code Parade (https://yewtu.be/watch?v=Pv26QAOcb6Q), complex fractals could be rendered even before the computer era using just a projector and camera that feeds back the picture to the camera. This is pretty neat, though it seems no one actually did it back then.
A nice FOSS program to interactively zoom into 2D fractals is e.g. [xaos](xaos.md). A nice [FOSS](foss.md) program to interactively zoom into 2D fractals is e.g. [xaos](xaos.md).
3D fractals can be rendered with [ray marching](ray_marching.md) and so called *distance estimation*. This works similarly to classic [ray tracing](ray_tracing.md) but the rays are traced iteratively: we step along the ray and at each step use an estimate of the current point to the surface of the fractal; once we are "close enough" (below some specified threshold), we declare a hit and proceed as in normal ray tracing (we can render shadows, apply materials etc.). The distance estimate is done by some clever math. 3D fractals can be rendered with [ray marching](ray_marching.md) and so called *distance estimation*. This works similarly to classic [ray tracing](ray_tracing.md) but the rays are traced iteratively: we step along the ray and at each step use an estimate of the current point to the surface of the fractal; once we are "close enough" (below some specified threshold), we declare a hit and proceed as in normal ray tracing (we can render shadows, apply materials etc.). The distance estimate is done by some clever math.

View file

@ -1,11 +1,17 @@
# LRS Wiki # LRS Wiki
LRS wiki, also Less Retarded Wiki, is a [public domain](public_domain.md) ([CC0](cc0.md)) [encyclopedia](encyclopedia.md) focused on truly good, [minimalist](minimalism.md) [technology](tech.md), mainly [computers](computer.md) [software](sw.md) -- so called [less retarded software](lrs.md) (LRS) which should serve the people at large -- while also exploring related topics such as the relationship between technology and society, promoting so called [less retarded society](less_retarded_society.md). The basic motivation behind LRS and its wiki is unconditional [love](love.md) of all life, and the goal of LRS is to move towards creating a truly useful, [selfless](selflessness.md) technology that maximally helps all living beings as much as possible. As such the wiki rejects for example [capitalist software](capitalist_software.md) (and [capitalism](capitalism.md) itself), [bloated](bloat.md) software, [intellectual property](intellectual_property.md) laws ([copyright](copyright.md), [patents](patent.md), ...) [censorship](censorship.md), [pseudoleftism](pseudoleft.md) ([political correctness](political_correctness.md), [cancel culture](cancel_culture.md), [COC](coc.md)s ...) etc. It embraces [free as in freedom](free_software.md), simple technology, i.e. [Unix philosophy](unix_philosophy.md), [suckless](suckless.md) software, [anarcho pacifism](anpac.md), [racial realism](racial_realism.md), [free speech](free_speech.md), [veganism](veganism.md) etc. LRS wiki, also Less Retarded Wiki, is a [public domain](public_domain.md) ([CC0](cc0.md)) [encyclopedia](encyclopedia.md) focused on truly good, [minimalist](minimalism.md) [technology](tech.md), mainly [computer](computer.md) [software](sw.md) -- so called [less retarded software](lrs.md) (LRS) which should serve the people at large -- while also exploring related topics such as the relationship between technology and society, promoting so called [less retarded society](less_retarded_society.md). The basic motivation behind LRS and its wiki is unconditional [love](love.md) of all life, and the goal of LRS is to move towards creating a truly useful, [selfless](selflessness.md) technology that maximally helps all living beings as much as possible. As such the wiki rejects for example [capitalist software](capitalist_software.md) (and [capitalism](capitalism.md) itself), [bloated](bloat.md) software, [intellectual property](intellectual_property.md) laws ([copyright](copyright.md), [patents](patent.md), ...) [censorship](censorship.md), [pseudoleftism](pseudoleft.md) ([political correctness](political_correctness.md), [cancel culture](cancel_culture.md), [COC](coc.md)s ...) etc. It embraces [free as in freedom](free_software.md), simple technology, i.e. [Unix philosophy](unix_philosophy.md), [suckless](suckless.md) software, [anarcho pacifism](anpac.md), [racial realism](racial_realism.md), [free speech](free_speech.md), [veganism](veganism.md) etc.
LRS wiki was started by [drummyfish](drummyfish.md) on November 3 2021 as a way of recording and sharing his views, experience and knowledge about technology, as well as for creating a completely public domain educational resource and account of current society for future generations. It was forked from so called "based wiki" at a point when all the content on it had been made by drummyfish, so at this point LRS wiki is 100% drummyfish's own work; over time it became kind of a snapshot of drummyfish's brain and so the wiki doesn't allow contributions (but allows and encourages [forks](fork.md)). LRS wiki was started by [drummyfish](drummyfish.md) on November 3 2021 as a way of recording and sharing his views, experience and knowledge about technology, as well as for creating a completely public domain educational resource and account of current society for future generations. It was forked from so called "based wiki" at a point when all the content on it had been made by drummyfish, so at this point LRS wiki is 100% drummyfish's own work; over time it became kind of a snapshot of drummyfish's brain and so the wiki doesn't allow contributions (but allows and encourages [forks](fork.md)).
Over time, being written solely by drummyfish without much self censorship and "language filtering", the wiki also became something like drummyfish's raw brain dump with all the thoughts and moods averaged over the time span of writing the wiki -- reading through it makes you see relatively faithfully how drummyfish internally thinks (e.g. you see anticapitalist rants everywhere because these annoying thoughts are just constantly bothering drummyfish, whatever he's thinking about) -- this can make many people vomit but it's a kind of experiment and some even liked it, so it stays up. No one is forced to read it and CC0 ensures anyone can shape it into anything better hopefully.
The wiki can also additionally be seen as a dirty collection of drummyfish's cheatsheets, links, code snippets, [jokes](jokes.md), attempts at [ASCII art](ascii_art.md), vent rants etcetc. So the whole thing is like a digital swamp that one might see as a kind of retarded art that combines many things together: technical, cultural, personal, objective and subjective, beautiful and ugly. It's just its own thing.
The wiki is similar to other wikis, for example in its topics and technical aspects it is similar to the earliest (plain HTML) versions of [Wikipedia](wikipedia.md) and [wikiwikiweb](wikiwikiweb.md) (by which it was partly inspired). In tone and political incorrectness it is similar to [Encyclopedia Dramatica](dramatica.md), but unlike Dramatica LRS is a "serious" project. The wiki is similar to other wikis, for example in its topics and technical aspects it is similar to the earliest (plain HTML) versions of [Wikipedia](wikipedia.md) and [wikiwikiweb](wikiwikiweb.md) (by which it was partly inspired). In tone and political incorrectness it is similar to [Encyclopedia Dramatica](dramatica.md), but unlike Dramatica LRS is a "serious" project.
LRS wiki is currently written as a collection of [Markdown](markdown.md) files that use a few [shell scripts](shell_script.md) that convert the whole thing to HTML for the web, i.e. it doesn't use any wiki engine or bloated static site generator. There is a plan to rewrite the wiki in [comun](comun.md).
## See Also ## See Also
- [LRS wiki stats](wiki_stats.md) - [LRS wiki stats](wiki_stats.md)

View file

@ -61,12 +61,14 @@ If you're new here, you may want to read answers to [frequently asked questions]
STOP [CAPITALISM](capitalism.md) STOP [BLOAT](bloat.md) STOP [censorship](censorship.md) STOP [business](business.md) STOP [bullshit](bs.md) STOP [copyright](copyright.md) STOP [working](work.md) STOP [coding](coding.md) STOP [competing](competition.md) STOP [fighting](fight_culture.md) STOP [consuming](consumerism.md) STOP [producing](productivity_cult.md) STOP [worshiping people](hero_culture.md) STOP [fascism](fascism.md) STOP [economy](economy.md) STOP [slavery](work.md) STOP violence STOP [pedophobia](pedophobia.md) STOP wearing clothes STOP [eating animals](vegetarianism.md) [STOP being an idiot](unretard.md) etc. Start [loving](love.md), sharing, creating and caring :) <3 STOP [CAPITALISM](capitalism.md) STOP [BLOAT](bloat.md) STOP [censorship](censorship.md) STOP [business](business.md) STOP [bullshit](bs.md) STOP [copyright](copyright.md) STOP [working](work.md) STOP [coding](coding.md) STOP [competing](competition.md) STOP [fighting](fight_culture.md) STOP [consuming](consumerism.md) STOP [producing](productivity_cult.md) STOP [worshiping people](hero_culture.md) STOP [fascism](fascism.md) STOP [economy](economy.md) STOP [slavery](work.md) STOP violence STOP [pedophobia](pedophobia.md) STOP wearing clothes STOP [eating animals](vegetarianism.md) [STOP being an idiot](unretard.md) etc. Start [loving](love.md), sharing, creating and caring :) <3
## What Is Less Retarded Software/Society? ## What Is Less Retarded Software/Society/Wiki?
Well, we're trying to figure this out on this wiki, but less retarded software is greatly related to [suckless](suckless.md), [Unix](unix.md), [KISS](kiss.md), [free](free_software.md), selfless and sustainable software created to maximally help all living beings. LRS stands opposed to all [shittiness](shit.md) of so called ["modern"](modern.md) software. We pursue heading towards an ideal society such as that of the [Venus project](venus_project.md). For more details see the article about [LRS](lrs.md). Well, we're trying to figure this out on this wiki, but less retarded software is greatly related to [suckless](suckless.md), [Unix](unix.md), [KISS](kiss.md), [free](free_software.md), selfless and sustainable software created to maximally help all living beings. This is so because we just [love](love.md) all living beings. LRS stands opposed to all [shittiness](shit.md) of so called ["modern"](modern.md) software (and society in general). We pursue heading towards an ideal society that is similar in spirit e.g. to that of the [Venus project](venus_project.md). For more details see the article about [LRS](lrs.md).
In short LRS asks *what if technology was good?* And by extension also *what if society was good?* In short LRS asks *what if technology was good?* And by extension also *what if society was good?*
UPDATE by [drummyfish](drummyfish.md): now as I've been writing this wiki for a longer time myself, without much self censorship and thought "filtering", the wiki has also become something akin a snapshot of my brain averaged over time, for more see the article about the [wiki](lrs_wiki.md) itself.
## Wanna Help? ## Wanna Help?
See [needed projects](needed.md). Thanks :) See [needed projects](needed.md). Thanks :)

View file

@ -1,6 +1,6 @@
# Mandelbrot Set # Mandelbrot Set
TODO Mandelbrot set is a famous two dimensional [fractal](fractal.md), a [set](set.md) of [points](point.md) in two dimensional plane that are defined by a specific very simple equation. It turns out this set has an infinitely complex border (i.e. its shape is a fractal) and the whole thing is just [beautiful](beauty.md) to look at, especially when we draw it with colors and start zooming in to various interesting places -- patterns keep emerging down to infinitely small scales so we may keep zooming in forever and still discover new and new things; some patterns show self similarity, some not. Applying tricks to further add colors to inside and outside of the set increases the visual beauty yet more -- rendering Mandelbrot set is in fact a quite popular activity among programmers as it's very easy to [program](programming.md) such visualizations (at least until we reach the limits of [floating point](float.md) precision, then some more cleverness has to be applied; and yes, Mandelbrot can also be rendered only using [fixed point](fixed_point.md)). The origins of exploring this set are somewhere around 1905 when Fatou and Julia explored the equations related to it, however due to the lack of [computers](computer.md) the set couldn't very well be drawn -- this was only achieved much later, the first rendering of the set seems to be from 1978, albeit of very poor resolution. The set is named after Benoit Mandelbrot who is often considered the father of the field of fractal geometry and who researched this particular set a lot. Of course, Mandelbrot set is awesome, it's a like a whole infinite world to explore, hidden in just one simple formula.
{ Pretty amazing ASCII rendering of the Mandelbrot set can be found at http://www.mrob.com/pub/muency/asciigraphics.html. ~drummyfish } { Pretty amazing ASCII rendering of the Mandelbrot set can be found at http://www.mrob.com/pub/muency/asciigraphics.html. ~drummyfish }
@ -31,6 +31,47 @@ TODO
|___________________________________________________[0.5,-1]| |___________________________________________________[0.5,-1]|
``` ```
*Simple ASCII rendering of Mandelbrot set.*
**Definition**: we use [complex numbers](complex_number.md) to define the set. Consider the following series of complex numbers *z[n]*:
*z[0] = 0*, *z[n + 1] = z[n]^2 + p*
Mandelbrot set is the set of all points *p* for which the [absolute value](abs.md) ("length") of *z[n]* does NOT grow towards infinity as *n* goes towards infinity.
I.e. taking any point *p* in the complex plane (whose real and imaginary parts we see as the *x* and *y* coordinates), plugging it into the above equation and iterating the series infinitely many times, if the absolute value of *z[n]* stays bounded under some finite value (even very large, just not infinitely large), the number belongs to the set, otherwise not (if the absolute value diverges towards infinity). I.e. in other words the Mandelbrot set is a set of kind of "well behaved" points that don't shoot away to infinity when we keep applying some operation to them over and over. Of course computers cannot evaluate infinitely many iterations of the series so they cannot compute the set 100% accurately, but we may very well [approximate](approximation.md) by performing many iterations (let's 100000) and seeing if the value we get is "very large" (let's say 1000000000) when we stop -- this will work correctly for most points and those few points near the set borders where we make a wrong guess won't really be noticed unless we zoom in very close -- in such cases we can simply perform more iterations to increase precision. To add **[colors](color.md)** to the visualization (so that we don't observe just the borders but also some kind of structure inside and outside of the set) we may simply assign different colors to the points depending e.g. on how big the absolute value is at the time we stop the evaluation, or how many iterations it took for the absolute value to exceed given limit (for points outside the set). Also note that for nice pictures we should apply [antialiasing](antialiasing.md). Additional fancy filters and [shaders](shader.md) such as some kind of postprocessing or fake 3D can also be applied to make the result even more impressive.
TODO: example on specific point
There are further [optimizations](optimization.md) we may apply to calculate the set faster, for example it's proven that if absolute value of *z[n]* ever gets greater than 2, the point won't lie in the set. The set itself also lies in the circle centered at [0,0] with radius 2, so points outside this area can be safely marked as lying outside the set.
As an alternative to drawing the set in the traditional plane with *x*/*y* axes correspond to the *real*/*imaginary* parts of the complex number, we may utilize different mappings, for example [polar coordinates](polar_coords.md) or the "inversion mode" (swapping zero and infinity) used in xaos. These may offer yet different angles of view of the set.
Mandelbrot set is similar and related to **[Julia sets](julia_set.md)**; in a way Mandelbrot set is kind of a map of Julia sets, of which there are infinitely many. Each Julia set is, like the Mandelbrot, a set of complex numbers that usually has fractal boundary. Julia sets are defined using the same series as Mandelbrot set, however for given Julia set we take the *p* to be constant and instead set *z[0]* to the visualized coordinate -- so each *p* in the complex plane has its own Julia set. There are some deep mathematical connections between Julia sets and Mandelbrot set. To a Mandelbrot set admirer Julia sets offer infinitely many similar worlds to explore.
The following are some **attributes** of the Mandelbrot set:
- **[Hausdorff dimension](hausdorff_dimension.md)** (of the boundary): 2
- **area**: approximately 1.5052; this is a current best estimate, the area is not easy to calculate (it may be estimated e.g. with [Monte Carlo](monte_carlo.md) methods).
- It is **symmetric** along the *x* axis.
- It's proven the set is **connected**, i.e. it's just a single "island".
- ...
**How to explore Mandelbrot set?** There are about billion programs for this, but a quite nice FOSS one is e.g. [Xaos](xaos.md).
As the set is being studied and explored a lot, some even started to make maps of it and give names to various regions. The biggest bulb-part is called the *Main Cardioid*, the smaller disk to the left of it is the *Main Disk*. Between these two parts there is the *Seahorse Valley*. On the right side of *Main Cardioid* there is the *Elephant Valley*. There are terms such as *mu-atom* (also *island*, *mandelbrotie*, *minibrot* or *midget*) -- the smaller distorted self-similar versions of the big set inside the set itself. And so on. Here are some examples of **interesting places** (nice for wallpapers :]) in the Mandelbrot set (views are denoted as [center X, center Y, view radius]):
- View [-0.774680610626904,-0.137416885603787,8e-12] shows a very nice circular pattern.
- View [-0.74989,-0.0376656,1.04358e-05] shows another nice grid pattern.
- View [0.353447,0.0990225,1.12029e-05] shows a cool spiral pattern.
- View [-1.4045,0,0.0006] shows self-similarity, an approximate smaller Mandelbrot set shape inside itself.
- Views [-1.38379,0,0.037555] and [-1.3973347,0,0.008779] show approximate self similarity.
- Point [-1.3932809650418352,0.0215485287711777498] shows a very thin connection.
- Point [0.372138,0.0903982] shows an infinitely zoomable point from which circular arms stem.
- ...
**Generalizations and modifications**: mentioned [Julia sets](julia_set.md) are very similar to the Mandelbrot set. **[Multibrot](multibrot.md)** sets are sets similar to the Mandelbrot which we define by requiring *abs(z[n])* to not surpass some given value *T* under inifinite iteration, i.e. Mandelbrot set is one of Multibrot sets, that in which we set *T = 2* (because as mentioned above, reaching 2 always leads to divergence towards infinity); for different values of *T* we'll get similar but different Multibrot fractal sets. We may also modify the iterative equation from quadratic to cubic (replace *z[n]^2* with *z[n]^3*), or a different power (or modify the equation in similar ways) to again get sets similar to the Mandelbrot. Using [quaternions](quaternion.md) instead of complex numbers generalized Mandelbrot from 2D to 4D.
## Code ## Code
The following code is a simple [C](c.md) program that renders the Mandelbrot set into terminal (for demonstrative purposes, it isn't efficient or do any [antialiasing](antialiasing.md)). The following code is a simple [C](c.md) program that renders the Mandelbrot set into terminal (for demonstrative purposes, it isn't efficient or do any [antialiasing](antialiasing.md)).

View file

@ -4,7 +4,7 @@
In context of [technology](tech.md) minimalism is a design philosophy which puts great emphasis on [simplicity](kiss.md), it says technology should be as simple as possible while still achieving given goal, possibly even a little bit simpler. Minimalism is one of the most (if not the most) important concepts in [programming](programming.md) and technology in general, it could almost be said that becoming a true expert in technology is strongly connected to realizing the importance of simplicity (see e.g. [Unix philosophy](unix_philosophy.md)). One of the first things to stress about minimalism is that it's firstly about **internal simplicity**, i.e. the simplicity of design/repairing/[hacking](hacking.md), and only secondly about the simplicity from the [user](user.md)'s point of view (otherwise we are only dealing with [pseudominimalism](pseudominimalism.md)). The opposite of minimalism is [maximalism](maximalism.md). See also [minimal viable program](minimal_viable_program.md). In context of [technology](tech.md) minimalism is a design philosophy which puts great emphasis on [simplicity](kiss.md), it says technology should be as simple as possible while still achieving given goal, possibly even a little bit simpler. Minimalism is one of the most (if not the most) important concepts in [programming](programming.md) and technology in general, it could almost be said that becoming a true expert in technology is strongly connected to realizing the importance of simplicity (see e.g. [Unix philosophy](unix_philosophy.md)). One of the first things to stress about minimalism is that it's firstly about **internal simplicity**, i.e. the simplicity of design/repairing/[hacking](hacking.md), and only secondly about the simplicity from the [user](user.md)'s point of view (otherwise we are only dealing with [pseudominimalism](pseudominimalism.md)). The opposite of minimalism is [maximalism](maximalism.md). See also [minimal viable program](minimal_viable_program.md).
Antoine de Saint-Exupéry sums it up with a quote: *we achieve perfection not when there is nothing more to add, but when there is nothing left to take away.* Antoine de Saint-Exupéry sums it up with a quote: *we achieve perfection not when there is nothing more to add but when there is nothing left to take away.*
There is also the generalized concept of **life minimalism** which applies said philosophy to all areas of [life](life.md) and which many technological minimalists often start to follow as well -- life minimalism is about letting go of things and desires that aren't necessarily needed as such things enslave us; you should think about what it really is that you want and need and only keep that. This is nothing new, this wisdom has been present for as long as humans have existed, most religions and philosophers saw a great value in [asceticism](asceticism.md), frugality and even poverty, as owning little leads to [freedom](freedom.md). For example owning a [car](car.md) is kind of a slavery, you have to clean it, protect it, repair it, [maintain](maintenance.md) it, pay for parking space, pay for gas, pay for insurance -- that's a huge commitment eating up a huge part of your life and [head space](head_space.md), a minimalist will rather choose to get a simple [suckless](suckless.md) bicycle or travel by public transport. There is also the generalized concept of **life minimalism** which applies said philosophy to all areas of [life](life.md) and which many technological minimalists often start to follow as well -- life minimalism is about letting go of things and desires that aren't necessarily needed as such things enslave us; you should think about what it really is that you want and need and only keep that. This is nothing new, this wisdom has been present for as long as humans have existed, most religions and philosophers saw a great value in [asceticism](asceticism.md), frugality and even poverty, as owning little leads to [freedom](freedom.md). For example owning a [car](car.md) is kind of a slavery, you have to clean it, protect it, repair it, [maintain](maintenance.md) it, pay for parking space, pay for gas, pay for insurance -- that's a huge commitment eating up a huge part of your life and [head space](head_space.md), a minimalist will rather choose to get a simple [suckless](suckless.md) bicycle or travel by public transport.
@ -28,7 +28,7 @@ Up until recently in history every engineer would tell you that *the better mach
- [permacomputing](permacomputing.md) ([SJW](sjw.md) warning) - [permacomputing](permacomputing.md) ([SJW](sjw.md) warning)
- ... - ...
Under [capitalism](capitalism.md) technological minimalism is suppressed in the mainstream as it goes against [corporate](corporation.md) interests, i.e. those of having monopoly control over technology, even if such technology is "[FOSS](foss.md)" (which then becomes just a cool brand, see [openwashing](openwashing.md)). We may, at best, encounter a "shallow" kind of minimalism, so called [pseudominimalism](pseudominimalism.md) which only tries to make things appear minimal, e.g. aesthetically, and hides ugly overcomplicated internals under the facade. [Apple](apple.md) is famous for this [shit](shit.md). Under [capitalism](capitalism.md) technological minimalism is suppressed in the mainstream as it goes against [corporate](corporation.md) interests, i.e. those of having monopoly control over technology, even if such technology is "[FOSS](foss.md)" (which then becomes just a cool brand, see [openwashing](openwashing.md)). We may, at best, encounter a "shallow" kind of minimalism, so called [pseudominimalism](pseudominimalism.md) which only tries to make things appear minimal, e.g. aesthetically, and hides ugly overcomplicated internals under the facade. [Apple](apple.md) is infamous for this [shit](shit.md).
There are movements such as [appropriate technology](appropriate_tech.md) (described by E. F. Schumacher in a work named *Small Is Beautiful: A Study of Economics As If People Mattered*) advocating for small, efficient, decentralized technology, because that is what best helps people. There are movements such as [appropriate technology](appropriate_tech.md) (described by E. F. Schumacher in a work named *Small Is Beautiful: A Study of Economics As If People Mattered*) advocating for small, efficient, decentralized technology, because that is what best helps people.
@ -38,7 +38,7 @@ There are movements such as [appropriate technology](appropriate_tech.md) (descr
It can't be stressed enough that minimalism is absolutely required for technological freedom, i.e. people having, in **practical** ways, control over their tools. While in today's society it is important to have legal freedoms, i.e. support [free software](free_software.md), we must not forget that this isn't enough, a freedom on paper means nothing if it can't be practiced. We need both legal AND [de facto](de_facto.md) freedom over technology, the former being guaranteed by a free [license](license.md), the latter by minimalism. Minimal, simple technology will increase the pool of people and parties who may practice the legal freedoms -- i.e. those to use, study, modify and share -- and therefore ensure that the technology will be developed according to what people need, NOT according to what a corporation needs (which is usually the opposite). It can't be stressed enough that minimalism is absolutely required for technological freedom, i.e. people having, in **practical** ways, control over their tools. While in today's society it is important to have legal freedoms, i.e. support [free software](free_software.md), we must not forget that this isn't enough, a freedom on paper means nothing if it can't be practiced. We need both legal AND [de facto](de_facto.md) freedom over technology, the former being guaranteed by a free [license](license.md), the latter by minimalism. Minimal, simple technology will increase the pool of people and parties who may practice the legal freedoms -- i.e. those to use, study, modify and share -- and therefore ensure that the technology will be developed according to what people need, NOT according to what a corporation needs (which is usually the opposite).
Even if a user of software is not a programmer himself, it is important he chooses to use minimal tools because that makes it more likely his tool can be repaired or improved by SOMEONE from the people. Some people naively think that if they're not programmers, it doesn't matter if they have access and rights to the program's source code, but indeed that is not the case. You want to choose tools that can easily be analyzed and repaired by someone, even if you yourself can't do it. Even if a user of software is not a programmer himself, it is important he chooses to use minimal tools because that makes it more likely his tools can be repaired or improved by SOMEONE from the people. Some people naively think that if they're not programmers, it doesn't matter if they have access and rights to the program's source code, but indeed that is not the case. You want to choose tools that can easily be analyzed and repaired by someone, even if you yourself can't do it.
Minimalism and simplicity increases freedom even of [proprietary](proprietary.md) technology which can be seen e.g. on [games](game.md) for old systems such as [GameBoy](gameboy.md) or [DOS](dos.md) -- these games, despite being proprietary, can and are easily and plentifully played, modified and shared by the people, DESPITE not being free legally, simply because it is easy to handle them due to their simplicity. This just further confirms the correlation of freedom and minimalism. Minimalism and simplicity increases freedom even of [proprietary](proprietary.md) technology which can be seen e.g. on [games](game.md) for old systems such as [GameBoy](gameboy.md) or [DOS](dos.md) -- these games, despite being proprietary, can and are easily and plentifully played, modified and shared by the people, DESPITE not being free legally, simply because it is easy to handle them due to their simplicity. This just further confirms the correlation of freedom and minimalism.

View file

@ -1,6 +1,6 @@
# Plan 9 # Plan 9
Plan 9 (from Bell Labs, reference to the movie *Plan 9 from Outer Space*) is a research [operating system](os.md), now [FOSS](foss.md), that was started by many of the original [Unix](unix.md) developers as the next project of this kind, it was supposed to be the "new and updated Unix". It tries to work with [Unix philosophy](unix_philosophy.md) ([minimalist](minimalism.md) software philosophy) but expands and modifies it so as to fit "new/evolved" [computers](computer.md) -- though Plan 9 developers claim the system is "more Unix than Unix itself", the validity of such claim is questionable as Plan 9 brings in a more complicated paradigm of [distributed computing](distributed_computing.md), [dependencies](dependency.md) (such as requiring [GUI](gui.md) and mouse) and therefore [bloat](bloat.md) (though still being super minimal compared to mainstream operating systems). Besides the original Plan 9, which is apparently dead now, there exist active [forks](fork.md) such as [9front](9front.md); BEWARE, **9front has a [COC](coc.md) and is a fascist [pseudoleftist](pseudoleft.md) project**. One famous guy working on Plan 9 is [Rob Pike](rob_pike.md) who really went super crazy lately; originally a true Unix hacker he later on started saying things like "I want no local storage on my computer" and "the world should provide me my computing environment and maintain it for me", which seem to reflect what Plan 9 is about. Plan 9 (from Bell Labs, reference to the movie *Plan 9 from Outer Space*) is a research [operating system](os.md), now [FOSS](foss.md), that was started by many of the original [Unix](unix.md) developers as the next project of this kind, it was supposed to be the "new and updated Unix". It tries to work with [Unix philosophy](unix_philosophy.md) ([minimalist](minimalism.md) software philosophy) but expands and modifies it so as to fit "new/evolved" [computers](computer.md) -- though Plan 9 developers claim the system is "more Unix than Unix itself", the validity of such claim is questionable as Plan 9 brings in a more complicated paradigm of [distributed computing](distributed_computing.md), [dependencies](dependency.md) (such as requiring [GUI](gui.md) and mouse) and therefore [bloat](bloat.md) (though still being super minimal compared to mainstream operating systems). Besides the original Plan 9, which is apparently dead now, there exist active [forks](fork.md) such as [9front](9front.md); BEWARE, **9front has a [COC](coc.md) and is a fascist [pseudoleftist](pseudoleft.md) project**. One famous guy working on Plan 9 is [Rob Pike](rob_pike.md) who really went super crazy lately; originally a true Unix hacker he later on started saying things like "I want no local storage on my computer" and "the world should provide me my computing environment and maintain it for me", which seem to reflect what Plan 9 is about. Plan 9 fans are also obsessed with papers.
On one hand Plan 9 sounds good and its idealism is admirable, nevertheless **Plan 9 is [SHIT](shit.md)** due to the following fact: **it [requires](dependency.md) what isn't necessary, for example [GUI](gui.md), [mouse](mouse.md), file system and networking** and **forces computers and users to be certain way**. This is absolutely unforgivable and violates the basic premise of [good, freedom offering, minimalist nondiscriminatory software](lrs.md); in fact it violates the [Unix philosophy](unix_philosophy.md) which it is supposed to be building on top of -- an operating system should do one thing well: that of offering and environment for programs and their resources, user interface is a nontrivial extra task that should be separated. If you ask how to use Plan 9 without a mouse, the fans respond with telling you how stupid you are for not wanting to use mouse ("here is a study that says mice are better than keyboards: checkmate!") and that using mouse is actually what you want (hey bro, everyone's using a mouse, just accept it) -- they try to force a specific way of how computers should be and how they should be operated, just as [Microsoft](microsoft.md) and [Apple](apple.md), without taking into account that computers can (and should be allowed to) be wildly different, very small, with tiny displays (or no displays at all), with no pointing devices (game consoles, voice operated computers, ...) etc. Sure, it may be possible to make the system work without a mouse or GUI, but these concepts form the very basis of the code and its philosophy, they will be carried as a dead weight if you're not using them and you will probably encounter great issues such as many programs simply relying on the existence of GUI and mouse and not working without them. The philosophy is similar to that of "[smart](smart.md)" devices which assume that "Internet is everywhere" and so "let's put Internet into everything", even things that don't need any Internet at all (like hammers and teaspoons), and by the way they will no longer work without Internet (let's hope it doesn't go down lol). In this way **Plan 9 is a dictatorship** and [we](lrs.md) don't approve of it. On one hand Plan 9 sounds good and its idealism is admirable, nevertheless **Plan 9 is [SHIT](shit.md)** due to the following fact: **it [requires](dependency.md) what isn't necessary, for example [GUI](gui.md), [mouse](mouse.md), file system and networking** and **forces computers and users to be certain way**. This is absolutely unforgivable and violates the basic premise of [good, freedom offering, minimalist nondiscriminatory software](lrs.md); in fact it violates the [Unix philosophy](unix_philosophy.md) which it is supposed to be building on top of -- an operating system should do one thing well: that of offering and environment for programs and their resources, user interface is a nontrivial extra task that should be separated. If you ask how to use Plan 9 without a mouse, the fans respond with telling you how stupid you are for not wanting to use mouse ("here is a study that says mice are better than keyboards: checkmate!") and that using mouse is actually what you want (hey bro, everyone's using a mouse, just accept it) -- they try to force a specific way of how computers should be and how they should be operated, just as [Microsoft](microsoft.md) and [Apple](apple.md), without taking into account that computers can (and should be allowed to) be wildly different, very small, with tiny displays (or no displays at all), with no pointing devices (game consoles, voice operated computers, ...) etc. Sure, it may be possible to make the system work without a mouse or GUI, but these concepts form the very basis of the code and its philosophy, they will be carried as a dead weight if you're not using them and you will probably encounter great issues such as many programs simply relying on the existence of GUI and mouse and not working without them. The philosophy is similar to that of "[smart](smart.md)" devices which assume that "Internet is everywhere" and so "let's put Internet into everything", even things that don't need any Internet at all (like hammers and teaspoons), and by the way they will no longer work without Internet (let's hope it doesn't go down lol). In this way **Plan 9 is a dictatorship** and [we](lrs.md) don't approve of it.

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -2,28 +2,53 @@
This is an autogenerated article holding stats about this wiki. This is an autogenerated article holding stats about this wiki.
- number of articles: 552 - number of articles: 553
- number of commits: 684 - number of commits: 685
- total size of all texts in bytes: 2936188 - total size of all texts in bytes: 2948313
longest articles: longest articles:
``` ```
104K c_tutorial.md 104K c_tutorial.md
64K capitalism.md 64K capitalism.md
52K less_retarded_society.md
48K chess.md 48K chess.md
48K less_retarded_society.md
44K how_to.md 44K how_to.md
36K faq.md 36K faq.md
32K 3d_rendering.md 32K 3d_rendering.md
32K game.md 32K game.md
32K random_page.md 32K random_page.md
28K mechanical.md 28K optimization.md
``` ```
latest changes: latest changes:
``` ```
Date: Sat Feb 10 12:19:55 2024 +0100
3d_rendering.md
assembly.md
bytecode.md
copyright.md
cpu.md
debugging.md
fantasy_console.md
good_enough.md
infinity.md
less_retarded_society.md
lrs_dictionary.md
main.md
marketing.md
minimalism.md
open_console.md
optimization.md
permacomputing.md
pokitto.md
programming.md
random_page.md
suckless.md
temple_os.md
wiki_pages.md
wiki_stats.md
Date: Thu Feb 8 12:07:53 2024 +0100 Date: Thu Feb 8 12:07:53 2024 +0100
bootstrap.md bootstrap.md
fantasy_console.md fantasy_console.md
@ -35,42 +60,21 @@ operating_system.md
random_page.md random_page.md
wiki_pages.md wiki_pages.md
wiki_stats.md wiki_stats.md
Date: Thu Feb 8 08:32:34 2024 +0100
arduboy.md
holy_war.md
open_console.md
pokitto.md
wikipedia.md
Date: Thu Feb 8 04:05:35 2024 +0100
arduboy.md
boot.md
bootstrap.md
css.md
golang.md
lgbt.md
lrs_dictionary.md
luke_smith.md
open_console.md
plan9.md
unix_philosophy.md
vim.md
wiki_pages.md
wiki_stats.md
``` ```
most wanted pages: most wanted pages:
``` ```
embedded.md embedded.md
buddhism.md
array.md array.md
meme.md meme.md
gpl.md
data_type.md data_type.md
buddhism.md
quake.md quake.md
lisp.md lisp.md
irl.md irl.md
gpu.md gpu.md
gpl.md
drm.md drm.md
cryptography.md cryptography.md
waiver.md waiver.md