This commit is contained in:
Miloslav Ciz 2023-03-08 20:23:02 +01:00
parent 672f0b0508
commit f7bad25b0a
7 changed files with 58 additions and 25 deletions

28
3d_model.md Normal file
View file

@ -0,0 +1,28 @@
# 3D Model
TODO
## 3D Modeling: How To Learn And Do It Well
WORK IN PROGRESS
Nowadays as a [FOSS](foss.md) user you will most likely do 3D modeling with [Blender](blender.md) -- we recommended it to start learning 3D modeling as it is powerful, [free](free_software.md), gratis, has many tutorials etc. Do NOT use anything [proprietary](proprietary.md) no matter what anyone tells you! Once you know a bit about it, you may try alternative programs (as Blender still has its flaws) or approaches (such as writing programs that generate 3D models etc.). However **as a beginner just start with Blender**, which is from now on in this article the software we'll suppose you're using.
**Start extremely simple and learn bottom-up**, i.e. learn about fundamentals and low level concepts and start with very simple models (e.g. simple untextured low-poly shape of a house, box with a roof), keep creating more complex models by small steps. Do NOT fall into the trap of "quick and easy magic 3D modeling" such as sculpting or some "[smart](smart.md) [apps](app.md)" without knowing what's going on at the low level, you'll end up creating extremely ugly, inefficient models in bad formats, like someone wanting to create space rockets without learning anything about math or physics first. Remember to **practice, practice, practice** -- eventually you learn by doing, so try to make small projects and share your results on sites such as opengameart to get feedback and some mental satisfaction and reward for your effort. The following is a possible path to learning 3D modeling well:
1. **Learn what 3D model actually is, how a computer represents it and roughly how [3D rendering](3d_rendering.md) works**. It is EXTREMELY important to have at least the very basic knowledge of the fundamentals, i.e. you should learn at least the following:
- 3D models that are used today consist of **vertices and [triangles](triangle.md)** (though higher polygons are usually supported in modeling software, everything is broken down to triangles eventually), computers usually store [arrays](array.md) of vertices and triangles as indices pointing to the array of vertices. Triangles have **facing** (front and back side, determined by the order of its vertices). These 3D models only represent the boundary (not the volume). These are called the model's **geometry**.
- **[Normals](normal.md)** are [vectors](vector.md) "perpendicular to the surface", they can be explicitly modified and stored or computed automatically and they are extremely important because they say how the model interacts with light (they are used in [shading](shading.md) of the model), i.e. which edges appear sharp or smooth. Normal maps are textures that can be used to modify normals to make the surface seem rough or otherwise deformed without actually modifying the geometry.
- **[Textures](texture.md)** are images (or image-like data) that can be mapped to the model surface to "paint it" (or give it other material properties). They are mapped to models by giving vertices texturing **UV coordinates**.
- 3D rendering (and also modeling) works with the concept of a **[scene](scene.md)** in which a number of models reside, as well as a virtual camera (or multiple ones), lights and other objects. These objects have transformations (normally translation, rotation and scale) and may form a hierarchy (some objects may be parents of other objects, meaning the child transformations are relative to parents) etc.
- A 3D renderer will draw the triangles the model consists of by applying **[shading](shading.md)** to determine color of each [pixel](pixel.md) of the triangle. Shading takes into account besides others texture(s) of the model, its material properties and light falling on the model (in which the model normals play a big role). Shading can be modified by creating **[shaders](shader.md)**.
- Learn about other concepts such as low/high poly modeling and basic 3D formats such as [OBJ](obj.md) and [COLLADA](collada.md) (which features they support etc.), possible other models representations ([voxels](voxel.md), [point clouds](point_cloud.md), ...).
2. **Manually create a few extremely simple [low-poly](low_poly.md) untextured models**, e.g. that of a simple house, laptop, hammer, bottle etc. Keep the vertex and triangle count very low (under 100), make the model by MANUALLY creating every vertex and triangle and focus only on learning this low level geometry manipulation well (how to create a vertex, how to split an edge, how to rotate a triangle, ...), making the model conform to good practice and get familiar with tools you're using, i.e. learn the key binds, locking movement direction to principal axes, learn manipulating your 3D view, setting up the free/side/front/top view with reference images etc. Make the model nice! I.e. make it have correctly facing triangles (turn backface culling on to check this), avoid intersecting triangles, remove all duplicate vertices (don't have multiple vertices with the same position), connect all that should be connected, avoid badly shaped triangles (e.g. extremely acute/long ones) etc. Also learn about normals and make them nice! I.e. try automatic normal generation (fiddle e.g. with angle thresholds for sharp/smooth edges), see how they affect the model look, try manually marking some edges sharp, try out smoothing groups etc. Save your final models in OBJ format (one of the simplest and most common formats supporting all you need at this stage). All this will be a lot to learn, that's why must not try to create a complex model at this stage. You can keep yourself "motivated" e.g. by aiming for creating a low-poly model collection you can share at opengameart or somewhere :)
3. **Learn texturing** -- just take the models you have and try to put a simple texture on them by drawing a simple image, then unwrapping the UV coordinates and MANUALLY editing the UV map to fit on the model. Again the goal is to get familiar with the tools and concepts now; experiment with helpers such as unwrapping by "projecting from 3D view", using "smart" UV unwrap etc. Only make a simple diffuse texture (don't do [PBR](pbr.md), material textures etc., that's too advanced now).
4. **Learn modifiers and advanced tools**. Modifiers help you e.g. with the creation of symmetric models: you only model one side and the other one gets mirrored. Subdivide modifier will automatically create a higher poly version of your model (but you need to help it by telling it which sides are sharp etc.). [Boolean](bool.md) operations allow you to apply set operations like unification or subtraction of shapes (but usually create a messy geometry you have to repair!). There are many tools, experiment and learn about their pros and cons, try to incorporate them to your modeling.
5. **Learn retopology and possibly sculpting**. Topology is an extremely important concept -- it says what the structure of triangles/polygons is, how they are distributed, how they are connected, which curves their edges follow etc. Good topology has certain rules (e.g. ideally only being composed of quads, being denser where the shape has more detail and sparser where it's flat, having edges so that animation won't deform the model badly etc.). Topology is important for efficiency (you utilize your polygon budget well), texturing and especially animation (nice deformation of the model). Creating more complex models is almost always done in the following two steps:
1. Creating the shape while ignoring topology, for example with sculpting (but also other techniques, e.g. just throwing shapes together). The goal is to just make the desired shape.
2. Retopology: creating a nice topology for the shape while keeping the shape unchanged. This is done by starting modeling from the start with the "stick to surface" option, i.e. whenever you create or move a vertex, it sticks to the nearest surface (surface of the created shape). Here you just try to create a new "envelope" on the existing shape while focusing on making the envelope's topology nice.
6. **Learn about materials and [shaders](shader.md)**. At this point you may learn about how to create custom shaders, how to create transparent materials, apply multiple textures, how to make realistic skin, [PBR](pbr.md) shaders etc. You should at least be aware of basic shading concepts and commonly encountered techniques such as [Phong shading](phong_shading.md), [subsurface scattering](subsurface_scattering.md), [screen space](screen_space.md) effects etc. because you'll encounter them in shader editors and you should e.g. know what performance penalties to expect.
6. **Learn animation**. First learn about keyframes and [interpolation](interpolation.md) and try to animate basic transformations of a model, e.g. animate a car driving through a city by keyframing its position and rotation. Then learn about animating the model's geometry -- first the simple, old way of morphing between different shapes (shape keys in Blender). Finally learn the hardest type of animation: skeletal animation. Learn about bones, armatures, rigging, inverse kinematics etc.
7. **Now you can go crazy** and learn all the uber features such as hair, physics simulation, [NURBS](nurbs.md) surfaces, boob physics etc.

3
3d_modeling.md Normal file
View file

@ -0,0 +1,3 @@
# 3D Modeling
The topic of 3D modeling will be part of article about [3D models](3d_model.md).

View file

@ -2,8 +2,7 @@
*Love everyone, help [selflessly](selflessness.md).* *Love everyone, help [selflessly](selflessness.md).*
Welcome to [Less Retarded Wiki](lrs_wiki.md), an encyclopedia only I can edit. But you can [fork](fork.md) it, it is [public domain](public_domain.md) under [CC0](cc0.md) (see [wiki rights](wiki_rights.md)) :) Holy [shit](shit.md), I'm gonna get [cancelled](cancel_culture.md) hard as soon as [SJWs](sjw.md) find out about this. Until then, let's enjoy the ride. THERE'S NO [MODERATION](moderation.md), I can do whatever I want here lol. I love this. INB4 "[hate speech](hate_speech.md)" website ([LMAO](lmao.md) [codeberg](codeberg.md) has already banned it). CONGRATULATIONS, you have discovered the one true, undistorted and unbiased view of the world -- this is not a [joke](jokes.md), this wiki contains pure truth and the solution to most of the issues of our society. Welcome to [Less Retarded Wiki](lrs_wiki.md), an encyclopedia only I can edit. But you can [fork](fork.md) it, it is [public domain](public_domain.md) under [CC0](cc0.md) (see [wiki rights](wiki_rights.md)) :) Holy [shit](shit.md), I'm gonna get [cancelled](cancel_culture.md) hard as soon as [SJWs](sjw.md) find out about this. Until then, let's enjoy the ride. THERE'S NO [MODERATION](moderation.md), I can do whatever I want here lol. I love this. INB4 "[hate speech](hate_speech.md)" website ([LMAO](lmao.md) [codeberg](codeberg.md) has already banned it; [Google](google.md) also doesn't find us unless you search for exact phrases). CONGRATULATIONS, you have discovered the one true, undistorted and unbiased view of the world -- this is not a [joke](jokes.md), this wiki contains pure truth and the solution to most of the issues of our society.
``` ```
.:FFFFFF: :FFFFFF:. .:FFFFFFFFFFF:. .:FFFFFFFFFFF:. .:FFFFFF: :FFFFFF:. .:FFFFFFFFFFF:. .:FFFFFFFFFFF:.
@ -39,7 +38,7 @@ Are you a failure? Learn [which type](fail_ab.md) you are.
We have a **[C tutorial](c_tutorial.md)**! It [rocks](rock.md). We have a **[C tutorial](c_tutorial.md)**! It [rocks](rock.md).
Pay us a visit on the [Island](island.md) and pet our [dog](dog.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. The future is dark but we do our best to bring the light, even knowing it is futile. Pay us a visit on the [Island](island.md) and pet our [dog](dog.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. [Modern](modern.md) age is a pile of shit extending to another galaxy. The future is dark but we do our best to bring the light, even knowing it is futile.
LRS Wiki is [collapse](collapse.md) ready! Feel free to print it out, take it to your prep shelter. You may also print copies of this wiki and throw it from a plane into the streets. Thanks. LRS Wiki is [collapse](collapse.md) ready! Feel free to print it out, take it to your prep shelter. You may also print copies of this wiki and throw it from a plane into the streets. Thanks.

27
rust.md
View file

@ -1,20 +1,21 @@
# Rust # Rust
Rust is an extremely bad attempt at politically motivated [capitalist](capitalism.md) [programming language](programming_language.md). It is extremely [harmful](harmful.md) not just because of its awful design and implementation, it also promotes harmful politics, tries to replace relatively good languages such as [C](c.md) and, worst of all, is gaining popularity among highly unqualified coding monkeys, i.e. the majority of people creating technology nowadays, so it is infecting everything and contributing to the downfall of technology. FOR THE LOVE OF GOD AVOID THIS SHIT. Rust is an extremely poor attempt at a politically motivated [capitalist](capitalism.md) [programming language](programming_language.md) and one of the prime examples of badly designed software in general. It is extremely [harmful](harmful.md) not just because of its awful design and implementation and motivation, it also promotes [toxic](toxic.md) politics, tries to replace relatively good languages such as [C](c.md) and, worst of all, is gaining popularity among highly unqualified coding monkeys, i.e. the majority of people creating technology nowadays, so it is infecting everything and contributing to the downfall of technology. FOR THE LOVE OF GOD STAY AS FAR AWAY AS POSSIBLE FROM RUST.
[LMAO](lmao.md) https://github.com/mTvare6/hello-world.rs [LMAO](lmao.md) https://github.com/mTvare6/hello-world.rs
It should be made clear that **rust is [shit](shit.md)** AND **CANNOT BE FIXED**, it is bad from the ground up and the only way to deal with it is to delete it. To mention just a few issues: It should be made clear that **rust is [shit](shit.md)** AND **CANNOT BE FIXED**, it is awful from the ground up and the only way to deal with it is to delete it. To mention just a few issues:
- Rust is [bloated](bloat.md) as hell. It sports TONS of [dependencies](dependency.md) even for trivial programs. The repo has FKN OVER 200 MB OF SOURCE CODE??? It probably doesn't have to be said it includes such unnecessary trash as [generics](generics.md), twisted [object obsession](oop.md) ("[traits](trait.md)"), [package manager](package_management.md), forced [memory safety](memory_safety.md) and whatnot. It itself depends on extreme bloat like [Python](python.md), [ninja](ninja.md), [cmake](cmake.md) etc. Apparently compiling rust even requires [Internet](internet.md) connection to download some bootstrap shit? - **Rust is [bloated](bloat.md) as hell**, it violates the most important philosophy in programming: the [Unix philosophy](unix_philosophy.md), and tries to do everything at once (i.e. follow the [Windows philosophy](windows_philosophy.md)). As such it sports **TONS of [dependencies](dependency.md) even for trivial programs**. The repo has FKN OVER 200 MB OF SOURCE CODE??? It probably doesn't have to be said it includes such unnecessary trash as [generics](generics.md), twisted [object obsession](oop.md) ("[traits](trait.md)"), [package manager](package_management.md), forced [memory safety](memory_safety.md) and whatnot. It itself depends on extreme bloat like [Python](python.md), [ninja](ninja.md), [cmake](cmake.md) etc. Apparently compiling rust even requires [Internet](internet.md) connection to download some bootstrap shit?
- It's just complete shit written, everyone complains it compiles slow as hell (both rust programs and rust itself), it creates HUGE binaries because it statically links all the dependencies and runtime environment [LMAO](lmao.md). - **It's just complete shit written**, everyone complains it compiles slow as hell (both rust programs and rust itself), it creates **HUGE binaries** because it statically links all the dependencies and runtime environment [LMAO](lmao.md).
- Rust is [capitalist software](capitalist_software.md) sponsored by corporations like [Mozilla](mozilla.md) and [Micro$oft](microsoft.md), trying to perpetuate the philosophy of "[modern](modern.md)" anti-people technology rather than steering it in [better direction](lrs.md). The Rust brand is [trademarked](trademark.md) and "protected" by corporations owning it. - **Rust is [capitalist software](capitalist_software.md)** sponsored by corporations like [Mozilla](mozilla.md) and [Micro$oft](microsoft.md), trying to perpetuate the philosophy of "[modern](modern.md)" anti-people technology rather than steering it in [better direction](lrs.md). The Rust brand is [trademarked](trademark.md) and "protected" by corporations owning it. Remember, a corporation NEVER sponsors anything without trying to buy some control over that thing.
- It has licensing/[freedom](free_software.md) issues, specifically making it difficult to exercise freedom 3 (legally modify software), see https://web.archive.org/web/20191224132425/https://wiki.hyperbola.info/doku.php?id=en:main:rusts_freedom_flaws. - **It has licensing/[freedom](free_software.md) issues**, specifically making it difficult to exercise freedom 3 (legally modify software), see https://web.archive.org/web/20191224132425/https://wiki.hyperbola.info/doku.php?id=en:main:rusts_freedom_flaws. **Its "[open source](open_source.md)" label is just [openwashing](openwashing.md)**, it is "open source" in the same way [Android](android.md) is open source (it has a "FOSS" license but it is de facto centrally controlled by some fascist group).
- Rust has no specification, it tries to discourage other implementations and as such greatly hurts basic principles of freedom. Lack of fixed specifications also creates [update culture](update_culture.md) etc. - **Rust has no specification**, it tries to discourage other implementations and as such greatly hurts basic principles of freedom. Lack of fixed specifications also creates [update culture](update_culture.md) etc.
- Rust is [fascist](fascism.md) [tranny software](tranny_software.md) -- not because it is written by trannsexuals, but because it sports political discrimination through [codes of conduct](coc.md) and creating a de-facto monopoly on the language (with [bloat monopoly](bloat_monopoly.md), lack of specification, kicking people out of development based on their political views etc.). - Due to the above, Rust is not really a language, it is more of a "platform" or "software framework" for programs -- Rust is a programming language in the same sense in which Google App Store is a package manager. If it becomes the mainstream language, it will do to computer programs what e.g. [Steam](steam.md) has done to video [games](game.md).
- Its selling point is supposed to be memory safety but that makes the language extremely slow. For fast programs safety has to be turned off but then you can just write in [C](c.md), so there is no point to Rust -- definitely not as a replacement for C. - **Rust is [fascist](fascism.md) [tranny software](tranny_software.md)** -- not because it is written by trannsexuals, but because it sports political discrimination through [codes of conduct](coc.md) and creating a de-facto monopoly on the language (with [bloat monopoly](bloat_monopoly.md), lack of specification, kicking people out of development based on their political views etc.).
- It ridiculously tries to be a handholding system language, i.e. an expert level language designed for beginners or incompetent people (of course with the obvious goal to empower women forced into tech etc.). Being written by pre-beginner level "[coders](coding.md)", it sets goals such as "system language should tie your hands and prevent beginner mistakes". It's like trying to design a fighter jet around the idea that it will be operated by beginners and therefore e.g. removing fire buttons or limiting top speed so as to limit dangers posed by sitting an amateur pilot in a fighter jet. - Its selling point is supposed to be memory safety but that makes the language **extremely slow**. For fast programs safety has to be turned off but then you can just write in [C](c.md), so there is no point to Rust -- definitely not as a replacement for C.
- It is more than anything a political language trying to push propaganda, send messages about minorities in tech instead of creating good technology, and "[fight](fight_culture.md)" and destroy languages invented by straight white men -- the most popular activity of rust soydevs seems to be rewriting already existing, well established, tested and greatly optimized programs from scratch in rust. As such language it is mostly written by angry minorities such as [girls](girl.md) and trannies who can't much into technology, hence the completely shit design and implementation. - It ridiculously tries to be a **"handholding system language"**, i.e. an expert level language designed for beginners or incompetent people (of course with the obvious goal to empower women forced into tech etc.). Being written by pre-beginner level "[coders](coding.md)", it sets goals such as "system language should tie your hands and prevent beginner mistakes". It's like trying to design a fighter jet around the idea that it will be operated by beginners and therefore e.g. removing fire buttons or limiting top speed so as to limit dangers posed by sitting an amateur pilot in a fighter jet.
- It tries to displace good languages such as [C](c.md) and sadly, thanks to its populism and political appeal, is becoming popular among masses of coding monkeys who have no idea about technology. - It is more than anything a **political language trying to push propaganda**, send messages about minorities in tech instead of creating good technology, and "[fight](fight_culture.md)" and destroy languages invented by straight white men -- the most popular activity of rust soydevs seems to be rewriting already existing, well established, tested and greatly optimized programs from scratch in rust. As such language it is mostly written by angry minorities such as [girls](girl.md) and trannies who can't much into technology, hence the completely shit design and implementation.
- It is completely unnecessary in the first place, a good low level language already exists: [C](c.md). If anything, we need to improve C by making it [simpler](minimalism.md), but overcomplicated C also already exists for those who for some reason want to use a shit language: [C++](cpp.md), and there are of course also slow and safe language well suited for beginners, such as [Python](python.md). Rust is just flushing thousands of manhours (prolly rather soiboihours) to the toilet. - **It tries to displace good languages** such as [C](c.md) and sadly, thanks to its populism and political appeal, is becoming popular among masses of coding monkeys who have no idea about technology.
- **It is completely unnecessary** in the first place, a good low level language already exists: [C](c.md). If anything, we need to improve C by making it [simpler](minimalism.md), but overcomplicated C also already exists for those who for some reason want to use a shit language: [C++](cpp.md), and there are of course also slow and safe language well suited for beginners, such as [Python](python.md). Rust is just flushing thousands of manhours (prolly rather soiboihours) down the toilet.
- TODO: MORE, but you get the idea - TODO: MORE, but you get the idea

4
sin.md
View file

@ -119,9 +119,9 @@ int sinInt(int x)
sign *= -1; sign *= -1;
} }
int tmp = PI - x; x *= PI - x;
return sign * (16 * x * tmp) / ((5 * PI * PI - 4 * x * tmp) / UNIT); return sign * (16 * x) / ((5 * PI * PI - 4 * x) / UNIT);
} }
``` ```

View file

@ -1,10 +1,10 @@
# Suckless # Suckless
Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), freedom and hackability, and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless ideas. Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), freedom and [hackability](hacking.md), and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless ideas.
Suckless is pretty cool, it has inspired LRS, but watch out, as with most of the few promising things nowadays it is half cool and half shitty -- for example most suckless followers seem to be [rightists](leve_vs_right.md) and [capitalists](capitalism.md) who are motivated by [harmful](harmful.md) goals such as their own increased [productivity](productivity_cult.md), not by altruism. LRS fixes this, we only take the good ideas of suckless. The community is relatively a small niche but has also seen a growth in popularity sometime in 2010s, thanks to tech youtubers such as [Luke Smith](luke_smith.md), [Distro Tube](distro_tube.md) and [Mental Outlaw](mental_outlaw.md). It has also gained traction on [4chan](4chan.md)'s technology board. While consisting a lot of expert programmers and [hackers](hacker.md) mostly interested in systems like [GNU](gnu.md)/[Linux](linux.md), [BSDs](bsd.md) and [Plan 9](plan9.md), a lot of less skilled "[Linux](linux.md)" users and even complete non-programmers have started to use suckless to various degrees -- [dwm](dwm.md) has for example seen a great success among "Unix porn" lovers and chronic [ricers](ricing.md). While some members are hardcore minimalists and apply their principles to everything, some just cherry pick programs they find nice and integrate them in their otherwise bloated systems.
Notable suckless promoters on mainstream social media include [Luke Smith](luke_smith.md), [DistroTube](distrotube.md) and [Mental Outlaw](mental_outlaw.md). Suckless is pretty cool, it has inspired LRS, but watch out, as with most of the few promising things nowadays it is half cool and half shitty -- for example most suckless followers seem to be [rightists](levf_vs_right.md) and [capitalists](capitalism.md) who are motivated by [harmful](harmful.md) goals such as their own increased [productivity](productivity_cult.md), not by altruism. LRS fixes this, we only take the good ideas of suckless.
{ From what it seems to me, the "official" suckless community is largely quiet and closed, leading conversations mostly on mailing lists and focusing almost exclusively on the development of their software without politics, activism and off topics, probably because they consider it bullshit that would only be distracting. There is also suckless subreddit which is similarly mostly focused on the software alone. They let their work speak. Some accuse the community of being Nazis, however I believe this is firstly irrelevant and secondly mostly false accusations of haters, even if we find a few Nazis among them, just as in any community. Most pro-suckless people I've met were actually true socialists (while Nazis are not socialist despite their name). Unlike [tranny software](tranny_software.md), suckless software itself doesn't promote any politics, it is a set of purely functional tools, so the question of the developers' private opinions is unimportant here. Suckless ideas are good regardless of whose brains they came from. ~drummyfish } { From what it seems to me, the "official" suckless community is largely quiet and closed, leading conversations mostly on mailing lists and focusing almost exclusively on the development of their software without politics, activism and off topics, probably because they consider it bullshit that would only be distracting. There is also suckless subreddit which is similarly mostly focused on the software alone. They let their work speak. Some accuse the community of being Nazis, however I believe this is firstly irrelevant and secondly mostly false accusations of haters, even if we find a few Nazis among them, just as in any community. Most pro-suckless people I've met were actually true socialists (while Nazis are not socialist despite their name). Unlike [tranny software](tranny_software.md), suckless software itself doesn't promote any politics, it is a set of purely functional tools, so the question of the developers' private opinions is unimportant here. Suckless ideas are good regardless of whose brains they came from. ~drummyfish }
@ -16,7 +16,7 @@ Notable suckless promoters on mainstream social media include [Luke Smith](luke_
- Mainly using two [programming languages](programming_language.md): **[C](c.md)** (C89 or C99) for compiled programs and **[POSIX shell](posix_shell.md)** for scripting. - Mainly using two [programming languages](programming_language.md): **[C](c.md)** (C89 or C99) for compiled programs and **[POSIX shell](posix_shell.md)** for scripting.
- **[Forking](fork.md) and [compiling](compiling.md) by default**, software is distributed in source format (no binaries), every user is supposed to create a personal customized fork and compile/customize the software himself. - **[Forking](fork.md) and [compiling](compiling.md) by default**, software is distributed in source format (no binaries), every user is supposed to create a personal customized fork and compile/customize the software himself.
- Mods (extension/addons) are implemented and distributed as **[patch](patch.md) files**. The idea is to fork the base version of the software and then apply patches to make a unique, completely personalized version of the software. - Mods (extension/addons) are implemented and distributed as **[patch](patch.md) files**. The idea is to fork the base version of the software and then apply patches to make a unique, completely personalized version of the software.
- **Typical upper limit for [lines of code](loc.md) of about 10k**, mostly just about 1-2k. - **Typical upper limit for [lines of code](loc.md) of about 10k**, mostly just about 1-2k. This makes software easy to understand, modify, fork and maintain.
- **Focus on the technology itself** without mixing it with [politics](politics.md) and other [bullshit](bs.md) such as [COCs](coc.md). - **Focus on the technology itself** without mixing it with [politics](politics.md) and other [bullshit](bs.md) such as [COCs](coc.md).
- Not aiming for mainstream popularity, being a bit of an **elite club**, in the good sense -- suckless is for expert users who understand, handle and create non-mainstream technology without handholding. Trying to be normie friendly would just lead to software and community that looks like the mainstream software and its community. - Not aiming for mainstream popularity, being a bit of an **elite club**, in the good sense -- suckless is for expert users who understand, handle and create non-mainstream technology without handholding. Trying to be normie friendly would just lead to software and community that looks like the mainstream software and its community.
@ -26,7 +26,7 @@ Suckless in current form has existed since 2006 when the domain suckless.org was
Some time before 2010 suckless developed [stali](stali.md), a statically linked [glibc](glibc.md)-less ["Linux distro"](distro.md) that was based on the idea that [dynamic linking](dynamic_linking.md) is [harmful](harmful.md) and that [static linking](static_linking.md) is mostly advantageous. It also came with suckless software by default. This project was made independent and split from suckless in 2018 by Garbe. Some time before 2010 suckless developed [stali](stali.md), a statically linked [glibc](glibc.md)-less ["Linux distro"](distro.md) that was based on the idea that [dynamic linking](dynamic_linking.md) is [harmful](harmful.md) and that [static linking](static_linking.md) is mostly advantageous. It also came with suckless software by default. This project was made independent and split from suckless in 2018 by Garbe.
In 2012 a core veteran member of suckless, [Uriel](uriel.md), has killed himself and became a [meme](meme.md). In 2012 a core veteran member of suckless, a Spanish guy nicknamed [Uriel](uriel.md), has killed himself and became a [meme](meme.md).
## Projects ## Projects
@ -38,4 +38,4 @@ Notable projects developed by the suckless group include:
- [surf](surf.md) - [surf](surf.md)
- [stali](stali.md) - [stali](stali.md)
However there are many more, check out their website. However there are many more ([IRC](irc.md) clients, file formats, presentation software, ...), check out their website.

View file

@ -1,6 +1,8 @@
# Work # Work
Work is an unpleasant effort that one is required to make such as harvesting crops or [debugging](debugging.md) computer programs. Work hurts living beings and takes away the meaning of their lives. Work makes us slaves, it wastes our lives and is a cause of a large number of [suicides](suicide.md). One of the main goals of civilization is to eliminate any need for work, i.e. create machines that will do all the work for humans. *Work is a glorification of [slavery](slavery.md).*
Work is an unpleasant effort that one is required to suffer, such as harvesting crops or [debugging](debugging.md) computer programs. Work hurts living beings and takes away the meaning of their lives, it destroys their bodies and minds. Work makes us slaves, it wastes our lives and is a cause of a large number of [suicides](suicide.md) -- many consider it better to die than to work. One of the main goals of civilization is to eliminate any need for work, i.e. create machines that will do all the work for humans (see [automation](automation.md)).
While good society tries to eliminate work, [capitalism](capitalism.md) aims for the opposite, i.e. artificially creating bullshit jobs and bullshit needs so as to keep everyone enslaved to the system. Fortunately movements such as the [antiwork](antiwork.md) movement try to oppose this, however masses have already been brainwashed to be hostile to such movements and instead demand their own enslavement. While good society tries to eliminate work, [capitalism](capitalism.md) aims for the opposite, i.e. artificially creating bullshit jobs and bullshit needs so as to keep everyone enslaved to the system. Fortunately movements such as the [antiwork](antiwork.md) movement try to oppose this, however masses have already been brainwashed to be hostile to such movements and instead demand their own enslavement.