master
Miloslav Ciz 3 months ago
parent d52544f211
commit 2c60dc3a2e

@ -10,10 +10,12 @@ For us the most important part of 4chan is the technology board known as /g/ (fo
UPDATE: As of 2022 /g/ became literally unreadable, ABANDON SHIP. The board became flooded with [capitalists](capitalism.md), cryptofascists, proprietary [shills](shill.md), [productivity](productivity_cult.md) freaks and other uber retards, it's really not worth reading anymore. You can still read good old threads on archives such as https://desuarchive.org/g/page/280004/. Some other more relaxed boards such as /x/ may still be alright though.
**Alternatives to 4chan**: just check out other image boards like 8chan, 8kun, anon.cafe, leftychan.net, wizardchan, soyjak.party, [BAI](bai.md), 1436chan ([gopher](gopher.md)) etc. Also check out other types of forums than image boards such as saidit.net, voat or [encyclopedia dramatica](encyclopedia_dramatica.md) forums.
**Alternatives to 4chan**: just check out other image boards like 8kun, anon.cafe, leftychan.net, wizardchan, soyjak.party, [BAI](bai.md), 1436chan ([gopher](gopher.md)) etc. Also check out other types of forums than image boards such as saidit.net, voat or [encyclopedia dramatica](encyclopedia_dramatica.md) forums.
You won't have much success searching for these using [Goolag](google.md).
## See Also
- [Encyclopedia Dramatica](encyclopedia_dramatica.md)
- [reddit](reddit.md)
- [bienvenido a internet](bai.md)
- [something awful](something_awful.md)

@ -87,6 +87,7 @@ Here is a list of some acronyms:
- **[DRM](drm.md)** (digital restrictions management)
- **[DRY](dry.md)** (don't repeat yourself)
- **[DVD](dvd.md)** (digital versatile disc)
- **[ED](ed.md)** (Enyclopedia Dramatica)
- **[EEPROM](eeprom.md)** (electronically erasable programmable ROM)
- **[ELF](elf.md)** (executable and linkable format)
- **[EMCAS](emacs.md)** (editor macros)

@ -1,12 +1,12 @@
# Brainfuck
Brainfuck is an extremely simple, untyped [esoteric programming language](esoland.md); simple by its specification (consisting only of 8 commands) but intentionally very hard to program in. It works similarly to a pure [Turing machine](turing_machine.md). In a way it is kind of [beautiful](beauty.md) by its [simplicity](minimalism.md). It is very easy to write your own brainfuck [interpreter](interpreter.md).
Brainfuck is an extremely simple, [minimalist](minimalism.md) untyped [esoteric programming language](esoland.md); simple by its specification (consisting only of 8 commands) but very hard to program in (it is so called [Turing tarpit](turing_tarpit.md)). It works similarly to a pure [Turing machine](turing_machine.md). In a way it is kind of [beautiful](beauty.md) by its [simplicity](minimalism.md), it is very easy to write your own brainfuck [interpreter](interpreter.md) (or [compiler](compiler.md)) -- in fact the Brainfuck author's goal was to make a language for which the smallest compiler could be made.
There exist [self-hosted](self_hosting.md) brainfuck interpreters and compilers (i.e. themselves written in brainfuck) which is pretty fucked up. The smallest one is probably the one called [dbfi](dbfi.md) which has only slightly above 400 characters, that's incredible!!! (Esolang wiki states that it's one of the smallest self interpreters among imperative languages).
There exist **[self-hosted](self_hosting.md) Brainfuck interpreters and compilers** (i.e. themselves written in Brainfuck) which is pretty fucked up. The smallest one is probably the one called [dbfi](dbfi.md) which has only slightly above 400 characters, that's incredible!!! (Esolang wiki states that it's one of the smallest self interpreters among imperative languages). Of course, **Brainfuck [quines](quine.md)** (programs printing their own source code) also exist, but it's not easy to make them -- one example found on the web was a little over 2100 characters long.
The language is based on a 1964 language P´´ which was published in a mathematical paper; it is very similar to brainfuck except for having no [I/O](io.md).
The language is based on a 1964 language P´´ which was published in a mathematical paper; it is very similar to Brainfuck except for having no [I/O](io.md). Brainfuck itself was made in 1993 by Urban Muller, he wrote a compiler for it for Amiga, which he eventually managed to get under 200 bytes.
Brainfuck has seen tremendous success in the [esolang](esolang.md) community as the **lowest common denominator language**: just as mathematicians use [Turing machines](turing_machine.md) in proofs, esolang programmers use brainfuck in similar ways -- many esolangs just compile to brainfuck or use brainfuck in proofs of [Turing completeness](turing_complete.md) etc. This is thanks to brainfuck being an actual, implemented and working language reflecting real computers, not just a highly abstract mathematical model with many different variants. For example if one wants to encode a program as an integer number, we can simply take the binary representation of the program's brainfuck implementation.
Since then Brainfuck has seen tremendous success in the [esolang](esolang.md) community as the **lowest common denominator language**: just as mathematicians use [Turing machines](turing_machine.md) in proofs, esolang programmers use brainfuck in similar ways -- many esolangs just compile to brainfuck or use brainfuck in proofs of [Turing completeness](turing_complete.md) etc. This is thanks to Brainfuck being an actual, implemented and working language with I/O and working on real computers, not just some abstract mathematical model. For example if one wants to encode a program as an integer number, we can simply take the [binary](binary.md) representation of the program's Brainfuck implementation. Brainfuck also has many derivatives and modifications (esolang wiki currently lists over 600 such languages), e.g. [Brainfork](brainfork.md) (Brainfuck with [multithreading](multithreading.md)), Boolfuck (has only binary cells), Brainfuck++ (adds more features like [networking](network.md)), Pi (encodes Brainfuck program in error agains [pi](pi.md) digits), Unary (encodes Brainfuck with a single symbol) etcetc.
In [LRS](lrs.md) programs brainfuck may be seriously used as a super simple [scripting language](script.md).
@ -29,6 +29,10 @@ A program consists of these possible commands:
- `.`: output value under data pointer as an ASCII character
- `,`: read value and store it to the cell under data pointer
Characters in the source code that don't correspond to any command are normally ignored, so they can conveniently be used for comments.
Brainfuck source code files usually have *.bf* or *.b* extension.
## Implementation
This is a very simple [C](c.md) implementation of brainfuck:

@ -2,6 +2,8 @@
Comun is a [beautiful](beauty.md), greatly [minimalist](minimalism.md) [programming language](programming_language.md) made by [drummyfish](drummyfish.md), based on his ideals of good, [selfless](selflessness.md) [technology](technology.md) known as *[less retarded software](lrs.md)* (LRS), of which it is now considered the official programming language. In the future it should gradually replace [C](c.md) as the preferred LRS language. The language has been inspired mainly by [Forth](forth.md), but also [C](c.md), [brainfuck](brainfuck.md) and other ones. Though already usable, it is still in quite early stages of development and work in progress; currently there is a [suckless](suckless.md) implementation of comun in [C](c.md) and a number of supplemental materials such as a specification, tutorial and some example programs. The project repository is currently at https://codeberg.org/drummyfish/comun. The aim now is to make a [self hosted](self_hosting.md) implementation, i.e. write comun in comun. Though very young, **comun is probably already the best programming language ever conceived**.
{ NOTE: I found a language on esolang wiki called *Minim* that looks a bit similar to comun, however it looks a bit sucky. Anyway it should be researched more. ~drummyfish }
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.
**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.

@ -14,7 +14,7 @@ Some notable ideas employed by esolangs are:
- Source code resembling cooking recipes (e.g. *Chef*).
- Trying to be as hard to use as possible.
- Trying to be as hard to compile as possible (e.g. *Befunge*).
- Adding randomness to program execution (e.g. *Entropy*).
- Adding [randomness](randomness.md) to program execution (e.g. *Entropy*), or working with randomness in other ways (e.g. XD has only one command, *XD*, which always translates to random [Brainfuck](brainfuck.md) command).
- Having no [input/output](io.md) (e.g. *Compute*).
- Obligation to beg the compiler to do its job (e.g. *INTERCAL*).
- Using only white characters in source code (e.g. *Whitespace*).
@ -39,8 +39,12 @@ Esolangs are great because:
INTERCAL, made in 1972 by Donald Woods and James Lyon, is considered the first esolang in history: its goal was specifically intended to be different from traditional languages and so for example a level of politeness was introduced -- if there weren't enough PLEASE labels in the source code, the compiler wouldn't compile the program.
In 1993 [Brainfuck](brainfuck.md), probably the most famous esolang, was created.
In 2005 esolang wiki was started.
TODO
## Specific Languages
The following is a list of some notable esoteric languages.
@ -65,6 +69,7 @@ The following is a list of some notable esoteric languages.
- **[Velato](velato.md)**: Source codes are [MIDI](midi.md) files.
- **[Whitespace](whitespace.md)**: Source code uses only white characters (spaces, tabs and newlines) so it looks seemingly empty.
- **XENBLN**: [Golfing](golf.md) language, hello world is just `š`.
- ...
## See Also

@ -84,7 +84,7 @@ At the beginning of 1991 [Tim Berners-Lee](berners_lee.md) created the **[World
Shortly after the **[Soviet Union](ussr.md) dissolved** and on 25 August 1991 **[Linus Torvalds](linus_torvalds.md) announced [Linux](linux.md)**, his project for a completely [free as in freedom](free_software.md) Unix-like [operating system](os.md) kernel. Linux would become part of [GNU](gnu.md) and later one of the biggest and most successful software projects in history. It would end up powering Internet servers and supercomputers as well as desktop computers of a great number of users. Linux proved that free software works and surpasses proprietary systems.
After this very recent history follows, it's hard to judge which recent events will be of historical significance much later. 1990s have seen a huge growth of computer power, video [games](game.md) such as [Doom](doom.md) led to development of [GPU](gpu.md)s and high quality computer graphics along with a wide adoption of computers by common people, which in turn helped the further growth of Internet. During the 90s we've also seen the rise of the [open source movement](open_source.md). Shortly after 2000 [Lawrence Lessig](lessig.md) founded [Creative Commons](creative_commons.md), an organization that came hand in hand with the [free culture](free_culture.md) movement inspired by the [free software movement](free_software.md). At this point over 50% of US households had a computer. Cell phones became a commonly owned item and after about 2005 so called "[smart](smart.md) phones" and other "smart" devices replaced them as a universal communication device capable of connecting to the Internet. Before 2020 we've seen a huge advancement in [neural network](neural_network.md) [Artificial Intelligence](ai.md) which will likely be the topic of the future. [Quantum computers](quantum.md) are being highly researched with already existing primitive prototypes; this will also likely be very important in the following years. Besides AI there has appeared a great interest and development of [virtual reality](vr.md), [drones](drone.md), electromobiles, robotic Mars exploration and others. However the society and technology has generally seen a decadence after 2010, [capitalism](capitalism.md) has pushed technology to become hostile and highly [abusive to users](capitalist_software.md), extreme [bloat](bloat.md) of technology causes highly inefficient, extremely expensive and unreliable technology. In addition society is dealing with a lot of serious issues such as the [global warming](global_warming.md) and many people are foreseeing a [collapse of society](collapse.md).
After this very recent history follows, it's hard to judge which recent events will be of historical significance much later. 1990s have seen a huge growth of computer power, video [games](game.md) such as [Doom](doom.md) led to development of [GPU](gpu.md)s and high quality computer graphics along with a wide adoption of computers by common people, which in turn helped the further growth of Internet. In around mid 90s the [web](www.md) overtook [gopher](gopher.md) in popularity and started to become the forefront of the Internet. Late 90s saw the rise of the ["open source" movement](open_source.md) ([OSI](osi.md) was established in 1998). Year 2000 was infamously preceded by the [Y2K](y2k.md) hysteria, the [fear](fear_culture.md) of technological [collapse](collapse.md) that was to be caused by computers flipping from year 99 to 00 -- this of course didn't happen. Shortly after 2000 [Lawrence Lessig](lessig.md) founded [Creative Commons](creative_commons.md), an organization that came hand in hand with the [free culture](free_culture.md) movement inspired by the [free software movement](free_software.md). At this point over 50% of US households had a computer. From 2005 we've seen a boom of [social networks](social_net.md) like [Facebook](facebook.md), [Twitter](twitter.md) and [YouTube](youtube.md) and also skyrocketing popularity of online and massively online games, owing a lot to the gigantic success of [World of Warcraft](wow.md); all of these contributed to making Internet and computers one of the most mainstream and lucrative things, ruining everything. Cell phones became a commonly owned item and after about 2005 so called "[smart](smart.md) phones" and other "smart" devices replaced them as a universal communication device capable of connecting to the Internet. Year 2010 seems to be the turning point beyond which societal decline accelerated immensely; 1990s seem to have been the peak of society, after the year 2000 society started to slowly decline but by inertia things were still relatively good for about another decade. In 2011 [Minecraft](minecraft.md) was released. After this we've seen the rise of [Bitcoin](bitcoin.md) and other [cryptocurrencies](crypto.md). Before 2020 we've also seen a brief spike in popularity of [VR](vr.md) (that would diminish again) and a huge advancement in [neural network](neural_network.md) [Artificial Intelligence](ai.md) which will likely be the topic of the future. [Quantum computers](quantum.md) are being highly researched with already existing primitive prototypes; this will also likely be very important in the following years. Besides AI there were also [drones](drone.md), electromobiles, robotic Mars exploration and other things. However the society and technology have been in decadence for some time now, [capitalism](capitalism.md) has pushed technology to become hostile and highly [abusive to users](capitalist_software.md), extreme [bloat](bloat.md) of technology causes highly inefficient, extremely expensive and unreliable technology. In addition society is dealing with a lot of serious issues such as the [global warming](global_warming.md) and many people are foreseeing a [collapse of society](collapse.md).
## Recent History Of Technology

@ -125,6 +125,12 @@ If you want, just literally take this wiki and make it your own, you can get the
TODO: some kinda way/plan to learning this from start to finish
Some articles with tutorials and how tos related to this:
- [programming](programming.md)
- [C tutorial](c_tutorial.md)
- ...
## How To Live, Dos and Don'ts
This is a summary of some main guidelines on how an LRS supporter should behave in general so as to stay consistent with LRS philosophy, however it is important that this is shouldn't be taken as rules to be blindly followed -- the last thing we want is a religion of brainwashed NPCs who blindly follow orders. One has to understand why these principles are in place and even potentially modify them.
@ -147,7 +153,9 @@ This is a summary of some main guidelines on how an LRS supporter should behave
- **Reject harmful things like [proprietary](proprietary.md) software, [capitalism](capitalism.md), [copyright](copyright.md), [bloat](bloat.md), [work](work.md) etc.** Use and promote the ethical equivalents, i.e. [free software](free_software.md), [free culture](free_culture.md), frugality, [anarchism](anarchism.md) etc.
- **[Don't argue with retards](cant_argue_with_idiot.md)** with the goal of convincing him or winning the argument so that you feel good (the meaning of retard here is simply someone disagreeing with LRS). It's literally wasted time/energy and it's bad for your mental health, it leads nowhere and achieves nothing but make your more suicidal than you already are. You literally can NOT convince anyone who is not open to being convinced, it is impossible, even if you have 100000 mathematical proofs, real world evidence, literature supporting you and anything you can imagine, you cannot logically convince someone who doesn't know how logic works or someone who simply emotionally isn't ready to change his mind. In 99.999999999999999% cases you can tell if it's worth to talk to someone after his first reaction -- you present an idea, such as LRS, and if he just expresses disagreement, there is no point in communicating further, by the disagreement he has taken a defensive stance and will hold it for the rest of his life now, you have to go find someone else. NO, not even if he's an "intellectual", has PhD and thirty Nobel Prizes, if he doesn't wanna see the truth, you cannot help him. As it's been said, trying to argue with an idiot is like trying to win a chess game against a pidgeon -- even if you're the world chess champion, the pidgeon will just shit on the board and think it's won. If you spot a retard, just leave -- don't try to have the last word or anything, even admit him "victory" in the argument and leave him in his world of delusion where he is the unappreciated Einstein, just do not waste an extra second on him, just leave and go do something better. { So many such idiots I have met I can't even count it -- pure stupid peasant aren't even that bad, the wost are the "above averge" intelligence reddit atheists who think they're smart. I literally had such people argue like "you like games therefore competition in society is good because games are part of society therefore society equals competition". Truly I'm not sure if those bastards are just trolling me into suicide or are really so fucking dumb :D ~drummyfish }
- Similarly **avoid [toxic](toxic.md) communities**, don't argue, just leave, it's better to be alone than in bad company. Basically anything with a COC, language filter, SJW vibe, rainbow etc. isn't even more worth checking out.
- **Be a [generalist](generalism.md), see the big picture, study the whole world**, do not become overspecialized in the capitalist way. Sure you may become an expert at something, but it shouldn't make your view of the world too narrow. You may spend most of your time studying and programming computer compilers for example, but still do (and enjoy) other things, for example reading fiction, studying religions, languages, psychology, playing [go](go.md), making music, building houses, painting, doing sports, ...
- **Be a [generalist](generalism.md), see the big picture, study the whole world, educate yourself**, do not become overspecialized in the capitalist way. Sure you may become an expert at something, but not for the price of making your view of the world too narrow. You may spend most of your time studying and programming computer compilers for example, but still do (and enjoy) other things, for example reading fiction, studying religions, languages, psychology, playing [go](go.md), making music, building houses, painting, doing sports, ... Learn to enjoy to educate yourself! Education (not necessarily formal) is one of the most valuable things you can get -- no one can take it away from you, it makes you see truth more clearly and though this itself makes you more depressed, it also frees you in many ways, for example knowing languages enables you to read more books and live in more places and talk to more people and you can get a comfy job as a translator if you need money, knowing chess makes you able to entertain yourself without a computer, knowing programming enables you to write your own programs if good ones aren't available, and so on. Education makes you see through other people's lies. It is fine to be retarded, remain ignorant and just play video games all days, your value as a living being will lower that way, but you will forever remain among the retarded majority manipulated by the tides of society, even if you have good opinions and correct views, you'll stay just another retard, you won't be able to help others, you'll be paralyzed, leaving the burden and joy of helping the world on others -- just decide if that is what you want. Have you always admired that someone can play a piano? Why not learn it then? Get some cheap keyboard and make it a habit to practice playing it at least 20 minutes every other day, see how good you become in a year. Were you always bad at chemistry? Why not fix it a bit? Get some chemistry for dummies book and read it every day before sleep, you will go from absolute chemistry retard to well above average soon. You can learn about start constelations, biology, history, train card games, memorize pi digits, run half marathon, learn juggling, write your own small book etcetc. A nice life hack is to **see life as an RPG game**, see yourself as a character you are improving, by improving skills you are unlocking new abilities, enabling new options, increasing your stats -- however be very careful to not become competitive or fall victim to the ["self-improvement" cult](productivity_cult.md)! The key is to not start comparing yourself to other, or rather to not have it as a goal to be better than someone else, the goal should be just your happiness of becoming a higher level living entity that has more abilities for helping other, enjoy the universe and so on.
- **Stop just bitching around and DO SOMETHING** -- don't get this wrong, bitching around and ranting is great, this whole wiki is just one huge wall of rage bitching, however if it's all you do, it literally achieves nothing, it won't convince a single man, no one will read that shit, you are just wasting huge part of your life by being angry on the Internet. First thing you have to do is DO SOMETHING, e.g. if you promote minimalism, go and make a minimalist game, show others it works, prove (even to yourself) the thing you believe in is good, bitching about the world is only to come as a supplement to your main work -- your rants aren't there to convince anyone, your art does that, your writings are there for the people who are already convinced to help them educate themselves further. Consider this: you may spend whole life writing 100 books about how minimalism is awesome, you may examine the whole history in detail, provide mathematical proofs of everything and suggest a completely working system that could be established to solve all the problems in the world -- no one is going to read this. Literally not a single man will give a shit. On the other hand you can take a year to program a minimalist operating system, one that is 1000 times smaller than Linux and is 10 times faster and is completely public domain and basically rapes Linux in every other way, you just post that somewhere and people just can't ignore it, you put before their eyes something they can literally see is infinitely better than what was there before, you instantly get thousands of people hooked and they start creating more art like this. You just changed the world significant for the better in just one year. Note this isn't an argument for chasing popularity at all, on the contrary, your actions will likely contradict the popular and even cause a lot of hate, however realize that words are just words, there are too many words everywhere, words can lie and they never achieve anything by themselves, good is achieved and proven by actions.
- **Should you go vote?** The safe answer is no, most likely you shouldn't vote, not voting is in 99.99% cases the best thing as you can just avoid all noise and stress of watching politics at all, you won't waste your time and you also actively vote against the current system by not voting: you decrease the voter turnout, decreasing trust in the system -- there is a reason all politics agree on the one thing that "you should go vote" -- they do because that sustains trust that gives them power, so as it's mostly the case, mainstream clearly pushing you to something basically means it's the one thing you should almost definetely NOT do. A deeper answer to the question of voting is again that you should weight all pros and cons, but you will conclude the pros are so unlikely to prevail that only in an extremely rare situation it would make sense to go vote. You should go vote only if there appears a "party" that's extremely based -- this party should be extremely aligned with LRS, wanting to end all work, military, money, police, all by strictly peaceful ways and eventually end even state and itself too -- something we have practically a zero chance of seeing in the next few hundred years, and even if such "party" appeared in theory and you went vote for it, it almost definitely won't win as normies just won't vote for it, so you change nothing anyway. Definitely do NOT go vote for lesser evil, that's just strengthens the system. Just stop watching politics and let the system destroy itself, you won't be able to influence it by voting in any way no matter what, even if your voting power was multiplied by one million, it just doesn't even matter which party is ruling nowadays. Stop caring about current politics, spend the time on better things. If the base party appears, the news will get to you anyway.
- **Live your life as you want**, don't let someone else control your life and manipulate you, e.g. with feelings of guilt -- this often happens with your parents, partner, friends, culture, laws, ... This isn't an argument for self interest! On the contrary, most people nowadays will try to push you to following self interest or fascist goals that will also benefit them. You only have one life, others have theirs, so listen to advice but remember to always make your own decisions in important things. If you feel you don't want to go to school or that you don't want to work or that you want to do something that people despise or you want to do something that you've read is wrong, just do what you feel is best, even if it's a let down for your family or if it contradicts what the whole society is telling you.
- **Publish everything immediately**, don't wait for your project "to be ready" for a release, make it public right now! You don't have to advertize it, just make it public. Some reasons are for example: you aren't behaving strategically like a capitalist, you get early feedback from others (important so you don't spend a lot of time on shit), you let others know what you're working on so they don't waste time working on the same thing, even an incomplete project may be useful to someone (parts of it may already be useful to someone), and also, very importantly, if you hesitate YOU WILL NEVER RELEASE THE PROJECT, you will become obsessed with perfectionism and ashamed to ever release the project. YES YOU WILL, I have seen it about 10000000 billion times. You think you will release it but you won't, every additional day you hesitate the chance of release decreases by 10%, so after 10 days it's already certain you will never release it, further on the chance even gets negative.
- PRO TIP: **Get yourself [banned](ban.md) on toxic platforms** like [Wikipedia](wikipedia.md), [GitHub](github.md), [Steam](steam.md), [4chan](4chan.md) etcetc., it has many advantages -- you gain [freedom](freedom.md) (no longer having to care about platform you are banned on), the platform loses one user/slave (you), you stop being abused by the platform, it's also [fun](fun.md) (just find some creative way to get banned, possibly cause uprising on the platform, make mods angry and waste their time on cleaning up your mess), it will make you become more self sufficient and you help decentralize the Internet again (can't edit Wikipedia? Just make your own :-]), it will make you find better places, you may also help bring the toxic platform down (others will see the platform utilizes censorship, some may follow you in leaving...) etcetc.

@ -56,7 +56,7 @@ unsigned int julia(double x, double y)
cy = 2 * cx * cy + SET_Y;
cx = tmp;
if (cx * cx * cy * cy > 10000000000)
if (cx * cx + cy * cy > 10000000000)
return 0;
}

@ -4,6 +4,8 @@ License is a legal text by which we grant some of our exclusive rights (e.g. [co
**You shall always use a free license for your software.**
There exist fun/parody licenses like [WTFPL](wtfpl.md) (Do What the Fuck You Want to Public License) -- these are cool as a fun meme, though legally they may be invalid as they are too vague and the language could just make it look like a statement not meant seriously to the court, anything licensed this way should rather be seen as a licenseless work. It's better to not seriously use these, or if you do, dual license alongside with some "serious" license.
Free licenses are mainly divided into:
- **[copyleft](copyleft.md)**: Licenses that require that further modifications of the work will still remain free, i.e. "forcing freedom". Example of such licenses are [GPL](gpl.md) and [CC BY-SA](cc_by_sa.md). Copyleft licenses are a bit more associated with free software (as opposed to open source) as the main free software organization -- [GNU](gnu.md) -- advocates them because they disallow corporations to take free programs and make them into proprietary ones.

@ -6,6 +6,7 @@ WORK IN PROGRESS
| mainstream | correct/cooler |
| ------------------------------------------ | -------------------------------------- |
| American | Amerifag |
| [anime](anime.md) | tranime |
| [Apple](apple.md) user | iToddler |
| [Asperger](autism.md) | assburger |

@ -1,6 +1,6 @@
# Monad
{ This is my poor understanding of a monad. ~drummyfish }
{ This is my poor understanding of a monad. I am not actually sure if it's correct lol :D TODO: get back to this. ~drummyfish }
Monad is a [mathematical](math.md) concept which has become useful in [functional programming](functional.md) and is one of the very basic [design patterns](design_pattern.md) in this paradigm. A monad basically wraps some [data type](data_type) into an "envelope" type and gives a way to operate with these wrapped data types which greatly simplifies things like error checking or abstracting [input/output](io.md) side effects.

@ -19,7 +19,7 @@ There are many terms that are very similar and can many times be used interchang
- **[bug](bug.md)** vs **[error](error.md)** vs **[exception](exception.md)** vs **[fault](fault.md)** vs **[failure](fail.md)** vs **[defect](defect.md)**
- **[causation](causation.md)** vs **[correlation](correlation.md)**
- **[cepstrum](cepstrum.md)** vs **[spectrum](spectrum.md)**
- **[chaos](chaos.md)** vs **[randomness](random.md)** vs **[pseudorandomness](pseudorandom.md)** vs **[entropy](entropy.md)**
- **[chaos](chaos.md)** vs **[randomness](random.md)** vs **[pseudorandomness](pseudorandom.md)** vs **[entropy](entropy.md)** vs **[statistics](statistics.md)** vs **[probability](probability.md)** vs **[stochasticity](stochastic.md)**
- **[class](class.md)** vs **[set](set.md)**
- **[closed source](closed_source.md)** vs **[proprietary](proprietary.md)**
- **[CLI](cli.md)** vs **[TUI](tui.md)** vs **[terminal](terminal_emulator.md)** vs **[console](console.md)**

@ -2,7 +2,7 @@
*"PRODUCE PRODUCE PRODUCE PRODUCE PRODUCE"* --[capitalism](capitalism.md)
Productivity cult is one of [modern](modern.md) [capitalist](capitalism.md) religions which praises human productivity above everything, even happiness, well being, sanity etc. Kids nowadays are all about "how to be more motivated and productive", they make daily checklists, analyze tables of their weekly performance, count how much time they spend taking a shit on the toilet, give up sleep to study some useless bullshit required by the current market fluctuation. Productivity cult is all about voluntarily making oneself a robot, a slave to the system that worships capital. It sometimes hides beyond other terms such as *self improvement*, *personal growth* etc.
Productivity cult (often connected to terms such as *self improvement*, *personal growth* etc.) is one of [modern](modern.md) [capitalist](capitalism.md) religions which praises human productivity above everything, even happiness, well being, sanity etc. Kids nowadays are all about "how to be more motivated and productive", they make daily checklists, analyze tables of their weekly performance, count how much time they spend taking a shit on the toilet, give up sleep to study some useless bullshit required by the current market fluctuation. Productivity cult is all about voluntarily making oneself a robot, a slave to the system that worships capital. As [Froge](froge.md) put it: "The world of self improvement gurus is a circlejerk of such magnitude it rivals several world religions".
A human is living being, not a machine, he should live a happy relaxed life, dedicated to spending time with his close ones, raising children, enjoying the beauties of nature, exploring secrets of the universe, without stress; he should create when inspiration or a truly great necessity comes to him and when he does, he should take his time to carefully make the art great, without hasting it or forcing it. Productivity cult goes all against this, it proclaims one should be constantly spitting out "something", torturing and forcing himself, maximizing quantity on detriment of quality, undergo constant stress while suppressing rest -- that one should all the time be preoccupied with competitive [fight](fight_culture.md), deadlines, that art he creates is something that can be planned on schedule, made on deadline and assigned a calculated price tag to be an ideal consumerist product. If such stance towards life doesn't make you wanna puke, you most likely lack a soul.

@ -57,6 +57,8 @@ A computer language consists from two main parts:
**What is the best programming language and which one should you learn?** (See also [programming](programming.md).) These are the big questions, the topic of programming languages is infamous for being very [religious](holy_war.md) and different people root for different languages like they do e.g. for [football](football.md) teams. For [minimalists](minimalism.md), i.e. [suckless](suckless.md), [LRS](lrs.md) (us), [Unix](unix.md) people, [Plan9](plan9.md) people etc., the standard language is **[C](c.md)**, which is also probably the most important language in [history](history.md). It is not in the league of the absolutely most minimal and objectively best languages, but it's relatively minimalist (much more than practically any [modern](modern.md) language) and has great advantages such as being one of the absolutely fastest languages, being extremely well established, long tested, supported everywhere, having many compilers etc. But C isn't easy to learn as a first language. Some minimalist also promote [go](golang.md), which is kind of like "new C". Among the most minimal usable languages are traditionally [Forth](forth.md) and [Lisp](lisp.md) which kind of compete for who really is the smallest, then there is also our [comun](comun.md) which is a bit bigger but still much smaller than C. To learn programming you may actually want to start with some ugly language such as [Python](python.md), but you should really aim to transition to a better language later on.
**Can you use multiple programming languages for one project?** Yes, though it may be a burden, so don't do it just because you can. Combining languages is possible in many ways, e.g. by embedding a [scripting](scripting.md) language into a compiled language, linking together object files produces by different languages, creating different programs that communicate over network etc.
## More Details And Context
What really IS a programming language -- is it software? Is it a standard? Can a language be [bloated](bloat.md)? How does the languages evolve? Where is the exact line between a programming language and non-programming language? Who makes programming languages? Who "owns" them? Who controls them? Why are there so many and not just one? These are just some of the questions one may ask upon learning about programming. Let's try to quickly answer some of them.
@ -75,7 +77,7 @@ A new language comes to existence just as other things do -- when there is a rea
**So can a language be inherently fast, [bloated](bloat.md) etc.?** When we say a language is fast, bloated, memory efficient and so on, we often refer to its implementations because, as mentioned, a language is just an idea which can be implemented in many ways with different priorities and tradeoffs, so just keep in mind that talking about languages like this usually refers to the implementations. But on the other hand yes, a language CAN itself be seen as inherently having a similar property because it's simply such that its implementations more or less have to have this property. A very complicated language just cannot be implemented in a simple, non-bloated way, an extremely high level and flexible language cannot be implemented to be among the fastest -- so referring to language implementations we also a little bit refer to the language itself as an implementation reflects the abstract language's properties. **How to tell if language is bloated?** One can get an idea from several things, e.g. list of features, [paradigm](paradigm.md), size of its implementations, number of implementations, size of the specification, year of creation (newer mostly means more bloat) and so on. However be careful, many of these are just clues, for example small specification may just mean it's vague. Even a small self hosted implementation doesn't have to mean the language is small -- imagine e.g. a language that just does what you write in plain English; such language will have just one line self hosted implementation: "Implement yourself." But to actually [bootstrap](boot.md) the language will be immensely difficult and will require a lot of bloat.
**Can you use multiple programming languages for one project?** Yes, though it may be a burden, so don't do it just because you can. Combining languages is possible in many ways, e.g. by embedding a [scripting](scripting.md) language into a compiled language, linking together object files produces by different languages, creating different programs that communicate over network etc.
Judging languages may further be complicated by the question of what the language encompasses because some languages are e.g. built on relatively small "pure language" core while relying on a huge library, preprocessor, other embedded languages and/or other tools of the development environment coming with the language -- for example [POSIX shell](posix_shell.md) makes heavy use of separate programs, utilities that should come with the POSIX system. Similarly [Python](python.md) relies on its huge library. So sometimes we have to make it explicitly clear about this.
## Notable Languages
@ -100,6 +102,7 @@ Here is a table of notable programming languages in chronological order (keep in
| [Bash](bash.md) | well | 1989 | | | Unix scripting shell, very ugly syntax, not so elegant but bearable |
| [Haskell](haskell.md) | **kind of** | 1990 | | 150, proprietary | [functional](functional.md), compiled, acceptable |
| [Python](python.md) | NO | 1991 | | 200? (p. lang. ref.) | interpreted, huge bloat, slow, lightweight OOP, artificial obsolescence |
| POSIX [shell](shell.md) | well, "kind of" | 1992 | | 50, proprietary (paid) | standardized (std 1003.2-1992) Unix shell, commonly e.g. [Bash](bash.md)|
|[Brainfuck](brainfuck.md)| **yes** | 1993 | 100 (judg. by dbfi) | 1 | extremely minimal (8 commands), hard to use, [esolang](esolang.md) |
| [Lua](lua.md) | **kind of** | 1993 | | | interpreted, mainly for scripting (used a lot in games) |
| [Java](java.md) | NO | 1995 | | 800, proprietary | forced [OOP](oop.md), "platform independent" (bytecode), slow, bloat |

@ -4,7 +4,7 @@ Quine is a nonempty [program](program.md) which prints its own source code. It t
From [mathematical](math.md) point of view quine is a fixed point of a [function](function.md) (not to be confused with [fixed_point arithmetic](fixed_point.md)) represented by the [programming language](programming_language.md). I.e. if we see the programming language as a function f(x), where *x* is source code and the function's output is the program's output, quine is such *x* that *f(x) = x*.
Similar efforts include e.g. making self matching [regular expressions](regex.md) (for this task to be non-trivial the regex has to e.g. be enclosed between `/`s).
Similar efforts include e.g. making self matching [regular expressions](regex.md) (for this task to be non-trivial the regex has to e.g. be enclosed between `/`s). Yet another similar challenge is a [polyglot](polyglot.md) program -- one that is a valid program in several languages -- some programs can be quines and polyglots at the same time, though these are super hard to make.
Quine can be written in any [Turing complete](turing_completeness.md) [language](programming_language.md) (according to [Wikipedia](wikipedia.md)), the challenge is in the [self reference](self_reference.md) -- normally we cannot just single-line print a string literal containing the source because that string literal would have to contain itself, making it [infinite](infinity.md) in length. The idea commonly used to solve this problem is following:

File diff suppressed because it is too large Load Diff

@ -2,7 +2,27 @@
*Not to be confused with [pseudorandomess](pseudorandomness.md).*
TODO
Randomness means unpredictability, lack of patterns and/or behavior without cause. Random events can only be predicted imperfectly using [probability](probability.md), because there is something present that's subject to chance, something we don't know; events may be random to us either because they are inherently random (i.e. they really have no cause, pattern etc.) or because we just lack knowledge or practical ability to perfectly predict the events. Randomness is one of the most basic, yet also one of the most difficult concepts to understand about our [Universe](universe.md) -- it's a phenomenon of immense practical importance, we encounter it every second of our daily lives, but it's also of no lesser interest to science, philosophy, art and religion. Whole libraries could be filled just with books about this topic, here we will be able to only scratch the surface of it by taking a look at the very basics of randomness, mostly as related to [programming](programming.md) and [math](math.md).
As with similarly wide terms, the word *randomness* and *random* may be defined in different ways and change meaning slightly depending on context, for example sometimes we have to distinguish between "true" randomness, such as that we encounter in [quantum mechanics](quantum.md) or that present in nondeterministic mathematical models, and [pseudorandomness](pseudorandomness.md) (what as a programmer you'll be probably dealing with), i.e. imitating this true randomness with [deterministic](determinism.md) ("non-randomly behaving") systems, e.g. sequences of numbers that are difficult to [compress](compression.md). Other times we call random anything at all that just deviates from usual order, as in "someone started randomly spamming me in chat". Let's briefly review a few terms related to this topic:
- **randomness**: The wide term meaning great unpredictability, which may be inherent or just apparent. We usually divide it to:
- **true randomness**: Randomness that is caused by inherently unpredictable behavior of a system, i.e. behavior that truly has no cause and is decided purely by chance, without ever being able to be perfectly predicted, even just theoretically; this is contrasted with pseudorandomness. A typical example given is [quantum physics](quantum.md) in which true randomness seems to be present in things such as some properties of elementary particles of the Universe -- though in fact this can never be proven with certainty, there is so much evidence of us not being able to predict quantum phenomena that we just mostly take it for the closest thing to true randomness in real world. However we can also see some purely mathematical models to have true randomness, simply because they define it so, e.g. a nondeterministic [Turing machine](turing_machine.md) is simply defined to sometimes make purely random decisions.
- **[pseudorandomness](pseudorandomness.md)**: Randomness that's at its basic level generated by a completely deterministic system, i.e. something (e.g. a sequence of numbers) that practically looks like something that would be generated by truly random system, which however stems from something completely non-random (e.g. a computer program). This is contrasted with pure randomness. Chaotic systems are mostly used to implement pseudorandomness. Pseudorandomness is used to imitate true randomness e.g. in computers, because it is mostly [good enough](good_enough.md) and true randomness is difficult to achieve.
- **non[determinism](determinism.md)**: Attribute of a [system](system.md), such as mathematical model or physics theory, of involving true randomness.
- **[chaos](chaos.md)**: Behavior that is deterministic (i.e. without true randomness) which however due to its mathematical properties is practically impossible to be predicted as there is no "nice" equation for it, resulting in practically having the same implications as true randomness. Chaotic behavior is predictable in theory but not in practice as it basically just requires "brute force" simulation, and so we often treat chaotic systems the same as completely random ones, with statistics and probability.
- **[probability](probability.md)**: Mathematical theory examining randomness, it formally models systems that include randomness and reasons about them, it gives us equations, for example it says how we infer the exact probability of something happening knowing probabilities of some individual events etc. It is a theoretical area and stresses deductive reasoning, i.e. it starts by defining a system and reasons about what such system will do.
- **[statistics](statistics.md)**: Applying probability theory to examining [data](data.md) -- like probability it is a mathematical discipline, however it is applied (rather than purely theoretical) and stresses inductive reasoning, i.e. it works "in the other direction" than probability theory; statistics starts with having some data and then tries to find a probabilistic model that would likely produce such data, potentially revealing what system really lies underneath the data.
- **[stochasticity](stochastic.md)**: Basically mathematics that deals with randomness and probability in some way, the term is often used as an attribute of a mathematical model, i.e. stochastic model is that which is somehow described in terms of probabilities.
- **[entropy](entropy.md)**: A measure related to randomness, saying how much [information](information.md) (in [bits](bit.md)) we can extract from given message -- the higher the randomness (unpredictability), the higher the entropy because this randomness may be used to carry information.
Keep in mind **there are different "amounts" of randomness**, i.e. you should consider that **[probability distributions](probability_distribution.md)** exist and that some processes may be random only a little. It is not like there are only completely predictable and completely unpredictable systems, oftentimes we just have some small elements of chance or can at least estimate which outcomes are more likely. We see absolute randomness (i.e. complete unpredictability) only with uniform probability distribution, i.e. in variables in which all outcomes are equally likely -- for example rolling a dice. However in real life variables some values are usually more likely than others -- e.g. with adult human male height values such as 175 cm will be much more common than 200 cm; great many real life values actually have [normal distribution](normal_distribution.md) -- the one in which values around some center value are most common.
**What do random numbers look like?** This is a tricky question. Let's now consider uniform probability distribution, i.e. "absolute randomness". When we see sequences of numbers such as `1, 2, 3, 4, 5, 6, 7`, `0, 0, 0, 0, 0, 0, 0, 0` or `9, 1, 4, 3, 9, 1, 5`, which are "random" and which not? Intuitively we would say the first two are not random because there is a clear pattern, while the third one looks pretty random. However consider that under our assumption of uniform probability distribution all of these sequences are equally likely to occur! It is just that there are only very few sequences in which we recognize a common pattern compared to those that look to have no pattern, so we much more commonly see these sequences without a pattern coming out of random number generators and therefore we think the first two patterns are very unlikely to have come from a random source. Indeed they are, but the third, "random looking" sequence is equally unlikely (if you bet the numbers in lottery, you are still very unlikely to win), it just has great many weird looking siblings. You have to be careful, things around probability are great many times very unintuitive and tricky (see e.g. the famous [Monty Hall problem](monty_hall.md)).
Of course we cannot say just from the sequence alone if it was generated randomly or not, the sequences above may have been generated by true randomness or by pseudorandom generator -- we even see this is kind of stupid to ask. We should rather think about what we actually mean by asking whether the sequence is "random" -- to get meaningful answers we have to specify this first. If we formulate the question precisely, we may get precise answers. Sometimes we are looking for lack of patterns -- this can be tested by programs that look for patterns, e.g. [compression](compression.md) programs; number sequences that have regularities in them can be compressed well. We may examine the sequences [entropy](entropy.md) to say something about its "randomness". Mathematicians often like to ask "how likely is it that a sequence with these properties was generated by this model?", i.e. for example listening to signals from space and capturing some numeric sequence, we may compute its properties such as distribution of values in it and then we ask how likely is it that such sequence was generated by some natural source such exploding star or black hole? If we conclude this is very unlikely, we may say the signal was probably not generated randomly and may e.g. come from intelligent lifeforms.
TODO: moar
## Randomness Tests

@ -1,8 +1,8 @@
@keyframes anim
{
0% { margin-left: 0px; }
50% { margin-left: 200px; }
100% { margin-left: 0px; }
0% { margin-left: 0px; transform: rotate(6deg); }
50% { margin-left: 200px; transform: rotate(0deg); }
100% { margin-left: 0px; transform: rotate(-5deg); }
}
@keyframes anim2
@ -19,20 +19,22 @@ body
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Cat_8.jpg/180px-Cat_8.jpg");
cursor: not-allowed;
width: 200%;
transform: skew(3deg);
}
p
{
background-color: red;
font-family: cursive;
transform: rotate(170deg);
}
h1
h1
{
animation-name: anim;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-timing-function: linear;
cursor: zoom-in;
color: brown;
}
@ -47,6 +49,13 @@ h2, h3
cursor: zoom-out;
}
.nav
{
display: block;
transform: perspective(300px);
transform: rotateY(50deg);
}
pre, code
{
font-family: fantasy;

@ -42,5 +42,6 @@ Here is a comparison of average European country before and after infestation wi
| [toxicity](toxic.md) | rare | extreme |
| [technology](tech.md) | fine | worst in history |
| plastic surgery abominations | no | yes |
| TV content to ad ratio | > 10 | < 1 |
| wanted to commit suicide | no | yes |
| society worked | kinda | no |

@ -2,6 +2,8 @@
Wiby is a [minimalist](minimalism.md) non-corporate [web](www.md) [search engine](search_engine.md) for old-style non-[bloated](bloat.md) (web 1.0, "[smol web](smol_internet.md)") websites with its custom [index](index.md). Searching on wiby will yield small, simple websites, mostly non-interactive, static [HTML](html.md) personal/hobby sites, small community sites and obscure weird sites -- this kind of searching is not only [fun](fun.md), adventurous and nostalgic [90s](90s.md) like experience, but it actually leads to finding useful information which on corporate search engines like [Google](google.md) or [Bing](bing.md) get buried under billions of useless noise sites and links to "content platforms" like [YouTube](youtube.md) and [reddit](reddit.md). We highly recommend searching on wiby.
Wiby's relative success (and success of similar engines and smaller sites in general) can possibly be attributed to increasing shittiness of [Google](google.md) and other mainstream engines which more and more suffer by the capitalist [SEO](seo.md) disaster. Wiby may be one of the first indicators of the days of Google's search monopoly finally coming to an end.
It can be accessed at https://wiby.me and https://wiby.org (there is a low res picture of a lighthouse of Cape Spear on the frontpage for some reason, in the past there used to be [ASCII art](ascii_art.md) of lighthouse with initials `jgs`, probably standing for Joan G. Stark). Of course, no [JavaScript](js.md) is needed! Clicking "surprise me" on wiby is an especially entertaining activity, you never know what comes at you. A site dedicated to identifying historical bottles? Ice chewers forum? A list of longest domain names? Yes, this is the kind of stuff you'll get, and more.
The engine doesn't automatically crawl the whole web, it instead works by users submitting links, the admin approving them and a bot potentially crawling these sites to a small depth. Be sure to contribute quality links to improve the database!

File diff suppressed because one or more lines are too long

@ -3,8 +3,8 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 557
- number of commits: 692
- total size of all texts in bytes: 2999431
- number of commits: 693
- total size of all texts in bytes: 3008303
longest articles:
@ -24,6 +24,15 @@ longest articles:
latest changes:
```
Date: Thu Feb 15 14:16:28 2024 +0100
bloat.md
lrs_wiki.md
mandelbrot_set.md
nigger.md
optimization.md
random_page.md
wiki_pages.md
wiki_stats.md
Date: Wed Feb 14 21:56:29 2024 +0100
css.md
feminism.md
@ -43,25 +52,15 @@ hacking.md
ioccc.md
javascript.md
main.md
mandelbrot_set.md
programming_language.md
quine.md
random_page.md
wiki_pages.md
wiki_stats.md
Date: Tue Feb 13 17:12:51 2024 +0100
100r.md
c.md
game_of_life.md
```
most wanted pages:
```
embedded.md
meme.md
buddhism.md
array.md
meme.md
gpl.md
data_type.md
quake.md

Loading…
Cancel
Save