This commit is contained in:
Miloslav Ciz 2024-05-02 22:35:34 +02:00
parent fab11be42b
commit 1cfa0787d3
16 changed files with 1922 additions and 1760 deletions

View file

@ -1,5 +1,7 @@
# Aliasing # Aliasing
*See also [antialiasing](antialiasing.md).*
Aliasing is a certain typically undesirable phenomenon that distorts [signals](signal.md) (such as sounds or images) when they are [sampled](sampling.md) [discretely](discrete.md) (captured at single points, usually at periodic intervals) -- this can happen e.g. when capturing sound with digital recorders or when [rendering](rendering.md) computer graphics. There exist [antialiasing](antialiasing.md) methods for suppressing or even eliminating aliasing. Aliasing can be often seen on small checkerboard patterns as a moiré pattern (spatial aliasing), or maybe more famously on rotating wheels or helicopter rotor blades that in a video look like standing still or rotating the other way (temporal aliasing, caused by capturing images at intervals given by the camera's [FPS](fps.md)). Aliasing is a certain typically undesirable phenomenon that distorts [signals](signal.md) (such as sounds or images) when they are [sampled](sampling.md) [discretely](discrete.md) (captured at single points, usually at periodic intervals) -- this can happen e.g. when capturing sound with digital recorders or when [rendering](rendering.md) computer graphics. There exist [antialiasing](antialiasing.md) methods for suppressing or even eliminating aliasing. Aliasing can be often seen on small checkerboard patterns as a moiré pattern (spatial aliasing), or maybe more famously on rotating wheels or helicopter rotor blades that in a video look like standing still or rotating the other way (temporal aliasing, caused by capturing images at intervals given by the camera's [FPS](fps.md)).
A simple example showing how sampling at discrete points can quite dramatically alter the recorded result: A simple example showing how sampling at discrete points can quite dramatically alter the recorded result:

View file

@ -14,4 +14,145 @@ Note that the word *anti* in antialising means that some methods may not prevent
- **[MIP mapping](mipmap.md)**: Way of preventing aliasing in rendering of scaled-down [textures](texture.md) by having precomputed scaled-down antialiased versions of it. - **[MIP mapping](mipmap.md)**: Way of preventing aliasing in rendering of scaled-down [textures](texture.md) by having precomputed scaled-down antialiased versions of it.
- **[anisotrpic filtering](anisotropic_filtering.md)**: Improved version of MIP mapping. - **[anisotrpic filtering](anisotropic_filtering.md)**: Improved version of MIP mapping.
- **[motion blur](motion_blur.md)**: Temporal antialiasing in video, basically increasing the number of samples in the time domain. - **[motion blur](motion_blur.md)**: Temporal antialiasing in video, basically increasing the number of samples in the time domain.
- ... - ...
## Code Example
Here is a quite primitive example of [supersampling](supersampling.md) (one of the simplest antialiasing methods) in [C](c.md). We will draw a two dimensional "fish eye" distorted [sine](sin.md) pattern (similar to checkerboard pattern but smooth, to show that aliasing happens even with smooth images!) that gets smaller towards the edges, i.e. the pattern is quite big in the center but near the edges the brightness oscillates with subpixel frequency which will lead to aliasing. First we'll draw the pattern as is, i.e. taking one sample per each pixel, letting aliasing happen; then we'll try to suppress aliasing by taking multiple samples per each pixel and averaging them -- this effectively increases our sampling frequency. It is basically equivalent to drawing the picture in increased resolution and then smoothly downsizing it (but in practice we don't do this as we'd waste a lot of [RAM](ram.md) on storing the big resolution picture, which is completely unnecessary). Let's see the code.
```
#include <stdio.h>
#include <math.h>
#define W 64 // image width
#define H 32 // image height
#define S 9.0 // pattern scale
const char palette[] = "#OVaxsflc/!;,.- ";
double sample(double x, double y) // function sampling our pattern
{
return sin(S / (x < 0 ? (x + 1) : (1 - x))) *
sin(S / (y < 0 ? (y + 1) : (1 - y)));
}
char doubleToChar(double x) // maps <-1,1> brightness to palette character
{
int i = ((x + 1) / 2.0) * 15;
return palette[i < 0 ? 0 : (i > 15 ? 15 : i)];
}
void draw(int antialiasSamples)
{
#define OFFSET 0.0001 // this tiny offset makes the pictures a bit nicer
double
x, y = -1 + OFFSET,
stepX = 2.0 / W,
stepY = 2.0 / H;
double
aaStepX = stepX / antialiasSamples,
aaStepY = stepX / antialiasSamples;
for (int j = 0; j < H; ++j) // draw rows
{
x = -1 + OFFSET;
for (int i = 0; i < W; ++i) // draw columns
{
double r = 0;
for (int l = 0; l < antialiasSamples; ++l)
for (int k = 0; k < antialiasSamples; ++k)
r += sample(x + k * aaStepX,y + l * aaStepY);
putchar(doubleToChar(r / (antialiasSamples * antialiasSamples)));
x += stepX;
}
y += stepY;
putchar('\n');
}
}
int main(void)
{
draw(1);
putchar('\n');
draw(8);
return 0;
}
```
Here are the results, first picture is without any antialiasing, second one with 8x8 supersampling (i.e. taking 64 samples per pixel):
```
c//xfs/c!fcs/lxf//cfssflc/!//cllfllc//!/clfssfc//fxl/scf!c/sfscl
/,!Vsa;c,x!a,cVs;,cxVVxl!;,,;/cfsfc/;,,;!lxVVxc,;sVc,a!x,/;afVcc
fss/c/sfscf/sl/cssfc//clfssssfllcllfssssflc//cfssc/ls/fcsfs/l/fl
/,;OsV;/.x!V,cOs;,/xVVxl!,.,;!cfsfc!;,.,!lxVVx/,;sOc,V!x./;VfV/c
!-,#sO./-a;O-c#x.-/a##al;.--.;cfxfc;.--.;la##a/-.x#c-O;a-/.#f#/c
c!!afx!c;s/x!caf!!csaxsl/!;;!/clslc/!;;!/lsxasc!!fac!x/s;c!xfacl
/.,#sO,/-a!O.c#s,./a#Oxl;.-.,!cfxfc!,.-.;lxO#a/.,s#c.O!a-/,Of#/c
x#V-/.Os#;a.#f-!O#s;--;laO##Oafc!cfaO##Oal;--;s#O!-f#.a;#sO-c-sf
/,;OsV;/.x!V,cOs;,/xVVxl!,.,;!cfsfc!;,.,!lxVVx/,;sOc,V!x./;VfV/c
c/csfs/c/fcs/lsf//cfssflc////cllfllc////clfssfc//fsl/scf/c/slscl
s#V-/.Vs#;a.#f-/V#s;--;laO##Vafc!cfaO##Oal;--;s#V!-f#.a;#sO.c-sf
fxx;c!xfa/s!xf;cxaf/;!/lsxaaxsfc/lfsxaaxsl/!;/faxc;fx!s/afx!c;fl
c;!afx!c;s/x;caf!;csaasl/!;;!/cfsfc/!;;!/lsaasc;!fac;a/s;c!afacl
!-,#sO./-a;O-c#x.-/a##al;.--.;cfxfc;.--.;la##a/-.x#c-#;a-/.#f#/c
/,;OsV;/.x!V,cOs;,/xVVxl!,.,;!cfsfc!;,.,!lxVVx/,;sOc,V!x./;VfV/c
lccflfclcfcfclflcclfffflccccccllfllcccccclfffflcclflcfcfclcflfll
fxs!c!sfx/s!xl!csxf/!!/lsxxxsfflclffsxxxsl/!!/fxsc!fx!s/xfs!c!fl
lccflfclcfcfclflcclfffflccccccllfllcccccclfffflcclflcfcfclcflfll
/,;OsV;/.x!V,cOs;,/xOVxl!,.,;!cfsfc!;,.,!lxVVx/,;sOc,V!x./;VfV/c
!-,#sO./-a;O-c#x.-/a##al;.--.;cfxfc;.--.;la##a/-.x#c-#;a-/.#f#/c
c;!afx!c;s/x;caf!;csaasl/!;;!/cfsfc/!;;!/lsaasc;!fac;x/s;c!afacl
fax;c!xfa/s!xf;cxaf/;!/lsxaaxsfc/cfsxaaxsl/!;/faxc;fx!s/afx!c;fl
s#V-/.Vs#;a.#f-/V#s;--;laO##Vafc!cfaV##Oal;--;s#V!-f#.a;#sO.c-sf
c/csfs/c/fcs/lsf//cfssflc////cllfllc////clfssfc//fsl/scf/c/slscl
/,;OsV;/.x!V,cOs;,/xVVxl!,.,;!cfsfc!;,.,!lxVVx/,;sOc,V!x./;VfV/c
x#V-/.Os#;a.#f-!O#s;--;laO##Oafc!cfaO##Oal;--;s#O!-f#.a;#sO-c-sf
/.,#sO,/-a!O.c#s,./a#Oxl;.-.,!cfxfc!,.-.;lxO#a/.,s#c.O!a-/,Of#/c
c;!afx!c;s/x!caf!;csaxsl/!;;!/cfsfc/!;;!/lsxasc;!fac!x/s;c!xfacl
!-,#sO./-a;O-c#x.-/a##al;.--.;cfxfc;.--.;la##a/-.x#c-O;a-/.#f#/c
/,;OsV;/.x!V,cOs;./xOVxl!,..;!cfsfc!;..,!lxVOx/.;sOc,V!x./,VfO/c
fffclcflfcfcflccfflcccclffffffllcllfffffflcccclffcclfcfcflfclcll
c/csfs/c/fcs/lsf//cfssflc////cllfllc////clfssfc//fsl/scf/c/slscl
llllllllllllflclfflcccllfffffllllllfffffllccclfflccflcflllllllll
llllllllllllflclfflcccllfffffllllllfffffllccclfflccflcflllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllclflcclfffllccccclllllllccccllffflcclflclfllllllllll
lllllllllfclfcclfflcccllfffffllllllfffffllccclfflccflcfcllllllll
lllllllccs/lx/!fxsl!!!cfsxxxsflcclfsxxxxfc/!!csxf!/sf/scllfllcll
ffflllcff!xl,xVc.;fVOas/;..,;/lssl/;,..;/faOVf;./aa;ca;sllcflflf
ccclllfccx!lV!,fOac,.,/saOOVasl//lsaVOOVsc;.,caOs,;af;a/llfcfclc
ffflllcff!xl.xOc.,fV#Vs/,--.;/lssl/;.--,/fV#Of;-/Va,ca;xflcfcflf
llllllllllllflclflllcllllfffllllllllfffllllccllfllllllllllllllll
ccclllfcca!lO!.f#Vc.-./sV##OVxl//lsaO##Vsc,-.cV#s,;Vf,a!clscfclc
lllllllllfclsc/lsflc/ccffsssfflcclffsssfflc//lfsfccflcfcllllllll
ffflllcff!sl;sac,;laVafc;,,,!/lfsl/!;,,;/faVaf!,/ax;cx!sllcflflf
ffflllcff;xl.aOc-,fO#Os/,--.,!lssl/,.--,/fV#Of,-/OV,cV,xfl/fcflf
ffflllcff/sl;sac;!laVafc!,,;!/lffl/!;,,;/fxVaf!,cax!cx!sllcflflf
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
lllllllllfclsc/lssl///cfssssfflcclffssssfl///lfsf/cslcfcllllllll
lllllllllcfl/fsl//lsssfc/////clfflcc////clssslc/csf/lfcfllclllll
ffflllcff!xl,xVc.;fVOVs/;...;/lssl/;,..,/faOVf;./Va,ca;sllcfcflf
ffflllcff!xl.xOc-,fV#Vs/,--.,!lssl/;.--,/fV#Of;-/Va,ca;xfl/fcflf
lllllllllcfl/fsl//lsssfc/////clfflc/////clsssl//css/ls/fllclllll
ccclllfccx/la/;fVal;,;cfaVVVxslc/lsxaVVasc;,;cxVs;!af!x/llfclclc
ccclllfccx!lV!,fOac,.,/saOOVasl//lsaVOOasc;.,caOs,;af;a/llfclclc
ffflllcff/sl;sac;!laVxfc!;,;!/lfflc!;,;!/fxVaf!;cxx!cx!sllcllflf
lllllllllcfl/fsl//lsssfc////cclfflcc////clssslc/csf/lfcfllllllll
cccllllccs/la/;faxl!;!cfxaVaxslcclfxaaaxsc!;;cxaf!!xf!x/llfllclc
lllllllllcflcfflcclfffllcccccllllllcccccllffflcclffclfclllllllll
fffllllff/sl;sac;!lxaxfc!;,;!/lfflc!;;;!/fxaaf!;cxx!cx!sllcllflf
llllllllllllllllflllcllllffflllllllllffllllclllfllllllllllllllll
lllllllllcflcfflcclfsfllc//cccllllccc//cclfsflc/lffclfcfllllllll
llllllllllllllflclllfllllcccllllllllcccllllflllcllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
```
It's a bit harder to see with [ASCII art](ascii_art.md) but still it is noticeable even here (the more it will be seen in "real" graphics) -- the first version of the image is much noisier, despite the underlying pattern itself being smooth, just sampled differently. Notice the images really significantly differ near the edges where aliasing appears, the center is basically the same -- here we can spot an obvious weakness of supersampling: that we have wasted computational power on supersampling the part which didn't need it. You can think of ways how this could be improved. Also think for example about placing our samples within one pixel differently than in a uniform grid -- what effect would it have? Here are things for you to explore.

View file

@ -6,6 +6,8 @@ Comun is a [beautiful](beauty.md), greatly [minimalist](minimalism.md) [programm
The language is intended to be the foundation of a completely new, non-[capitalist](capitalism.md) computer technology built from the ground up, which should culminate in the creation of the LRS much desired [public domain computer](public_domain_computer.md). This technology is derived from the model of an [ideal society](less_retarded_society.md) and as such will aim for completely different goals (such as helping all living beings as much as possible without enslaving them) and values; this makes comun astronomically different in philosophy and design of the shitty, toxic capitalist joke languages such as [C++](cpp.md) and [Rust](rust.md) which pursue fascism, enslavement of humans to the [productivity cult](productivity_cult.md) etc. The language is intended to be the foundation of a completely new, non-[capitalist](capitalism.md) computer technology built from the ground up, which should culminate in the creation of the LRS much desired [public domain computer](public_domain_computer.md). This technology is derived from the model of an [ideal society](less_retarded_society.md) and as such will aim for completely different goals (such as helping all living beings as much as possible without enslaving them) and values; this makes comun astronomically different in philosophy and design of the shitty, toxic capitalist joke languages such as [C++](cpp.md) and [Rust](rust.md) which pursue fascism, enslavement of humans to the [productivity cult](productivity_cult.md) etc.
Comun is planned to closely interact with [comun shell](comun_shell.md), though the two parts will be completely independent.
**A quick sum up** is following: comun is **[minimalist](minimalism.md)**, **[low level](low_level.md)** with minimum [abstraction](abstraction.md), **[portable](portability.md)**, **[imperative](imperative.md)** and **[stack](stack.md)-based**, using **reverse Polish notation**. It can be **both [compiled](compiler.md) and [interpreted](interpreter.md)**. There are **only primitive integer [data types](data_type.md)** (native integer size by default with possibility to specify exact width where necessary, signed/unsigned interpretation is left to the programmer) and **optional [pointers](pointer.md)** that can be used as variables, for managing multiple stacks, creating [arrays](array.md) etc. Its **specification can fit on a sheet of paper** and is **completely [public domain](public_domain.md)** under [CC0](cc0.md) (as is its current implementation). It has **no [standard library](stdlib.md)**. There are **no [English](english.md) keywords**; commands are rather very short (mostly 1 to three symbols) math-like symbols. Source code only allows [ASCII](ascii.md) symbols (no [unicode](unicode.md)). There is an **optional [preprocessor](preprocessor.md) that uses comun itself** (i.e. it doesn't use any extra language). **[Functions](function.md) and [recursion](recursion.md)** are supported. Many features of the language are optional and never burden the programmer if he doesn't use them. Simplified versions of the language (minicomun and microcomun) are also specified. **A quick sum up** is following: comun is **[minimalist](minimalism.md)**, **[low level](low_level.md)** with minimum [abstraction](abstraction.md), **[portable](portability.md)**, **[imperative](imperative.md)** and **[stack](stack.md)-based**, using **reverse Polish notation**. It can be **both [compiled](compiler.md) and [interpreted](interpreter.md)**. There are **only primitive integer [data types](data_type.md)** (native integer size by default with possibility to specify exact width where necessary, signed/unsigned interpretation is left to the programmer) and **optional [pointers](pointer.md)** that can be used as variables, for managing multiple stacks, creating [arrays](array.md) etc. Its **specification can fit on a sheet of paper** and is **completely [public domain](public_domain.md)** under [CC0](cc0.md) (as is its current implementation). It has **no [standard library](stdlib.md)**. There are **no [English](english.md) keywords**; commands are rather very short (mostly 1 to three symbols) math-like symbols. Source code only allows [ASCII](ascii.md) symbols (no [unicode](unicode.md)). There is an **optional [preprocessor](preprocessor.md) that uses comun itself** (i.e. it doesn't use any extra language). **[Functions](function.md) and [recursion](recursion.md)** are supported. Many features of the language are optional and never burden the programmer if he doesn't use them. Simplified versions of the language (minicomun and microcomun) are also specified.
## Examples ## Examples
@ -88,5 +90,7 @@ TODO: more, code examples, compare the above with C, ...
## See Also ## See Also
- [comun shell](comun_shell.md)
- [MIX](mix.md) - [MIX](mix.md)
- [uxn](uxn.md) - [uxn](uxn.md)
- [minim](minim.md)

View file

@ -1,7 +1,11 @@
# Dungeons And Dragons # Dungeons And Dragons
TODO Dungeons & Dragons (D&D, DnD) is a [proprietary](proprietary.md) tabletop [RPG](rpg.md) [game](game.md) for ugly people who are desperate for social contact at least with other ugly people.
{ Sorry, I may start world war 3 by saying this, but I think D&D sucks. ~drummyfish } { Sorry, I may start world war 3 by saying this, but I think D&D sucks. ~drummyfish }
The idea behind D&D is really, really cool in theory... HOWEVER in practice we just get something so excruciatingly awfully cringe; screeching, sweating autistic fat men pretending to be young female fairies, it would really be much more pleasant to eat glass than watch D&D session in progress. D&D is not really like what it seems at first sight, it is NOT a game for "smart" people who don't fit in because of their huge IQ, it's more of a last resort place for people who would LOVE to socialize so much but can't because they're extremely ugly or unlovable and no one wants to be around them. It's really so SO PAINFUL to watch the most beta soy fatman trying to masturbate his ego by awful attempts at acting and pretending he's a general of orc army or something while holding some plastic sword, thinking that when he drops all restraints and screeches on top of his lungs he will suddenly look like Brad Pitt and he'll impress that one real weird beta female that's always present in any D&D session. Real [nerds](nerd.md) just hate people and won't try to look for socialization even with other nerds. Furthermore it's not even a real game with strictly set rules, it's more of a collaborative story writing and acting, it's almost closer to dumb normie stuff like theatre and whatnot, a real nerd MAY want to get into writing, but he will have enough of a vision to not let some random averages fuck up his universe, that just smells by want of social interaction rather than being an attempt at creating good art -- so yeah, it's not really about fantasy, playing a game or anything, just about desperately trying to interact with any people at all for any cost. The idea behind D&D is really, really cool in theory... HOWEVER in practice we just get something so excruciatingly awfully cringe; screeching, sweating autistic fat men pretending to be young female fairies, it would really be much more pleasant to eat glass than watch D&D session in progress. D&D is not really like what it seems at first sight, it is NOT a game for "smart" people who don't fit in because of their huge IQ, it's more of a last resort place for people who would LOVE to socialize so much but can't because they're extremely ugly or unlovable and no one wants to be around them. It's really so SO PAINFUL to watch the most beta soy fatman trying to masturbate his ego by awful attempts at acting and pretending he's a general of orc army or something while holding some plastic sword, thinking that when he drops all restraints and screeches on top of his lungs he will suddenly look like Brad Pitt and he'll impress that one real weird beta female that's always present in any D&D session. Real [nerds](nerd.md) just hate people and won't try to look for socialization even with other nerds. Furthermore it's not even a real game with strictly set rules, it's more of a collaborative story writing and acting, it's almost closer to dumb normie stuff like theatre and whatnot, a real nerd MAY want to get into writing, but he will have enough of a vision to not let some random averages fuck up his universe, that just smells by want of social interaction rather than being an attempt at creating good art -- so yeah, it's not really about fantasy, playing a game or anything, just about desperately trying to interact with any people at all for any cost.
## See Also
- [geek](geek.md)

View file

@ -1,9 +1,9 @@
# Elon Mu$k # Elon Mu$k
Elon Musk is an enormous [capitalist](capitalism.md) dick. Elon's hair is the least fake thing about him. His [IQ](iq.md) is immesurably low but he liked to LARP as Einstein on Twitter, it's super cringe, he's like a child, just more retarded and uglier. Elon Musk is an enormous [capitalist](capitalism.md) dick. Elon's hair is the least fake thing about him. His [IQ](iq.md) is immesurably low but he likes to LARP as Einstein on Twitter, it's super cringe, he's like a child, just more retarded and uglier.
TODO: more dirt TODO: more dirt
Musk's company [Neuralink](neuralink.md) killed 1500 animals in 4 years, was charged with animal cruelty ([sauce](https://me.mashable.com/tech/22724/elon-musks-neuralink-killed-1500-animals-in-four-years-now-under-trial-for-animal-cruelty-report)). Musk's company [Neuralink](neuralink.md) killed 1500 animals in 4 years, was charged with animal cruelty ([sauce](https://me.mashable.com/tech/22724/elon-musks-neuralink-killed-1500-animals-in-four-years-now-under-trial-for-animal-cruelty-report)).
TODO: that moment he tried to play superhero when the kids got stuck in the cave :D TODO: that moment he tried to play [superhero](hero_culture.md) when the kids got stuck in the cave :D

View file

@ -228,7 +228,7 @@ Bear in mind the main purpose of this quiz is for you to test your understanding
56. We can rewrite the condition as *f(x + 1) = f(x) + x* from which it's clear that the next number in the sequence is the previous one minus its position (a bit similar to [Fibonacci](fibonacci.md) sequence), so for example this sequence will satisfy the equation: 0, 0, 1, 3, 6, 10, 15, ... 56. We can rewrite the condition as *f(x + 1) = f(x) + x* from which it's clear that the next number in the sequence is the previous one minus its position (a bit similar to [Fibonacci](fibonacci.md) sequence), so for example this sequence will satisfy the equation: 0, 0, 1, 3, 6, 10, 15, ...
57. [quine](quine.md) 57. [quine](quine.md)
58. swastika 58. swastika
59. Draw any right triangle; drawing an identical triangle mirrored by the hypotenuse clearly makes the both triangles together form a rectangle (it can be shown generally all angles in it will always be 90 degrees) in which the hypotenuse (that the both triangles share) is the rectangle's diagonal. Now draw also the other diagonal of the rectangle. If we draw a circle going through all the rectangle's verticles (which is the same circle that goes through the original triangle's vertices), it is clear (e.g. just by symmteries) its center lies in the middle of the rectangle, i.e. on the intersection of the diagonals; i.e. the circle's center lies in the middle of the hypotenuse, which also implies the hypotenuse is the circle's diameter (it's a straight line going through the circle's center). 59. Draw any right triangle; drawing an identical triangle mirrored by the hypotenuse clearly makes the both triangles together form a rectangle (it can be shown generally all angles in it will always be 90 degrees) in which the hypotenuse (that the both triangles share) is the rectangle's diagonal. Now draw also the other diagonal of the rectangle. If we draw a circle going through all the rectangle's verticles (which is the same circle that goes through the original triangle's vertices), it is clear (e.g. just by symmetries) its center lies in the middle of the rectangle, i.e. on the intersection of the diagonals; i.e. the circle's center lies in the middle of the hypotenuse, which also implies the hypotenuse is the circle's diameter (it's a straight line going through the circle's center).
60. [Deep Blue](deep_blue.md), 1997 60. [Deep Blue](deep_blue.md), 1997
61. 436; in the original group each number's digits have a total count of closed loops equal to 2. 61. 436; in the original group each number's digits have a total count of closed loops equal to 2.
62. The most common and natural way is to use a [bit field](bit_field.md), i.e. an "array of bits" -- position of each bit is associated with an object that may potentially be present in the set and the bit's value then says if the object really is present or not. We want to be able to store 32 numbers, so we'll need 32 bits; the lowest bit says if number 1 is present, the next one says if number 2 is present etc. So we can really just use one 32 bit number to store this whole set. Implementing multiset is similar, we just allocate more bits for each potential member to indicate the count; in our case we suppose maximum value 255 so we can use 8 bits for each member (in C we would naturally implement this as an array of bytes), so we'll need 32 * 8 = 256 bits. 62. The most common and natural way is to use a [bit field](bit_field.md), i.e. an "array of bits" -- position of each bit is associated with an object that may potentially be present in the set and the bit's value then says if the object really is present or not. We want to be able to store 32 numbers, so we'll need 32 bits; the lowest bit says if number 1 is present, the next one says if number 2 is present etc. So we can really just use one 32 bit number to store this whole set. Implementing multiset is similar, we just allocate more bits for each potential member to indicate the count; in our case we suppose maximum value 255 so we can use 8 bits for each member (in C we would naturally implement this as an array of bytes), so we'll need 32 * 8 = 256 bits.

5
js.md Normal file
View file

@ -0,0 +1,5 @@
# JS
JS may stand for:
- [JavaScript](javascript.md)

View file

@ -27,6 +27,7 @@ On this wiki we kind of use LMAO as a synonym to [LULZ](lulz.md) as used on Ency
- { Some time in May 2023 I've seen a guy try to upload a "2D game sprite" to [opengameart](opengameart.md) but accidentally uploading a screenshot of him asking ChatGPT how to make a game in Python lol. ~drummyfish } - { Some time in May 2023 I've seen a guy try to upload a "2D game sprite" to [opengameart](opengameart.md) but accidentally uploading a screenshot of him asking ChatGPT how to make a game in Python lol. ~drummyfish }
- Some people believe there is a fictional whole number between 6 and 7 called [thrembo](thrembo.md). - Some people believe there is a fictional whole number between 6 and 7 called [thrembo](thrembo.md).
- Some company was accused of racism when its policies forbid hiring people with criminal history, the accusation was that such policy is discriminatory against [black](black.md) people. This left many [SJW](sjw.md)s scratching their heads in confusion -- are the accusers in fact good because they help black people get jobs or bad because they assume criminals are mostly black? :D - Some company was accused of racism when its policies forbid hiring people with criminal history, the accusation was that such policy is discriminatory against [black](black.md) people. This left many [SJW](sjw.md)s scratching their heads in confusion -- are the accusers in fact good because they help black people get jobs or bad because they assume criminals are mostly black? :D
- On ocassion [reddit](reddit.md) offered its fair share of quality material as well, for example one TIFU (today I fucked up... might actually even have been the TIL subreddit lol) thread recounted a true story of a guy who grew up well into adulthood thinking that toilet seats were ONLY MEANT TO BE USED BY [WOMEN](woman.md) and that men simply sit on the cold toilet edge when they shit :D Apparently no one ever taught him and he only learned about the fact that men can use the seat too when he was buying a new toilet seat and joked with the salesman by saying something along the lines of "haha, if I didn't have a wife I wouldn't have to be spending money on toilet seats" -- then when the guy just stared in confusion all came to be revealed.
- In 2024 the twitter account of Greta Thunberg's father, Svante Thunberg, was hijacked by soyjak.party and started posting some funny stuff about [niggas](nigger.md), telling Greta she was adopted, offending journalists in DMs and so on. - In 2024 the twitter account of Greta Thunberg's father, Svante Thunberg, was hijacked by soyjak.party and started posting some funny stuff about [niggas](nigger.md), telling Greta she was adopted, offending journalists in DMs and so on.
- ... - ...

View file

@ -89,6 +89,7 @@ There are many terms that are very similar and can many times be used interchang
- **[mass](mass.md)** vs **[weight](weight.md)** - **[mass](mass.md)** vs **[weight](weight.md)**
- **[method](method.md)** vs **[methodology](methodology.md)** - **[method](method.md)** vs **[methodology](methodology.md)**
- **[modem](modem.md)** vs **[router](router.md)** vs **[switch](switch.md)** - **[modem](modem.md)** vs **[router](router.md)** vs **[switch](switch.md)**
- **[multisampling](multisampling.md)** vs **[supersampling](supersampling.md)**
- **[nationalism](nationalism.md)** vs **[patriotism](patriotism.md)** - **[nationalism](nationalism.md)** vs **[patriotism](patriotism.md)**
- **[NP](p_vs_np.md)** vs **[NP-hard](np_hard.md)** vs **[NP-complete](np_complete.md)** - **[NP](p_vs_np.md)** vs **[NP-hard](np_hard.md)** vs **[NP-complete](np_complete.md)**
- **[paging](paging.md)** vs **[virtual memory](virtual_memory.md)** - **[paging](paging.md)** vs **[virtual memory](virtual_memory.md)**

View file

@ -50,6 +50,8 @@ Below are some of the most notable OSes.
## LRS Operating System ## LRS Operating System
*UPDATE: This role may be taken by [comun shell](comun_shell.md).*
What would an operating system designed by [LRS](lrs.md) principles look like? There may be many different ways to approach this challenge. Multiple operating systems (or multiple versions of the same system) may be made, such as as an "extremely KISS bare minimum featureless system", a "more advanced but still KISS system", a "special-purpose safe system for critical uses" etc. The following is a discussion of ideas we might employ in designing such systems. What would an operating system designed by [LRS](lrs.md) principles look like? There may be many different ways to approach this challenge. Multiple operating systems (or multiple versions of the same system) may be made, such as as an "extremely KISS bare minimum featureless system", a "more advanced but still KISS system", a "special-purpose safe system for critical uses" etc. The following is a discussion of ideas we might employ in designing such systems.
The basic idea for a universal LRS operating system is to be something more akin a mere **text [shell](shell.md)** (possibly [comun](comun.md) shell), we wouldn't probably even call it an operating system. A rough vision is something like **"[DOS](dos.md) plus a bit of [Unix philosophy](unix_philosophy.md)"**; we may also imagine it like [GRUB](grub.md) or something similar really. The system would probably seem primitive by "[modern](modern.md) standards", but in a [good society](less_retarded_society.md) it would be sufficient as a universal operating system (i.e. not necessarily suitable for ALL purposes). The OS would in fact be more of a **program loader** (like e.g. the one seen in [Pokitto](pokitto.md)), running with the same privileges as other programs -- its purpose would NOT be to provide a safe environment for programs to run in, to protects user's data and possibly not even to offer a platform for programs to run on (for abstracting hardware away a non-OS [library](library.md) might be used instead), but rather to allow switching between different programs on a computer without having to reupload the programs externally, and to provide basic tools for managing the computer itself (such as browsing files, testing hardware etc.). This shell would basically allow to browse files, load them as programs, and maybe run simple scripts (e.g. in mentioned comun language), allowing things such as automatization of running several program (NOT in parallel but rather one by one) to collaborate on computing something. The basic idea for a universal LRS operating system is to be something more akin a mere **text [shell](shell.md)** (possibly [comun](comun.md) shell), we wouldn't probably even call it an operating system. A rough vision is something like **"[DOS](dos.md) plus a bit of [Unix philosophy](unix_philosophy.md)"**; we may also imagine it like [GRUB](grub.md) or something similar really. The system would probably seem primitive by "[modern](modern.md) standards", but in a [good society](less_retarded_society.md) it would be sufficient as a universal operating system (i.e. not necessarily suitable for ALL purposes). The OS would in fact be more of a **program loader** (like e.g. the one seen in [Pokitto](pokitto.md)), running with the same privileges as other programs -- its purpose would NOT be to provide a safe environment for programs to run in, to protects user's data and possibly not even to offer a platform for programs to run on (for abstracting hardware away a non-OS [library](library.md) might be used instead), but rather to allow switching between different programs on a computer without having to reupload the programs externally, and to provide basic tools for managing the computer itself (such as browsing files, testing hardware etc.). This shell would basically allow to browse files, load them as programs, and maybe run simple scripts (e.g. in mentioned comun language), allowing things such as automatization of running several program (NOT in parallel but rather one by one) to collaborate on computing something.

View file

@ -1,6 +1,6 @@
# Public Domain Computer # Public Domain Computer
Public domain computer is yet nonexistent but planned and highly desired [simple](kiss.md) ethical [computer](computer.md) (in the common meaning of the word) whose specification is completely in the [public domain](public_domain.md) and which is made with completely [selfless](selflessness.md) [LRS](lrs.md)-aligned goal of being absolutely non-malicious and maximally helpful to everyone. It should be the "people's computer", a simple, [suckless](suckless.md), user-respecting hackable computer offering maximum [freedom](free_software.md), a computer which anyone can study, improve, manufacture and repair without paying any "[intellectual property](intellectual_property.md)" fees, a computer which people can buy (well, while money still exist) for extremely low price and use for any purpose without being abused or oppressed. Public domain computer is yet nonexistent but [planned](needed.md) and highly desired [simple](kiss.md) ethical [computer](computer.md) (in the common meaning of the word) whose specification is completely in the [public domain](public_domain.md) and which is made with completely [selfless](selflessness.md) [LRS](lrs.md)-aligned goal of being absolutely non-malicious and maximally helpful to everyone. It should be the "people's computer", a simple, [suckless](suckless.md), user-respecting [hackable](hacking.md) computer offering maximum [freedom](free_software.md), a computer which anyone can study, improve, manufacture and repair without paying any "[intellectual property](intellectual_property.md)" fees, a computer which people can buy (well, while money still exist) for extremely low price and use for any purpose without being abused or oppressed.
"Public domain computer" is just a temporary placeholder/general term, the actual project would probably be called something different. "Public domain computer" is just a temporary placeholder/general term, the actual project would probably be called something different.
@ -38,9 +38,9 @@ Abstract hardware specification means e.g. description on the [logic gate](logic
3. Write basic [software](software.md) in our language, mainly: 3. Write basic [software](software.md) in our language, mainly:
- Custom tools for designing, simulating and testing [logic circuits](logic_citcuit.md). Not extremely difficult if we [keep it simple](kiss.md). - Custom tools for designing, simulating and testing [logic circuits](logic_citcuit.md). Not extremely difficult if we [keep it simple](kiss.md).
- [Emulator](emulator.md) of our custom ISA so that we can run and test it on our current computers. It will also be useful to make our computer possible to be run as a virtual hardware on other platforms. - [Emulator](emulator.md) of our custom ISA so that we can run and test it on our current computers. It will also be useful to make our computer possible to be run as a virtual hardware on other platforms.
- [Shell](shell.md) that will serve to performing basic tasks with the computer, e.g. using it as a calculator or interactively programming it in simple ways. The shell will also serve as a kind of [operating system](operating_system.md), or rather a simple program loader. For now the shell can run on our current computers where we can test it and fine tune it. - [Shell](shell.md) that will serve to performing basic tasks with the computer, e.g. using it as a calculator or interactively programming it in simple ways. The shell will also serve as a kind of [operating system](operating_system.md), or rather a simple program loader. For now the shell can run on our current computers where we can test it and fine tune it. Implementation of this could be the [comun shell](comun_shell.md).
- Compiler -- this basically just means self hosting our compiler. - Compiler -- this basically just means self hosting our compiler.
- Basic tools like a text editor, compression utility etc. - Basic tools like a text editor, compression utility, image editor etc.
4. With the logic circuit tools design a simple [MCU](mcu.md) computer based on the above mentioned ISA. This is doable, there are hobbyists that have designed their own 8bit CPUs, a few collaborating people could definitely create a nice MCU if they keep it simple (no caching, no floating point, no GPUs, ...). 4. With the logic circuit tools design a simple [MCU](mcu.md) computer based on the above mentioned ISA. This is doable, there are hobbyists that have designed their own 8bit CPUs, a few collaborating people could definitely create a nice MCU if they keep it simple (no caching, no floating point, no GPUs, ...).
5. Compile the MCU logic-level description to an actual circuitboard, possibly even with [proprietary](proprietary.md) tools if other aren't available -- this may be fixed later. 5. Compile the MCU logic-level description to an actual circuitboard, possibly even with [proprietary](proprietary.md) tools if other aren't available -- this may be fixed later.
6. Manufacture the first physical computer, test it, debug it, improve it, give it to people, ... 6. Manufacture the first physical computer, test it, debug it, improve it, give it to people, ...
@ -49,6 +49,7 @@ Abstract hardware specification means e.g. description on the [logic gate](logic
## See Also ## See Also
- [comun](comun.md) - [comun](comun.md)
- [comun shell](comun_shell.md)
- [uxn](uxn.md) - [uxn](uxn.md)
- [less retarded watch](less_retarded_watch.md) - [less retarded watch](less_retarded_watch.md)
- [PDOS](pdos.md) - [PDOS](pdos.md)

File diff suppressed because it is too large Load diff

1
saf.md
View file

@ -61,5 +61,6 @@ Games made with SAF run in 64x64 resolution, with 256 colors ([332 palette](rgb3
## See Also ## See Also
- [comun shell](comun_shell.md)
- [MIX](mix.md) - [MIX](mix.md)
- [uxn](uxn.md) - [uxn](uxn.md)

View file

@ -2,7 +2,7 @@
*"I'm not glad he'd dead, but I'm glad he's gone."* -- [Richard Stallman](rms.md) *"I'm not glad he'd dead, but I'm glad he's gone."* -- [Richard Stallman](rms.md)
Steve Jobs (also Steve Jewbs) was the prototypical evil [CEO](ceo.md) and co-founder of one of the worst [corporations](corporation.md) in the world: [Apple](apple.md). He was a psychopathic entrepreneur with a cult of personality that makes Americans cum. He was mainly known for his ability to manipulate people and he worsened technology by making it more consumerist, expensive and incompatible with already existing technology. All americans masturbate daily to Steve Jobs so he can also be considered the most famous US porn star. Someone once said that there are essentially two types of men in technology: those who understand what they don't manage and those who manage what they don't understand. Jobs was the latter. Steve Jobs (also Steve Jewbs) was the prototypical evil [CEO](ceo.md) and co-founder of one of the worst [corporations](corporation.md) in the world: [Apple](apple.md). He was a psychopathic entrepreneur with a [cult of personality](hero_culture.md) that makes [Americans](usa.md) cum. He was mainly known for his ability to manipulate people and he worsened technology by making it more consumerist, expensive and incompatible with already existing technology. All americans masturbate daily to Steve Jobs so he can also be considered the most famous US porn star. Someone once said that there are essentially two types of men in technology: those who understand what they don't manage and those who manage what they don't understand. Jobs was the latter.
{ LOL how come in the American movies the villain is always some rich boss of a huge corporation clearly resembling Steve Jobs, doing literally the same things, it's almost as if the average American actually somehow KNOWS and feels deep inside these people are pure evil, but suddenly outside of a Hollywood movie their brain switches to "aaaaah, that guy is amazing" and they just eat all his bullshit. I just can't comprehend this. ~drummyfish } { LOL how come in the American movies the villain is always some rich boss of a huge corporation clearly resembling Steve Jobs, doing literally the same things, it's almost as if the average American actually somehow KNOWS and feels deep inside these people are pure evil, but suddenly outside of a Hollywood movie their brain switches to "aaaaah, that guy is amazing" and they just eat all his bullshit. I just can't comprehend this. ~drummyfish }

File diff suppressed because one or more lines are too long

View file

@ -3,9 +3,9 @@
This is an autogenerated article holding stats about this wiki. This is an autogenerated article holding stats about this wiki.
- number of articles: 578 - number of articles: 578
- number of commits: 787 - number of commits: 788
- total size of all texts in bytes: 3719034 - total size of all texts in bytes: 3725432
- total number of lines of article texts: 28640 - total number of lines of article texts: 28662
- number of script lines: 262 - number of script lines: 262
- occurences of the word "person": 8 - occurences of the word "person": 8
- occurences of the word "nigger": 73 - occurences of the word "nigger": 73
@ -35,60 +35,72 @@ longest articles:
top 50 5+ letter words: top 50 5+ letter words:
- which (2127) - which (2135)
- there (1606) - there (1616)
- people (1402) - people (1408)
- other (1167) - other (1168)
- example (1140) - example (1141)
- software (1053) - software (1054)
- number (1025) - number (1029)
- about (968) - about (969)
- program (855) - program (855)
- their (801) - their (803)
- because (755) - because (758)
- called (738) - called (738)
- would (728) - would (729)
- computer (720) - computer (721)
- language (716) - language (716)
- being (702) - being (703)
- simple (692) - simple (692)
- things (684) - things (685)
- numbers (684) - numbers (685)
- something (651)
- without (647) - without (647)
- something (645) - function (642)
- function (638)
- programming (636) - programming (636)
- these (602) - these (602)
- however (597) - however (597)
- different (595) - different (597)
- world (564) - world (564)
- system (551) - system (551)
- should (541) - should (541)
- games (539) - games (539)
- point (528)
- doesn (528) - doesn (528)
- point (525)
- society (524) - society (524)
- though (498) - though (499)
- while (496)
- memory (495) - memory (495)
- while (492) - drummyfish (491)
- drummyfish (490)
- using (487) - using (487)
- technology (475) - technology (475)
- still (470) - still (471)
- similar (467)
- course (466) - course (466)
- similar (465) - possible (452)
- simply (450) - simply (451)
- possible (450)
- https (441) - https (441)
- really (420) - really (420)
- computers (411) - computers (411)
- extremely (408) - extremely (408)
- always (406) - always (408)
- value (404) - value (404)
latest changes: latest changes:
``` ```
Date: Thu May 2 15:12:27 2024 +0200
21st_century.md
dick_reveal.md
evil.md
exercises.md
graveyard.md
julia_set.md
random_page.md
sin.md
soyence.md
wiki_pages.md
wiki_stats.md
Date: Wed May 1 21:42:54 2024 +0200 Date: Wed May 1 21:42:54 2024 +0200
exercises.md exercises.md
faq.md faq.md
@ -110,18 +122,6 @@ Date: Tue Apr 30 19:29:49 2024 +0200
nationalism.md nationalism.md
random_page.md random_page.md
saf.md saf.md
update_culture.md
uxn.md
wiki_pages.md
wiki_stats.md
wikipedia.md
Date: Mon Apr 29 21:44:17 2024 +0200
c_pitfalls.md
exercises.md
jesus.md
linux.md
open_source.md
random_page.md
``` ```
most wanted pages: most wanted pages:
@ -134,11 +134,11 @@ most wanted pages:
- [array](array.md) (11) - [array](array.md) (11)
- [quake](quake.md) (10) - [quake](quake.md) (10)
- [lisp](lisp.md) (10) - [lisp](lisp.md) (10)
- [complex_number](complex_number.md) (10)
- [tree](tree.md) (9) - [tree](tree.md) (9)
- [meme](meme.md) (9) - [meme](meme.md) (9)
- [gpl](gpl.md) (9) - [gpl](gpl.md) (9)
- [drm](drm.md) (9) - [drm](drm.md) (9)
- [complex_number](complex_number.md) (9)
- [syntax](syntax.md) (8) - [syntax](syntax.md) (8)
- [pointer](pointer.md) (8) - [pointer](pointer.md) (8)
- [html](html.md) (8) - [html](html.md) (8)
@ -150,15 +150,15 @@ most wanted pages:
most popular and lonely pages: most popular and lonely pages:
- [lrs](lrs.md) (278) - [lrs](lrs.md) (278)
- [capitalism](capitalism.md) (208) - [capitalism](capitalism.md) (210)
- [c](c.md) (207) - [c](c.md) (207)
- [bloat](bloat.md) (198) - [bloat](bloat.md) (199)
- [free_software](free_software.md) (164) - [free_software](free_software.md) (164)
- [game](game.md) (138) - [game](game.md) (138)
- [suckless](suckless.md) (132) - [suckless](suckless.md) (132)
- [proprietary](proprietary.md) (114) - [proprietary](proprietary.md) (115)
- [computer](computer.md) (93)
- [kiss](kiss.md) (92) - [kiss](kiss.md) (92)
- [computer](computer.md) (92)
- [modern](modern.md) (89) - [modern](modern.md) (89)
- [minimalism](minimalism.md) (88) - [minimalism](minimalism.md) (88)
- [linux](linux.md) (87) - [linux](linux.md) (87)
@ -170,8 +170,8 @@ most popular and lonely pages:
- [censorship](censorship.md) (75) - [censorship](censorship.md) (75)
- [public_domain](public_domain.md) (74) - [public_domain](public_domain.md) (74)
- [foss](foss.md) (74) - [foss](foss.md) (74)
- [less_retarded_society](less_retarded_society.md) (72)
- [fight_culture](fight_culture.md) (72) - [fight_culture](fight_culture.md) (72)
- [less_retarded_society](less_retarded_society.md) (71)
- [hacking](hacking.md) (71) - [hacking](hacking.md) (71)
- [bullshit](bullshit.md) (71) - [bullshit](bullshit.md) (71)
- [art](art.md) (71) - [art](art.md) (71)