3 Коміти 6f1ca523e5 ... 73223407f2

Автор SHA1 Опис Дата
  m455 73223407f2 finished the social unix servers article 5 роки тому
  Jesse f393113daf Update README.md 5 роки тому
  m455 0c6b9880a2 fixed yet another typo 5 роки тому
2 змінених файлів з 84 додано та 73 видалено
  1. 1 1
      README.md
  2. 83 72
      posts/social-unix-servers.md

+ 1 - 1
README.md

@@ -1,3 +1,3 @@
 # Tildedocs
 
-A repository of learning resources related to public Unix servers and the command line.
+ A repository of learning resources related to social unix servers, the decentralized web, and the command line. 

+ 83 - 72
posts/social-unix-servers.md

@@ -3,101 +3,112 @@ title: Social Unix servers
 layout: default.liquid
 ---
 
-This document will teach you what Social Unix servers are. Users without a
+This document will teach you what Social Unix servers are.  Users without a
 technical background will benefit the most from this document. This document
 consists of the following sections:
 
-* What is a server?
 * What is Unix?
+* Servers and clients
+* A common server-client setup
 * What does "social" mean in the context of social Unix servers?
 
-## What is a server?
+## What is Unix?
+
+As Wikipedia puts it, "Unix is a family of multitasking, multiuser, computer
+operating systems that derive from the original AT&T Unix, development starting
+in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie,
+and others."
+
+Okay, let's slow down here, that was a lot of jargon.
+
+To simplify things, nowadays (2019 as I write this), when people say Unix, they
+probably mean one of the Unix-like operating systems that derived from the
+original AT&T Unix, such as:
+
+* GNU/Linux [[1]](#1)
+* FreeBSD
+* OpenBSD
+* NetBSD
+* and many more
+
+So, Unix is a family of similar operating systems, and an operating system
+allows you to control your computer. Currently, you are probably already
+familiar with an operating system.  Windows and macOS are two popular ones right
+now.
+
+---
+
+<span id="1">[1]:</span> I understand that Linux is a kernel, and GNU is a set of tools that can
+interact with the Linux kernel, but that's a whole other discussion.
+
+## Servers and clients
+
+Before you continue to the next two sections "What is a server?" and "What is a
+client?", you should know that the descriptions in each of the sections below
+are generalized. They leave out information related to server and client
+processes.  This is done intentionally so readers are not overwhelmed with
+information.
+
+### What is a server?
+
+A server is hardware or software that has been configured to accept connections
+from other hardware or software.
+
+An example of a server could be a computer that has chat server software running
+on it, so other people can connect and chat to each other.
 
-A server is a computer configured to accept connections from other computers.
-Configuration could involved editing a text file, clicking a few buttons,
-running a downloaded program, or many other ways. This is a very simplified
-definition, but understanding this concept will de-mystify this "server" word
-you keep hearing.
+### What is a client?
 
-You will hear the word "client" being thrown around in this document. A client
-is a computer that connects to a server, and sometimes even another client! For
-now, you can think of a client as a guest, and a server as a host.
+A client is hardware or software that has been configured to connect to other
+hardware or software.
 
-A server could be any machine, even a laptop. The laptop hardware may not
-be designed to handle a lot of connections from different computers, but it can
-still accept connections from other computers.
+An example of a client could be your internet browser, which connects to a
+social media website (a server).
 
-One kind of server setup could involved three computers: computer A, computer B,
-and computer C. Let's pretend computer B's settings have been configured to
-accept connections from other computers. Computer A can connect to computer B to
-communicate with computer C (See Figure 1 below).
+## A common server-client setup
+
+One kind of server-client setup could involved three computers: computer A,
+computer B, and computer C. Let's pretend computer B's settings have been
+configured to accept connections from other computers. Computer A can connect to
+computer B to communicate with computer C (See Figure 1 below).
 
 ```
 +------------+          +------------+            +------------+
-|            |--------->|            |----------->|            |
+|            |--------->|            |-----------<|            |
 | computer A |          | computer B |            | computer C |
 |            |<---------|            |<-----------|            |
 +------------+          +------------+            +------------+
 Figure 1
 ```
-Another kind of server setup could just involve two computers: computer A and
-computer B. Both computers have software that can search for other computers on
-a wifi network. This software can not only connect to other computers, but it
-also accepts connections from other computers. Using this software, computer A
-can communicate with computer B (See Figure 2 below).
-
-```
-+------------+          +------------+
-|            |--------->|            |
-| computer A |          | computer B |
-|            |<---------|            |
-+------------+          +------------+
-Figure 2
-```
-
-In Figure 2 above, computer A and computer B are both servers and clients at the
-same time, because they are both accepting connections from clients, and they
-both act as clients because they can also connect to each other! This is called
-Peer-to-Peer (P2P) networking. "Network" is just a fancy word for a collection
-of computers that connect to each other.
 
-## What is Unix?
-
-As Wikipedia puts it, "Unix is a family of multitasking, multiuser, computer
-operating systems that derive from the original AT&T Unix, development starting
-in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie,
-and others."
+## What does "social" mean in the context of social Unix servers?
 
-Let's slow down here, that was a lot.
+The "social" here refers to how people socialize on Unix servers. This could be
+through:
 
-When people say Unix nowadays (2019 as I type this), they probably mean one of
-the many modern Unix-like operating systems that derived from the original AT&T
-Unix, such as GNU/Linux (See Note 1 below) or one of the BSDs (FreeBSD, OpenBSD,
-NetBSD).
+* Message boards
+* Real-time chat
+* Local [[2]](#2) Email
+* Games
+* and many more.
 
-Forgot everything you just read? Just remember that Unix refers to one of the
-Unix-like operating systems mentioned above, and that an operating system allows
-your to control your computer.
+All of this "local" business seems limiting, but it is a great way to experience
+non-commercial digital mediums of social interactions that may otherwise be
+monitored or monetized without your knowing. This is also a great way to avoid
+[dark patterns](https://www.darkpatterns.org).
 
-Note 1: I understand that Linux is a kernel, and GNU is a set of tools that can
-interact with the Linux kernel, but that's a whole other discussion.
+Another example of something "local" is [tilde.town](https://tilde.town)'s
+[botany](https://github.com/jifunks/botany) game where the player can grow a
+virtual plant. The user is responsible for watering their plant, but users can
+also water each other's plants. Only tilde.town users can play this game with
+other tilde.town users if they are connected to tilde.town.
 
-## What does "social" mean in the context of social Unix servers?
+In this case, tilde.town is the server, and the users connecting to tilde.town
+are clients.
 
-The "social" here refers to how people socialize on Unix servers. This could be
-through message boards, real-time chats, email, games, and many more. Many of
-these mediums are only accessible within the server itself. This means that you
-couldn't, as an example, email people from anywhere outside of the server unless
-the server was configured to allow that. This would be called "local" email. So
-it would only allow users on that server (computer) to email other users.
-
-It seems limiting, but it is a great way to experience non-commercial digital
-mediums of social interactions that may otherwise be monitored or monetized
-without your knowing.
-
-As an example, [tilde.town](https://tilde.town) has a game called
-[`botany`](https://github.com/jifunks/botany) where the player can grow a
-virtual plant. The user is responsible for watering their plant, but users can
-also water each other's plants. tilde.town users can only play this game with
-other tilde.town users if they are connected to tilde.town (a server).
+---
 
+<span id="2">[2]:</span> The word "local" in this context refers to user-to-user
+emails on a server, rather than communicating with external email services, such
+as [Protonmail](https://protonmail.com). "Local" is just a fancy word people use
+to refer to something that doesn't leave or connect to another computer.