Update
parent
f0c3f6aecf
commit
e54040171b
@ -0,0 +1,19 @@
|
||||
# BBS
|
||||
|
||||
{ I am too young to remember this shit so I'm just writing what I've read on the web. ~drummyfish }
|
||||
|
||||
Bulletin board system (BBS) is, or rather used to be, a kind of [server](server.md) that hosts a community of users who connect to it via [terminal](terminal.md), who exchange messages, files, play [games](game.md) and otherwise interact -- BBSes were mainly popular before the invention of [web](www.md), i.e. from about 1978 to mid 1990s, however some still exist today. BBSes are powered by special BBS [software](software.md) and the people who run them are called sysops.
|
||||
|
||||
Back then people connected to BBSes via dial-up [modems](modem.md) and connecting was much more complicated than connecting to a server today: you had to literally dial the number of the BBS and you could only connect if the BBS had a free line. I.e. a BBS would have a certain number of modems that defined how many people could connect at once. It was also expensive to make calls into other countries so BBSes were more of a local thing, people would connect to their local BBSes. Furthermore these things ran often on non-[multitasking](multitasking.md) systems like [DOS](dos.md) so allowing multiple users meant the need for having multiple computers. The boomers who used BBSes talk about great adventure and a sense of intimacy, connecting to a BBS meant the sysop would see you connecting, he might start chatting with you etc. Nowadays the few existing BBSes use protocols such as [telnet](telnet.md), nevertheless there are apparently about 20 known dial-up ones in north America. Some BBSes evolved into more modern communities based e.g. on [public access Unix](pubnix.md) systems -- for example [SDF](sdf.md).
|
||||
|
||||
A BBS was usually focused on a certain topic such as technology, fantasy [roleplay](rolaplay.md), dating, [warez](warez.md) etc., they would typically greet the users with a custom themed [ANSI art](ansi_art.md) welcome page upon login -- it was pretty cool.
|
||||
|
||||
The first BBS was CBBS (computerized bulletin board system) created by Ward Christensen and Randy Suess in 1978 during a blizzard storm -- it was pretty primitive, e.g. it only allowed one user to be connected at the time. After publication of their invention, BBSes became quite popular and the number of them grew to many thousands -- later there was even a magazine solely focused on BBSes (*BBS Magazine*). BBSes would later group into larger networks that allowed e.g. interchange of mail. The biggest such network was [FidoNet](fidonet.md) which at its peak hosted about 35000 nodes.
|
||||
|
||||
{ Found some list of BBSes at http://www.synchro.net/sbbslist.html. ~drummyfish }
|
||||
|
||||
## See Also
|
||||
|
||||
- [public access Unix](pubnix.md)
|
||||
- [Usenet](usenet.md)
|
||||
- [tildeverse](tildeverse.md)
|
@ -0,0 +1,17 @@
|
||||
# Determinism
|
||||
|
||||
*"God doesn't play dice."* --[some German dude](einstein.md)
|
||||
|
||||
Deterministic system is one which over time evolves without any involvement of [randomness](randomness.md) and probability; i.e. its current state along with the rules according to which it behaves unambiguously and precisely determine its following state. This means that a deterministic [algorithm](algorithm.md) will always give the same result if run multiple times with the same input values. Determinism is an extremely important concept in [computer science](compsci.md) and [programming](programming.md) (and in many other fields of science and philosophy).
|
||||
|
||||
[Computers](computer.md) are mostly deterministic by nature and design, they operate by strict rules and engineers normally try to eliminate any random behavior as that is mostly undesirable (with certain exceptions mentioned below) -- randomness leads to hard to detect and hard to fix [bugs](bug.md), unpredictability etc. Determinism has furthermore many advantages, for example if we want to record a behavior of a deterministic system, it is enough if we record only the inputs to the system without the need to record its state which saves a great amount of space -- if we later want to replay the system's behavior we simply rerun the system with the recorded inputs and its behavior will be the same as before (this is exploited e.g. in recording gameplay demos in video [games](game.md) such as [Doom](doom.md)).
|
||||
|
||||
Determinism can however also pose a problem, notable e.g. in cryptography where we DO want true randomness e.g. when generating [seeds](seed.md). Determinism in this case implies an attacker knowing the conditions under which we generated the seed can exactly replicate the process and arrive at the seed value that's supposed to be random and secret. For this reason some [CPUs](cpu.md) come with special hardware for generating truly random numbers.
|
||||
|
||||
Despite the natural determinism of computers as such, **computer programs aren't automatically deterministic** -- if you're writing a computer program, you have to make some effort to make it deterministic. This is because there are things such as [undefined behavior](undefined_behavior.md). For example the behavior of your program may depend on timing ([critical sections](critical_section.md), ...), performance of the computer (a game running on slower computer will render fewer [frames per second](fps.md), ...), [byte sex](endianness.md) (big vs little endian), accessing uninitialized memory (which many times contains undefined values) and many more things. All this means that your program run with the same input data will produce different results on different computers or under slightly different circumstances, i.e. it would be non-deterministic.
|
||||
|
||||
Even if we're creating a program that somehow works with probability, we usually want to make it deterministic. This means we don't use actual random numbers but rather [pseudorandom](pseudorandomness.md) number generators that output [chaotic](chaos.md) values which simulate randomness, but which will nevertheless be exactly the same when ran multiple times with the same initial seed. This is again important e.g. for [debugging](debugging.md) the system in which replicating the bug is key to fixing it.
|
||||
|
||||
In theoretical computer science non-determinism means that a model of computation, such as a [Turing machine](turing_machine.md), may at certain points decide to make one of several possible actions which is somehow most convenient, e.g. which will lead to finding a solution in shortest time. Or in other words it means that the model makes many computations, each in different path, and at the end we conveniently pick the "best" one, e.g. the fastest one. Then we may talk e.g. about how the computational strength or speed of computation differ between a deterministic and non-deterministic Turing machine etc.
|
||||
|
||||
Determinism is also a philosophical theory that says our Universe is deterministic, i.e. that everything is already predetermined by the state of the universe and the laws of physics, i.e. that we don't have "free will" (whatever it means) etc. Many believe [quantum physics](quantum.md) disproves determinism which is however not the case, there may e.g. exist hidden variables that still make quantum physics deterministic. Anyway, this is already beyond the scope of technological determinism.
|
@ -0,0 +1,3 @@
|
||||
# Firmware
|
||||
|
||||
Firmware is a type of very basic [software](software.md) that's usually preinstalled on a device from factory and serves to provide the most essential functionality of the device. On simple devices, like mp3 players or remote controls, firmware may be all that's ever needed for the devices functioning, while on more complex ones, such as [personal computers](pc.md), firmware (e.g. [BIOS](bios.md) or [UEFI](uefi.md)) allows basic configuration, allows installation of more complex software (such as an [operating system](os.md)) and possibly provides functions that the installed software can use. Firmware is typically not meant to be rewritten by the user and is installed in some kind of memory that's not very easy to rewrite, it may even be hard-wired in which case it becomes something on the very boundary of software and [hardware](hardware.md).
|
@ -0,0 +1,5 @@
|
||||
# Free Speech
|
||||
|
||||
Freedom of speech means there are no punishments, imposed by government or anyone else, solely for talking about anything, making any public statement or publication of any information. Freedom of speech is an essential attribute of a mature society, sadly it hasn't been fully implemented yet and the latest trend in society seems to be towards less free speech rather than more.
|
||||
|
||||
Some idiots (like that [xkcd](xkcd.md) #1357) say that free speech is only about legality, i.e. about what's merely allowed to be said by the law. **This is wrong**, true free speech mustn't be limited by anything -- if you're not allowed to say something, it doesn't matter too much what it is that's preventing you, your speech is not free. If for example it is theoretically legal to be politically incorrect and criticize the LGBT gospel but you [de-facto](de_facto.md) can't do it because the LGBT fascist [SJWs](sjw.md) would [cancel](cancel_culture.md) you and maybe even physically lynch you, your speech is not free.
|
@ -0,0 +1,7 @@
|
||||
# Gay
|
||||
|
||||
Homosexuality is a disorder which makes individuals sexually attracted primarily to the same sex. A homosexual individual is called gay, homo or faggot.
|
||||
|
||||
There is a terrorist fascist organization called [LGBT](lgbt.md) aiming to make gays superior to other people.
|
||||
|
||||
Of course, [we](lrs.md) have nothing against gay people as we don't have anything against people with any other disorder -- we love all people. But we do have an issue with any kind of terrorist organization, so while we are okay with gays, we are not okay with LGBT.
|
@ -1,7 +1,7 @@
|
||||
# Good Enough
|
||||
|
||||
A good enough solution to a problem is a solution that solves the problem satisfyingly while achieving minimal cost (effort, implementation time etc.). This is in contrast to looking for a better solutions for a higher cost. For example a tent is a good enough accommodation solution while a luxury house is a better solution (more comfortable, safe, ...) for a higher cost.
|
||||
A good enough solution to a problem is a solution that solves the problem satisfyingly (not necessarily precisely or completely) while achieving minimal cost (effort, implementation time etc.). This is in contrast to looking for a better solutions for a higher cost. For example a tent is a good enough accommodation solution while a luxury house is a better solution (more comfortable, safe, ...) for a higher cost.
|
||||
|
||||
To give an example from the world of programming, bubble sort is in many cases better than quick sort for its simplicity, even though it's much slower.
|
||||
To give an example from the world of programming, [bubble sort](bubble_sort.md) is in many cases better than quick sort for its simplicity, even though it's much slower.
|
||||
|
||||
In technology we are often times looking for good enough solution to achieve [minimalism](minimalism.md) and save valuable resources (computational resources, programmer time etc.). It rarely makes sense to look for solutions that are more expensive than they necessarily need to be, however in the context of [capitalist software](capitalist_software.md) we see this happen many times as price is artificially and intentionally driven up for economic reasons (e.g. increasing the cost of maintenance of a software eliminates any competition that can't afford such cost). This is only natural in [capitalism](capitalism.md), we see the tendency for wasting resources everywhere.
|
||||
In technology we are often times looking for good enough solution to achieve [minimalism](minimalism.md) and save valuable resources (computational resources, programmer time etc.). It rarely makes sense to look for solutions that are more expensive than they necessarily need to be, however in the context of [capitalist software](capitalist_software.md) we see this happen many times as price is artificially and intentionally driven up for economic reasons (e.g. increasing the cost of maintenance of a software eliminates any competition that can't afford such cost). This is only natural in [capitalism](capitalism.md), we see the tendency for wasting resources everywhere. This needs to be stopped.
|
@ -0,0 +1,22 @@
|
||||
# Gopher
|
||||
|
||||
Gopher is an [application layer](l7.md) protocol (normally on port 70), as well as the whole network built on top this protocol (also called *gopherspace*), for sharing documents on the [Internet](internet.md); it is a simpler alternative to the [World Wide Web](www.md) (which is build on top of [HTTP](http.md) and [HTML](html.md)). Unlike the Web, whose basic paradigm is that of a site, Gopher works with menus and organizes the documents on the Internet into a hierarchy very similar to a [file system](fs.md). For its simplicity Gopher is oftentimes preferred by [suckless](suckless.md) advocates.
|
||||
|
||||
Natively browsing Gopher generally requires a special browser, web browsers don't normally come with Gopher support (though there exist browser extensions and web gateway sites). Gopher browsers include [lynx](lynx.md), [sacc](sacc.md) (text browsers) and [forg](forg.md) ([GUI](gui.md)).
|
||||
|
||||
Gopher "sites" are identified by [URLs](url.md) similarly to those on the web, but the protocol part is `gopher://` instead of `http://`. Opening such a URL will display the menu or file present at the location -- the menus are simple and can only consist of a number of items without any formatting or graphical effects known from websites. The items can be of several types such as a submenu, text file, info message, image or text input (e.g. for search engines). The source code of menus are called *gophermaps* (similar to [HTML](html.md) on the web but simpler, basically just tab-separated menu items).
|
||||
|
||||
Gopher was created in 1991 by a few programmers led by Mark P. McCahill for University of Minnesota, but other organizations soon adopted the system as well. It was kind of revolutionary by bringing and linking together the documents on the Internet in a very comfortable way -- this was all happening alongside the invention of the web with which Gopher initially seriously competed, and it was even leading the race for a while (before the Internet became mainstream, commercialized and as such gave preference to [bloat](bloat.md)).
|
||||
|
||||
Some notable Gopher sites are:
|
||||
|
||||
- **Floodgap** (popular front page): gopher://gopher.floodgap.com:70/1/
|
||||
- **Veronica search engine**: gopher://gopher.floodgap.com:70/7/v2/vs
|
||||
- **Gopherpedia** ([Wikipedia](wikipedia.md) on Gopher): gopher://gopherpedia.com:70/1/
|
||||
- **[SDF](sdf.md)**: gopher://sdf.org/
|
||||
|
||||
TODO: some simple gopher site source code
|
||||
|
||||
## See Also
|
||||
|
||||
- [Gemini](gemini.md)
|
@ -0,0 +1,3 @@
|
||||
# Moderation
|
||||
|
||||
Moderation is an [euphemism](euphemism.md) for [censorship](censorship.md) encountered mostly in the context of Internet communication platforms (forum discussions, chats etc.).
|
@ -0,0 +1,3 @@
|
||||
# Primitive 3D
|
||||
|
||||
See [pseudo 3D](pseudo3D.md).
|
@ -1,3 +1,5 @@
|
||||
# Suicide
|
||||
|
||||
Suicide is when someone voluntarily kills himself. Suicide offers an immediate escape from [capitalism](capitalism.md) and is therefore recommended to everyone.
|
||||
|
||||
{ Really though, if you want to talk, send me an email. Don't forget we love you no matter who you are or what you ever did. ~drummyfish }
|
@ -0,0 +1,17 @@
|
||||
# Tool Assisted Speedrun
|
||||
|
||||
Tool assisted speedrun (TAS) is a category of [game](game.md) [speedruns](speedrun.md) in which help of tools and play techniques that would normally be considered [cheating](cheat.md) (such as [scripting](script.md) and time manipulation) is allowed. This makes it possible to create flawless, perfect or near-perfect runs which can serve as a theoretical upper limit for what is achievable by humans -- and of course TAS runs are pretty [fun](fun.md) to watch. The normal, non-TAS runs are called RTA (real time attack). For example the current (2022) RTA world record of Super Mario Bros is 4.58.881 while the TAS record is 4.41.27.
|
||||
|
||||
{ Watching a TAS is kind of like watching the [God](god.md) play the game. I personally like to watch Trackmania TASes, some are really unbelievable. Also note that [SAF](saf.md) games have TAS support. ~drummyfish }
|
||||
|
||||
There is a website with videos of game TASes: https://tasvideos.org/.
|
||||
|
||||
TAS does NOT allow hacking the game in other ways than what's possible to achieve by simply playing the game, i.e. it is not possible to hex edit the game's code before running it or manipulate its RAM content at run time. The goal of TAS is merely to find, as best as we can, the series of game inputs that will lead to completing the game as fast as possible. For this the game pretty much needs to be [deterministic](determinism.md), i.e. the same sequence of inputs must always reproduce the same run when replayed later.
|
||||
|
||||
TAS runs coexist alongside RTA runs as separate categories that are beneficial to each other: RTA runners come up with speedrunning techniques that TAS programmers can perfectly execute and vice versa, TAS runners many times discover new techniques and ideas for RTA runners (for example the insane discovery of groundbreaking noseboost when TAS was introduced to Trackmania). In fact RTA and TAS runners are many times the very same people.
|
||||
|
||||
Creating a TAS is not an easy task, it requires great knowledge of the game (many times including its code) and its speedrunning, as well as a lot of patience and often collaboration with other TASers. TASes are made *offline* (not in real time), i.e. hours of work are required to program minutes or even seconds of the actual run. Many paths need to be planned and checked. Compared to RTAs, the focus switches from mechanical skills towards skillful mathematical analysis and planning. Besides this some technological prerequisites are necessary: the actual tools to assist with creation of the TAS. For many new [proprietary](proprietary.md) games it is extremely difficult to develop the necessary tools as their source code isn't available, their assembly is obscured and littered with "anti-cheating" malware. The situation is better with old games that are played in [emulators](emulator.md) such as [DOS](dos.md) games or games for consoles like [GameBoy](gameboy.md) -- emulators can give us a complete control over the environment, they allow to save and load the whole emulator state at any instant, we may slow the time down arbitrarily, rewind and script the inputs however we wish (an advanced technique includes e.g. [bruteforcing](brute_force.md): exhaustively checking all possible combinations of inputs over the following few frames to see which one produces the best time save). In games that don't have TAS tools people at least try to do the next best thing with segmented speedruns.
|
||||
|
||||
There also exists a term *tool assisted superplay* which is the same principle as TAS but basically with the intention of just flexing, without the goal of finishing the game fast (e.g. playing a [Doom](doom.md) level against hundreds of enemies without taking a single hit).
|
||||
|
||||
Some idiots are against TASes for various reasons, mostly out of fear that TASers will use the tools to cheat in RTAs or that TASes will make the human runners obsolete etc. That's all bullshit of course, as can e.g. be seen in the case of [Trackmania](trackmania.md) -- in 2021 TAS tools started to appear for Trackmania and many people feared it would kill the game's competition, however after the release of the tools no such disaster happened, TAS became hugely popular and now everyone loves it, human competition happily continues, plus the development of the tools actually helped uncover many cheaters among the top players (such as Riolu who was forced to leave the scene, this caused a nice drama in the community).
|
Loading…
Reference in New Issue