Update
This commit is contained in:
parent
1f6026b2ee
commit
61bb2ebca8
23 changed files with 2038 additions and 1922 deletions
|
@ -17,7 +17,7 @@ Although they think they do, these atheists don't really believe in science but
|
|||
|
||||
We see there is zero difference besides changed names.
|
||||
|
||||
Among the greatest minds it is hard to find true atheists, even though they typically have a personal and not easy to describe faith. [Newton](newton.md) was a Christian. [Einstein](einstein.md) often used the word "[God](god.md)" instead of "nature" or "universe"; even though he said he didn't believe in the traditional personal God, he also said that the laws of physics were like books in a library which must have obviously been written by someone or something we can't comprehend. [Nikola Tesla](tesla.md) said he was "deeply religious, though not in the orthodox sense". There are also very hardcore religious people such as [Larry Wall](larry_wall.md), the inventor of [Perl](perl.md) language, who even planned to be a Christian missionary. The "true atheists" are mostly second grade "scientists" who make career out of the pose and make living by writing books about atheism rather than being scientists.
|
||||
There is a famous quote (sometimes attributed to Werner Heisenberg, accuracy of which is questioned) stating that "The first gulp from the glass of natural sciences will make you an atheist, but at the bottom of the glass God is waiting for you". Whoever said it, it captures the reality of the situation: in our society obsessed with shallow worship of [soyence](soyence.md) most people only ever take the first sip (through mass media, Internet, "science popularization" etc.), and so most end up remaining atheists. A few manage to drink a bit more and become agnostic, but by definition only a tiny minority of the smartest get near the very bottom of the glass. Indeed, among greatest minds it is hard to find true atheists, even though they typically have a personal and not easy to describe faith, they tend to think for themselves and by this usually reject consuming prepackaged religion, but the more convincing it is then that they independently arrive at accepting some kind of God -- it is because truly deeply engaging in rational thinking for one's whole life inevitably reveals there ARE limits to the rational: greatest thinkers stand at the very top of where humans can get with their thinking and then witness that still there are things they will never know, and the only thing remaining beyond is faith. [Newton](newton.md) for example was a Christian and [Einstein](einstein.md) often used the word "[God](god.md)" instead of "nature" or "universe"; even though he said he didn't believe in the traditional personal God, he also said that the laws of physics were like books in a library which must have obviously been written by someone or something we can't comprehend. Obviously: science is rational and works, but who made it so? This can never be answered by science itself. [Nikola Tesla](tesla.md) said he was "deeply religious, though not in the orthodox sense". There are also very hardcore religious people such as [Larry Wall](larry_wall.md), the inventor of [Perl](perl.md) language, who even planned to be a Christian missionary -- as hinted above, this is not rare in him believing in God, but rather in accepting a kind of "mainstream" faith. The "true atheists" are mostly second grade "scientists" (often called "science promoters") who make career out of the pose and make living by writing books about atheism rather than being scientists.
|
||||
|
||||
checkmate QED
|
||||
|
||||
|
|
2
bloat.md
2
bloat.md
|
@ -151,8 +151,10 @@ Small/medium bloat includes for example:
|
|||
- [X11](x11.md) (just pure screen drawing is better)
|
||||
- [database](database.md) software (plain files are better, see [flatfile](flatfile.md))
|
||||
- [C](c.md) (something in between C and [brainfuck](brainfuck.md) would is likely ideal, e.g. [comun](comun.md) or [Forth](forth.md))
|
||||
- static website generators (not needed, generate your pages with shell script, see also [how to](how_to.md))
|
||||
- [glibc](glibc.md), [gcc](gcc.md), [clang](clang.md) etc. (better alternatives are [tcc](tcc.md), [musl](musl.md), [uclibc](uclibc.md) etc.)
|
||||
- letter accents/diacritics (can normally be ignored in most languages that use them)
|
||||
- password managers (not needed, security and therefore passwords themselves are bloat, but even when using passwords a manager is unnecessary, just remember the fucking password)
|
||||
- [jpg](jpg.md), [png](png.md), [svg](svg.md) and similar formats (e.g. [ppm](ppm.md) or [farbfeld](farbfeld.md) is better)
|
||||
- [syntax highlight](syntax_highlight.md), text formatting, [rich text](rich_text.md) and just [colors](color.md) anywhere they aren't absolutely necessary
|
||||
- [html](html.md), [markdown](md.md) ([plain text](plaintext.md) is better)
|
||||
|
|
|
@ -7,7 +7,7 @@ In general *bootstrapping* (from the idiom "pull yourself up by your bootstraps"
|
|||
|
||||
## Bootstrapping: Making Dependency-Free Software
|
||||
|
||||
Bootstrapping -- as the general concept of letting a big thing grow out of a small seed -- may aid us in building extremely [free](free_software.md) (as in freedom), [portable](portability.md), self-contained (and yes, for those who care also more [secure](security.md)) technology by reducing all its [dependencies](dependency.md) to a bare minimum. If we are building a big computing environment (such as an operating system), we should make sure that all the big things it contains are made only with the smaller things that are further on built using yet smaller things and so on until some very tiny piece of code, i.e. we shall make sure there is always a way to set this whole system from the ground up, from a very small amount of initial code/tools. Being able to do this means our system is *bootstrappable* and it will allow us for example to set our whole system up on a completely new computing platform (e.g. a new CPU architecture) as long as we can set up that tiny initial prerequisite code. This furthermore removes the danger of dependencies that might kill our system and also allows security freaks to inspect the whole process of the system set up so that they can trust it (because even free software that sometime in the past touched a proprietary compiler can't generally be trusted -- see [trusting trust](trusting_trust.md)). I.e. bootstrapping means creating a very small amount of code that will self-establish our whole computing environment by first compiling small compilers that will then compile more complex compilers which will compile all the tools and programs etc. This topic is discussed for example in designing [programming language](programming_language.md) [compilers](compiler.md) and [operating systems](os.md). For examples of bootstrapping see e.g. [DuskOS](duskos.md) ([collapse](collapse.md)-ready operating system that bootstraps itself from a tiny amount of code), [GNU](gnu.md) [mes](mes.md) (bootstrapping system of the GNU operating system) or [comun](comun.md) (LRS programming language, now self hosted and bootstrappable e.g. from a few hundred lines of [C](c.md)).
|
||||
Bootstrapping -- as the general concept of letting a big thing grow out of a small seed -- may aid us in building extremely [free](free_software.md) (as in freedom), [portable](portability.md), self-contained (and yes, for those who care also more [secure](security.md)) technology by reducing all its [dependencies](dependency.md) to a bare minimum. If we are building a big computing environment (such as an operating system), we should make sure that all the big things it contains are made only with the smaller things that are further on built using yet smaller things and so on until some very tiny piece of code, i.e. we shall make sure there is always a way to set this whole system from the ground up, from a very small amount of initial code/tools. Being able to do this means our system is *bootstrappable* and it will allow us for example to set our whole system up on a completely new computing platform (e.g. a new CPU architecture) as long as we can set up that tiny initial prerequisite code. This furthermore removes the danger of dependencies that might kill our system and also allows security freaks to inspect the whole process of the system set up so that they can trust it (because even free software that sometime in the past touched a proprietary compiler can't generally be trusted -- see [trusting trust](trusting_trust.md)). I.e. bootstrapping means creating a very small amount of code that will self-establish our whole computing environment by first compiling small compilers that will then compile more complex compilers which will compile all the tools and programs etc. This topic is discussed for example in designing [programming language](programming_language.md) [compilers](compiler.md) and [operating systems](os.md). For examples of bootstrapping see e.g. [DuskOS](duskos.md) ([collapse](collapse.md)-ready operating system that bootstraps itself from a tiny amount of code), [T3X](t3x.md), [GNU](gnu.md) [mes](mes.md) (bootstrapping system of the GNU operating system) or [comun](comun.md) (LRS programming language, now self hosted and bootstrappable e.g. from a few hundred lines of [C](c.md)).
|
||||
|
||||
**Why concern ourselves with bootstrapping when we already have our systems set up?** Besides the obvious elegance of this whole approach there are many other practical reasons -- as mentioned, some are concerned about "security", some want portability, control and independence -- one of other notable justifications is that we may lose our current technology due to societal [collapse](collapse.md), which is not improbable as it keeps happening throughout history over and over, so many people fear (rightfully so) that if by whatever disaster we lose our current computers, Internet etc., we will also lose with it all modern art, data, software we so painfully developed, digitized books and so on; not talking about the horrors that will follow if we're unable to quickly reestablish our computer networks we are so dependent on. Setting up what we currently have completely from scratch would be extremely difficult, a task for centuries -- just take a while to consider all the activity and knowledge that's required around the globe to create a single computer with all its billions of lines of code worth of software that makes it work. Knowledge of old technology gets lost -- to make modern computers we first needed older, primitive computers, but now that we only have modern computers no one remembers anymore how to make the older computers -- modern computers are sustaining themselves but once they're gone, we won't know how to make them again, i.e. if we lose computers, we will also lose tools for making computers. This applies on many levels (hardware, operating systems, programming languages and so on).
|
||||
|
||||
|
|
|
@ -17,4 +17,5 @@ Even though it's literally one of the simplest languages on [Earth](earth.md), y
|
|||
- **Spelling**: beginner stuff like "loose" vs "lose", "its" vs "it's", "they're" vs "their", "you're" vs "your", "effects" vs "affects" etc. It actually seems native speakers are more prone to this because they never actually learn this extremely basic stuff at school. { I only learned that someone can actually confuse "you're" vs "your" when I got on the Internet and saw native speakers make this kind of error, I never saw anyone confuse these in my school classes, we didn't even pronounce them the same. ~drummyfish }
|
||||
- **Countable vs uncountable** bitch, I double dare you to ever say shit like "less mistakes".
|
||||
- **Funny mistakes** made by non-native speakers, like confusing "pass out" and "pass away", or asking "what's wrong with you?" instead of "what's wrong?".
|
||||
- **Awkward pronunciation mistakes**: there is no need to perfectly nail down the pronunciation of a native speaker, but it's embarrassing to show you don't know how to pronounce words as psychology (*p* is fucking silent), knife (*k* is fucking silent), technology (*ch* is pronounced as *k*, NOT as Spanish *j*, English doesn't have that sound at all! This error shows your level of English is VERY low.), not pronouncing *h* ("human" as "you man" for example) and so on.
|
||||
- ...
|
2
hash.md
2
hash.md
|
@ -1,6 +1,6 @@
|
|||
# Hash
|
||||
|
||||
Hash is a [number](number.md) computed from given data in a [chaotic](chaos.md) way, which serves various useful purposes, e.g. for quick comparisons (instead of comparing big data structures we just compare their hashes) or mapping data structures to table indices.
|
||||
Hash is a [number](number.md) computed from given [data](data.md) in a [chaotic](chaos.md) way, which serves various useful purposes, e.g. for quick comparisons (instead of comparing big data structures we just compare their hashes) or mapping data structures to table indices.
|
||||
|
||||
Hash is computed by a **hash [function](function.md)**: one that takes data on input and outputs a number (the hash) that's in terms of [bit](bit.md) width much smaller than the data itself, has a fixed size (number of [bits](bit.md)) and which has additional properties such as being completely different from hashes of even very similar (but different) data. Thanks to these simple but very useful properties hashes enjoy a very wide range of uses in [computer science](compsci.md) -- they are frequently used for comparisons of bigger data such as documents or compiled programs, or in indexing structures such as **hash tables** which allow for quick search of data, and they also play a big role in [cryptocurrencies](crypto.md) and [security](security.md), e.g. in computing [digital signatures](sigital_signature.md) or storing passwords (for security reasons in databases of users we store just hashes of their passwords, never the passwords themselves). Hashing is exceptionally important and as a programmer you won't be able to avoid encountering hashes somewhere in the wild.
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ Here we will quickly sum up how to make a **[static](static.md), single page pla
|
|||
|
||||
**NOTE on TLS (https)**: most sites on the web nowadays use encryption for MUH SECURITY obsession and also web browsers and search engines kinda prefer such sites etc. (in the future it will probably be required but by then we'll already be elsewhere) -- such site addresses are prefixed with `https://`, as opposed to normal non-encrypted `http://`. [Encryption](encryption.md) is huge [bloat](bloat.md) and mess to set up, normally you need to pay extra money to get a [certificate](certificate.md) for it (though services like Let's Encrypt provide certificates for free) etc. -- basically you only need encryption if you have an interactive site where passwords or other sensitive info gets sent, a purely static site basically doesn't need encryption at all, however if your site doesn't support encryption it may get some penalty by search engines and browsers as they won't "trust it as much", it's just a form of internet bullying for not conforming to latest encryption hysteria. All in all if you can set up encryption easily (e.g. with a single button on your web hosting provider site), do it just for the sake of normies; if you are experienced and can set it up yourself easily, also do it, but if not, just don't care about it and run your site on `http://` only, at least for now until you get into this stuff. Also very importantly **always support plain unencrypted http** even if you set up https, otherwise you're bullying simple browsers that don't implement encryption.
|
||||
|
||||
Now **do NOT follow mainstream tutorials on making website** (Wordpress, PHP, static generators, ...) -- these are absolute horseshit and just follow ugly capitalist ways, you will just get brain cancer. Also do NOT use any frameworks; **do NOT even use static site generators** -- these are not needed at all! All you really need for making a small website is:
|
||||
Now **do NOT follow mainstream tutorials on making website** (Wordpress, [PHP](php.md), static generators or even [JavaScript](js.md) ...) -- these are absolute horseshit and just follow ugly capitalist ways, will only give you brain cancer. Also do NOT use any frameworks; **do NOT even use static site generators** -- these are not needed at all! { To demonstrate this I quickly made a tiny 40 LOC shell script that does everything a typical static site generator does, including RSS. It's at http://git.coom.tech/drummyfish/drummy_stuff/src/branch/master/static_www. } All you really need for making a small website is:
|
||||
|
||||
- **[Plain text](plain_text.md) editor** (gedit, [geany](geany.md), [vim](vim.md), [emacs](emacs.md), [ed](ed.md), ...). This is easy, just download it. Just don't use a [rich text](rich_text.md) editor (MS Office, Libreoffice, ...), ok? That doesn't work!
|
||||
- **Static site hosting**, i.e. a publicly accessible web server to store your site on, which will serve the site to clients. You have several options here:
|
||||
|
@ -109,7 +109,7 @@ Now you have to make the actual website in [HTML](html.md). For that create a ne
|
|||
</html>
|
||||
```
|
||||
|
||||
This is really a bare-minimum testing website -- to expand it see the article on [HTML](html.md).
|
||||
This is really a bare-minimum testing website -- to expand it see the article on [HTML](html.md). Remember that if you want to make your site more complex, you can do 99% of everything only with basic Unix tools, HTML is just text and to generate HTML you do NOT need an HTML parser (and even for some basic analysis you still don't need a parses, [regex](regex.md) usually do the job).
|
||||
|
||||
Now you have to upload this html file to the hosting server -- check out the details of your hosting server on how to do this (you may e.g. need to use [git](git.md) or [ftp](ftp.md) to upload the file). And that's basically it, the rest is just expanding your site, making scripts to automatize uploading etc.
|
||||
|
||||
|
|
|
@ -28,4 +28,5 @@ controversial will follow immediately to shift the attention away from *B*).
|
|||
## See Also
|
||||
|
||||
- [shortcut thinking](shortcut_thinking.md)
|
||||
- [euphemism](euphemism.md)
|
||||
- [slowly boiling the frog](slowly_boiling_the_frog.md)
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
*See also [how to](how_to.md) live, [homelessness](homeless.md) etc.*
|
||||
|
||||
The question of how to make the ends meet by making something that's to be given out [for free](gratis.md) and without limitations is one of the top question asked in the context of "[FOSS](foss.md)"/[free culture](free_culture.md) under they dystopian [capitalist](capitalism.md) system. Noobs often avoid this area just because they think it can't be done, even though there are ways of doing this and there are many people making living on FOSS, albeit ways perhaps more challenging than those of [proprietary](proprietary.md) products.
|
||||
The subject of how to make the ends meet by making something which is to be shared [gratis](gratis.md) and without limitations is one of the top question asked in the "[FOSS](foss.md)"/[free culture](free_culture.md) circles, given we live in an ultra[capitalist](capitalism.md) dystopian system punishing any attempt at [selflessness](seflessness.md). Many newcomers even believe it's completely impossible, even though there are many people making living with FOSS, albeit ways of doing so are perhaps more challenging than those of [proprietary](proprietary.md) products, and, importantly to [us](lrs.md), pose very high "ethical" challenges, i.e. even if money can be made, it's extremely hard to make them in ethical ways (considering that the very concept of [money](money.md) is unethical for example).
|
||||
|
||||
One has to be constantly aware that **[money](money.md) and commercialization always brings a high risk of profit becoming the highest priority** (which is a "feature" hard-wired in [capitalism](capitalism.md)) which will compromise the quality and ethics of the produced work. Profiting specifically requires abusing someone else, taking something away from someone. Making money by donations often stands on being popular and being popular often means self censorship, hypocrisy and populism. Therefore **it is ideal to create [LRS](lrs.md) on a completely voluntary basis, for free, in the creator's spare time**. This may be difficult to do but one can choose a lifestyle that minimizes expenses and therefore also time needed to spend at [work](work.md), which will give more free time for the creation of [LRS](lrs.md). This includes living frugally, not consuming hardware and rather reusing [old machines](ancientware.md), making savings, not spending on unnecessary things such as smoking or fashion etc. And of course, if you can't make LRS full-time, you can still find relatively ethical ways of it supporting you and so, again, giving you a little more freedom and resources for creating it.
|
||||
One has to be constantly aware that **[money](money.md) and commercialization always brings a high risk of profit becoming the highest priority** (which is a "feature" hard-wired in [capitalism](capitalism.md)) which will compromise the quality and ethics of the produced work. Profiting specifically requires abusing someone else, taking something away from someone. Making money on donations often stands on being popular and being popular often means self censorship, hypocrisy and populism. Therefore **it is ideal to create [LRS](lrs.md) on a completely voluntary basis, for free, in the creator's spare time**. This may be difficult to do but one can choose a lifestyle that minimizes expenses (even [homelessness](homelessness.md)) and therefore also time needed to spend at [work](work.md), which will give more free time for the creation of [LRS](lrs.md). This includes living frugally, not consuming hardware and rather reusing [old machines](ancientware.md), making savings, not spending on unnecessary things such as smoking or fashion etc. And of course, if you can't make LRS full-time, you can still find relatively ethical ways of it supporting you and so, again, giving you a little more freedom and resources for creating it.
|
||||
|
||||
Also if you can somehow rip off a rich [corporation](corporation.md) and get some money for yourself, do it. Remember, corporations aren't people, they can't feel pain, they probably won't even notice their loss and even if you hurt them, you help the society by hurting a predator.
|
||||
Also if you can somehow rip off a rich [corporation](corporation.md) and get some money for yourself (preferably legally), do it. Remember, corporations aren't people, they can't feel pain, they probably won't even notice their loss and even if you hurt them, you help the society by hurting the Satan. The only thing to watch for is to not commit a provable crime, fraud and theft is better to be avoided, but for example a destructive lawsuit for psychological harm or something is cool.
|
||||
|
||||
**Is programming software the only way to make money with LRS?** No, you can do anything related to LRS and you don't even have to know [programming](programming.md). You can create [free](free_culture.md) art such as [game](game.md) assets or writings, you can educate, write articles etc.
|
||||
|
||||
|
|
2
lrs.md
2
lrs.md
|
@ -109,7 +109,7 @@ Apart from this software a lot of other software developed by other people and g
|
|||
- **[Simon Tatham's portable puzzle collection](stppc.md)**: Very portable collection of puzzle [games](game.md).
|
||||
- ...
|
||||
|
||||
Other potentially LRS software to check out may include [TinyGL](tinygl.md), [bootleg3d](bootleg3d.md), [scc](scc.md), [ed](ed.md), [chibicc](chibicc.md), [IBNIZ](ibniz.md), [lynx](lynx.md), [links](links.md), [tcl](tcl.md), [uClibc](uclibc.md), [miniz](miniz.md), [Lua](lua.md), [nuklear](nuklear.md), [dmenu](dmenu.md), [sbase](sbase.md), [sic](sic.md), [tabbed](tabbed.md), [svkbd](svkbd.md), [busybox](busybox.md), [darcs](darcs.md), [raylib](raylib.md), [IRC](irc.md), [PortableGL](portablegl.md), [3dmr](3dmr.md), [openbsd](openbsd.md), [mtpaint](mtpaint.md) and others.
|
||||
Other potentially LRS software to check out may include [TinyGL](tinygl.md), [bootleg3d](bootleg3d.md), [scc](scc.md), [t3x](t3x.md), [ed](ed.md), [chibicc](chibicc.md), [IBNIZ](ibniz.md), [lynx](lynx.md), [links](links.md), [tcl](tcl.md), [uClibc](uclibc.md), [miniz](miniz.md), [Lua](lua.md), [nuklear](nuklear.md), [dmenu](dmenu.md), [sbase](sbase.md), [sic](sic.md), [tabbed](tabbed.md), [svkbd](svkbd.md), [busybox](busybox.md), [darcs](darcs.md), [raylib](raylib.md), [IRC](irc.md), [PortableGL](portablegl.md), [3dmr](3dmr.md), [openbsd](openbsd.md), [mtpaint](mtpaint.md) and others.
|
||||
|
||||
Another idea: **search for very old versions of "[modern](modern.md)" FOSS software**, from the times before things like [CMake](cmake.md), [Python](python.md) and [QT](qt.md) got popular (or even existed) -- many such projects got bloated with time, but their earlier versions may have been more aligned with LRS. You can get the old source code, it's present either in the git, on the project's website, on Internet Archive etc., compiling it should probably be much easier than compiling the "modern" version. This won't help with things like web browsers (as it won't understand the new formats and protocols), but will be fine text editors, drawing programs, 3D editors, games etc. You can also [fork](fork.md) the old version and make it a little better, customize it or publicly turn it into a new program, helping the whole world. See also: [unfuck](unfuck.md).
|
||||
|
||||
|
|
3
main.md
3
main.md
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@ In [programming](programming.md) *memory management* is (unsurprisingly) the act
|
|||
|
||||
Memory management can be handled at different levels: hardware units such as the [MMU](mmu.md) and CPU [caches](cache.md) exist to perform certain time-critical memory-related tasks (such as address translation) quickly, [operating system](os.md) may help with memory management (e.g. implement virtual memory and offer [syscalls](syscall.md) for dynamic allocation and deallocation of memory), a [programming language](programming_language.md) may do some automatic memory management (e.g. [garbage collection](garbage_collection.md) or handling call stack) and programmer himself may do his own memory management (e.g. deciding between static and dynamic allocation or choosing the size of dynamic allocation chunk).
|
||||
|
||||
**Why all this fuzz?** As a newbie programmer who only works with simple variables and high level languages like [Python](python.md) that do everything for you you don't need to do much memory management yourself, but when working with data whose size may wildly differ and is not known in advance (e.g. files), someone has to handle e.g. the possibility of the data on disk not being able to fit to RAM currently allocated for your program, or -- if the data fits -- there may not be a big enough continuous chunk of memory for it. If we don't know how much memory a process will need, how much memory do we give it (too little and it may not be enough, too much and there will not be enough memory for others)? Someone has to prevent [memory leaks](memory_leak.md) so that your computer doesn't run out of memory due to [bugs](bug.md) in programs. With many [processes](process.md) running [simultaneously](multitasking.md) on a computer someone has to keep track of which process uses which part of memory and ensure [collisions](collision.md) (one process overwriting another processe's memory) don't happen, and someone needs to make sure that if bad things happen (such as process trying to write to a memory that doesn't belong to it), they don't have catastrophic consequences like [crashing](crash.md) or exploding the system.
|
||||
**Why all this fuss?** As a newbie programmer who only works with simple variables and high level languages like [Python](python.md) that do everything for you you don't need to do much memory management yourself, but when working with data whose size may wildly differ and is not known in advance (e.g. files), someone has to handle e.g. the possibility of the data on disk not being able to fit to RAM currently allocated for your program, or -- if the data fits -- there may not be a big enough continuous chunk of memory for it. If we don't know how much memory a process will need, how much memory do we give it (too little and it may not be enough, too much and there will not be enough memory for others)? Someone has to prevent [memory leaks](memory_leak.md) so that your computer doesn't run out of memory due to [bugs](bug.md) in programs. With many [processes](process.md) running [simultaneously](multitasking.md) on a computer someone has to keep track of which process uses which part of memory and ensure [collisions](collision.md) (one process overwriting another processe's memory) don't happen, and someone needs to make sure that if bad things happen (such as process trying to write to a memory that doesn't belong to it), they don't have catastrophic consequences like [crashing](crash.md) or exploding the system.
|
||||
|
||||
## Memory Management In C
|
||||
|
||||
|
|
|
@ -137,6 +137,7 @@ There exist many terms that are highly similar and can legitimately be used inte
|
|||
- **[pseudo](pseudo.md)** vs **[quasi](quasi.md)**
|
||||
- **[pseudoleft](pseudoleft.md)** vs **[left](left.md)**
|
||||
- **[pseudoskeptic](pseudosceptic.md)** vs **[skeptic](skeptic.md)**
|
||||
- **responsive** vs **responsible**
|
||||
- **[shading](shading.md)** vs **[shadows](shadow.md)**
|
||||
- **[static typing](static_typing.md)** vs **[strong typing](strong_typing.md)**
|
||||
- **[strategy](strategy.md)** vs **[tactics](tactics.md)**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Portability
|
||||
|
||||
Portable [software](software.md) is software that is easy to [port](port.md) to (make run on) other [platforms](platform.md). Platforms here mean anything that serves as an environment enabling software to run, i.e. [hardware](hardware.md) platforms ([CPUs](cpu.md), [ISAs](isa.md), game consoles, ...), different [operating systems](os.md) vs [bare metal](bare_metal.md), [fantasy consoles](fantasy_console.md) etc. **Portability is an extremely important attribute of [good software](lrs.md)** as it allows us to write the program once and then run it on many different computers with little effort -- without portability we'd be constantly busy rewriting old programs to run on new computers, portability allows us to free our programs from being tied to specific computers and exist abstractly and independently and so become [future proof](future_proof.md). Examples of highly portable programs include [Anarch](anarch.md), [Simon Tatham's Portable Puzzle Collection](stppc.md), [SAF](saf.md), [sbase](sbase.md) (suckless) implementation of Unix tools such as [cat](cat.md) and [cmp](cmp.md) etc. (one wisdom coming from [Unix](unix.md) development actually states that portability should be favored even before performance).
|
||||
Portable [software](software.md) is software that is easy to [port](port.md) to (make run on) other [platforms](platform.md). Platforms here mean anything that serves as an environment enabling software to run, i.e. [hardware](hardware.md) platforms ([CPUs](cpu.md), [ISAs](isa.md), game consoles, ...), different [operating systems](os.md) vs [bare metal](bare_metal.md), [fantasy consoles](fantasy_console.md) etc. **Portability is an extremely important attribute of [good software](lrs.md)** as it allows us to write the program once and then run it on many different computers with little effort -- without portability we'd be constantly busy rewriting old programs to run on new computers, portability allows us to free our programs from being tied to specific computers and exist abstractly and independently and so become [future proof](future_proof.md). Examples of highly portable programs include [Anarch](anarch.md), [Simon Tatham's Portable Puzzle Collection](stppc.md), [T3X](t3x.md) language compilers, [SAF](saf.md), [sbase](sbase.md) (suckless) implementation of Unix tools such as [cat](cat.md) and [cmp](cmp.md) etc. (one wisdom coming from [Unix](unix.md) development actually states that portability should be favored even before performance).
|
||||
|
||||
**Portability is different from mere [multiplatformness](multiplatform.md)**: multiplatform software simply runs on more than one platform without necessarily being designed with high portability in mind; portable software on the other hand possesses the inherent attribute of being designed so that very little effort is required to make it run on wide range of general platforms. Multiplatformness can be achieved cheaply by using a [bloated](bloat.md) framework such as the Godot engine or [QT](qt.md) framework, however that will not achieve portability; on the contrary it will hurt portability. Portability is achieved through good and careful design, efficient code and avoiding [dependencies](dependency.md) and [bloat](bloat.md).
|
||||
|
||||
|
|
|
@ -146,6 +146,7 @@ Here is a table of notable programming languages in chronological order (keep in
|
|||
| [Go](go.md) | **kind of** maybe| 2009 | 4.71 (G)| 5.20 (G) | | | 130, proprietary? | "successor to C" but not well executed, bearable but rather avoid |
|
||||
| [LIL](lil.md) | **yea** | 2010? | | | | | | not known too much but nice, "everything's a string" |
|
||||
| [uxntal](uxn.md) | **yes** but SJW | 2021 | | | 400 (official) | | 2? (est.), proprietary | assembly lang. for a minimalist virtual machine, PROPRIETARY SPEC. |
|
||||
| **[T3X/0](t3x.md)** | **yes** | 2022 | | | 4K | 66 | 130, proprietary | T3X family, minimalist, Pascal-like |
|
||||
| **[comun](comun.md)** | **yes** | 2022 | | | 4K | 76 | 2, CC0 | "official" [LRS](lrs.md) language, WIP, similar to Forth |
|
||||
|
||||
NOTES on the table above:
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
# Pseudominimalism
|
||||
|
||||
Pseudominimalism is the kind of technology design which aims to appear [minimalist](minimalism.md) on the outside while being [bloated](bloat.md) on the inside. Rather than trying to achieve a [truly good](lrs.md), minimalist design from the ground up, with all its advantages, pseudominimalism merely attempts to hide the ugliness of its internals and appeal purely by the looks. A typical example might be a website that has a minimalist look -- a blank background with sans-serif [font](font.md) text and a few nice looking vector shapes -- which in the background sneakily uses dozens of [JavaScript](js.md) frameworks and libraries and requires a high end [CPU](cpu.md) in order to even appear responsive. Essentially all [modern](modern.md) "retro" video [games](game.md) are pseudominimalist in design, they use pixelated graphics but are created in enormous frameworks such as [Unity](unity.md) or [Godot](godot.md); even projects calling themselves "minimalist", such as many [fantasy consoles](fantasy_console.md), are in truth only pseudominimalist, written in extremely high level languages such as [JavaScript](javascript.md). [Apple](apple.md) is heavily practicing pseudominimalism.
|
||||
Pseudominimalism is a kind of [technology](tech.md) design (of which most guilty is probably [computer](computer.md) technology, i.e. [hardware](hw.md) and [software](sw.md)) which aims to appear [minimalist](minimalism.md) but in fact isn't, typically by putting on a minimalist appearance while concealing highly [bloated](bloat.md) internals; but different types of pseudominimalism exist too, all revolving around undeservedly associating themselves with minimalism. Rather than trying to achieve a [truly good](lrs.md), minimalist design from the ground up, with all its advantages, pseudominimalism merely attempts to hide the ugliness of its internals and appeal purely by the looks: it's an attempt at deception, [marketing](marketing.md) and exploitation of trends (a kind of "minimalismwashing"), not an aim at creating good technology. A typical example might be a website with minimalist graphic design -- a blank background with sans-serif [font](font.md) and a couple of "clean", simple, razor sharp [vector](vector.md) icons -- which in the background sneakily uses dozens of [JavaScript](js.md) frameworks and libraries and requires a high end [CPU](cpu.md) in order to even appear responsive. Essentially all [modern](modern.md) "retro" video [games](game.md) are pseudominimalist in design, they use pixelated graphics but are created in enormous frameworks such as [Unity](unity.md) or [Godot](godot.md); even projects calling themselves "minimalist", such as many [fantasy consoles](fantasy_console.md), are in truth only pseudominimalist, written in extremely high level languages such as [JavaScript](javascript.md). [Apple](apple.md) is heavily practicing pseudominimalism. Many [SJWs](sjw.md) also.
|
||||
|
||||
While true minimalists do appreciate minimalist look as well, pseudominimalists are obsessed with visuals, the casing, the shell and that is their true goal to which they sacrifice the internal beauty, so after a while you learn to spot pseudominimalist just by their attempts at what they call a "clean design" or "user experience" -- a true minimalist uses minimalism so that bullshit doesn't stands in his way, a **pseudominimalist is just a snob** using visuals to pretend he's an intellectual or, as he loves to say, an "artist". You will see the sweat that went into font choice, spacing of paragraphs with this tryharding leaking even to language in which he tries to use minimum of words which just makes it hard to understand what he wants to say. A typical example is the [shitty 100r wiki](xxiivv.md).
|
||||
While true minimalists do appreciate minimalist look as well (because in their world it's a natural consequence of good design and as a result a sign of minimalism they over time learn to look for and appreciate), pseudominimalists are obsessed with visuals, the casing, the shell and that is their true goal to which they sacrifice the internal beauty, so after a while you learn to spot pseudominimalists just by their attempts at what they call a "clean design" or "user experience" -- a true minimalist uses minimalism so that bullshit doesn't stands in his way, a **pseudominimalist is just a snob** using visuals to pretend he's an intellectual or, as he loves to say, an "artist". Over time you learn to smell the sweat poured into font choice, spacing of paragraphs and choice of color palettes, eventually leaking even to [natural language](human_language.md) he uses to communicate (usually on the detriment of communication) in which he tries to use minimum of words which just makes it hard to understand what he wants to say. A typical example is the [shitty 100r wiki](xxiivv.md). Pseudominimalist thinks calling a link to the main page "main page" is too mainstream, so he calls it just "m" or something like that.
|
||||
|
||||
Another example is presented by many "[modern](modern.md)" [CLI](cli.md) programs which [code monkeys](coder.md) use to impress their [YouTube](youtube.md) viewers or to feel like matrix haxors. Some people believe that anything running in the command line has to be minimalist by some kind of law of nature -- this is less and less true as we progress into the [future](future.md). A lot of [capitalist software](capitalist_software.md) add a CLI interface ex post **on top** of an already bloated program (they even invented a term for this: "[headless](headless.md)"), often by simply disabling [GUI](gui.md) (but leaving all its [dependencies](dependency.md) in). An example may be the [gomux](gomux.md) chat client.
|
||||
A different example of pseudominimalism is demonstrated by great many "[modern](modern.md)" [CLI](cli.md) programs which [code monkeys](coder.md) use to impress their [YouTube](youtube.md) viewers or to feel like matrix haxors. Some people believe that anything running in the command line has to be minimalist by a law of nature -- this is less and less true as we progress into the [future](future.md). A lot of [capitalist software](capitalist_software.md) add a CLI interface ex post **on top** of an already bloated program (they even invented a term for this: "[headless](headless.md)"), often by simply disabling [GUI](gui.md) (but leaving all its [dependencies](dependency.md) in). An example may be the [gomux](gomux.md) chat client. Similarly many window managers demonstrate pseudominimalism by "looking minimalist", as in having thin 1 pixel borders for windows, flat colors, pixel art fonts etc., while in fact being bloated as hell under the hood. A very cheap trick used to impress retards is [rendering 3D graphics](3d_rendering.md) in terminal with [ASCII graphics](ascii_graphics.md), which is the easiest thing in the world to do, but for some reason people around 110 IQ wet themselves seeing anything rendered with ASCII.
|
||||
|
||||
Another form of pseudominimalism is making a minimalist tool for something that in itself is a non-minimalist [bullshit](bullshit.md) -- for example minimalist frontend for Facebook, minimalist Steam client, minimalist password manager, minimalist minimalist [Bitcoin](bitcoin.md) wallet etc.
|
||||
Another form of pseudominimalism is **making a minimalist tool for something that in itself is a non-minimalist [bullshit](bullshit.md)** -- for example minimalist frontend for Facebook, minimalist Steam client, minimalist password manager, minimalist [Bitcoin](bitcoin.md) wallet etc.
|
||||
|
||||
And that's not all -- another kind of pseudominimalism appearing among the new generation of crippled pseudoprogrammers is all about writing very few [lines of code](loc.md) in some incredibly bloated language and calling that "minimalism". Something like a *Minecraft clone in 100 LOC of Python using only Python standard library*, the catch of course being that [Python](python.md) itself is hugely bloated and its standard library is enormous, therefore they just hide all the complexity out of view. Effort like that is indeed completely useless and only serves for flexing in front of beginners who can't spot the obvious trick. Even if obvious, it has to be noted that **minimalist software cannot be written in a bloated language**.
|
||||
Yet another type of pseudominimalist software is that which **objectively isn't too complex, but is still too complex for the task it's solving**. Typical example are static website generators. Too many people fall for them when in fact you either do NOT need a website generator at all (you can just manually write a website, design it so that everything is on a single page, linked together by anchors for example), OR, if there really is a truly justified need for a whole multipage website with navigation etc., one can easily write a shell script using only absolutely basic [Unix](unix.md) utilities, generating websites is only about appending text to another text (which is done with [cat](cat.md)), HTML parsers are NOT needed at all, and one can even easily generate [RSS](rss.md) and other fancy stuff. { As an exercise I made such a generator, turned out to be about 40 lines of shell code, written in under an hour. ~drummyfish } Another example are various note taking "apps" (text editor is literally enough for taking notes), password managers etc.
|
||||
|
||||
And that's not all -- another kind of pseudominimalism appearing among the new generation of crippled pseudoprogrammers is all about **writing very few [lines of code](loc.md) in an incredibly bloated language** and calling that "minimalism". Something like a *Minecraft clone in 100 LOC of Python using only Python standard library*, the catch of course being that [Python](python.md) itself is hugely bloated and its standard library is enormous, therefore they just hide all the complexity out of view. Effort like that is indeed completely useless and only serves for flexing in front of beginners who can't spot the obvious trick. Even if obvious, it has to be noted that **minimalist software cannot be written in a bloated language** (or using a bloated library, framework etc.).
|
3645
random_page.md
3645
random_page.md
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,5 @@
|
|||
# Rights Culture
|
||||
|
||||
Rights culture is a [toxic](toxic.md) culture of the [law](law.md)-obsessed [capitalism](capitalism.md)-plagued western society, mostly connected to so called "human rights movement", in which common things such as [repairing things](right_to_repair.md) and [defecating without being watched](surveillance.md) start to become privileges ("rights") which common people have to "[fight](fight_culture.md)" for instead of doing useful things. It manifests in language by much more frequent use of the word "right" ("human rights", "worker rights", "men's rights", "animal rights", "I have a right to sleep", "I have a right to not listen to you", ...), reflecting the subconscious shift towards accepting that "what's not codified as a right is implicitly forbidden", creating a new [bullshit](bullshit.md) field of various "[fighters](fight_culture.md)" for all kinds of rights like the right to wipe one's ass with his right hand, right to wipe his ass with the left hand, right to receive what one pays for, right to not be tortured for arriving late at [slavery](work.md) etc. The solution to such a shitty state of society is of course not in codifying more rights and "fighting" for them, but rather replacing the shitty [underlying system](capitalism.md) which keeps turning common things into privileges; however it's also the solution people will never choose because people always do the exact opposite of what they should.
|
||||
Rights culture is a [toxic](toxic.md) culture of the [law](law.md)-obsessed [capitalism](capitalism.md)-plagued western society, mostly connected to so called "human rights movement", in which common things such as [repairing things](right_to_repair.md) and [defecating without being watched](surveillance.md) start to become privileges ("rights") which common people have to "[fight](fight_culture.md)" for instead of doing useful things. It manifests in [language](human_language.md) by much more frequent use of the word "right" ("human rights", "worker rights", "men's rights", "animal rights", "I have a right to sleep", "I have a right to not listen to you", ...), reflecting the subconscious shift towards accepting that "what's not codified as a right is implicitly forbidden", creating a new [bullshit](bullshit.md) field of various "[fighters](fight_culture.md)" for all kinds of rights like the right to wipe one's ass with his right hand, right to wipe his ass with the left hand, right to receive what one pays for, right to not be tortured for arriving late at [slavery](work.md) etc. The solution to such a shitty state of society is of course not in codifying more rights and "fighting" for them, but rather replacing the shitty [underlying system](capitalism.md) which keeps turning common things into privileges; however it's also the solution people will never choose because people always do the exact opposite of what they should.
|
||||
|
||||
As with countless other phenomena in modern western culture, this is a twisted take on something that initially might have started as good intentions, but was later on hijacked and raped to serve [evil](evil.md) interests (see also similar cases: [ecology](ecology.md), [open source](open_source.md), [communism](communism.md) etc.) Abuse of rights culture can now be seen clear as day especially with a very common pattern of **the word "right" actually meaning "restriction"**, i.e. its exact opposite, being used as an [euphemism](euphemism.md) -- for example so called "[copyRIGHT](copyright.md)" does not stand for giving anyone any extra rights at all! It stands for TAKING AWAY the naturally present "right" to [freely](free_culture.md) use, study, modify and share [information](information.md). Whereas without copy"right" anyone was free to share information, copyright established that this will now be forbidden. Similarly the "right to be forgotten" means that other people will now be FORBIDDEN from talking about someone else. Of course people haven't noticed this shift because they [only react to keywords](shortcut_thinking.md) and the word "right" sounds like a "good" word.
|
|
@ -31,7 +31,8 @@ Shitwords include the following:
|
|||
- **respect**: has valid uses (mostly as a verb, e.g. "I respect your opinion"), but is often used as a euphemism and [fuzzy](fuzzy.md) propaganda term, used a lot in [COCs](coc.md) to establish generic "we can ban you for whatever we dislike" rules
|
||||
- **responsibility**: punishment (even if only internal, psychological) for bad behavior, based on guilt, limits freedom
|
||||
- **[revolution](revolution.md)**: means violence, hysteria, war, angry mob, blind destruction of anything old, guillotines and bloodshed
|
||||
- **(human/legal) [right](rights_culture.md)**: establishes that "what's not explicitly allowed is forbidden", increases reliance on [law](law.md), makes basic freedoms into privileges, makes people slaves to constant activism; "right" is often used to mean "restriction" (as in [copyright](copyright.md) etc.)
|
||||
- **[retro](retro.md)**: retro things only attempt to LOOK like old ones (while internally staying poisoned with [modern](modern.md) technology), implying for example [pseudominimalism](pseudominimalism.md) etc., also a [buzzword](buzzword.md)
|
||||
- **(human/legal) [right](rights_culture.md)**: establishes that "what's not explicitly allowed is forbidden", increases reliance on [law](law.md) and focus on mere legality, makes basic freedoms into privileges, makes people slaves to constant activism; "right" is often used to mean "restriction" (as in [copyright](copyright.md) etc.)
|
||||
- **safe space**: another euphemism that sounds like almost opposite of what it really is: a place of terror, highly controlled, censored, monitored police-state dystopia enforcing specific political thinking, eliminating [freedom of speech](free_speech.md), yielding absolute control to the state (or server owner etc.)
|
||||
- **safety**: buzzword related to "protection", "safe space", comes with loss of [freedom](freedom.md), yielding power to others etc.
|
||||
- **[security](security.md)**: related to "privacy", business based on fear, increases obscurity, proprietary and closed technology, bloat, [bullshit](bullshit.md), fight culture, competition, ...
|
||||
|
|
105
t3x.md
Normal file
105
t3x.md
Normal file
|
@ -0,0 +1,105 @@
|
|||
# T3X
|
||||
|
||||
{ Just discovered this thanks to a friend, WORK IN PROGRESS, MAY HAVE ERRORS etc. ~drummyfish }
|
||||
|
||||
T3X is a family of relatively obscure [minimalist](minimalism.md) [programming languages](programming_language.md) similar to [Pascal](pascal.md), made by Nils M Holm. There are different versions of the language (dating back to the [90s](90s.md)), distinct mainly by "feature richness" and small polishing over the years, but being very similar in general; most notable is probably **T3X/0** (made in 2022), described as a "sweet spot" between minimalism and "practical usability". The code is released under permissive [free software](free_software.md) [licenses](license.md), some even under [CC0](cc0.md), but sadly some of the formal specifications are proprietary and accessible only after payment. The languages are very well implemented, the body of work is a joy to behold and explore -- even though very strictly speaking these languages aren't the absolute peak of minimalism (some even sport some kind of "simplified [OOP](oop.md)") but rather seem like an attempt at remaking an oldschool language in nicest way possible while keeping to some pragmatic and practical choices, still compared to anything [modern](modern.md) they are super minimal; [C](c.md) definitely looks like a pile of [bloat](bloat.md) compared to T3X languages. For more details see the author's website at https://t3x.org/t3x/index.html.
|
||||
|
||||
The languages are very cool but their implementation is probably what's even more notable here: T3X/0 is [self hosted](self_hosting.md) in about 4 thousand lines { Doing `wc -l *.t library/*.t`. ~drummyfish }, [bootstrappable](bootstrap.md) and extremely [portable](portability.md) (so far lists e.g. generic [Unix](unix.md), [freeBSD](freebsd.md), [mac](mac.md), [DOS](dos.md), CP/M, 386, [x86](x86.md), [ARM](arm.md)), allowing cross compilation basically on every supported platform to any other etc. This is an example of how software should be written.
|
||||
|
||||
The languages evolved from early (1995) experimental languages named `T_1` and `T_2` into a big tree of languages and compilers. The most notable ones are currently probably these:
|
||||
|
||||
- **T3X** (1997): Some kind of stable language emerged from the initial languages.
|
||||
- **T3X9** (2017): T3X subset, smallest (around 1600 [LOC](loc.md) of self hosted code) but (looks like) not extremely portable because directly targets 386 architecture.
|
||||
- **T3X/Z** (2019): Port of T3X9 to Z80 architecture.
|
||||
- **T3X/86** (2021): Port of T3X9 to x86 [DOS](dos.md).
|
||||
- **T3Xr7** (2003): A little more bloated.
|
||||
- **T3X/0** (2022): Probably the most notable one, something between T3X9 and T3Xr7. Highly portable.
|
||||
|
||||
Worthy of mention is also so called **Tcode**, a [bytecode](bytecode.md) and [virtual machine](vm.md) (called *TCVM*) that the languages use. They also compile to native binary programs, but the bytecode also allows for interpreting the programs, decouples the compiler frontend and backends etc.
|
||||
|
||||
The author, Nils M Holm, is a [Buddhist](buddhism.md) (according to his website a "pragmatic" one) minimalist programmer living in Germany, probably of older age (considering he keeps talking about programming in the 80s and was making own languages in the 90s), who has published an impressive number of books (sadly [proprietary](proprietary.md)) on the topic of minimalist programming, compilers, [Lisp](lisp.md) etc., sharing some views with [LRS](lrs.md) (expressing sadness about what computer science has evolved into since the 80s, that "[hackers](hacking.md) turned into entrepreneurs" and so on).
|
||||
|
||||
LRS is always very happy to see people strive for simplicity and we applaud the author's passion and incredible effort over several decades whose fruit is now very helpful to the entire world. A few words of criticism could be stated of course, like always, for example that the language seems to go for unnecessary features such as modules or even objects -- there is no need to implement modules that enforce encapsulation and allow dot syntax like for example `t3x.write` if we can achieve the same thing by simply writing a library with prefixed functions, e.g. `t3x_write` (while keeping private members further prefixed with `_`, like `_t3x_internalvariable`). Some syntax elements, like `do ... end` instead of plain curly brackets (which are objectively better) seem to be perhaps a little driven by nostalgia. From ultraminimalist point of view the language is actually quite feature rich, which is fine, but then suddenly some really useful features that would be expected at this level, such as a number printing function, seem to be missing. Some functions and constructs are a little tricky and not self-documenting, for example the for loop just takes 2 arguments and it's not clear what they mean, the upper bound behaves like traditional C for loop, i.e. iterating as long as the variable is BELOW (and NOT equal) to the bound, but whereas in C this is clear by the presence of the `<` operator, here we are left guessing, and one would probably expect `<=` is actually implied { Before looking it up I actually even considered that it may say the NUMBER of iterations. ~drummyfish }. Also the built-in printing function is a bit awkward, first taking file descriptor, then the string, and then the length of the string (which itself is zero terminated). In any case the author will probably keep improving the language as he has been for a long time, so we may very likely expect his work to get more and more polished.
|
||||
|
||||
## T3X/0: The Language
|
||||
|
||||
Here is a summary of T3X/0, the language we find most [interesting](interesting.md).
|
||||
|
||||
It is vaguely similar to [Pascal](pascal.md), imperative, procedural, case insensitive, may be both compiled and interpreted (includes [bytecode](bytecode.md)). Features include procedures, vectors, [recursion](recursion.md), [modules](module.md) etc. There are a few simple [data types](data_type.md) such as integers, vectors, byte vectors and strings (which are actually just vectors of integers).
|
||||
|
||||
As a code example here is our standardized **divisor tree [algorithm](algorithm.md)** implemented in T3X/0:
|
||||
|
||||
```
|
||||
use t3x: t; ! include the core module
|
||||
|
||||
printChar(c) do
|
||||
t.write(1,@c,1);
|
||||
end
|
||||
|
||||
printNum(x) do
|
||||
if (x > 99)
|
||||
printChar('0' + x / 100);
|
||||
|
||||
if (x > 9)
|
||||
printChar('0' + (x / 10) mod 10);
|
||||
|
||||
printChar('0' + x mod 10);
|
||||
end
|
||||
|
||||
! recursive function, prints divisor tree of x
|
||||
printDivisorTree(x) do
|
||||
var a, b, i;
|
||||
a := -1;
|
||||
b := -1;
|
||||
|
||||
for (i = 2,x / 2 + 1) ! find two closest divisors
|
||||
if (x mod i = 0) do
|
||||
a := i;
|
||||
b := x / i;
|
||||
|
||||
if (b <= a)
|
||||
leave;
|
||||
end
|
||||
|
||||
printChar('(');
|
||||
|
||||
ie (a > 1) do
|
||||
printDivisorTree(a);
|
||||
printChar(' ');
|
||||
printNum(x);
|
||||
printChar(' ');
|
||||
printDivisorTree(b);
|
||||
end else
|
||||
printNum(x);
|
||||
|
||||
printChar(')');
|
||||
end
|
||||
|
||||
do var str::4, n, i, c; ! main program
|
||||
while (%1) do ! main loop, read numbers from the user
|
||||
t.write(1,"enter a number: ",16);
|
||||
t.read(0,str,3);
|
||||
n := 0;
|
||||
i := 0;
|
||||
|
||||
while (str::i \= 0 /\ str::i \= '\n') do ! convert str to num
|
||||
c := str::i - '0';
|
||||
|
||||
if (c < 0 \/ c > 9)
|
||||
halt 0;
|
||||
|
||||
n := n * 10 + c;
|
||||
i := i + 1;
|
||||
end
|
||||
|
||||
printDivisorTree(n);
|
||||
printChar('\n');
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
||||
- [LIL](lil.md)
|
||||
- [uxn](uxn.md)
|
||||
- [comun](comun.md)
|
2
uxn.md
2
uxn.md
|
@ -37,6 +37,8 @@ TODO: subroutines, ...
|
|||
|
||||
## See Also
|
||||
|
||||
- [T3X](t3x.md)
|
||||
- [LIL](lil.md)
|
||||
- [IBNIZ](ibniz.md)
|
||||
- [xxiivv](xxiivv.md)
|
||||
- [comun](comun.md)
|
||||
|
|
File diff suppressed because one or more lines are too long
144
wiki_stats.md
144
wiki_stats.md
|
@ -2,10 +2,10 @@
|
|||
|
||||
This is an autogenerated article holding stats about this wiki.
|
||||
|
||||
- number of articles: 618
|
||||
- number of commits: 960
|
||||
- total size of all texts in bytes: 4970386
|
||||
- total number of lines of article texts: 36105
|
||||
- number of articles: 619
|
||||
- number of commits: 961
|
||||
- total size of all texts in bytes: 4980466
|
||||
- total number of lines of article texts: 36162
|
||||
- number of script lines: 295
|
||||
- occurrences of the word "person": 9
|
||||
- occurrences of the word "nigger": 104
|
||||
|
@ -26,8 +26,8 @@ longest articles:
|
|||
- [programming_language](programming_language.md): 44K
|
||||
- [3d_model](3d_model.md): 44K
|
||||
- [internet](internet.md): 44K
|
||||
- [main](main.md): 40K
|
||||
- [iq](iq.md): 40K
|
||||
- [main](main.md): 40K
|
||||
- [copyright](copyright.md): 40K
|
||||
- [bloat](bloat.md): 36K
|
||||
- [cheating](cheating.md): 36K
|
||||
|
@ -35,60 +35,87 @@ longest articles:
|
|||
|
||||
top 50 5+ letter words:
|
||||
|
||||
- which (2749)
|
||||
- there (2164)
|
||||
- people (2080)
|
||||
- example (1705)
|
||||
- other (1561)
|
||||
- about (1372)
|
||||
- number (1300)
|
||||
- which (2754)
|
||||
- there (2166)
|
||||
- people (2100)
|
||||
- example (1709)
|
||||
- other (1564)
|
||||
- about (1387)
|
||||
- number (1299)
|
||||
- software (1239)
|
||||
- because (1123)
|
||||
- their (1062)
|
||||
- would (1039)
|
||||
- program (1024)
|
||||
- something (1019)
|
||||
- being (994)
|
||||
- because (1133)
|
||||
- their (1068)
|
||||
- would (1043)
|
||||
- program (1031)
|
||||
- something (1023)
|
||||
- being (1000)
|
||||
- things (956)
|
||||
- language (925)
|
||||
- called (908)
|
||||
- called (907)
|
||||
- without (852)
|
||||
- simple (847)
|
||||
- simple (848)
|
||||
- function (838)
|
||||
- computer (833)
|
||||
- computer (834)
|
||||
- numbers (821)
|
||||
- different (773)
|
||||
- however (766)
|
||||
- these (758)
|
||||
- however (767)
|
||||
- these (760)
|
||||
- programming (757)
|
||||
- world (743)
|
||||
- world (742)
|
||||
- system (722)
|
||||
- should (701)
|
||||
- doesn (699)
|
||||
- should (703)
|
||||
- doesn (700)
|
||||
- still (694)
|
||||
- games (678)
|
||||
- while (661)
|
||||
- point (655)
|
||||
- while (664)
|
||||
- point (657)
|
||||
- society (649)
|
||||
- simply (645)
|
||||
- simply (647)
|
||||
- drummyfish (642)
|
||||
- possible (631)
|
||||
- possible (632)
|
||||
- using (625)
|
||||
- probably (616)
|
||||
- always (614)
|
||||
- probably (613)
|
||||
- course (594)
|
||||
- similar (585)
|
||||
- course (593)
|
||||
- similar (586)
|
||||
- https (574)
|
||||
- though (573)
|
||||
- someone (567)
|
||||
- actually (567)
|
||||
- though (572)
|
||||
- someone (572)
|
||||
- actually (570)
|
||||
- basically (565)
|
||||
- really (564)
|
||||
- really (563)
|
||||
- technology (541)
|
||||
|
||||
latest changes:
|
||||
|
||||
```
|
||||
Date: Sun Jan 19 14:26:24 2025 +0100
|
||||
byte.md
|
||||
charity_sex.md
|
||||
cheating.md
|
||||
egoism.md
|
||||
evil.md
|
||||
faq.md
|
||||
forth.md
|
||||
freedom.md
|
||||
go.md
|
||||
humorwashing.md
|
||||
idiot_fallacy.md
|
||||
iq.md
|
||||
leading_the_pig_to_the_slaughterhouse.md
|
||||
left_right.md
|
||||
love.md
|
||||
often_confused.md
|
||||
often_misunderstood.md
|
||||
optimization.md
|
||||
random_page.md
|
||||
raycasting.md
|
||||
shitword.md
|
||||
shortcut_thinking.md
|
||||
slowly_boiling_the_frog.md
|
||||
tas.md
|
||||
wiki_pages.md
|
||||
wiki_stats.md
|
||||
Date: Thu Jan 16 23:00:49 2025 +0100
|
||||
21st_century.md
|
||||
3d_model.md
|
||||
|
@ -101,39 +128,6 @@ Date: Thu Jan 16 23:00:49 2025 +0100
|
|||
books.md
|
||||
c.md
|
||||
calculus.md
|
||||
capitalism.md
|
||||
chess.md
|
||||
communism.md
|
||||
digital_signature.md
|
||||
elo.md
|
||||
evil.md
|
||||
fantasy_console.md
|
||||
function.md
|
||||
game.md
|
||||
golang.md
|
||||
gopher.md
|
||||
hash.md
|
||||
hero_culture.md
|
||||
internet.md
|
||||
iq.md
|
||||
island.md
|
||||
jesus.md
|
||||
kwangmyong.md
|
||||
less_retarded_society.md
|
||||
lrs.md
|
||||
luke_smith.md
|
||||
main.md
|
||||
marketing.md
|
||||
nigger.md
|
||||
nonogram.md
|
||||
often_confused.md
|
||||
open_source.md
|
||||
operating_system.md
|
||||
optimism.md
|
||||
optimization.md
|
||||
p_vs_np.md
|
||||
physics_engine.md
|
||||
programming_language.md
|
||||
```
|
||||
|
||||
most wanted pages:
|
||||
|
@ -162,13 +156,13 @@ most wanted pages:
|
|||
most popular and lonely pages:
|
||||
|
||||
- [lrs](lrs.md) (325)
|
||||
- [capitalism](capitalism.md) (293)
|
||||
- [capitalism](capitalism.md) (295)
|
||||
- [c](c.md) (234)
|
||||
- [bloat](bloat.md) (227)
|
||||
- [free_software](free_software.md) (195)
|
||||
- [game](game.md) (148)
|
||||
- [suckless](suckless.md) (146)
|
||||
- [proprietary](proprietary.md) (132)
|
||||
- [proprietary](proprietary.md) (133)
|
||||
- [modern](modern.md) (116)
|
||||
- [minimalism](minimalism.md) (115)
|
||||
- [censorship](censorship.md) (113)
|
||||
|
@ -177,20 +171,20 @@ most popular and lonely pages:
|
|||
- [fun](fun.md) (104)
|
||||
- [programming](programming.md) (103)
|
||||
- [math](math.md) (101)
|
||||
- [linux](linux.md) (98)
|
||||
- [gnu](gnu.md) (98)
|
||||
- [linux](linux.md) (97)
|
||||
- [shit](shit.md) (96)
|
||||
- [fight_culture](fight_culture.md) (94)
|
||||
- [bullshit](bullshit.md) (94)
|
||||
- [woman](woman.md) (92)
|
||||
- [corporation](corporation.md) (91)
|
||||
- [art](art.md) (91)
|
||||
- [hacking](hacking.md) (90)
|
||||
- [corporation](corporation.md) (90)
|
||||
- [free_culture](free_culture.md) (89)
|
||||
- [less_retarded_society](less_retarded_society.md) (88)
|
||||
- [public_domain](public_domain.md) (85)
|
||||
- [chess](chess.md) (85)
|
||||
- [pseudoleft](pseudoleft.md) (83)
|
||||
- [history](history.md) (84)
|
||||
- ...
|
||||
- [combinatorics](combinatorics.md) (5)
|
||||
- [charity_sex](charity_sex.md) (5)
|
||||
|
|
12
youtube.md
12
youtube.md
|
@ -23,20 +23,20 @@ A typical 2022 YouTube video now looks like this:
|
|||
|
||||
```
|
||||
________________________ ________________________ ________________________
|
||||
| ,,,, | | MY CUNT______ HURTS | | |
|
||||
| ,,,, | | MY CUNT______ IS ITCHY | | !O!H! !M!Y! !G!O!D! |
|
||||
| .-------. \ | | | \ / _____O\ / | | I EAT ABORTED FETUSES |
|
||||
| (0 ) ( 0) \+ \ / | |\ \ /o| | \ / / | | I FUCKED MY MOTHER |
|
||||
| (0 ) ( 0) \+ \ / | |\ \ /o| | \ / / | | I FUCK MY MOTHER |
|
||||
| \/"""\ ** \ | | | | \ \__| |____| \/ / | | IN MINECRAFT |
|
||||
| **[ ] \/ / | | / "." \ I DRINK | | |
|
||||
| \___/ )/ | | | * ( * )MY PERIOD| | H E R E I S W H Y |
|
||||
| I AM HAVING ORGASM CUNT| | '_ '._ _/ | | |
|
||||
|________________________| |________________________| |________________________|
|
||||
THE BIGGEST THING IN I CODED MYNECRAFT IN 92812213122212 BILLION ELO
|
||||
HISTORY OF ULTRAVERSE JUST JAVASCRIPT I AM AM TRANS CHEATER CHEATED STOCKFISH
|
||||
HAPPENED HOLY JESUS!!!!!! SEXUAL I SWICH 3000 GENDERS MY ANAL HOLE NEEDS COCK
|
||||
THE BIGGEST THING IN I CODED MYNECRAFT IN !!YOU WON'T BELIEVE THIS!!
|
||||
HISTORY OF ULTRAVERSE JUST JAVASCRIPT I AM AM TRANS STOCKFISH CHEATER CAUGHT
|
||||
HAPPENED HOLY JESUS!!!!!! SEXUAL, I WAS JUST RAPED MY ANAL NEEDS COCK
|
||||
```
|
||||
|
||||
*Pinnacle of capitalist culture: faithful screenshot of YouTube in 2024.*
|
||||
*Pinnacle of capitalist entertainment culture: faithful screenshot of YouTube in 2024. Other cultures must envy the heights our art reached.*
|
||||
|
||||
YouTube is also a [copyright](copyright.md) [dictatorship](dictatorship.md), anyone can take down any video containing even the slightest clip from a video he uploaded, even if such use would legally be allowed under [fair use](fair_use.md) and even if that user doesn't have any copyright to enforce (YouTube simply supposes that whoever uploads a video to their site first must have created that video as a whole and holds a godlike power over it), i.e. YouTube is [de facto](de_facto.md) making its own copyright laws which are much more strict that they are in real life (which is hard to imagine but they managed to do it). In other words there is a corporation that makes laws which effectively are basically just like normal laws except they don't even pass any law making process, their evaluation doesn't pass through justice system (courts), and the sole purpose of these laws is to rape people for money that goes solely to pay for YouTube CEO's whores and private jets. A reader in the future probably won't believe it, but there are even people who say that "this is OK" because, quote, I shit you not, """[they're a private company so they can do whatever they want](private_company_cant_do_whatever_it_wants.md)""". Yes, such arguments have come out of some lifeform's mouth. That probably implies a negative [IQ](iq.md).
|
||||
|
||||
|
|
Loading…
Reference in a new issue