OpenLLM-France/wikimedia huggingface dataset:
# Chess Opening Theory/1. e4/1...c6/2. Bc4/2...d5/3. Bb3
## Hillbilly Attack, Schaeffer Gambit
### 3.Bb3

The only sensible continuation to the Hillbilly Attack, since after 3.exd5 cxd5, White ends up losing a tempo with no clear benefit. Here, White gambits the e-pawn, trying to get an attack. Black, following the ideas of the Caro-Kann, will usually take 3...dxe4, accepting the gambit.
The most common continuation after 3...dxe4 is 4. Qh5. While this threatens Scholar's Mate if Black blunders with 4...e5?? or 4...Bd7??, there is no serious threat of checkmate at present (if, say, 4...Nf6?! 5. Qxf7+, the king can move to d6). Still, it would be wise for Black to protect the f7 pawn with 4...g6 or 4...e6.
4.Nc3, attacking the e4 pawn while keeping pressure on f7, is the next most common move.
When contributing to this Wikibook, please follow the Conventions for organization.
# Sicilian - Grand Prix Attack

2. f4, with the idea of an aggressive attack against the Black King. Black can neutralise the threat with an immediate d5; for this reason the attack is often played in the move order 2. Nc3 followed with f4.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1.e4 c5 2.f4
| 2 | 3 | 4 | 5 |
| f4 d5 | Nc3 d4 | Nce2 Nc6 | = |
| ... Nc6 | Nc3 g6 | Nf3 Bg7 | Bb5 Nd4 | = |
| ... d6 | Nc3 Nc6 | Nf3 g6 | Bc4 Bg7 | = |
| ... e6 | Nf3 d5 | Bb5+ Nc6 | = |
| ... g6 | Nf3 Bg7 | Nc3 Nc6 | = |
| ... Nf6 | Nc3 d5 | e5 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.

## External links

* This Chess related article is a stub. Please assist Wikibooks by expanding it.
# Tal Gambit

2...d5 is the Tal Gambit, pioneered by Latvian grandmaster Mikhail Tal. It is one of the recommended counters to the direct Grand Prix Attack.
If white accepts the gambit with 3.exd5, black's response is 3...Nf6, threatening the d5 pawn and gaining time in development.
If white chooses to decline the gambit, it is usually done by 3.e5. While white has a large space advantage now, it is still considered to be a favorable position for black, because she can get her bishop to g4 or f5 before playing e6. The response 3...e6 resembles and can transpose into a line of the French Defense, the McDonnell-Labourdonnais attack, which is favorable for black.
Nowadays, modern Grand Prix Attack players play 2.Nc3 before playing 3.f4.
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.
# Chess Opening Theory/1. e4/1...c6/2. Bc4
## Hillbilly Attack
### 2.Bc4?!

Black will almost certainly play 2...d5. Since Black's d5 pawn is defended by both the c-pawn and the queen, White's bishop will be forced to move away, either on the following turn or after 3. exd5 cxd5.
When contributing to this Wikibook, please follow the Conventions for organization.
# Chess Opening Theory/1. e4/1...c6/2. Bc4/2...d5
## Hillbilly Attack
### 2...d5

White has two options:
3. exd5 cxd5 is the more common move in the Lichess database. However, after the pawn trade, White will be down a tempo and a center pawn with little to show for it. 4. Bb5+ can be blocked by the opposing bishop, and if White trades, Black is comfortable. 4. Bb3 keeps a bishop on the f7 diagonal, but does not challenge much.
3. Bb3 gambits White's e4 pawn in order to gain a tricky, if somewhat dubious, attack. Note that after 3...dxe4 4. Qh5, Scholar's Mate is not threatened yet (after, say, 4...Nf6?! 5. Qxf7+, the king can move to d6), though the f7 pawn is still vulnerable.
Any other move loses the bishop or makes the initial 2. Bc4 a waste of time.
When contributing to this Wikibook, please follow the Conventions for organization.
# Chess Opening Theory/1. e4/1...c6/2. Nc3
## Caro-Kann Defence, Two Knights Variation

Instead of committing to a pawn to d4 move, White is attempting a more cautious approach by placing a knight on c3 first. The vast majority of players play 2...d5 with white usually continuing with 3. Nf3. By placing the knight first, White is giving itself more flexibility over when to commit to a d pawn advance.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
When contributing to this Wikibook, please follow the Conventions for organization.
# Compiler Construction/Case Study 1
## Case Study 1 - a Simple Interpreter

The purpose of this is to provide a gentle introduction to some compilation techniques, and to introduce a few more computer science concepts.
Interpreters are used rather than compilers since they don't have such a steep learning curve. Later chapters and case studies will delve more into compilers.
The language being interpreted is a very small subset of Basic, even smaller than Tiny Basic.
The purpose of this case study is to use simple interpreters to provide a gentle introduction to some compilation. There are three chunks of code in this chapter:
* Simple line-mode IDE, which can be used with either interpreter.
* Interpreter for Very Very Tiny Basic.
* Interpreter for Very Tiny Basic.
The VVTB interpreter only allows integer variables, and only recognizes five different statements (just enough to write simple programs with, but not a serious programming tool). The VTB interpreter allows both integer and string variables, and recognizes ten different statements. The two interpreters use different methods for dealing with expressions, to provide you with some variety.
Note that the code presented here is intended to be as clear and simple as possible; high performance is not a target. Those readers unfamiliar with C++ may like to consult Appendix A which provides a brief summary on those C++ constructions which are used in the book.

### Very Tiny Basic - Specification

A line-mode IDE is very simple: if the line you type starts with a number then that line is a statement to add to your program source code, otherwise it is a command to the system (e.g. RUN or LIST). The line-mode 'editor' is also very simple:
* Just typing a line number without any code causes any existing line with that number to be deleted.
* If the line number you use is the same as that of some previously typed line then the earlier line is discarded.
* Program lines are sorted by line number order, so you can easily insert missing lines if needed, provided you originally used line numbers with gaps (every 10 was common).
For Lexical Analysis
For IDE processing
For VVTB Syntax Analysis
For VTB Syntax Analysis
IDE commands
Line number
    Line numbers must be non-zero.
NEW
    Start a new program, delete any existing source code.
QUIT
    Terminate the IDE.
LIST
    List the current source code.
RUN
    Obey the current source code.

### Sample Programs

Programs in Very Very Tiny Basic are very simple. Programs in Very Tiny Basic are still simple, but they can do more complex things. Neither language allows any user input.
Sample VVTB program
Sample VTB program

### Line Mode IDE - Implementation

The code which follows may seem quite short, but it is indeed a complete line-mode IDE. The reason it is so short is the use of the C++ <map>, which is exactly what is needed for storing source code, sorting lines into line number order, etc.
# Compiler Construction/External Links
## External links
### Wikibooks Resources

* Reverse Engineering
* Assembly Language
* Floating Point
* GNU Compiler Collection

### other wiki

* Compilers 101: writing compilers. Discussion wiki. - Very simple & concise example of how to develop AST and generate C code from it. Example parser is also given.
* Wikiversity:Compiler
* Wikipedia: Book: Compiler construction

### World Wide Web

* Bloodshed Software: free C++ IDE for Microsoft Windows
* Microsoft VC++: Another free IDE for Windows
* Gnu Free Documentation License.
* Gnu General Public License for programs.
* Hoare, C.A.R. Hints on programming language design
* Hoare, C.A.R. 1980 Turing Award Talk
* flipcode: A Good Series of Tutorials
* The free country: More links to free software
* "So you want to be a cOOmpiler writer?"
* Let's Build a Compiler
* Pascal Compiler Written in Berkeley Logo
* Native Client: A Sandbox for Portable, Untrusted x86 Native Code.
# Compiler Construction/Java
## Java
### Invocation

In Java, there are four kinds of method invocation, namely invokestatic, invokespecial, invokevirtual, invokeinterface. As the names suggest, the first is used to invoke static method and the rest instance methods. Since a static method cannot be overridden, invokestatic is very simple; it is essentially the same as calling a function in C.
We now see the mechanism of invocation of instance methods. Consider the following piece of code.
invokestatic is invoked with the references to the class name and the method name and pops arguments from the stack. An expression A.f (2) is complied to:
In Java, a private method cannot be overridden. Thus, a method has to be called based on a class regardless of how an object is created. invokespecial allows this; the instruction is the same as invokestatic except that it also pops the object reference besides supplied arguments. Thus far, dynamic binding is not in use, and it is not necessary to have information about binding at runtime about private methods.
Specifically, invokespecial can be used either (1) calling a private method or (2) a invoking a method of the super class (including the constructor for the super class, namely <init>). To call a super method other than <init>, one has to write like super.f where f is the name of the super method.
In semantics invokeinterface doesn't differ from invokevirtual, but it can give the compiler a hit about the invocation.

### Class methods

Class methods can be defined with a static qualifier. Private class methods may be in the same object, if they belong to the different classes. No two public class methods may be in the same object; in other words, class methods cannot be overridden. This also means final qualifier is semantically meaningless for class methods.

### Fields

Each field is accessed based on a class. Consider the following.
In other words, an access control modifier (none, public, private and protected) only affects if clients of the class can access a given field. This means that Java virtual machine may ignore the access flag, handling each field in the same manner.

### References

* How the Java virtual machine handles method invocation and return
# Computer Literacy/Hardware

Here we learn what words hardware and computer mean.

## What is a computer?

Computers come in many shapes and sizes. The easiest way to spot a computer is to look for a screen, the bright rectangle where images and text appear. What computers (with a screen) do you have at home?
* phone, specifically smartphone
* tablet
* laptop, also called notebook
* desktop, oftern called desktop computer or just computer
* smartwatch
* smart TV, usually called just TV
Can you think of other examples?
All these things are computers. Some people call them devices and reserve the word computer for desktops and laptops only.

## Parts of a computer

Desktop computers are special in that they are made of several separate parts or components, usually connected with cables. Look at some desktop computer (if one is around) and try to name as many parts as possible.
* screen, often called display or monitor
* keyboard
* mouse
* case with many more components inside it
* speakers, often included as part of the monitor
* headphones, called headset when microphone is included
* printer
When you think of a desktop computer, you probably think of its screen first. Screen is where everything interesting happens, but it's not the main part of the computer. While the big metal case might look useless at first, it's actually the place where all the most important components are housed. If you unplug it, nothing will work.
You can spot many of these parts on laptops and other kinds of devices. Some devices have special parts not found on desktop computers. For example, laptops have a touchpad that does the same thing as mouse on desktops.

## Computers without screens

We said that screens are the easiest way to spot a computer, but many computers do not have a screen. Below are some of these computers that you might have encountered at home.
* Alexa and other smart speakers speak instead of showing things on the screen.
* Router connects other computers together via cables, allowing all computers to send messages to each other.
* WiFi is like router, but it connects to other computers over the air via radio waves instead of using cables.
* Embedded computers are built into other things, including fridges, wash machines, and some toys.
# Computer Literacy/Operating system

When we talked about software, we said that computers come with some basic functions, for example playing music or viewing photos, and apps just add more. These basic functions of the computer are called operating system. The password prompt and desktop you have seen before are also part of the operating system.
The operating system is the first thing you see on the screen when you turn on the computer. Every operating system looks different. You can tell which operating system is running on the computer just by looking on the screen. Some of the most common operating systems are below.
* Linux
* Windows
* MacOS
* Android
* iOS
Look at computers and devices around you. Can you tell which operating systems are they running? Which operating system is running on your computer?
We will first learn about Linux and then get back to other operating systems later. Linux has many flavors or distributions that differ only in small details.
Can you recognize the flavor of Linux running on your computer?
# Computer Literacy/Software

Why do computers behave the way they do? And why do some computers behave differently than others? Here we learn about software, the essence that makes computers do what they do.

## Specialized computers

Some computers do only one thing. For example, the embedded computer inside kitchen scale cares only about measuring weight. Let's look at a few other examples.
* A digital kitchen scale, a common use of an embedded computer.
* A digital alarm clock.
* A digital kitchen timer offers precise timing.
* A Wi-Fi router contains a small computer to manage network traffic.
* A digital camera uses a small computer to manage camera functions.
* A drone uses computers to help manage the minutia of flight.
* An electric car. Most modern automobiles use computers for safety, automation, navigation, and entertainment.
Can you think of other specialized computers that focus on one task?

## Apps

Other computers, for example smartphones, have some basic functions like calling and sending text messages, but they can also run many apps that do a variety of tasks.
* Firefox app showing Wikipedia.
* Suntimes, a clock app for sunrise and sunset times.
* K9, An email app.
* VLC, a video player app.
* OsmAnd, a map app.
* calculator app
* alarm clock / timer
* book reader
Can you name other apps? Did you use some of them?
Apps have many advantages. You can pack a lot of apps in one device. Apps usually don't cost you anything. And it is easy to replace misbehaving app with a better one.
Apps are also called applications, programs, or software.

## Intelligent computers

Computers are not smart like humans. They cannot think and act with reason. Not yet anyway. But they sometimes come close. Echo, a kind of smart speaker, is a computer able to communicate with Alexa to answer questions about a number of topics. Many apps can do the same.
* Smart speakers are commonly used to interact with users.
* A driverless car. Self driving vehicles have the potential to improve traffic and save lives.
* Security robots patrolling an area, freeing up human guards for other tasks.
The advantage of intelligent computers is that you don't have to look for an app that does what you want. You just ask the computer the way you would ask a friend. The disadvantage is that these intelligent computers aren't really very intelligent. They often misunderstand what you want or they simply don't know how to help you. That's why people still prefer apps for most tasks.
Certain websites use artificial intelligence to recommend to you new and interesting products. For example, many people who search for cats on the web like cats and also buy cat clothing. If enough people both search for cats and buy cat clothing, the website starts to take notice. It then will recommend cat clothing to people searching for cats, in an attempt to sell more cat clothing.
* Delivery robots causing a pileup after failing to navigate past each other.
* An error with the Boeing 737 MAX aircraft lead to many aircraft being grounded.
# Computer Information Systems in Education/Preface -- Why a Wikibook for Studying School Based IS?

Computer Information Systems has become a ubiquitous part of life in schools today. Still these tools and processes are not examined in education as they have been examined in business. As a result many of the textbooks and writing on this subject remains outside of the purview of educators. It is with this problematique in mind that we in our Computer and Information Systems in Education course at Webster University, opted to create a Wikibook that explores these tools and attendant processes in schools.
To be sure, a Wikibook for examining CIS in schools is particularly compelling in an online distance based course. It opens the door to collaboration, information sharing and true cooperative learning. Similarly this mechanism provides an opportunity for co-authoring of large amounts of information in a poignant and efficient way.
In the chapters below the reader will see the varied interests of students across the United States as they explore how CIS shapes educational practice and performance.
# Computer Literacy/On and off

You have used the computer before when someone else turned it on for you. You will now learn how to turn the computer on and off on your own.

## Turn the computer on

To turn the computer on:
* Find power button on the monitor and press it. This will turn the monitor on.
* Find power button on the computer case and press it. This will turn the computer itself on.
Various information might appear on the screen for a few seconds before it settles on the password prompt.
* login screen

## What is password?

The computer is checking whether you know the secret password. Why? Because passwords prevent strangers from using your computer. Even after the computer stops working and goes to trash, some people might try to get your photos, notes, and other stuff from it. But if they don't know your password, they wouldn't be able to do that.

## Enter the password

Reach for the keyboard, type your password, and press Enter. If you type the wrong password, the computer will just ask again. If you type the right password, the password prompt disappears and desktop appears a few seconds later.
This is called desktop of the operating system. From here we can start apps and do other interesting things, but now we will just learn how to turn the computer off again.

## Turn the computer off

* Move the mouse to the top right corner of the screen and click (with the left button). A popup appear.
* Move the mouse over the power icon (the one in the bottom right corner of the popup) and click it. The screen will darken.
* Move the mouse where it says "Power Off" and press the left mouse button again.
The computer should turn itself off in a few seconds. You don't have to press the power button on the computer. You might have to press power button on the monitor though.
# Bodybuilding and Weight Training/Nutrition
## Nutrition

Nutrition is the process of providing the food necessary for health and growth. It is the process of taking in food using it for growth, metabolism and repair.

## Food

Food is any substance which when taken by living organisms that repairs worn-out tissue and protect the body against diseases.

## Importance of Food

1.It supplies the body with energy for work and warmth. 2.It repairs worn-out tissue 3.It provides materials for growth 4.It keeps the body in a healthy conditions by offering protection against diseases

## Classes of Food

1.Carbohydrates 2.Protein 3.Fats & oil 4.Mineral salt 5.Vitamins 6.Water
# Bodybuilding and Weight Training/Squats

Squats
Main Muscles Used:
Quadriceps, Hamstrings, Glutes, and Calves
Description:
Squats are a foundational exercise in strength training, highly regarded for their ability to build lower body strength, enhance muscle hypertrophy, and improve overall functional fitness. They primarily target the quadriceps, hamstrings, glutes, and calves while also engaging the core, lower back, and even the upper body to a certain extent, depending on the variation performed.
Safety Tips
Mistakes to Avoid
# Bonsai/Elements of good bonsai

A good bonsai is one, that looks just as if it were a real, big tree, just smaller. The idea is to symbolize and simplify the look of a natural tree.

## Stem Composition

When your tree is ready to be shaped into a bonsai, the first thing to do is to choose a front side. This side should be the one people should look at if your bonsai is ever displayed. Then, choose what style your tree should be in. Deciduous trees are probably not as qualified for Bunjingi, Kengai, and Han-Kengai as coniferous ones, but you can experiment. Try looking at some trees in nature, try drawing them. That will give you a feel for what looks natural, for what doesn't. If you have chosen a style that fits your tree well, (feel free to make up your own) choose a large, sturdy branch about one third up from the bottom of the stem. It should point to the right or left of the tree, never to the back or front. Reduce this branches length to 6 to 8 times the stems diameter at its thickest point. Remove all branches below this one to make the stem visible. The second branch should be pointing to the opposing side of the first one. The third one should point to the back to give your tree some depth. All other branches will follow in this manner: side, other side, back, side, other side…
# Bonsai

Welcome to the Wikibooks guide to Bonsai, the art of miniature trees in pots. Creating bonsai involves artistic skills, akin to sculpture and painting: bonsai design. Caring for bonsai involves the science and skill of keeping potted trees healthy and growing: bonsai horticulture.
The aim of this book is to provide everything a beginner needs to know about to get started in bonsai, from selecting trees, to caring for trees, to potting and repotting trees, to styling trees, to displaying trees.

## Introduction to bonsai

* What is bonsai?
* History of bonsai

## Getting started in bonsai

* Getting a bonsai
* Choosing a tree
* Potting a tree in training
* Bonsai soil

## Non-traditional bonsai

* Growing any species of tree as a bonsai
* Similar gardening practices including: penjing, saikei and hòn non bộ

## Bonsai horticulture

* Care
* Pruning
* Wiring

## Bonsai design

* Elements of good bonsai
* Deadwood
* Displaying bonsai