OpenLLM-France/wikimedia huggingface dataset:
# EverQuest/Races/Half Elf

Half elves start off in Freeport or Qeynos/Surefall. They can be a bard, druid, paladin, ranger, rogue or warrior. Half Elves are considered a good race. Not quite accepted by wither race, half elves inherit traits from both of their parents. From their elven parents, they gain infravision and thus can see well in the dark. Yet they retain much of the hardiness of their human heritage, and are thus stronger and more sturdy than most elves.
Experience Modifier: ?
# EverQuest/Races/Halfling

Halflings start out in the city of Rivervale, which probably has the nicest of all the newbie areas. A quick and nimble race, a halfling can play a Cleric, Druid, Rogue, Warrior, Paladin, or Ranger. Halflings are considered a good race and are welcomed in the good cities of Norrath. Halflings are also able to see well in the dark, and have the innate ability to hide and sneak. Of all the races, halflings tend to level the fastest.
Experience Modifier (+/-): + 5%
# EverQuest/Races/Troll

Trolls, like Ogres, are inately powerful fighters with a high strength and stamina. They start off in the city of Grobb, far south in Antonica. A troll can be a Shadowknight, Shaman, Warrior, Beastlord, or Berserker. Trolls have the innate ability to regenerate damage, gaining 2 hp per tick. As an evil race, they are killed on sight in most cities. Like ogres, players who play trolls like to speak broken english.
Experience Modifier: ?
# EverQuest/Races/Gnome

Gnomes start off in Ak'Anon, which is located at the far end of the continent of Faydwer. With the possible exceptions of Erudites and Iksar, no race has as farther to run to get to its hometown than the gnomes. A highly intelligent race, the Gnome can play a Cleric, Enchanter, Magician, Necromancer, Rogue, Warrior, Wizard, Paladin, or Shadowknight. Gnomes are considered a good race, unless they choose a necromancer. As a subterranean race, gnomes can see very well in the dark. Gnomes are also the only race to get the tinkering skill, letting them make some nifty, even if mostly useless, trinkets.
Experience Modifier: ?
# EverQuest/Races/High Elf

High Elves start off in the city of Felwithe, in the continent of Faydwer. They are known for their prowess at magic, and start off with a high base intelligence. The high elf classes are cleric, enchanter, magician, paladin and wizard. They are considered a good race, and in fact can't play any of the evil, or borderline evil classes. High elves have good eyesight and can see well even in the dark.
Experience Modifier: 0%
# EverQuest/Races/Ogre

A powerful race, Ogres start off in the city of Oggok. Ogres are fighters by trade and can play a Shadowknight, Shaman, Warrior, Beastlord, or Berserker. They are the strongest and most naturally powerful of all the races. Considered an evil race, Ogres are killed on sight in most cities of Norrath. Many players who play ogres like to talk in broken speech, so be forewarned when trying to communicate with your fellow players.
Experience Modifier (+/-): - 15%
# GCSE Computer Science/Ethics

Computer ethics concern things that we should or should not do in our dealings with computer systems.

## Copyright and Plagiarism

* Specification link
* Show understanding of computer ethics, including copyright issues and plagiarism - 2016 CIE Syllabus p14
Copyright is something that is defined in international treaties and in various local laws around the world. It concerns the use of intellectual property.
Copyright law recognises the fact that both the owner and the users of intellectual property have certain rights. The exact details vary slightly between countries but in general:
* The creator of a piece of work has the right to be identified as the author.
* You should not copy someone else's work without their permission or giving them credit.

### Fair Use

There are however some exceptions, known as fair use which allow work to be copied with a few conditions. The rules vary between countries. In the UK you are allowed to copy work if it is for:
* Critical review
* News reporting of current events
* For personal research & study
However you must ensure that:
* You give credit to the author
* You only use as much of the work as you have to
* There is no free alternative available
* Your use does not disrupt the owner's legitimate use of the work
* Specification link
* Distinguish between free software, freeware and shareware - 2016 CIE Syllabus p14
* Specification link
* Show understanding of the ethical issues raised by the spread of electronic communication and computer systems, including hacking, cracking and production of malware - 2016 CIE Syllabus p14
# GCSE Computer Science/Communication security

* Specification link
* Show understanding of the security aspects of using the Internet and understand what methods are available to help minimise the risks - 2016 CIE Syllabus p11
* Specification link
* Show understanding of the Internet risks associated with malware, including viruses, spyware and hacking - 2016 CIE Syllabus p11
* Specification link
* Explain how anti-virus and other protection software helps to protect the user from security risks - 2016 CIE Syllabus p11
# GCSE Computer Science/Computer architecture
## The Von-Neumann Architecture

* Specification link
* Show understanding of the basic Von Neumann model for a computer system and the stored program concept - 2016 CIE Syllabus p11
The Von-Neumann Architecture, and stored-program concept, works where machine code instructions and data are stored, and loaded from memory into the processor to be executed in sequential order. Von-Neumann Architecture is used for general purpose machines, where instructions and data are held in the same memory location - this is our main memory, or RAM.

## The Fetch-Execute Cycle

* Specification link
* Describe the stages of the fetch-execute cycle, including the use of registers - 2016 CIE Syllabus p11
# GCSE Computer Science/Databases

* Specification link
* Define a single-table database from given data storage requirements - 2016 CIE Syllabus p16
* Specification link
* Choose and specify suitable data types - 2016 CIE Syllabus p16
* Specification link
* Choose a suitable primary key for a database table - 2016 CIE Syllabus p16
* Specification link
* Perform a query-by-example from given search criteria - 2016 CIE Syllabus p16
# GCSE Computer Science/Constants, variables and data types
## Constants

A constant is a value used in programming which will not change throughout the program.

## Variables

A variable is a value used in programming which normally changes as the program is executed. The value of a variable can be changed in a number of ways:
* User Input;
* Read from an external file
* Program assignment e.g. a counter in a loop;
* As the result of a calculation within a program.
The variable name can usually be any combination of letters and numbers. Some words and letter combinations may not be used as variable names , these are normally called reserved words. Good programming style suggests that variable names are descriptive and reflect the data that is assigned to them e.g. pupil_name, car_reg, patient_number. Variables can represent a number of Data Types The two most common data types are Numeric (numbers) and String (text)

## Data Types

Most computer systems distinguish between different data types. This is important as it can help to make data storage more efficient and data processing more effective. The most common data types are:
* Numeric Integer - Whole numbers e.g. 24, 67
* Numeric Decimal (Real, Floating Point) - Decimal (Real) numbers e.g. 3.14, 6.58
* String - Alpha-numeric text e.g. 32 Acacia avenue; Exam syllabus code 45; etc.
* Character - A single character of Alpha-numeric data which takes up 1 byte of storage space
* Boolean - A variable which can only have one of two values e.g. true/false; 1/0, yes/no
In some programming languages e.g. Java , C#, Python the data type of each variable must be declared before it can be used during the program. For example in Java if you wanted to use an integer variable called age and a assign a value to it. You would have to use the commands
These are called Strongly Typed languages - N.B. the "typed" refers to setting the data type not typing on a keyboard
Other languages such as Basic do not require you to set the data type of variables. These are called "Weakly Typed" languages
# GCSE Computer Science/Data structures

* Specification link
* Declare and use one-dimensional arrays - 2016 CIE Syllabus p16
* Specification link
* Show understanding of the use of one-dimensional arrays, including the use of a variable as an index in an array - 2016 CIE Syllabus p16
* Specification link
* Read or write values in an array using a FOR … TO … NEXT loop - 2016 CIE Syllabus p16
# GCSE Computer Science/Edexcel GCSE Computer Science 1CP1

This section aims to fit in with the Edexcel GCSE(9-1) Computer Science 1CP1 syllabus but is not endorsed by Edexcel. It should be useful as a revision guide or to find alternative explanations to the ones in your textbook.

## Contents

Topic 1: Problem solving
1.1 Algorithms
1.2 Decomposition and abstraction
Topic 2: Programming
2.1 Develop code
2.2 Constructs
2.3 Data types and structures
2.4 Input/output
2.5 Operators
2.6 Subprograms
Topic 3: Data
3.1 Binary
   * 3.1.5 Hexidecimal
3.2 Data representation
3.3 Data storage and compression
3.4 Encryption
3.5 Databases
Topic 4: Computers
4.1 Machines and computational modelling
4.2 Hardware
4.3 Logic
4.4 Software
4.5 Programming languages
Topic 5: Communication and the internet
5.1 Networks
5.2 Network security
5.3 The internet and the world wide web
Topic 6: The bigger picture
6.1 Emerging trends, issues and impact
# GCSE Computer Science/Flowcharts
## Flowcharts

* Specification link
* understand and use standard flowchart symbols to represent the above statements, commands and structures - 2016 CIE Syllabus p15
Flowcharts are an alternative to pseudocode. They are used to describe an algorithm in the form of a diagram. Different symbols are used to represent the different structures described above.
| Name | Use |
| Terminator | Used to indicate the START or END of a flowchart. |
| Process | Used to indicate any calculations or variable assignments. |
| Decision | Used for conditional checks in selection and iteration. |
| Input & Output | Used to input or output. |
Below is an example flowchart algorithm:
# Creating a Virtual Machine/Symbolic Stack VM in Erlang - Compiler

This is not to be a compiler in the canonical sense of lexer, parser, code generator, optimizer, but we will concentrate on the code generation phase, and do some subsequent optimization.
# Creating a simple 3D game engine in XNA/Introduction

In learning XNA 3, then 4 myself, as I searched the internet, and read many books and I noticed there were no really good tutorials out there to really get you started with an engine. There is an old saying, you can give a man a fish, feed him for a day, or teach him to fish and feed him for a lifetime I mention this, because every book I've read, and tutor I've seen does just that, gives you a fish. I intend to teach you how to fish. As a hobbyist programmer myself, I write this for other hobbyist programmers looking to get some game creation going on. We are going to create a clone of the old classic arcade game, Asteroids by Atari in 1979, only we use 3D models for our graphics. Using the engine we create together with the 3D models and sounds I supply, it should only take a few hours a day to complete this tutor. Then it would only take hours to make a simple game of your own using this engine.
I assume you have a basic or general working knowledge of C#, Java, or C++ at least. What I mean by that is that you know what polymorphic methods are, and other OOP practices so I don't talk over your head. This is meant as an introduction to XNA 4 and real game programming using a game engine, not for learning general programming.
I start with a tutorial on how to make a simple 3D game engine, then proceed to use that engine to make the classic game of Asteroids. I only made one change to the original and that is when the player is hit, their ship does not explode, instead I take down their hits available points, the player starts with three. That was the one thing that frustrated me, starting after getting hit, and bam a rock hits the player ship again! As would often happen it would put the ship out, right in front of a rock. It would only do a check to make sure a rock was not at the spot.
# Creating a simple 3D game engine in XNA
## Contents

* Introduction
* Chapter One
* Chapter Two
# Creative Commons: An overview

On October 12th, 1988 the DMCA was passed by the United States Congress. This act established a new set of rules for using copyrighted material digitally. It was very strict about what you could do with content on the internet without prior permission the owner. Fair Use could be used to use images and short snippets of text, but required attribution. However, derivatives and redistribution were acts that required consent of the copyright holder. In 2001 a non-profit organization called Creative Commons was established; its goal was to find a solution to bring back many freedoms that had been taken away by DMCA, and be a tool for many Copyright holders.
Creative Commons licences were therefore established. These licences provided many more freedoms, while following DMCA. All the licenses contained short abbreviations for each standard that was to be used. All licences names begin with CC standing for Creative Commons. Afterwards many other short snippets are given to specify the protections applied. This provided a way for copyright holders to grant permission to users in advance for how they can redistribute their content
This book will cover all of the licenses ([CC stands for Creative Commons, BY stands for attribution, NC stands for non commercial, ND stands for no derivatives]CC 0, CC BY, CC BY-SA, CC BY-NC CC BY-NC-SA, CC BY-ND, CC BY-NC-ND) and will explain in depth what each license grants, exceptions, how the content can be changed or altered, how the content is used, and it complies with Copyright Law:

### Quick Summary

0 is used for public domain, which means anyone can use it in any way they see fit. BY means that attribution to the creator is required for anyone who uses that content. SA requires that all content created as a derivative of another piece must be shared under the same license as the content it was derived from. ND requires that no derivatives of a piece with that license are published. NC requires that the content is not used for commercial purposes, such as selling the licensed content or using the licensed content in advertisement. Multiple of these abbreviations in sequence mean that all of those conditions are applied.

## Table of Contents

* Attribution
** Attribution types
** DMCA and attribution
* Sharealike
** What is Sharealike?
** Limits, and advantages of ShareAlike
* commercial
** What does non-commercial mean?
** What can and can't be done with my work
* No derivatives
** What is a derivative?
** What kinds of derivatives are there?
# Counting circuits

An arithmetic and logical unit (ALU) adder provides the basic functionality of arithmetic operations within a computer, and is a significant component of the arithmetic and logical unit. Adders are composed of half adders and full adders, which add two-bit binary pairs, and ripple carry adders and carry look ahead adders which do addition operations to a series of binary numbers.
Note: Pictures on wikipedia under GFDL

## Half Adder

A half adder is a logical circuit that performs an addition operation on two binary digits. The half adder produces a sum and a carry value which are both binary digits.
Sum(s) = A xor B Cot(c) = A and B
Following is the logic table for a half adder:
| A | B | Sum | Cot |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Half adder circuit diagram

## Full adder

A full adder is a logical circuit that performs an addition operation on three binary digits. The full adder produces a sum and carry value, which are both binary digits.
Sum = (A xor B) xor Cin
Cot = (A nand B) nand (Cin nand (A xor B))
| A | B | Cin | Sum | Cot |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Full adder circuit diagram

## References

* Microprocessor Design/Add and Subtract Blocks
* Microprocessor Design/ALU
* Electronics/ALU
# Filters and Signal Tuning

Author's Note: I think this relies on an understanding of second order ODEs and thats beyond the scope of the maths syllabus - we can put something high level but there is no way they'll understand it properly - surely we should teach as little phenomonology as possible - the waves chapter has a ton of it already

## Further reading

* Signals and Systems
# Electrostatics

The study of the effects of static charges. These charges are produced by too many or too few electrons. Electrons, in turn, are the most movable charge forms, and are found spread around the positive charge in the nucleus of the atom. If there are too few electrons, a positive charge will appear. If there are too many, a negative charge will appear. If the charges are in balance, then no charge is detected. The electron is a fundamental particle, and has interesting characteristics, besides the charge, it spins, and this spin gives rise to a magnetic field, much like an electric motor.
The decision to call some charges positive and others negative was arbitrary. This gives rise to a potential misunderstanding when charges are moving in a circuit. This will be deferred to a later section, on electricity.
The fundamental study of these charges in isolation can best be observed by experiment. If we generate a charge by friction, say fur on hard rubber, or silk on glass, we can transfer the charge to a small ball coated with aluminum foil. This ball is held up by a thin thread. Nylon or silk work well.
If however the air is damp, the charge will leak off the metal balls.
Two such balls, charged by the same static source will repel each other. If we use two different sources, they will attract each other. Maybe.
We can measure the amount of attraction or repulsion by a simple means. If we measure the weight of these balls, then we know that they are attracted by the earth. Other forces on these balls will cause them to swing away from hanging straight down.
By measuring the movement, or the angle, we can figure out what tiny force is pushing the ball away from the vertical. The tangent function is the perfect candidate to resolve this problem. ((add more text and diagrams here))
It would be nice to find out what happens when some charge is removed. It turns out, that if we use a third ball, of the same size as the other two, we can exactly halve the charge.
From this we can see that we can measure the effects of increasing distance, and decreasing charge.
# GCSE Computing — AQA/The use of computer technology in society
## Computer Technology in Society
### Introduction

The use of computer technology in society is such a broad topic. I think that this highlights how much computer technology is used across all aspects of our daily lives. This is a constantly evolving relationship that will continue to grow and develop alongside the technology that we create and develop.
# GCSE Geography

    Introduction

## Chapter 1: Coasts

* Coastal Landforms An introduction to the chapter
* Denudation Processes Operating Along a Coast
# GCSE Computing — AQA/Computer structure/CPU (Central Processing Unit)

A computer can be divided into 4 major parts:
1. Input devices 2. Output devices 3. storage devices 4. CPU (which is the main brain of a computer. It does all the processing and calculations on inputs and provides outputs on screen)
There are two parts to the CPU:
The Arithmetic Logic Unit (ALU) performs arithmetic and logical operations. The Control Unit (CU) fetches and executes instructions stored in memory, calling on the ALU when necessary.
The CPU controls the entire system. It is basically what makes the computer work. A number of characteristics such as clock speed, cache size, and number of cores affect a CPU's performance. for example, a larger cache size (the cache is a small bit of ram stored on the CPU) will allow the CPU to randomly access more memory, increasing the computers performance. A CPU with multiple cores can run multiple instructions at the same time, increasing speed for programs. The clock speed is the rate at which the CPU can complete a processing cycle, measured in megahertz and gigahertz. A computer that can complete more processing cycles per second (larger clock speed) will be faster.
# GCSE Computing — AQA/Constants, variables and data types
## Constants

A constant is a value used in programming which will not change throughout the program.

## Variables

A variable is a value used in programming which normally changes as the program is executed. The value of a variable can be changed in a number of ways:
* User Input;
* Read from an external file
* Program assignment e.g. a counter in a loop;
* As the result of a calculation within a program.
The variable name can usually be any combination of letters and numbers. Some words and letter combinations may not be used as variable names , these are normally called reserved words. Good programming style suggests that variable names are descriptive and reflect the data that is assigned to them e.g. pupil_name, car_reg, patient_number. Variables can represent a number of Data Types The two most common data types are Numeric (numbers) and String (text)

## Data Types

Most computer systems distinguish between different data types. This is important as it can help to make data storage more efficient and data processing more effective. The most common data types are:
* Numeric Integer - Whole numbers e.g. 24, 67
* Numeric Decimal (Real, Floating Point) - Decimal (Real) numbers e.g. 3.14, 6.58
* String - Alpha-numeric text e.g. 32 Acacia avenue; Exam syllabus code 45; etc.
* Character - A single character of Alpha-numeric data which takes up 1 byte of storage space
* Boolean - A variable which can only have one of two values e.g. true/false; 1/0, yes/no
In some programming languages e.g. Java , C#, Python the data type of each variable must be declared before it can be used during the program. For example in Java if you wanted to use an integer variable called age and a assign a value to it. You would have to use the commands
These are called Strongly Typed languages - N.B. the "typed" refers to setting the data type not typing on a keyboard
Other languages such as Basic do not require you to set the data type of variables. These are called "Weakly Typed" languages
# GCSE French/Glossary

The following are some terms you may see used throughout the book:

## conjugate

* To list the inflected forms of a verb for each person, in order, for one or more tenses.
** In English, the verb "to be" is conjugated as follows: "I am", "thou art", "he/she/it is", "we are", "you are", "they are".

## inflection

* A change in the form of a word that reflects a change in grammatical function.

## irregular verb

* A verb that does not follow the normal rules for its conjugation.

## regular verb

* A verb which follows the normal rules for its conjugation.