master
Miloslav Ciz 2 years ago
parent eaa715af8c
commit f0c3f6aecf

@ -9,7 +9,10 @@ Here is a list of some acronyms:
- **[ACID](acid.md)** (atomicity consistency isolation durability)
- **[ACK](ack.md)** (acknowledgement)
- **[ADSL](adsl.md)** (asymmetric digital subscriber line)
- **[AF](af.md)** (as fuck)
- **[AFAIK](afaik.md)** (as far as I know)
- **[AJAX](ajax.md)** (asynchronous [JavaScript](js.md) and [XML](xml.md))
- **[AFK](afk.md)** (away from keyboard)
- **[ALU](alu.md)** (arithmetic logic unit)
- **[AM](am.md)** (amplitude modulation)
- **[ANCAP](ancap.md)** (anarcho capitalist)
@ -36,6 +39,7 @@ Here is a list of some acronyms:
- **[BJ](bj.md)** (blow job)
- **[BJT](bjt.md)** (bipolar junction transistor)
- **[BS](bs.md)** (bullshit)
- **[BTFO](btfo.md)** (blown the fuck out)
- **[CAD](cad.md)** (computer aided design)
- **[CAPTCHA](captcha.md)** (completely automated public Turing test to tell computers and humans apart)
- **[CC](cc.md)** (creative commons)
@ -147,6 +151,7 @@ Here is a list of some acronyms:
- **[IMO](imo.md)** (in my opinion)
- **[INB4](inb4.md)** (in before)
- **[IO](io.md)** (input/output)
- **[IOT](iot.md)** (internet of things)
- **[IPS](ips.md)** (instructions per second)
- **[IP](ip.md)** (internet protocol, intellectual property)
- **[IPV4](ipv4.md)** (IP version 4)
@ -213,6 +218,7 @@ Here is a list of some acronyms:
- **[MS/M$](ms.md)** (Micro$oft)
- **[MSB](msb.md)** (most significant bit)
- **[MSG](msg.md)** (message)
- **[MUD](mud.mf)** (multi user dungeon)
- **[NAN](nan.md)** (not a number)
- **[NASA](nasa.md)** (national aeronautic and space administration)
- **[NAT](nat.md)** (network address translation)
@ -259,6 +265,7 @@ Here is a list of some acronyms:
- **[RIP](rip.md)** (rest in piece)
- **[RLE](rle.md)** (run length encoding)
- **[RMS](rms.md)** (Richard Matthew Stallman)
- **[RN](rn.md)** (right now)
- **[ROFL](rofl.md)** (rolling on floor laughing)
- **[ROM](rom.md)** ([read-only](read_only.md) memory)
- **[RPG](rpg.md)** (role playing game)
@ -325,6 +332,7 @@ Here is a list of some acronyms:
- **[VLIW](vliw.md)** (very long instruction word)
- **[VM](vm.md)** (virtual machine)
- **[VPN](vpn.md)** (virtual private network)
- **[VPS](vps.md)** (virtual private server)
- **[VRAM](vram.md)** (video RAM)
- **[W3C](w3c.md)** (world wide web consortium)
- **[WAN](wan.md)** (wide area network)

@ -0,0 +1,7 @@
# Art
Art is an endeavor that seeks discovery and creation of [beauty](beauty.md) and primarily relies on intuition. While the most immediate examples of art that come to mind are for example [music](music.md) and painting, even the most [scientific](science.md) and rigorous effort like [math](math.md) and [programming](programming.md) become art when pushed to the highest level, to the boundaries of current knowledge where intuition becomes important for further development.
## See Also
- [beauty](beauty.md)

@ -0,0 +1,134 @@
# ASCII
TODO
| dec | hex | oct | bin | symbol |
|-----|-----|-----|-------|-----------------------|
| 000 | 00 | 000 |0000000| NUL: null |
| 001 | 01 | 001 |0000001| SOH: start of heading |
| 002 | 02 | 002 |0000010| STX: start of text |
| 003 | 03 | 003 |0000011| ETX: end of text |
| 004 | 04 | 004 |0000100| EOT: end of stream |
| 005 | 05 | 005 |0000101| ENQ: enquiry |
| 006 | 06 | 006 |0000110| ACK: acknowledge |
| 007 | 07 | 007 |0000111| BEL: bell |
| 008 | 08 | 010 |0001000| BS: backspace |
| 009 | 09 | 011 |0001001| TAB: tab (horizontal) |
| 010 | 0a | 012 |0001010| LF: new line |
| 011 | 0b | 013 |0001011| VT: tab (vertical) |
| 012 | 0c | 014 |0001100| FF: new page |
| 013 | 0d | 015 |0001101| CR: carriage return |
| 014 | 0e | 016 |0001110| SO: shift out |
| 015 | 0f | 017 |0001111| SI: shift in |
| 016 | 10 | 020 |0010000| DLE: data link escape |
| 017 | 11 | 021 |0010001| DC1: device control 1 |
| 018 | 12 | 022 |0010010| DC2: device control 2 |
| 019 | 13 | 023 |0010011| DC3: device control 3 |
| 020 | 14 | 024 |0010100| DC4: device control 4 |
| 021 | 15 | 025 |0010101| NAK: not acknowledge |
| 022 | 16 | 026 |0010110| SYN: sync idle |
| 023 | 17 | 027 |0010111| ETB: end of block |
| 024 | 18 | 030 |0011000| CAN: cancel |
| 025 | 19 | 031 |0011001| EM: end of medium |
| 026 | 1a | 032 |0011010| SUB: substitute |
| 027 | 1b | 033 |0011011| ESC: escape |
| 028 | 1c | 034 |0011100| FS: file separator |
| 029 | 1d | 035 |0011101| GS: group separator |
| 030 | 1e | 036 |0011110| RS: record separator |
| 031 | 1f | 037 |0011111| US: unit separator |
| 032 | 20 | 040 |0100000| ` `: space |
| 033 | 21 | 041 |0100001| `!` |
| 034 | 22 | 042 |0100010| `"` |
| 035 | 23 | 043 |0100011| `#` |
| 036 | 24 | 044 |0100100| `$` |
| 037 | 25 | 045 |0100101| `%` |
| 038 | 26 | 046 |0100110| `&` |
| 039 | 27 | 047 |0100111| `'` |
| 040 | 28 | 050 |0101000| `(` |
| 041 | 29 | 051 |0101001| `)` |
| 042 | 2a | 052 |0101010| `*` |
| 043 | 2b | 053 |0101011| `+` |
| 044 | 2c | 054 |0101100| `,` |
| 045 | 2d | 055 |0101101| `-` |
| 046 | 2e | 056 |0101110| `.` |
| 047 | 2f | 057 |0101111| `/` |
| 048 | 30 | 060 |0110000| `0` |
| 049 | 31 | 061 |0110001| `1` |
| 050 | 32 | 062 |0110010| `2` |
| 051 | 33 | 063 |0110011| `3` |
| 052 | 34 | 064 |0110100| `4` |
| 053 | 35 | 065 |0110101| `5` |
| 054 | 36 | 066 |0110110| `6` |
| 055 | 37 | 067 |0110111| `7` |
| 056 | 38 | 070 |0111000| `8` |
| 057 | 39 | 071 |0111001| `9` |
| 058 | 3a | 072 |0111010| `:` |
| 059 | 3b | 073 |0111011| `;` |
| 060 | 3c | 074 |0111100| `<` |
| 061 | 3d | 075 |0111101| `=` |
| 062 | 3e | 076 |0111110| `>` |
| 063 | 3f | 077 |0111111| `?` |
| 064 | 40 | 100 |1000000| `@` |
| 065 | 41 | 101 |1000001| `A` |
| 066 | 42 | 102 |1000010| `B` |
| 067 | 43 | 103 |1000011| `C` |
| 068 | 44 | 104 |1000100| `D` |
| 069 | 45 | 105 |1000101| `E` |
| 070 | 46 | 106 |1000110| `F` |
| 071 | 47 | 107 |1000111| `G` |
| 072 | 48 | 110 |1001000| `H` |
| 073 | 49 | 111 |1001001| `I` |
| 074 | 4a | 112 |1001010| `J` |
| 075 | 4b | 113 |1001011| `K` |
| 076 | 4c | 114 |1001100| `L` |
| 077 | 4d | 115 |1001101| `M` |
| 078 | 4e | 116 |1001110| `N` |
| 079 | 4f | 117 |1001111| `O` |
| 080 | 50 | 120 |1010000| `P` |
| 081 | 51 | 121 |1010001| `Q` |
| 082 | 52 | 122 |1010010| `R` |
| 083 | 53 | 123 |1010011| `S` |
| 084 | 54 | 124 |1010100| `T` |
| 085 | 55 | 125 |1010101| `U` |
| 086 | 56 | 126 |1010110| `V` |
| 087 | 57 | 127 |1010111| `W` |
| 088 | 58 | 130 |1011000| `X` |
| 089 | 59 | 131 |1011001| `Y` |
| 090 | 5a | 132 |1011010| `Z` |
| 091 | 5b | 133 |1011011| `[` |
| 092 | 5c | 134 |1011100| `\` |
| 093 | 5d | 135 |1011101| `]` |
| 094 | 5e | 136 |1011110| `^` |
| 095 | 5f | 137 |1011111| `_` |
| 096 | 60 | 140 |1100000| `` ` ``: backtick |
| 097 | 61 | 141 |1100001| `a` |
| 098 | 62 | 142 |1100010| `b` |
| 099 | 63 | 143 |1100011| `c` |
| 100 | 64 | 144 |1100100| `d` |
| 101 | 65 | 145 |1100101| `e` |
| 102 | 66 | 146 |1100110| `f` |
| 103 | 67 | 147 |1100111| `g` |
| 104 | 68 | 150 |1101000| `h` |
| 105 | 69 | 151 |1101001| `i` |
| 106 | 6a | 152 |1101010| `j` |
| 107 | 6b | 153 |1101011| `k` |
| 108 | 6c | 154 |1101100| `l` |
| 109 | 6d | 155 |1101101| `m` |
| 110 | 6e | 156 |1101110| `n` |
| 111 | 6f | 157 |1101111| `o` |
| 112 | 70 | 160 |1110000| `p` |
| 113 | 71 | 161 |1110001| `q` |
| 114 | 72 | 162 |1110010| `r` |
| 115 | 73 | 163 |1110011| `s` |
| 116 | 74 | 164 |1110100| `t` |
| 117 | 75 | 165 |1110101| `u` |
| 118 | 76 | 166 |1110110| `v` |
| 119 | 77 | 167 |1110111| `w` |
| 120 | 78 | 170 |1111000| `x` |
| 121 | 79 | 171 |1111001| `y` |
| 122 | 7a | 172 |1111010| `z` |
| 123 | 7b | 173 |1111011| `{` |
| 124 | 7c | 174 |1111100| `|` |
| 125 | 7d | 175 |1111101| `}` |
| 126 | 7e | 176 |1111110| `~` |
| 127 | 7f | 177 |1111111| DEL |

@ -8,4 +8,25 @@ We can divide computers based on many attributes, e.g.:
- by **[hardware](hw.md) technology**: [electronic](electronics.md), [mechanical](mechanical.md), biological etc.
- by **purpose**: special purpose vs general purpose, [personal](pc.md), [embedded](embedded.md), [supercomputers](supercomputer.md) etc.
- by **[programmability](programming.md)**: non-programmable, partially or fully programmable
- by **other criteria**: conventional vs [quantum computers](quantum.md) etc.
- by **other criteria**: conventional vs [quantum computers](quantum.md) etc.
Computers are studied by [computer science](compsci.md). The kind of computer we normally talk about consists of two main parts:
- **[hardware](hw.md)**: physical parts
- **[software](sw.md)**: [programs](program.md), made by [programmers](programmer.md)
The power of computers is limited, [Alan Turing](turing.md) mathematically proved that there exist problems that can never be completely solved by any [algorithm](algorithm.md), i.e. there are problems a computer (including our [brain](brain.md)) will never be able to solve (even if solution exists). He also invented the theoretical model of a computer called the [Turing machine](turing_machine.md). Besides the mentioned theoretical limitation, many solvable problems may take too long to compute, at least with computers we currently know (see [computational complexity](computational_complexity.md) and [P vs NP](p_vs_np.md)).
## Typical Computer
Computers we normally talk about are [electronic](electronics.md) [digital](digital.md) mostly personal computers such as [desktops](desktop.md) and [laptops](laptop.md), possibly also [cell phones](phone.md), [tablets](tablet.md) etc.
Such a computer consists of some kind of [case](case.md) (chassis), internal [hardware](hardware.md) plus [peripheral devices](peripheral.md) that serve for [input and output](io.md) -- these are for example a [keyboard](keyboard.md) and [mouse](mouse.md) (input devices), a [monitor](monitor.md) (output device) or [harddisk](hdd.md) (input/output device). The internals of the computer normally include:
- **[motherboard](motherboard.md)**: The main electronic circuit of the computer into which other components are plugged and which creates the network and interfaces that interconnect them (a [chipset](chipset.md)). It contains slots for expansion cards as well as connectors for external devices, e.g. [USB](usb.md). In a small memory on the board there is the most basic software ([firmaware](firmware.md)), such as [BIOS](bios.md), to e.g. enable installation of other software. The board also carries the [clock](clock.md) generator for synchronization of all hardware, heat sensors etc.
- **[CPU](cpu.md)** (central processing unit): Core of the computer, the chip plugged into motherboard that performs general calculations and which runs [programs](program.md), i.e. [software](sw.md).
- **[RAM](ram.md)/working memory**: Lower capacity volatile (temporary, erased when powered off) working memory of the computer, plugged into motherboard. It is used as a "pen and paper" by the CPU when performing calculations.
- **[disk](disk.md)**: [Non-volatile](volatile.md) (persisting when powered off) large capacity memory for storing [files](file.md) and other [data](data.md), connected to the motherboard via some kind of [bus](bus.md). Different types of disks exist, most commonly [hard disks](hdd.md) and [SSDs](ssd.md).
- **expansion cards ([GPU](gpu.md), sound card, network card, ...)**: Additional hardware cards plugged into motherboard for either enabling or accelerating specific functionality (e.g. GPU for graphics etc.).
- **[PSU](psu.md)** (power supply unit): Converts the input electrical power from the plug to the electrical power needed by the computer.
- other things like fans for [cooling](cooling.md), batteries in laptops etc.

@ -0,0 +1,21 @@
# Internet
Internet is the grand, [decentralized](decentralization.md) global network of interconnected [computer](computer.md) [networks](network.md) that allows advanced, cheap, practically instantaneous intercommunication of people and computers and sharing of large amounts of data and information. Over just a few decades since its birth in 1970s it changed the society tremendously, shifted it to the information age and stands as possibly the greatest technological invention of our society. It is a platform for many services and applications such as the [web](www.md), [e-mail](email.md), [internet of things](iot.md), [torrents](torrent.md), phone calls, video streaming, multiplayer [games](game.md) etc.
Internet is built on top of [protocols](protocol.md) (such as [IP](ip.md), [HTTP](http.md) or [SMTP](smtp.md)), standards, organizations (such as [ICANN](icann.md), [IANA](iana.md) or [W3C](w3c.md)) and infrastructure (undersea cables, satellites, [routers](routers.md), ...) that all together work to create a great network based on **[packet switching](packet_switching.md)**, i.e. a method of transferring digital data by breaking them down into small [packets](packet.md) which independently travel to their destination (contrast this to [circuit switching](circuit_switching.md)). The key feature of the Internet is its **[decentralization](decentralization.md)**, i.e. the attribute of having no central node or authority so that it cannot easily be destroyed or taken control over -- this is by design, the Internet evolved from [ARPANET](arpanet.md), a project of the US defense department. Nevertheless there are parties constantly trying to seize at least partial control of the Internet such as governments (e.g. China and its [Great Firewall](great_firewall.md), [EU](eu.md) with its "anti-pedophile" chat monitoring laws etc.) and corporations (by creating centralized services such as [social networks](social_network.md)). Some are warning of possible de-globalization of the Internet that some parties are trying to carry out, which would turn the Internet into so called [splinternet](splinternet.md).
Access to the Internet is offered by [ISPs](isp.md) (internet service providers) but it's pretty easy to connect to the Internet even for free, e.g. via free [wifis](wifi.md) in public places, or in libraries. By 2020 more than half of world's population had access to the Internet -- most people in the first world have practically constant, unlimited access to it via their [smartphones](smartphone.md), and even in [poor countries](shithole.md) [capitalism](capitalism.md) makes these devices along with Internet access cheap as people constantly carrying around devices that display [ads](ad.md) and spy on them is what allows their easy exploitation.
The following are some stats about the Internet as of 2022: there are over 5 billion users world-wide (more than half of them from Asia and mostly young people) and over 50 billion individual devices connected, about 2 billion websites (over 60% in [English](english.md)) on the web, hundreds of billions of emails are sent every day, average connection speed is 24 Mbps, there are over 370 million registered [domain](domain.md) names (most popular [TLD](tld.md) is .com), [Google](google.com) performs about 7 billion web searches daily (over 90% of all search engines).
## History
*see also [history](history.md)*
TODO
## See Also
- [World Wide Web](www.md)
- [splinternet](splinternet.md)
- [Kwangmyong](kwangmyong.md) (North Korean intranet)

@ -1,10 +1,10 @@
# Mathematics
Mathematics (also math or maths) is the best [science](science.md) (yes, it is a formal science), which deals with numbers, abstract structures and logic in as rigorous and objective way as possible. In fact it's the only true science that can actually prove things. It is immensely important in [programming](programming.md) and [computer science](compsci.md).
Mathematics (also math or maths) is the best [science](science.md) (yes, it is a formal science), which deals with numbers, abstract structures and [logic](logic.md) in as rigorous and objective way as possible. In fact it's the only true science that can actually prove things. It is immensely important in [programming](programming.md) and [computer science](compsci.md).
Some see math not as a science but rather a discipline that develops formal tools for "true sciences".
Some see math not as a science but rather a discipline that develops formal tools for "true sciences". The reasoning is usually that a science has to use [scientific method](scientific_method.md), but that's a limited view as that's not the only way of obtaining reliable knowledge. Besides that math can and does use the principles of scientific method -- mathematicians first perform "experiments" with numbers and generalize into [conjectures](conjecture.md), however this is not considered [good enough](good_enough.md) in math as it actually has the superior tool of [proof](proof.md) that is considered the ultimate goal of math. In this sense mathematics is more than a science.
[Soydevs](soydev.md), coding monkeys (such as webdevs) and just retards in general hate math because they can't understand it. They think they can do programming without math, which is just ridiculous. This delusion stems mostly from these people being highly incompetent and without proper education -- all they've ever seen was a shallow if-then-else [python](python.md) "[coding](coding.md)" of baby programs or point-and-click "coding" in gigantic [GUI](gui.md) frameworks such as [Unity](unity.md) where everything is already preprogrammed for them. By DunningKruger they can't even see how incompetent they are and what real programming is about and they think everyone just if-then-elses everything. In reality, this is like thinking that merely being able to read and write makes you someone being capable of being a great writer or that being able to drive a car makes you able to designs and construct cars. Such people will be able to get jobs and do some repetitive tasks such as web development or system administration, but they will never create anything innovative and all they will ever create will be ugly, [bloated](bloat.md) if-then-else solution that will likely do more harm than good.
[Soydevs](soydev.md), coding monkeys (such as webdevs) and just retards in general hate math because they can't understand it. They think they can do programming without math, which is just ridiculous. This delusion stems mostly from these people being highly incompetent and without proper education -- all they've ever seen was a shallow if-then-else [python](python.md) "[coding](coding.md)" of baby programs or point-and-click "coding" in gigantic [GUI](gui.md) frameworks such as [Unity](unity.md) where everything is already preprogrammed for them. By DunningKruger they can't even see how incompetent they are and what real programming is about and they think everyone just if-then-elses everything. In reality, this is like thinking that merely being able to read and write makes you someone being capable of being a great writer or that being able to drive a car makes you able to design and construct cars. Such people will be able to get jobs and do some repetitive tasks such as web development or system administration, but they will never create anything innovative and all they will ever make will be ugly, [bloated](bloat.md) [spaghetti](spaghetti.md) solution that will likely do more harm than good.
On the other hand, one does not have to be a math [PhD](phd.md) in order to be a good programmer in most fields. Sure, knowledge and overview of advanced mathematics is needed to excel, to be able to spot and sense elegant solutions, but beyond these essentials that anyone can learn with a bit of will it's really more about just not being afraid of math, accepting and embracing the fact that it permeates what we do and studying it when the study of a new topic is needed.
@ -14,14 +14,15 @@ Following are some areas and topics which a programmer should be familiar with:
- **basics** (high-school level math): arithmetic, algebra, expressions, [functions](function.md), [equations](equation.md), geometry, [trigonometry](trigonometry.md)/goniometry, systems of linear equations, quadratic equations, [complex numbers](complex_number.md), [logarithms](lofarithm.md), analythical geometry (many problems are equivalent to relationships of shapes in N dimensional spaces), [polynomials](polynomial.md) (used in many areas, e.g. error correction codes in networking), ...
- **advanced notation**: ability to understand the notation that's often used in papers etc. (the big sigma for sum, calculus notation etc.)
- **formal [logic](logic.md)**: computers are based on [Boolean](boolean.md) logic, knowing basic formulas and theorems here is crucial (e.g. the completeness of [NAND](nand.md)), formal logic is also just generally used in formal texts, one should know about predicate vs propositional logic, the notation etc.
- **formal [logic](logic.md)**: computers are based on [Boolean](boolean.md) logic, knowing basic formulas and theorems here is crucial (e.g. the completeness of [NAND](nand.md)), formal logic is also just generally used in formal texts, one should know about predicate vs propositional logic etc.
- **[proofs](proof.md)**: core of high level mathematics, one should know the basic proof techniques (direct, [contradiction](contradiction.md), [induction](induction.md), ...).
- **[linear algebra](linear_algebra.md)**: aka "vectors and matrices", essential in almost every field ([graphics](graphics.md), [machine learning](machine_learning.md), ...).
- **[calculus](calculus.md) and differential equations**: just essential for advanced math and many fields (graphics, machine learning, electricity, physics, any optimization, ...).
- **theoretical [computer science](compsci.md)**: [computational complexity](computational_complexity.md) (very important), [computability](computability.md), [formal languages](formal_language.md), computational models ([automata](automaton.md), [Turing machines](turing_machine.md), ...), ...
- **[graph theory](graph.md)**: generally useful tools, especially important e.g. in networks or indexing structures in [databases](database.md).
- **number and set theory**: sets of numbers ([natural](natural_number.md), [rational](rational_number.md), [real](real_number.md), [complex](complex_number.md), ...), [prime numbers](prime.md) (important e.g. for [cryptography](cryptography.md), [quantum computing](quantum.md), ...), ...
- **[number](number.md) and [set](set.md) theory**: sets of numbers ([natural](natural_number.md), [rational](rational_number.md), [real](real_number.md), [complex](complex_number.md), ...), [prime numbers](prime.md) (important e.g. for [cryptography](cryptography.md), [quantum computing](quantum.md), ...), ...
- **discrete math**: basic structures such as [groups](group.md) and [fields](field.md), [abstract algebras](abstract_algebra.md) and the properties of these structures.
- **[signal processing](signal_processing.md)**: [Fourier transform](fourier_transform.md) and other integral transforms (important e.g. for [compression](compression.md) and analysis of signals), [aliasing](aliasing.md), filter theory, ...
- **[numerical methods](numerical.md)**: for simulations and approximations of solutions to problems we can't solve exactly.
- **[numerical methods](numerical.md)**: for simulations and [approximations](approximation.md) of solutions to problems we can't solve exactly.
- **[probability](probability.md)/statistics**: encountered practically everywhere but very important e.g. in [cryptography](cryptography.md).
- **other**: things important in specific fields, e.g. [quaternions](quaternion.md) (graphics, physics), [lambda calculus](lambda_calculus.md), [game theory](game_theory.md), ...
- **other**: things important in specific fields and/or other weird stuff, e.g. [topology](topology.md), [quaternions](quaternion.md) (graphics, physics), [lambda calculus](lambda_calculus.md), [game theory](game_theory.md), [fractal geometry](fractal.md), ...

@ -1,5 +1,5 @@
# Mental Outlaw
Mental Outlaw is a black/N-word [youtuber](youtube.md)/vlogger focused on [FOSS](foss.md) and, to a considerable degree, [suckless](suckless.md) software. He's kind of a copy-paste of [Luke Smith](luke_smith.md) but a little closer to the mainstream and normies.
Mental Outlaw is a black/[N-word](nigger.md) [youtuber](youtube.md)/vlogger focused on [FOSS](foss.md) and, to a considerable degree, [suckless](suckless.md) software. He's kind of a copy-paste of [Luke Smith](luke_smith.md) but a little closer to the [mainstream](mainstream.md) and normies.
Like with Luke, sometimes he's real based and sometimes he says very stupid stuff. Make your own judgement.

@ -0,0 +1,3 @@
# Splinternet
TODO

@ -1,6 +1,6 @@
# Steganography
Steganography means hiding secret information in publicly accessible data; for example it is possible to hide text messages in a digital photograph by slightly modifying the colors of the image pixels -- that photo then looks just like an innocent picture while in fact bearing an extra information for those who can read it. Note that steganography embeds the secret information **in the data itself** (image pixels, sound samples etc.), NOT in metadata (file headers), so the information is preserved even between lossless format conversion etc. Steganography differs from [encryption](encryption.md) by trying to avoid suspicion of secret communication.
Steganography means hiding secret information in publicly accessible data; for example it is possible to hide text messages in a digital photograph by slightly modifying the colors of the image pixels -- that photo then looks just like an innocent picture while in fact bearing an extra information for those who can read it. Steganography differs from [encryption](encryption.md) by trying to avoid even suspicion of secret communication.
There are many uses of steganography, for example in secret communication, bypassing censorship or secretly tracking a piece of digital media with an invisible [watermark](watermark.md) (game companies have used steganography to identify which game clients were used to leak pre-release footage of their games). [Cicada 3301](cicada.md) has famously used steganography in its puzzles.

@ -1,21 +1,22 @@
# Suckless
Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), freedom and hackability, and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless.
Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), freedom and hackability, and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless ideas.
Notable suckless promoters include [Luke Smith](luke_smith.md) and [Mental Outlaw](mental_outlaw.md).
{ From what it seems to me, the "official" suckless community is largely quiet, leading conversations mostly on mailing lists and focusing almost exclusively on the development of their software without politics, activism and off topics, probably because they consider it bullshit that would only be distracting. There is also suckless subreddit which is similarly mostly focused on the software alone. They let their work speak. Some accuse the community of being Nazis, however I believe this is firstly irrelevant and secondly mostly false accusations of haters, even if we find a few Nazis among them, just as in any community. Most pro-suckless people I've met were actually true socialists (while Nazis are not socialist despite their name). Unlike [tranny software](tranny_software.md), suckless software itself doesn't promote any politics, it is a set of purely functional tools, so the question of the developers' private opinions is unimportant in tech discussion. ~drummyfish }
{ From what it seems to me, the "official" suckless community is largely quiet, leading conversations mostly on mailing lists and focusing almost exclusively on the development of their software without politics, activism and off topics, probably because they consider it bullshit that would only be distracting. There is also suckless subreddit which is similarly mostly focused on the software alone. They let their work speak. Some accuse the community of being Nazis, however I believe this is firstly irrelevant and secondly mostly false accusations of haters, even if we find a few Nazis among them, just as in any community. Most pro-suckless people I've met were actually true socialists (while Nazis are not socialist despite their name). Unlike [tranny software](tranny_software.md), suckless software itself doesn't promote any politics, it is a set of purely functional tools, so the question of the developers' private opinions is unimportant here. Suckless ideas are good regardless of whose brains they came from. ~drummyfish }
## Attributes
- [Free software](free_software.md)
- Being [free software](free_software.md).
- Extreme [minimalism](minimalism.md) and minimizing [dependencies](dependency.md), elimination of any [bullshit](bullshit.md).
- Configuration of software is part of its source code (`config.h`) and change of this configuration requires recompiling the software (which is extremely easy and fast with suckless software). This removes the need for dealing with config files which requires special libraries, file systems and extra code.
- Mainly using two [programming languages](programming_language.md): [C](c.md) for compiled programs and POSIX shell for scripting.
- Forking by default, software is distributed in source format, every user is supposed to create a personal customized fork and compile/customize the software himself.
- Mainly using two [programming languages](programming_language.md): [C](c.md) for compiled programs and [POSIX shell](posix_shell.md) for scripting.
- [Forking](fork.md) by default, software is distributed in source format, every user is supposed to create a personal customized fork and compile/customize the software himself.
- Mods (extension/addons) are implemented and distributed as [patch](patch.md) files.
- Permissive licensing such as [MIT](mit.md), [CC0](cc0.md) etc.
- Typical upper limit for [lines of code](loc.md) of a program being 10k.
- Focus on the technology itself without mixing it with [politics](politics.md) and other [bullshit](bs.md) such as [COCs](coc.md).
## History
@ -30,4 +31,6 @@ Notable projects developed by the suckless group include:
- [dwm](dwm.md)
- [st](st.md)
- [dmenu](dmenu.md)
- [surf](surf.md)
- [surf](surf.md)
However there are many more, check out their website.

@ -0,0 +1,9 @@
# Teletext
Teletext is now pretty much obsolete technology that allowed broadcasting extremely simple read-only text/graphical pages along with TV signal so that people could browse them on their [TVs](tv.md). It was used mostly in the 70s, 80s and 90s but with [world wide web](www.md) teletext pretty much died.
{ Just checked on my TV and it still works in 2022 here. For me teletext was something I could pretend was "the internet" when I was little and when we didn't have internet at home yet, it was very cool. Back then it took a while to load any page but I could read some basic news or even browse graphical logos for cell phones. Nowadays TVs have buffers and have all the pages loaded at any time so the browsing is instantaneous. ~drummyfish }
The principal difference against the [Internet](internet.md) was that teletext was [broadcast](broadcast.md), i.e. it was a one-way communication. Users couldn't send back any data or even request any page, they could only wait and catch the pages that were broadcast by TV stations (this had advantages though, e.g. it couldn't be [DDOSed](ddos.md)). Each station would have its own teletext with fewer than 1000 pages -- the user would write a three place number of the page he wanted to load ("catch") and the TV would wait until that page was broadcast (this might have been around 30 seconds at most), then it would be displayed. The data about the pages were embedded into unused parts of the TV signal.
The pages allowed fixed-width text and some very blocky graphics, both could be colored with very few basic colors. It looked like something you render in a very primitive [terminal](terminal.md).

@ -7,7 +7,7 @@ If you contribute, add yourself to [wiki authors](wiki_authors.md)! You can also
## Rules
1. **Everything is [public domain](public_domain.md)** under [CC0](cc0.md) to which all contributors agree. No one owns what we write here.
2. **No fair use** or even unfrair use. We want this Wiki to be as free as possible and don't thread the fine legal lines. That means you can't directly include anything on this Wiki if it's copyrighted, **even if it's under a free license**. So generally **avoid any copy pasting and rather try to write everything yourself**.
2. **No [fair use](fair_use.md)** or even unfrair use. We want this Wiki to be as free as possible and don't thread the fine legal lines. That means you can't directly include anything on this Wiki if it's copyrighted, **even if it's under a free license**. So generally **avoid any copy pasting and rather try to write everything yourself**.
3. **Stay on topic**, this Wiki is **CENSORED**: spam, too much of completely non-related text, shitty things, capitalist propaganda and similar are not to be had here.
## Style
@ -26,6 +26,24 @@ If you contribute, add yourself to [wiki authors](wiki_authors.md)! You can also
Articles should be written to be somewhat readable and understandable to tech savvy people who already know something about technology, i.e. not only experts (as is sometimes the case e.g. on Wikipedia). **Each article should ideally start with a general dictionary [definition](definition.md)** and continue with a simple general explanation and overview of the topic. With more paragraphs the text can get more complex. The idea is that a noob will read the first paragraph, understand the basic idea and take something away. A more advanced reader will read further on and take away more things etc. I.e. we educate in a top-down approach.
## Sources
These are some sources you can use for research and gathering information for articles:
- **[Wikipedia](wikipedia.md)**: of course, but don't limit your search to it.
- **[Citizendium](citizendium.md)**: can offer a different angle of view from Wikipedia.
- **Britannica online**: proprietary, but articles are nicely written, facts are in the public domain so we can steal them.
- **[wikiwikiweb](wikiwikiweb.md)**
- **[Wiby](wiby.md)**: this will find nice sites of tech nerds that Google won't show among first results
- **[Project Gutenberg](gutenberg.md)**: mostly older books but there are already some computer related books like [RMS's](rms.md) biography or [Jargon File](jargon_file.md)
- **Wikisource** and **Wikibooks**
- **[Metapedia](metapedia.md)**
- **[books](book.md)**: Books are still of higher quality than online sources so you can [pirate](piracy.md) some and steal some facts from them.
- **[Internet Archive](internet_archive.md)**: A lot of things can be found on the old web that today drown in the bloat of shitsites, also Internet Archive has archives of various forums etc.
- **Non-web**: When web fails, you can search the [darknet](darknet.md), [gopher](gopher.md), [gemini](gemini.md), [usenet](usenet.md) etc.
## Purpose
Basically the purpose of this wiki is to have fun and also create a coherent and consistent philosophy of a truly good software, technology and also to a related degree society.
Additionally we want to create a nice, completely public domain, suckless educational resource, an encyclopedia that's written in a nicer style than e.g. Wikipedia.

@ -1,3 +1,10 @@
# Wizard
Wizard is a male [virgin](virgin.md) who is at least 30 years old ([female](female.md) virgins of such age haven't been seen yet). The word is sometimes also used for a man who's just very good with [computers](computer.md). These two sets mostly overlap so it rarely needs to be distinguished which meaning we intend.
Wizard is a male [virgin](virgin.md) who is at least 30 years old ([female](female.md) virgins of such age haven't been seen yet). The word is sometimes also used for a man who's just very good with [computers](computer.md). These two sets mostly overlap so it rarely needs to be distinguished which meaning we intend.
There is an [imageboard](imageboard.md) for wizards called [wizardchan](wizchan.md). It is alright but also kind of sucks, for example you can't share your [art](art.md) with others because of stupid anti-[doxxing](dox.md) rules that don't even allow to dox yourself.
## See Also
- [incel](incel.md)
- [volcel](volcel.md)

@ -22,6 +22,29 @@ Between 2000 and 2010 there used to be a mobile alternative to the web called [W
Around 2005, the time when [YouTube](youtube.md), [Twitter](twitter.md), [Facebook](facebook.md) and other shit sites started to appear and become popular, so called [Web 2.0](web_20.md) started to form. This was a shift in the web's paradigm towards more [shittiness](shit.md) such as more [JavaScript](javascript.md), [bloat](bloat.md), interactivity, websites as programs, [Flash](flash.md), [social networks](social_network.md) etc. This would be the beginning of the web's downfall.
## How It Works
It's all pretty well known, but in case you're a nub...
Users browse the Internet using [web browsers](browser.md), programs made specifically for this purpose. Pages on the [Internet](internet.md) are addressed by their [URL](url.md), a kind of textual address such as `http://www.mysite.org/somefile.html`. This address is entered into the web browser, the browser retrieves it and displays it.
A webpage can contain text, pictures, graphics and nowadays even other media like video, audio and even programs that run in the browser. Most importantly webpages are [hypertext](hypertext.md), i.e. they may contain clickable references to other pages -- clicking a link immediately opens the linked page.
The page itself is written in [HTML](html.md) language (not really a [programming](programming.md), more like a file format), a relatively simple language that allows specifying the structure of the text (headings, paragraphs, lists, ...), inserting links, images etc. In newer browsers there are additionally two more important languages that are used with websites (they can be embedded into the HTML file or come in separate files): [CSS](css.md) which allows specifying the look of the page (e.g. text and font color, background images, position of individual elements etc.) and [JavaScript](js.md) which can be used to embed [scripts](script.md) (small [programs](program.md)) into webpages which will run on the user's computer (in the browser). These languages combined make it possible to make websites do almost anything, even display advanced 3D graphics, play movies etc. However, it's all huge [bloat](bloat.md), it's pretty slow and also dangerous, it was better when webpages used to be HTML only.
The webpages are stored on web [servers](server.md), i.e. computers specialized on listening for requests and sending back requested webpages. If someone wants to create a website, he needs a server to host it on, so called [hosting](hosting.md). This can be done by setting up one's own server -- so called [self hosting](self_hosting.md) -- but nowadays it's more comfortable to buy a hosting service from some company, e.g. a [VPS](vps.md). For running a website you'll also want to buy a web [domain](domain.md) (like `mydomain.com`), i.e. the base part of the textual address of your site (there exist free hosting sites that even come with free domains if you're not picky, just search...).
When a user enters a URL of a page into the browser, the following happens (it's kind of simplified, there are [caches](cache.md) etc.):
1. The [domain](domain.md) name (e.g. `www.mysite.org`) is converted into an [IP](ip.md) address of the server the site is hosted on. This is done by asking a [DNS](dns.md) server -- these are special servers that hold the database mapping domain names to IP addresses (when you buy a domain, you can edit its record in this database to make it point to whatever address you want).
2. The browser sends a request for given page to the IP address of the server. This is done via [HTTP](http.md) (or [HTTPS](https.md) in the encrypted case) protocol -- this protocol is a language via which web servers and clients talk (it can contain additional data like passwords entered on the site etc.). (If the encrypted HTTPS protocol is used, encryption is performed with [asymmetric cryptography](asymmetric_cryptography.md) using the server's public key whose digital signature additionally needs to be checked with some certificate authority.) This request is delivered to the server by the mechanisms and lower network layers of the [Internet](internet.md), typically [TCP](tcp.md)/[IP](ip.md).
3. The server receives the request and sends back the webpage embedded again in an [HTTP](http.md) response, along with other data such as the error/success code.
4. Client browser receives the page and displays it. If the page contains additional resources that are needed for displaying the page, such as images, they are automatically retrieved the same way.
[Cookies](cookie.md), small files that sites can store in the user's browser, are used on the web to implement stateful behavior (e.g. remembering if the user is signed in on a forum). However cookies can also be abused for tracking users, so they can be turned off.
Other programming languages such as [PHP](php.md) can also be used on the web, but they are used for server-side programming, i.e. they don't run in the web browser but on the server and somehow generate and modify the sites for each request specifically. This makes it possible to create dynamic pages such as [search engines](search_engine.md) or [social networks](social_network.md).
## See Also
- [teletext](teletext.md)

Loading…
Cancel
Save