OpenLLM-France/wikimedia huggingface dataset:
# Guide to Game Development/Rendering and Game Engines/OpenGL/GLUT/Packaging GLUT for export

This is a list of all of the basics you'll need to package together when you want to distribute a C++, OpenGL, Glut project with others.
First you'll need to make a folder that will be where you collect all your distribution items. In-which all of the items inside are copied and are duplicated elsewhere.
Here are all of the items:
          This is a folder with all of the external resources that the program might use (example: textures).
          These are the glut files that your program uses. You got them when you first installed GLUT, they were obtained from xmission.com.
          This is your program that's compiled that you can run.
          If you're using Visual Studio:
                1. You need to change the compile mode at the top from 'Debug' to 'Release'
                2. Then press F7 to build, but not run, the project
                3. Find the folder where it's kept
                      To do this, you'll need to find where your projects folder is.
                      From there your project folder, you'll then need to open the Release folder.
                4. Copy and paste the exe from that folder into your export folder
          These are the files used for exporting C++ projects
          If your project is a 32-bit project you'll need to package: vcredist_x84
          If your project is a 64-bit project you'll need to package: vcredist_x64
          You can find both of these files from Microsoft's support website.
# Guide to Game Development/Rendering and Game Engines/Unity

Unity is a game development ecosystem: a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content; easy multiplatform publishing; thousands of quality, ready-made assets in the Asset Store and a knowledge-sharing community.
In Unity, you write simple behavior scripts in JavaScript, C# or Boo. All three languages are easy to use and run on the Open Source .NET platform, Mono, with rapid compilation times.

## Categories

* Creating a project
          How to set-up your project when creating it.
* How to use the interface
          A general overview of what all of the controls do in the interface

## References

* ↑ http://unity3d.com/unity/
* ↑ http://unity3d.com/unity/workflow/scripting
# Guide to Game Development/Rendering and Game Engines/OpenGL/GLUT/Basic 2D window creation

This is some code that you can use for a basic orthographic set-up in a 2D environment.

## References

* ↑ All of the code was taken from: https://www.youtube.com/watch?v=TH_hA_Sru6Q and then slightly modified and commented
# Guide to Game Development/Rendering and Game Engines/OpenGL/Drawing geometry
## Drawing Geometry without color

This is how you pass the vertex data for triangles to OpenGL.
The data is specified in an array, where every three vertices represents a new triangle. In this format the data needs to be specified in the order that they will be connected.
This code could easily be altered to just pass 2D data only, to do this you'll need to change two things:
* The array should only say the X and Y coordinate.
* glVertexAttribPointer parameter 2 will need to be changed from 3 to 2.

## Optimised Drawing of Geometry

This new version of the program passes the ids of the positions of the vertices to say how the triangles should be connected. For basic triangles that aren't connected, this is less efficient than before, how for most shapes, triangles will share vertices, this will mean that you won't need to specify 3 pieces of data (XYZ, more if color and light normals are added), you only pass an extra short for the index of the vertex. This saves on RAM as less data is needed, and for animated geometry, it will mean that less duplicate data will need to be sent to OpenGL and beyond.

## Drawing Geometry with color (keeping optimisations from before)

Note: The color won't work until you set up the fragment shader. However, to setup the fragment shader you need to send the color data from the vertex shader.
# Guide to Game Development/Rendering and Game Engines/OpenGL/GLSL Shaders
## Categories

* Reading in shaders into your program
* Vertex shader
* Fragment shader
# Guide to Game Development/Rendering and Game Engines/OpenGL/GLUT/Handling input
## Keyboard
### Keyboard down

This handles the function that gets called when a key is pressed down.

### Keyboard up

This handles the function that gets called when a key is released.

### Some invisible characters

Keyboard down and keyboard up can be used to get some 'invisible' character too like backspace and delete, see ascii table, values 0-31 and 127. For ones that don't appear there, see Special keyboard input.
Example use:

### Special keyboard input

This is used for keyboard input that don't have an ascii character associated with them (e.g. Arrow up, F1).
For every key combination you should look at this reference for the name of the key you need.
There are also a reference list for the possible modifiers that you can use.

#### Modifiers

States:
* GLUT_ACTIVE_SHIFT - Is shift being pressed?
* GLUT_ACTIVE_CTRL - Is control being pressed?
* GLUT_ACTIVE_ALT - Is alt being pressed?
Use:

#### Special keys

States:
* GLUT_KEY_F1 to GLUT_KEY_F12
* GLUT_KEY_LEFT
* GLUT_KEY_UP
* GLUT_KEY_RIGHT
* GLUT_KEY_DOWN
* GLUT_KEY_PAGE_UP
* GLUT_KEY_PAGE_DOWN
* GLUT_KEY_HOME
* GLUT_KEY_END
* GLUT_KEY_INSERT
Use:
Didn't find the key you were looking for? This is probably because it's still an ascii character (see values 0-31 and 127) and so can be accessed through keyboard down and keyboard up.

## Mouse
### Mouse Clicked

Set-up the function that gets called when the mouse is clicked.
Parameter button:
* button == GLUT_LEFT_BUTTON - Left mouse click
* button == GLUT_RIGHT_BUTTON - Right mouse click
* button == GLUT_MIDDLE_BUTTON - Middle mouse click/mouse wheel clicked
* button == 3 - Mouse wheel scrolled up (there's another way to detect this)
* button == 4 - Mouse wheel scrolled down (there's another way to detect this)
Parameter state:
* state == GLUT_DOWN - The button type has been pressed down
* state == GLUT_UP - The button type has been released

### Mouse movement

This will handle when the mouse is moved.
This will contain two functions that do the following:
* glutMotionFunc
          Called when the mouse is moving AND the mouse is clicked (dragging).
* glutPassiveMotionFunc
          Called when the mouse is moving AND the mouse isn't clicked (generally moving).

#### Alternative

This is an alternative piece of code for if you want to call the same function for all types of mouse movement (clicked and unclicked)

## Mouse Wheel Scrolling

This is an alternative way to detect mouse wheel movements (other way).
* ↑ https://www.opengl.org/resources/libraries/glut/spec3/node73.html
* ↑ https://www.opengl.org/resources/libraries/glut/spec3/node54.html
# Happiness/Volunteering

It’s true when you do something for the creation of God without any business purpose that work will make you happy. If someone be happy for your kind effort that job can make your Soul happy. Remember always for happiness we should think positive & need to do everything or at least something for mankind as a volunteer.
# Happiness/Willpower

Changing your personality isn't as simple as thinking, "I will be a better person." The mind is an accumulation of everything experienced and done throughout one's lifetime. You must be consistent and resolute in examining and controlling your thought processes.

### What is the Nature of a Strong Willpower?

People with determination do not follow their whims, because they know that these thoughts are fleeting. They concentrate on long-term goals, and evaluate the worth of each action in reaching these goals.
# Happiness/Work

Unless you are planning to raise a child, it is likely that you will spend 40 hours a week doing some sort of paid work. As a result, choosing a profession can be as important of a decision as choosing a spouse.
When college students decide on a major, a common question is, "Should I choose the major that will make more money, or choose the one I enjoy most?"
There is no simple answer to this question. Some students have financial constraints, and need to pay off debts and support their families. For them, a good paying job is essential. Other people enjoy making money, so their answer to the question would be, "both."
See also: Money
# Harmonic Function Theory
## Contents

* Holomorphic functions and harmonic functions
* Mean value properties, Poisson's formula
* Liouville's theorem, Harnack's inequality, Cauchy estimates
* Isolated singularities
* Uniform limits, Harnack's principle
* Differentiability and analyticity
* Extremum principles
# Happiness/Spirituality

Results and interpretations of research into the relative happiness of religious and non-religious people differ. Research in the United States has shown that religious people are generally happier, but comparative studies of different countries in North-America and Europe seem to indicate that it is more a question of belonging to a group, rather than the actual religious or spiritual practice.
It has also been shown that religious activities such as praying, trigger a unique part of the brain that is not active during any other activity.
See also what Wikipedia has to say about the correlation between happiness and religious involvement.
# Harmonic Function Theory/Definitions, elementaries

Definition (harmonic function):
A harmonic function is a function $f\in {\mathcal {C}}^{2}(\mathbb {R} ^{n})$ such that $\Delta f=0$.
Proposition (closure properties of harmonic functions):
Harmonic functions are closed under the following operations:
* Addition, subtraction
* Locally uniform convergence

## Footnotes

* ↑ The Laplace operator $\Delta$ is defined as $\Delta f:=\sum _{k=1}^{n}{\frac {\partial ^{2}}{\partial x_{k}^{2}}}f$.
# Harmonica

The harmonica is a free reed wood-wind instrument. Harmonicas have an incredibly rich range of expression, are easy to pick up, since there's no need for fingerings, etc. They play numerous "intervals" (two or more notes), which is difficult or impossible for many other wind instruments. It also works very well in the modern musical setting, where one needs to play most music through an amplifier or loudspeaker. A harmonica player can easily adapt to this by cupping a microphone and his or her harmonica in the hands, without sacrificing any other aspect of playing.
Harmonicas are extremely important for Blues music - in order to acquire its unique, soulful sound, a harmonica is needed. Harmonicas cross many genres - the diatonic harmonica is frequently used for rock, country, folk music and Irish jigs; and the chromatic harmonica is often associated with Jazz music, and more recently, Classical music. The tremolo harmonica is often used for Japanese folk songs.
The harmonica is also a very portable instrument. They can fit easily into any reasonably sized jacket pocket, which is very rare for all instruments.
Furthermore, learning the harmonica can improve your breathing, and thus, your health. The constant breathing into and out of a harmonica is substantial exercise for the diaphragm, which is why harmonicas are sometimes used to improve breathing.

## Getting Started

* Why should I Play Harmonica? - Benefits of playing harmonica
* Types of harmonica
* Anatomy of a Harmonica - Parts that make up the mouth harp
* Harmonica Purchasing guide - Types of harmonica, and how to buy harmonica and its relevant materials.

## Playing the Harmonica

* Basic Holding and Playing a Harmonica
    How to form proper hold and embouchure, and discussion on related basic techniques
* Bending
* Tablature
* Basic Chords

## Additional Techniques

* Advanced Chords
* Advanced techniques
    Numerous advanced techniques, including overbend and vibrato
* Self accompaniment

## General Harmonica Theory

* Positions
* Chromatic Harmonica
* Philosophy
* Tremolo
* Ensemble Playing - How to play it with other harmonicas, and play with other instruments
* Music Style - What harp to use for which style of music
* Learning Songs
* Improvising
* Playing with Amp
* Recording
* Cross harp basics

## Cleaning and Maintenance

* Basic Maintenance and Care
* Advanced Maintenance
* Harmonica Modifications
* Tuning

## Appendices and References

* Harmonica Layouts and Alternate Tunings
* Harmonica Positions Chart
* Blues
* Writing Songs
# Harmonica/Advance Chords

While the true chords provided by harmonica is very limited, a player can play any chords as an arpeggio; that is to play the notes of the chord one after another. That being said, combine with the fact that some of the notes are close together and at the same direction already, allow one to play chords and rhytmn easily.
For example, On a C chromatic, in addition to the native C major chord and D-minor-6th chord:
* G Major arpeggio: blowing the hole 3, then draw on 4 and 5.
* F major arpeggio: drawing on hole 2 and 3, then blow on 4. *An F major-7th chord/arpeggio can be obtained with the addition of blowing hole 5 too.
However, some musicians, especially blues musicians, merely "suggest" the chord. For example, even in second position on a blues harp, there's no dominant-major (V) chords available (in the case of a C harp, the D major chord). So what they did are the following:
* An octave on 1-4 draw to suggest V-chord
* A 4-5 draw (D-F) to suggest a maj7 chord rooted on the V.
Some will also do that for other chords even if it's available... For example, for G major chord on C diatonic, play only B-D (draw hole 3 and 4)
In terms of playing as a rhythm section, one approximate the chord by playing the notes of the chord in succession: for example, on a chromatic, when playing a G maj7th, one can go like this:
Also, even with arpeggio, and have access to all the notes of the chords, a blues/jazz musician may not even play all notes of the rhytmn. For example, a standard 12-Bar blues have the following:
May be played like this:
Note that this use a normal major chord to simulate a seventh chord.
# Happiness/Prioritizing

Seeking happiness is like running a business: you have limited resources to make as much profit as possible. Because supply is limited, it must be used as efficiently as possible.
# Free Knowledge Culture Calendar/September 23

Today in 2008 the first Android-based mobile phone was launched. Advances in energy efficiency and battery technology led to a decline in PC sales in favor of mobile devices towards 2010 (post-PC era). Following the introduction of the iPhone and 3G mobile networks, Android accompanied the mobile web to a wider audience. Building on the success of iTunes, the reinvention of the online software repositories of Linux as the "App Store" concept contributed to the popularity of the platform. The Linux-based Android system became the most popular operating system of all time. Although it has a core of Free Software and the introduction of Linux operating systems achieved a major breakthrough with Android, parts of mainstream Android distributions are proprietary – including a backdoor.
← previous day · following day →
# Free Knowledge Culture Calendar/September 24

Today is World Day Against Software Patents. Software patents block features in software. Do something, buddy!
This international awareness day was declared in 2008, commemorating the rejection of key elements of a proposed directive on the patentability of “computer-implemented inventions” by the European Parliament in 2003. While this was celebrated as a victory of activism against software patents, others point out that Europe is still not free of patents on software algorithms. Also, isolated solutions are of limited value in a globalized world. Although serious efforts against overly broad and trivial patents are emerging, this can also be seen as a measure to strengthen the justifiability of the patent system in general. Some see software patents only as a special case of a broader problem and dream of a world without all patents.
← previous day · following day →
# Free Knowledge Culture Calendar/September 29

Today in 1996 Bliss, the first or second Linux virus, was first documented. While Unices had offered superior security for many years, any sense of unsinkability was now officially invalidated for Linux. Linux is still less targeted than Windows – sadly due to its lower acceptance.
← previous day · following day →
# Free Knowledge Culture Calendar/September 21

Today in 2015 people started to share their abortion experiences in public under the hashtag #ShoutYourAbortion as a campaign against stigmatization and shaming.
← previous day · following day →
# Free Knowledge Culture Calendar/September 22

Today in 2015, the last valid patent on MP3 expired (US patent 5,812,672) and the extremely popular audio format became a patent-free and open standard.
Although better formats are now available that also cover a wider range of uses, this contributes to the likely immortality of the format that began its career in the 1990s as an enabler of music file sharing in near-transparent quality.
← previous day · following day →
# Free Knowledge Culture Calendar/September 26

Today is National Public Lands Day in the U.S.
← previous day · following day →
# Free Knowledge Culture Calendar/September 27

Today in 1983 Richard Stallman announced the GNU Operating System as well as the GNU Project, where the explicit philosophy behind Free Software was developed and formulated. The announcement included a prototype of the GNU Manifesto. Feeling that value-devoid commercial enterprises were threatening the protected sphere of his productive hacker playground at university, motivated Stallman to engage in the obsessive powerhack that his work on GNU constitutes. It jumpstarted the modern Free Software ecosystem.
← previous day · following day →
# Free Knowledge Culture Calendar/September 20

Today in 2002 the initial release of the Tor software took place.
← previous day · following day →
# Free Knowledge Culture Calendar/September 25

Today is the birthday of Mary Allen Wilkes. After working on other early computers like the IBM 709 and TX-2, she developed the operating system for the first minicomputer, the LINC Assembly Program 6, one of the first interactive PC operating systems, and designed the LINC console. She was the first home computer user. Later, she pursued her old dream of becoming a lawyer, which her mentors had previously dissuaded her from because she was a woman.
← previous day · following day →
# Free Knowledge Culture Calendar/September 28

Today is the International Day for the Universal Access to Information. It was designated by the UNESCO, pushed by African civil society groups.
← previous day · following day →
# French/Grammar/Tenses/Present subjunctive

Lessons · Vocabulary · Grammar · Appendices · Texts
The subjunctive in French is used to express doubt, desire, surprise, judgment, necessity, possibility, opinions, and emotions. It usually follows the word "que." The conjugations for the subjunctive mood for regular verbs are as follows:
Take the ils form of the verb, at the present time tense drop the -ent and add the following:
je - e
tu - es
il - e
nous - use the "imparfait" time tense
vous - use the "imparfait" time tense
ils - ent
Some irregular verb conjugations:
| infinitive | que je/j' | que tu | qu'il | que nous | que vous | qu'ils |
| avoir | aie | aies | ait | ayons | ayez | aient |
| être | sois | sois | soit | soyons | soyez | soient |
Irregular 1-stem conjugations:
| infinitive | que je/j' | que nous |
| conduire | conduise | conduisions |
| connaître | connaisse | connassions |
| courir | coure | courions |
| couvrir | couvre | couvrions |
| dire | dise | disions |
| dormir | dorme | dormions |
| écrire | écrive | écrivions |
| faire | fasse | fassions |
| lire | lise | lisions |
| mettre | mette | mettions |
| offrir | offre | offrions |
| ouvrir | ouvre | ouvrions |
| partir | parte | partions |
| savoir | sache | sachions |
| servir | serve | servions |
| sortir | sorte | sortions |
| tenir | tienne | tenions |
| traduire | tranduise | tranduisions |
| valoir | vaille | vaillions |
2-stem Conjugations:
| infinitive | que je/j' | que nous |
| acheter | achète | achetions |
| appeler | appelle | appelions |
| boire | boive | buvions |
| comprendre | comprenne | comprenions |
| croire | croie | croyions |
| devoir | doive | devions |
| employer | emploie | employions |
| ennuyer | ennuie | ennuyons |
| envoyer | envoie | envoyions |
| espérer | espère | espérions |
| jeter | jettent | jetions |
| payer | paie | payions |
| pouvoir | puisse | puisse/pouvions |
| préférer | préfère | préfèrions |
| prendre | prenne | prenions |
| recevoir | reçoive | recevions |
| répéter | répète | répétions |
| rire | rie | riions |
| tenir | tienne | tenions |
| venir | vienne | venions |
| voir | voie | voyions |
| vouloir | veuille | voulions |
Impersonal verbs :
| infinitive | qu'il |
| falloir | faille |
| pleuvoir | pleuve |
French :
Lessons · Vocabulary · Grammar · Appendices · Texts
# French/Grammar/Tenses/Recent past

Lessons · Vocabulary · Grammar · Appendices · Texts
The Passé Récent is the tense which represents doing something.
e.g. I just returned.
However, in French you say that you come from doing something rather than having just done it, so that sentence would be: e.g. Je viens de revenir
If we break it down into its parts it looks like this:
(pronoun) (conjugated form of venir) de (infinitive verb)
Here are some more examples:
We have just finished = Nous venons de finir
She has just arrived = Elle vient d'arriver
They have just eaten = Ils viennent de manger
French :
Lessons · Vocabulary · Grammar · Appendices · Texts
# French/Grammar/Verbs/Infinitive

Lessons · Vocabulary · Grammar · Appendices · Texts
For purposes of simplicity, we can define a "verb" as any word which indicates action in a sentence. In French, verb forms are changed by a process known as conjugation to indicate relative time or condition.
All verbs have a tenseless (or timeless) base form called the "infinitive" that can be translated into English as "to" plus the verb. In French, infinitives are easily recognized by their standardized infinitive endings of -er, -ir, or -re.
* parler: to talk
* sortir: to leave
* perdre: to lose
In the examples listed above, the infinitives to talk, to leave, and to lose are "timeless" in that they do not indicate when an action took place, if an action is presently taking place, or whether an action will take place.
Finally, it is important to note that infinitives never need to agree in number (singular or plural) or gender (masculine or feminine) with any other part of the sentence.
French :
Lessons · Vocabulary · Grammar · Appendices · Texts
# French/Grammar/Verbs/Auxiliary

Lessons · Vocabulary · Grammar · Appendices · Texts

## Avoir or être

* For the verbs aller, arriver, descendre, entrer, monter, mourir, naître, passer, partir, rentrer, rester, retourner, sortir, tomber, décéder, and venir, the auxiliary verb is être (eg: je suis allé à Paris).
* For pronominal verbs (verbs indicating that the subject performs the action upon itself) être is the auxiliary verb (eg: je me suis mis à écrire).
* For all other verbs, avoir is the auxiliary verb (eg: j'ai mis de l'encre dans l'imprimante).
* When some verbs that are normally conjugated with être are used transitively (along with a direct object), avoir is the auxiliary verb (eg: j'ai monté un meuble en kit).
* When the subject of a pronominal verb becomes an object, avoir becomes the auxiliary verb (eg: les deux chefs se sont rencontrés -> un chef a rencontré un autre chef).
French :
Lessons · Vocabulary · Grammar · Appendices · Texts