OpenLLM-France/wikimedia huggingface dataset:
# A Quick Introduction to Unix/Editing Text

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables

## Pico: the simplest editor

So far we have been using built-in Unix commands issued directly at the shell prompt. To take things a little further we really need to be able to create and edit text files. There are a large number of different editors available for Unix users, among them
* vi
* emacs
* ed
* pico
* JOE
We are going to use pico because it is very widely installed on Unix systems and is by far the easiest to use for the beginner.
Pico is a terminal based program and when you start it the terminal switches from the prompt to the pico editing screen. So, if you type
you should see
where at the bottom of the screen you see two rows of Pico command help. This on-screen help is what makes Pico attractive to beginners. Although the commands are unfamiliar (and perhaps even idiosyncratic) you have reminders always to-hand. Pico doesn't have the sophisticated text manipulation functions or flexibility that other Unix editors have, but we don't need that yet.
You can start Pico with a filename as well, typing, for example
Notice that I gave the file the extension .sh to remind me - and Unix - that it is a script file (of which more later). The screen will look just the same if the file doesn't exist when you start but if the file does already exist then its contents will be displayed on screen. You enter text directly at the Pico cursor and issue commands with combinations of the control key and a character (the character part is not case sensitive). If you issue a command and wish to cancel it you use ^c. You can move about your file with the arrow keys.

## Pico Peculiarities

Some Pico behaviour will take a little getting used to.
| Pico Command | Result |
| ^ alone | begins to mark text as selected. Now move the cursor with the arrow keys and text is highlighted. The selection ends at the current cursor position. |
| ^k | cuts selected text |
| ^u | pastes the last cut |
| ^i | creates a tab/indent |
| ^o | saves the file when you have finished editing |
Pico does have a little more functionality than this (although not much!) but this is enough for current purposes. Before you go on to creating scripts, use the Pico editor to create a text file of your own making sure to practise these few commands.
# A Quick Introduction to Unix/More grep examples

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables

## Anchors
### Beginning of line

A search can be constrained to find the string at the beginning of the line with the symbol ^. Example:
Finds the string A at the beginning of lines.

### End of line

A search can be constrained to find the string at the end of the line with the symbol $. Example:
Finds the string 5 at the end of lines.

## Counting empty lines

The combination search string ^$ finds empty lines.

## To match any single character

The meta-character . matches any single character except the end of line character.

### Example

The input file contains these lines:
We search with
The results are
The first line doesn't match.

## To match zero or more characters

The meta-character * matches zero or more occurences of the previous character.

### Example

The input file bells containes these lines
We search with
The results are

### Example

The input file is as the previous example. The . is used after the * to require at least a single character.
We search with
The results are
Contrast this with the previous example. Here, we match everything except be.

### Example

The input file is as before.
We search with
The results are

## Character lists

You can use a list of characters surrounded by [ and ] which will match on any single character in the list.

### Example

The input file is lines:
we search with
The result is

### Example

The input file is as before.
we search with
The result is
# A Quick Introduction to Unix/Environment Variables

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables
To get all the system environment Variables: printenv.
To get one by its name: echo $PATH.
To modify it: export $PATH="/usr/local/sbin:/usr/local/bin".
# A Quick Introduction to Unix/Links

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables

## Links

There are times when it may be helpful to have two different names that refer to the same file. For example, a file may have a very long name that cannot be changed because it is needed for identification purposes. For ease of use, you could also refer to the file using a shorter name. These different references to the same file are called links, and there are two different kinds of links: hard links and soft links.

### Hard Links

A hard link is a name that directly references a file on the file system. Most filenames are hard links: they refer to a file system location on a storage medium. More than one filename can refer to that file system location. If file1 and file2 are both hard links that refer to a file that contains text, any editing saved in file1 will show up when you look at file2. Hard links are independent, so if you remove file1, file2 still refers to the file on the filesystem.

### Soft Links

A soft link (also called a Symbolic link) is a name that references a filename (not a file). If file1 is the name of a file in your home directory (a hard link to the file on the file system) and file2 is a soft link, it refers not to the file on the file system, but to file1. Anything saved in file1 will still show up in file2, but if file1 is removed, file2 will no longer refer to a valid filename.

### ln (link)

The Unix command to create links is ln. By default, the ln command creates hard links. The option -s tells the command to create a soft link instead.
Let's create a file and then create a hard link and a soft link.
# A Quick Introduction to Unix/Moving Files

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables

## Moving files
### mv (move)

Suppose that you want to rename a file. In Unix, we talk about moving the file and the command that does it is mv. For example
moves (or renames) file1 to file2.
This differs from copying the file: you end up with only one file rather than two.
You can move files across directories by specifying the pathname just as you can for the cp or copy command.
# A Quick Introduction to Unix/Files and Processes

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables
Everything in Unix is a file or a process. In Unix a file is just a destination for or a source of a stream of data. Thus a printer, for example, is a file and so is the screen.
A process is a program that is currently running. So a process may be associated with a file. The file stores the instructions that are executed for that process to run.
Another way to look at it is that file is a collection of data that can be referred to by name. Files are created by users either directly (using text editors, running compilers etc.) or indirectly (by running some program - like processing a text input file to produce a formatted file for printing).
Examples of files include:
* a text document;
* a program written in a programming language such as C++ or Java;
* a jpeg image;
* a directory: directories can be thought of as the analogue of Windows’ folders. Directories are files that contain links to other files.

## The standard input and output and the standard error stream

There are two files that have somewhat opaque names, stdin and stdout. These names refer to default sources of and destinations for data. Consider the process initiated by the command ls. The default output of this process is a list of files in the current working directory which is then displayed on screen. This illustrates the default output stdout which is nothing but the screen. The standard input by contrast is the keyboard - thus also known as stdin.
In shell programming, it is often useful to prevent error messages from Unix commands from being displayed on screen. Instead, they are either suppressed or sent to a file. This is done by redirecting the error messages to a filename or to /dev/null - the null device or destination. To use these streams (stdin, stdout, stderr) in the shell, we refer to them by the numerical descriptors rather than by name.
| Stream name | Descriptor |
| stdin | 0 |
| stdout | 1 |
| stderr | 2 |
To review: Commands effectively take their input from files and direct their output to files. By default, the output file is the screen, and the input file is the keyboard.
# A Quick Introduction to Unix/Listing Files and Directories

* Components
* Shells and subshells
* Directory Structure
* Changing Directories
* Listing Files and Directories
* Pathnames
* Files and Processes
* Wildcards
* Exercises 1
* Creating Directories
* Creating Files
* Special Directories
* Exercises 2
* Copying Files
* Moving Files
* Deleting Files
* Exercises 3
* Redirection
* Searching Text Files
* More grep examples
* Permissions on Files and Directories
* Editing Text
* Exercises 4
* My First Shell Script
* Job Control
* Links
* Environment Variables

## Listing files and directories

ls (list)
When you log in, you are in your home directory. This directory is associated with your userid, for example, ccaajim, and it is where your personal files and subdirectories are stored.
To find out what is in a directory you can type
The ls command lists the contents of your current working directory.
Some files will usually have been created by the System Administrator when your account was created. If no files are visible in your home directory, you will simply return to the Unix prompt.
ls lists only those files whose name does not begin with a dot (.) Files beginning with a dot are hidden files and usually contain program configuration information. They are hidden because they are typically generated by other programs and not directly edited by users.
To list all the files in your home directory, including those whose names begin with a dot, type
The -a in the command is an example of an option. Options change the behaviour of commands. Test the output of ls -l and of ls -la.
Another useful option is -t which displays the directory contents newest first by timestamp.
# C Programming/ctype.h/isxdigit
## Description

This function tests whether the character c is a hexadecimal dight ('0' through 'F').
# C Programming/ctype.h/isdigit
## Description

This function returns true if c is a decimal digit ('0' through '9').
# C Programming/ctype.h/isgraph
## Description

This function returns true if c is a character that has a glyph associated with it. Whitespace characters are not considered graphic.
# C Programming/ctype.h/islower
## Description

This function tests whether the character c is lowercase.
# C Programming/ctype.h/ispunct
## Description

This function returns true if c is a punctuation character. This includes any printing character that is not alphanumeric or a space character.
# C Programming/ctype.h/isspace
## Description

Returns true if c is a whitespace character. In the standard C locale, these are the valid space characters:
* Spaces
* Horizontal tabs
* Vertical tabs
* Newlines
* Formfeeds
* Carriage returns
# C Programming/ctype.h/isupper
## Description

This function tests whether the character c is uppercase.
# C Programming/ctype.h/tolower
## Description

This function transliterates an uppercase character to lowercase and returns it. If c is not an uppercase letter, c is returned unchanged.
# C Programming/ctype.h/iscntrl
## Description

This function returns true if c is a control character (that is, a character that is not a printing character).
# C Programming/ctype.h/isprint
## Description

This function returns true if c is a printing character. Printing characters include all the graphic characters, plus the space character.
# Flohr-Mikenas System
### 3...c5
## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.c4 Nf6 2. Nc3 e6 3. e4 c5
| 4 | 5 | 6 |
| e5 Ng8 | Nf3 Nc6 | d4 cxd4 | += |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Nunn's Chess Openings. 1999. John Nunn (Editor), Graham Burgess, John Emms, Joe Gallagher. ISBN 1-8574-4221-0.
* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
* This Chess related article is a stub. Please assist Wikibooks by expanding it.
# English Opening
### 1...a6!?

A very interesting move by black. The idea is to play b5 and chip away White's strong c4 pawn. If white tries to stop it with 2. Nc3, black can play a gambit with 2...b5!?, pushing anyways, with the point of when white accepts it with 3. cxb5 axb5 4. Nxb5, white has 4...e5 or 4...d5, taking the entire center and preparing potential plans of a queenside attack.
1.c4 a6!?
# English Opening
### 1...b6

A transposing move. See also English Defence.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
| 1.c4 b6 |
| | 2 | 3 | 4 |
| English Defence | d4 e6 | | | = |
| | Nc3 Bb7 | e4 e6 | Nge2 c5 | = |
When contributing to this Wikibook, please follow the Conventions for organization.
# English Opening - Symmetrical Variation
### 2. Nc3

2...g6 equalizes after 3. g3 Bg7 4.Bg2 Nc6 or 3.e3 Nf6 4. d4 Bg7 or 4...cxd4 5.exd4 Bg7.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.c4 c5 2.Nc3
| 2 | 3 | 4 | 5 |
| Nc3 g6 | g3 Bg7 | Bg2 Nc6 | Nf3 d6 | = |
| Nc3 Nc6 | Nf3 g6 | e3 Bg7 | d4 | +/= |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# English Opening - Symmetrical Variation
### 2...Nc6

This move is not good because after 3. Nf3 g6 4.e3 Bg7 5. d4, White stands better, ready to push d5. Better is 2...g6, stopping this.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.c4 c5 2.Nc3 Nc6
| 3 | 4 | 5 |
| Nf3 g6 | e3 Bg7 | d4 | +/= |
| g3 g6 | Bg2 Bg7 | Nf3 Nf6 | = |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# English Opening
### 2...e6

A flexible second move by black reaching a Nimzo-Indian or Queen's Indian defence setup is a possibility for black with good prospects as pinning the white knight at c3 weakens white's grip over the d5 square and threatens doubled pawns, not to mention that since white has not yet moved his d-pawn black might as well get a lead in development.
Black should be careful about this move however as white has the option of playing 3.e4 a move that leads to the ultra sharp Mikenas Carls variation where black will require very accurate play in order to stay alive.
And last but not least 3.Nf3 will lead to the more tactical lines of the symmetrical English after 3...c5 and a fight over the d4 and d5 squares will develop.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
| 1.c4 Nf6 2. Nc3 e6 |
| | 3 | 4 | 5 |
| Mikenas Variation | e4 d5 | e5 d4 | exf6 dxc3 | & |
| | d4 Bb4 | | | to 1.d4 Nf6 2.c4 e6 3.Nc3 |
| English, Symmetrical | Nf3 c5 | | | to 1.Nf3 Nf6 2.c4 e6 3.Nc3 |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Nunn's Chess Openings. 1999. John Nunn (Editor), Graham Burgess, John Emms, Joe Gallagher. ISBN 1-8574-4221-0.
* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# English Opening
### 2...g6

Black signals his intention to reach a KID setup. White can choose to seize central space and transpose into a standard KID by playing 3. d4 or to stay in the English opening by playing 3. g3. This refusal to seize central space by white does give white some flexibility and tactical subtleties in return. As the usual idea in the KID is to undermine the white center the apparently dimmer 3. g3 signals that white will develop first and get some strong control over the center before actually advancing his central pawns, which will make it much harder for black to destroy them through a conventional KID strategy.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
| 1. c4 Nf6 2. Nc3 g6 |
| | 3 |
| King's Indian | d4 Bg7 | to 1. d4 Nf6 2. c4 g6 3. Nc3 |
| King's Indian | Nf3 Bg7 | to 1. Nf3 Nf6 2. c4 g6 3. Nc3 |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# Mikenas Variation
### 3. e4
## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.c4 Nf6 2. Nc3 e6 3. e4
| 3 | 4 | 5 |
| e4 d5 | e5 d4 | exf6 dxc3 | += |
| ... c5 | e5 Ng8 | Nf3 Nc6 | += |
| ... Nc6 | Nf3 d5 | e5 Ne4 | += |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Nunn's Chess Openings. 1999. John Nunn (Editor), Graham Burgess, John Emms, Joe Gallagher. ISBN 1-8574-4221-0.
* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
* This Chess related article is a stub. Please assist Wikibooks by expanding it.
# English Opening: Halibut Gambit

The Halibut gambit is a wing gambit. Black sacrifices a pawn on b5 to move white's central pawn to the outermost flank, while also helping black develop his pieces after 3.bxa6 with either then 3...Bxa6, 3...Nxa6, or even 3...e5 ignoring the pawn like in the Benko Gambit and grabbing space in the center.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.c4 b5
| 2 | 3 | 4 | 5 | 6 |
| cxb5 a6 | e4! Bb7 | Nc3 Nf6 | e5 Nd5 | Nf3 e6 | += |
| ... ... | ... d5 | exd5 Nf6 | d4 Nxd5 | Nf3 e6 | += |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Unorthodox Chess Openings (1998). Eric Schiller. ISBN 0-940685-73-6.
* This Chess related article is a stub. Please assist Wikibooks by expanding it.
# Blender 3D: Noob to Pro/Every Material Known to Man/Woods
## Method 1

Material
    Color:
       R: .747
       G: .665
       B: .347
Shaders
    Ref: .6
    Spec: .44
    Hard: 50
Texture: Cloud
    NoiseSize: .072
    NoiseDepth: 6
MapInput
    sizeX: 8.2
    sizeY: 1.0
    sizeZ: 1.0
MapTo
    R: .542
    G: .487
    B: .237

## Method 2

Material
    Color:
       R: .6
       G: .28
       B: .28
Shaders
    Ref: .5
    Hard: 100
Texture: Cloud
    NoiseSize: .11
    NoiseDepth: 1
MapInput
    sizeX: 10.0
    sizeY: 1.0
    sizeZ: 1.0
MapTo
    R: .28
    G: .14
    B: .14

## Painted Wood

Material
    Color:
       R: m
       G: m
       B: m
Shaders
    Ref: 0.6
    Hard: 50
Texture: Cloud
    NoiseSize: 0.1
    NoiseDepth: 3
MapInput
    sizeX: 8
    sizeY: 1
    sizeZ: 1
MapTo
       R: m-3
       G: m-2
       B: m-2
# Blender 3D: Noob to Pro/Fluffy Material
## Spherical Blend Texture

This technique maps a spherical blend texture to the outsides of an object.
Create a new material and name it something intelligent. Create a new texture for this material, change the texture type to Blend, and then in the texture properties, change the blend shape to "Sphere".
Back in the material buttons, go the "MapInput" tab and change the texture coordinates to Blank-Blank-Z and Nor and as demonstrated in the next screenshot:
Finally go the "MapTop" tab, and depress the Emit button and set the Texture Blending Mode to "Add":
That's all there is to it, and here is how it looks:

## Backlighting

This is a technique that a rather famous blender user called "@ndy" uses. Very simple and effective.
All you need to do is place a Hemi light BEHIND the object you want to light in respect to the active camera.
Breakdown: First add a Hemi lamp to your scene:
Next, Select the lamp THEN press and hold down the Shift key, and select the Camera. Press Control-C to bring up the copy attributes menu, and copy location AND rotation.
Now select JUST your lamp, press R to rotate it, then press the X key TWICE to rotate around the local X axis. Using your numpad, key in "180" to rotate the object 180Degrees.
All that remains to do is to press G to grab the lamp, then press Z TWICE to move along the local Z axis, and move the lamp until it is past and behind the object of interest. your resulting setup should look something like this:
And here is the rendered result:
* Color ramp with input set to normal.
Pretty straighforward, but many advise against it.
* Minnaert shader
Available in 2.37, "Darkness"<1 actually brightens edge. A cool shader, but not very useful for this purpose.
# Blender 3D: Noob to Pro/Every Material Known to Man/Trampoline material

This is how I do a trampoline material. It's not perfect, but it DOES look like a trampoline. Also, this is assuming everything is still Default.
Change the color to black, change the Alpha to 0, and turn on Z-Transparency. Then change the Spec. value to 0.5 and the Hard to 75. Then add a new texture. Make it a Cloud texture, Hard noise, and Color. Change the size and Noise depth to 0, choose an Improved Perlin noise basis, and change the Nabla to 0.075. In the Map Input panel, set the X, Y, and Z size to 0.5. Lastly, go to the Map To panel and activate Normal (Yellow) and Alpha (Yellow) and change the Nor slider to 1. You're done, so render your scene and see your new trampoline.