Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit6eb7a8fff01c6814253a0e738efb53734d297be9 (patch)
Author
 Syndamia <kamen@syndamia.com>
2023-01-22 17:52:34 +0200
Committer
 Syndamia <kamen@syndamia.com>
2023-01-22 17:52:34 +0200
Files34b5bd6194c309184c5ab7b2549c11ac87392704
syndamia.com-6eb7a8fff01c6814253a0e738efb53734d297be9.tar
syndamia.com-6eb7a8fff01c6814253a0e738efb53734d297be9.tar.gz
syndamia.com-6eb7a8fff01c6814253a0e738efb53734d297be9.zip
Parentc9a1483157317af618f655af97b73686e5459ca5 (diff)
[talks/lbs] Fixed typos
1 files changed, 19 insertions, 19 deletions
-rw-r--r--src/talks/linuxgraphy-by-strabo/index.md38
diff --git a/src/talks/linuxgraphy-by-strabo/index.md b/src/talks/linuxgraphy-by-strabo/index.md
index e198e26..4f68b16 100644
--- a/src/talks/linuxgraphy-by-strabo/index.md
+++ b/src/talks/linuxgraphy-by-strabo/index.md
@@ -77,7 +77,7 @@ Today, I'll lay out Linux as it is known to me.
You directly loaded instructions into memory and let it execute your "code" (processor instructions).
Nothing else ran on the machine.
-This process was labur intensive, a qualified operator had to load your program, then after completion he would have to dump the memory contents, remove any tapes, punch cards, etc., reset the machine and load the next job.
+This process was labor intensive, a qualified operator had to load your program, then after completion he would have to dump the memory contents, remove any tapes, punch cards, etc., reset the machine and load the next job.
#### 1956 - 1959
@@ -123,7 +123,7 @@ Another important factor is the rise of minicomputers: much smaller and incredib
#### 1964 - 1969
It is important to talk about IBM's [System/360](https://en.wikipedia.org/wiki/IBM_System/360).
-A line of computers, each with great expansion capabilities, redesigned hardware of unparalled speed, simulators and emulators for backwards compatibility, all under one instruction set and operating system (mostly job management).
+A line of computers, each with great expansion capabilities, redesigned hardware of unparalleled speed, simulators and emulators for backwards compatibility, all under one instruction set and operating system (mostly job management).
This is also the time when the mouse, alongside bit-mapped displays, graphical user interface concepts, teleconferencing and hypertext, [was invented](https://en.wikipedia.org/wiki/The_Mother_of_All_Demos).
@@ -133,7 +133,7 @@ Some of it's novel ideas include, but are not limited to:
- [Time-sharing](https://en.wikipedia.org/wiki/Time-sharing): sharing resources of a singular machine among many users (via [multiprogramming](https://en.wikipedia.org/wiki/Multiprogramming) and [multi-tasking](https://en.wikipedia.org/wiki/Computer_multitasking))
- [Single level store](https://en.wikipedia.org/wiki/Single-level_store) (aka [virtual memory](https://en.wikipedia.org/wiki/Virtual_memory)): Processes would write into contiguous memory, but in reality it is scattered and managed by the operating system.
- [Protection rings](https://en.wikipedia.org/wiki/Protection_ring): Allowing different levels of access to different resources (programs). In general, this also often requires a [CPU protected mode](https://en.wikipedia.org/wiki/Protected_mode).
-- [Hierarchial file system](https://en.wikipedia.org/wiki/Directory_%28computing%29): Arbitrary directories with subdirectories, rather than just having files next to each other or having directories which could only contain files.
+- [Hierarchical file system](https://en.wikipedia.org/wiki/Directory_%28computing%29): Arbitrary directories with subdirectories, rather than just having files next to each other or having directories which could only contain files.
- [Command processor](https://en.wikipedia.org/wiki/Shell_%28computing%29) (that is separated from the OS): More on that later
&&/slide &&/font
@@ -144,7 +144,7 @@ Some of it's novel ideas include, but are not limited to:
#### 1969: Death of Multics and birth of UNIX
-Multics was very ambitous and had a lot of great ideas and minds behind it, but it ultimately grew too large and failed.
+Multics was very ambitious and had a lot of great ideas and minds behind it, but it ultimately grew too large and failed.
Programming was done mostly in [Bell Labs](TODO), who pulled pretty quickly from the project.
&&lineb1 &&ftable
@@ -180,7 +180,7 @@ Ignoring [standards](https://unix.stackexchange.com/questions/14368/difference-b
&&lineb1
1. **shell**: A programmable replaceable command-line interpreter, with utilities for managing the whole system and support for pipelines and I/O redirection
-2. **UNIX-style file system**: [Filesystem](https://en.wikipedia.org/wiki/Unix_filesystem) as a rooted tree (even for all seperate volumes), objects (nodes) in the file system are [inodes](TODO) and an inode can be [(at least)](https://en.wikipedia.org/wiki/Unix_file_types) either a regular file, directory or devices. Permissions are set per owner, group members and other users.
+2. **UNIX-style file system**: [Filesystem](https://en.wikipedia.org/wiki/Unix_filesystem) as a rooted tree (even for all separate volumes), objects (nodes) in the file system are [inodes](TODO) and an inode can be [(at least)](https://en.wikipedia.org/wiki/Unix_file_types) either a regular file, directory or devices. Permissions are set per owner, group members and other users.
3. **kernel**: Program that manages all communication and operations between the hardware and software
&&lineb3
@@ -214,11 +214,11 @@ While on the topic of UNIX, we'll only discuss the former.
&&font27 &&slide
-Command-line shells operate solely with text, preferrably without too fancy formatting (there are very modern ones that can handle images, but these are an exception, rather than the norm).
+Command-line shells operate solely with text, preferably without too fancy formatting (there are very modern ones that can handle images, but these are an exception, rather than the norm).
&&lineb1 &&ftable
-Historically, video displays (at first [CRT](TODO) ones) became widely available in the late 1970s, but before that the "mainstream" way to access a computer was with a teleprinter (commonly known as teletype): effectively a (typewriter) keyboard and a fast text priner, connected to a computer.
+Historically, video displays (at first [CRT](TODO) ones) became widely available in the late 1970s, but before that the "mainstream" way to access a computer was with a teleprinter (commonly known as teletype): effectively a (typewriter) keyboard and a fast text printer, connected to a computer.
&&font18 &&fright
![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/ASR-33_at_CHM.agr.jpg/1280px-ASR-33_at_CHM.agr.jpg =320x)
@@ -233,7 +233,7 @@ Historically, video displays (at first [CRT](TODO) ones) became widely available
&&/font
Later, those were replaced by terminals, a "normal" keyboard and a display, connected to a computer.
-**The** most popular and influential one was the [VT100](TODO), with it's most influential feature being neven seen before support of [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code): special text that would modify the cursor position and later being able to, for example, change colors for specific text.
+**The** most popular and influential one was the [VT100](TODO), with it's most influential feature being never seen before support of [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code): special text that would modify the cursor position and later being able to, for example, change colors for specific text.
&&/table &&/slide &&/font
@@ -276,7 +276,7 @@ Command-line UNIX shells always have the following features:
## 2.2. UNIX-style file system
-- Rooted singular tree of directories. Disk partitions, removeable media, etc. all live in that tree.
+- Rooted singular tree of directories. Disk partitions, removable media, etc. all live in that tree.
- Each tree object (node) is an [i(ndex)node](TODO), containing type, ownership, access, internal data and any other metadata, but **not** name!
- Directory inodes (files) contain a table with rows of names and inode numbers, mapping a file name to it's contents. Each row is called a [hard link](https://en.wikipedia.org/wiki/Hard_link). Every directory has a hard link to itself, called ".", and a hard link to it's parent, called "..".
@@ -296,7 +296,7 @@ The main attributes that every inode has are as follows:
+ **directory**: as explained, a file containing hard links to other files. Each directory is allowed to appear only once in a single parent.
+ **symbolic link**: points to any file (or directory). It contains the (relative) path to that object (as a simple string), so a symlink could even not be valid.
+ **FIFO special**: aka [named pipe](https://en.wikipedia.org/wiki/Named_pipe), a special type of regular file, where at any moment only one process can read from it and one can write to it. It takes the concept of shell pipes to inter-process communication.
- + **block special**: a device which is randomlly accessible, like a hard drive or cdrom drive.
+ + **block special**: a device which is randomly accessible, like a hard drive or cdrom drive.
+ **character special**: devices which are accessed via serial streams of input or output, like keyboards, mice, graphics cards and teletypes
+ **sockets**: file for inter-process communication. Compared to FIFO specials, they can be used by more than two processes, used in both direction and support [file descriptors](https://en.wikipedia.org/wiki/File_descriptor) and packets
@@ -307,7 +307,7 @@ The main attributes that every inode has are as follows:
&&font30 &&slide
- [file permissions](https://en.wikipedia.org/wiki/File_system_permissions): control the ability of a user to read (navigate for directories), change and execute a file.
- A user in UNIX is essentially a small collectino of data, most important of it being an ID (number), a name (string), a group id (number; files created by the user are in that group) and a password.
+ A user in UNIX is essentially a small collection of data, most important of it being an ID (number), a name (string), a group id (number; files created by the user are in that group) and a password.
Groups are also small collections of data, but much simpler, comprised only of an ID (number), a name (string) and a list of users that are "in" the group. Their main purpose is to simplify access control.
The data for each is stored in `/etc/passwd` and `/etc/group` respectively.
<br>
@@ -424,7 +424,7 @@ We're going to explore and look around the following stuff:
&&lineb1
-- [redirection](https://en.wikipedia.org/wiki/Redirection_%28computing%29): Outside of having `<` and `>` for I/O redirection, ofter there is also
+- [redirection](https://en.wikipedia.org/wiki/Redirection_%28computing%29): Outside of having `<` and `>` for I/O redirection, often there is also
+ `>>`: Acts like `>`, putting text into a file, but rather than overwriting everything, it appends it
+ `<<`: As explained, for heredocs
+ `<<<`: To the right is a string ([herestring](https://en.wikipedia.org/wiki/Here_document#Here_strings)), and it is interpreted as a file
@@ -435,7 +435,7 @@ We're going to explore and look around the following stuff:
+ Standard input, standard output and standard error are all files with which the shell works.
Typing text in the shell puts it into stdin, command output are put into stdout (and shown to the user) and errors are put into stderr (also shown to the user).
- Each one of them is numbered from 0 to 2, and you can specify redirection by appending or pepending it to the redirection symbol.
+ Each one of them is numbered from 0 to 2, and you can specify redirection by appending or prepending it to the redirection symbol.
* `N>outputfile`: redirects the output from standard stream N into outputfile
* `N>&M`: redirects the output from standard stream N into standard stream M
* `N<inputfile`: redirects input file contents to standard stream N
@@ -449,7 +449,7 @@ We're going to explore and look around the following stuff:
&&lineb1
-- [built-in test command](https://en.wikipedia.org/wiki/Test_%28Unix%29): With `test` you can do conditionall expressions. You can also often use brackets `[ args... ]` instead of `test args...`
+- [built-in test command](https://en.wikipedia.org/wiki/Test_%28Unix%29): With `test` you can do conditional expressions. You can also often use brackets `[ args... ]` instead of `test args...`
+ Some of the available file checks
* `-e FILENAME`: FILENAME exists
* `-d FILENAME`: if FILENAME is a directory
@@ -548,8 +548,8 @@ We're going to explore and look around the following stuff:
- `tr`: translate, map (more than one to one for example) and delete characters
- `cut`: remove parts of text from each line
- `head`: print the first lines (or characters) of a file
-- `tail`: print the last lines (or cahracters) of a file
-- `strings`: find embeded text inside binary files
+- `tail`: print the last lines (or characters) of a file
+- `strings`: find embedded text inside binary files
- `truncate`: shrink or extend the size of a file
- `wc`: count words inside file
- `diff`: compare files and show their differences
@@ -709,7 +709,7 @@ The most common init systems are
&&lineb1
Running a program is as simple as putting the executable in a nice folder, like `/usr/bin`.
-However this process isn't very convinent if you're only using a shell and more tedius if using a graphical shell.
+However this process isn't very convenient if you're only using a shell and more tedious if using a graphical shell.
The solution is to have all programs in one location, where you can download, install and potentially update a program with one simple command, just using the program's name.
Other good features include installing dependencies and checking if a package is tampered with.
@@ -747,8 +747,8 @@ A distribution is a complete set of of all applications that we've talked so far
Overall, there are five distributions from which 90% of all other distros are based upon:
-1. Slackware: as the oldest still maintained distro, it served as insparation for a lot of other distros. It aims to be as simple and as close to UNIX as possible.
-2. Debian (and Ubuntu): it is the most popular distribution (if we also include Ubuntu, since they're so similar). Ubuntu aims to be modern and fancy, while debian aims to be as stable as possible, which makes it the most popular in server usage.
+1. Slackware: as the oldest still maintained distro, it served as inspiration for a lot of other distros. It aims to be as simple and as close to UNIX as possible.
+2. Debian (and Ubuntu): it is the most popular distribution (if we also include Ubuntu, since they're so similar). Ubuntu aims to be modern and fancy, while Debian aims to be as stable as possible, which makes it the most popular in server usage.
4. Gentoo: the distribution which defined non-binary software distribution
5. Arch Linux: a very popular and modern distribution with the goal of providing the latest and greatest software.