OpenLLM-France/wikimedia huggingface dataset:
# C++ Programming/Code/API/Generic Wrappers
## Generic wrappers

Generic GUI/API wrappers are programming libraries that provide a uniform platform neutral interface (API) to the operating system regardless of underlying platform. Such libraries greatly simplify development of cross-platform software.
Using a wrapper as a portability layer will offer applications some or all following benefits:
* Independence from the hardware.
* Independence from the Operating System.
** Independence from changes made to specific releases.
** Independence from API styles and error codes.
Cross-platform programming is more than only GUI programming. Cross-platform programming deals with the minimum requirements for the sections of code that aren't specified by the C++ Standard Language, so as programs can be compiled and run across different hardware platforms.
Here is some cross-platform GUI toolkit:
* Gtkmm - an interface for the C GUI library GTK+. It is not cross-platform by design, but rather multi-platform i.e. can be used on many platform.
* Qt (http://qt-project.org) - a cross-platform (Qt is the basis for the Linux KDE desktop environment and supports the X Window System (Unix/X11), Apple Mac OS X, Microsoft Windows NT/9x/2000/XP/Vista/7 and the Symbian OS), it is an object-oriented application development framework, widely used for the development of GUI programs (in which case it is known as a widget toolkit), and for developing non-GUI programs such as console tools and servers. Used in numerous commercial applications such as Google Earth, Skype for Linux and Adobe Photoshop Elements. Released under the LGPL or a commercial license.
* wxWidgets (http://wxwidgets.org/) - a widget toolkit for creating graphical user interfaces (GUIs) for cross-platform applications on Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature. wxWidgets is more than a GUI development toolkit it provides classes for files and streams, application settings, multiple threads, interprocess communication, database access and more.
* FLTK The "Fast, Light Toolkit"
# C++ Programming/Code/API/Win32/Wrappers
## Win32 API Wrappers

Since the Win32 API is C based and also a moving target and since some alterations are done in each OS version some wrappers were created, in this section you will find some of the approaches available to facilitate the use of the API in a C++ setup and provide abstraction from the low level stuff with higher level implementations of common needed features, dealing with the GUI, complex controls even communications and database access.

### Microsoft Foundation Classes (MFC);

    a C++ library for developing Windows applications and UI components. Created by Microsoft for the C++ Windows programmer as an abstraction layer for the Win32 API, the use of the new STL enabled capabilities is scarce on the MFC. It's also compatible with Windows CE (the pocket PC version of the OS). MFC was designed to use the Document-View pattern a variant of the Model View Controller (MVC) pattern. More info about MFC can be obtained on the Windows Programming Wikibook.

### Windows Template Library (WTL);

    a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. This library is not supported by Microsoft Services (but is used internally at MS and available for download at MSDN).

### Win32 Foundation Classes (WFC);

    (http://www.samblackburn.com/wfc/) a library of C++ classes that extend Microsoft Foundation Classes (MFC) to do NT specific things.

### Borland Visual Component Library (VCL);

    a Delphi/C++ library for developing Windows applications, UI components and different kinds of service applications. Created by Borland as an abstraction layer for the Win32 API, but also implementing many non-visual, and non windows-specific objects, like AnsiString class for example.
# C++ Programming/Code/Cross-Platform
## Cross-Platform development

The section is to introduce programmer to programming with the aim of portability across several OSs environments. In today’s world it does not seem appropriate to constrain applications to a single operating system or computer platform, and there is an increasing need to address programming in a cross platform manner.
# C++ Programming/Classes/this
#### this pointer

The this keyword acts as a pointer to the class being referenced. The this pointer acts like any other pointer, although you can't change the pointer itself. Read the section concerning pointers and references to understand more about general pointers.
The this pointer is only accessible within nonstatic member functions of a class, union or struct, and is not available in static member functions. It is not necessary to write code for the this pointer as the compiler does this implicitly. When using a debugger, you can see the this pointer in some variable list when the program steps into nonstatic class functions.
In the following example, the compiler inserts an implicit parameter this in the nonstatic member function int getData. Additionally, the code initiating the call passes an implicit parameter (provided by the compiler).
There are certain times when a programmer should know about and use the this pointer. The this pointer should be used when overloading the assignment operator to prevent a catastrophe. For example, add in an assignment operator to the code above.
However little you may know about this, it is important in implementing any class.
# C++ Programming/Code/API
## What is an API?

To a programmer, an operating system is defined by its API. API stands for Application Programming Interface. An API encompasses all the function calls that an application program can communicate with the hardware or the operating system, or any other application that provides a set of interfaces to the programmer (i.e.: a library), as well as definitions of associated data types and structures. Most APIs are defined on the application Software Development Kit (SDK) for program development.
In simple terms the API can be considered as the interface through which the user (or user programs) will be able interact with the operating system, hardware or other programs to make them to perform a task that may also result in obtaining a result message.

## Can an API be called a framework?

No, a framework may provide an API, but a framework is more than a simple API. By default a framework also defines how the code is written, it is a set of solutions, even classes, that as a group addresses the handling of a limited set of related problems and provides not only an API but a default functionality, well designed frameworks enable its interchangeability for a similar framework, striving to provides the same API.
# Designing Professional Development/MLTI

maine learning technology initiative
# Designing Professional Development/Ecuador-Peru
## OLPC - One Laptop Per Child

test

## References

* ↑ Wenglinsky, H. (2007). Mathematics Achievement in Technology. Harbrace.
# Control Systems/Examples

| The Wikibook of: Control Systems and Control Engineering | Table of Contents | All Versions | PDF Version |
| The Wikibook of: Control Systems and Control Engineering | | | Glossary |

## Worked Examples

* Second Order Systems
* Examples on ControlTheoryPro.com
# Control Systems/Gain

| The Wikibook of: Control Systems and Control Engineering | Table of Contents | All Versions | PDF Version |
| The Wikibook of: Control Systems and Control Engineering | ← Realizations | Block Diagrams → | Glossary |

## What is Gain?

Gain is a proportional value that shows the relationship between the magnitude of the input to the magnitude of the output signal at steady state. Many systems contain a method by which the gain can be altered, providing more or less "power" to the system. However, increasing gain or decreasing gain beyond a particular safety zone can cause the system to become unstable.
Consider the given second-order system:
    $T(s)={\frac {1}{s^{2}+2s+1}}$
We can include an arbitrary gain term, K in this system that will represent an amplification, or a power increase:
    $T(s)=K{\frac {1}{s^{2}+2s+1}}$
In a state-space system, the gain term k can be inserted as follows:
    $x'(t)=Ax(t)+kBu(t)$
    $y(t)=Cx(t)+kDu(t)$
The gain term can also be inserted into other places in the system, and in those cases the equations will be slightly different.

### Example: Gain

Here are some good examples of arbitrary gain values being used in physical systems:

#### Volume Knob

    On your stereo there is a volume knob that controls the gain of your amplifier circuit. Higher levels of volume (turning the volume "up") corresponds to higher amplification of the sound signal.

#### Gas Pedal

    The gas pedal in your car is an example of gain. Pressing harder on the gas pedal causes the engine to receive more gas, and causes the engine to output higher RPMs.

#### Brightness Buttons

    Most computer monitors come with brightness buttons that control how bright the screen image is. More brightness causes more power to be outputed to the screen.

## Responses to Gain

As the gain to a system increases, generally the rise-time decreases, the percent overshoot increases, and the settling time increases. However, these relationships are not always the same. A critically damped system, for example, may decrease in rise time while not experiencing any effects of percent overshoot or settling time.

## Gain and Stability

If the gain increases to a high enough extent, some systems can become unstable. We will examine this effect in the chapter on Root Locus. But it will decrease the steady state error.

### Conditional Stability

Systems that are stable for some gain values, and unstable for other values are called conditionally stable systems. The stability is conditional upon the value of the gain, and often the threshold where the system becomes unstable is important to find.
| ← Realizations | Control Systems | Block Diagrams → |
# Digital Media & Culture: Collaborative Essay Collection 2018/Glossary

Please format in alphabetical order.
Always-on is the phenomenon that we are connected to the network (information and people) everywhere and all the time (boyd, 2012, pp. 71-72).
Convergence is “the flow of content across multiple media platforms, the cooperation between multiple media industries, and the migratory behavio[u]r of media audiences who will go almost anywhere in search of the kinds of entertainment experiences they want” (Jenkins, 2006, p. 2).
Dataveillance is the “systematic use of personal data systems in the investigation or monitoring of the actions or communications” Clarke (1998, p. 499).
Disconnectivity is a conscious disavowal or non-consumption to remove or not use media platforms (Portwood-Stacer, 2013, p.1042).
Remediation is the repurposing of media or the “representation of one medium in another” (Bolter & Grusin, 2000, p. 45).
Transmedia (storytelling) is “a process where integral elements of a fiction get dispersed systematically across multiple delivery channels for the purpose of creating a unified and coordinated entertainment experience. Ideally, each medium makes it[s] own unique contribution to the unfolding of the story” (Jenkins, 2011, n.p.)

## Reference List

* ↑ boyd, d. (2012). Participating in the always-on lifestyle. In M. Mandiberg (Ed.), The social media reader (pp. 71-76). New York: New York University Press.
* ↑ Jenkins, H. (2006). Convergence culture: Where old and new media collide. London: New York University Press.
* ↑ Clarke, R. (1998). Privacy and Dataveillance, and organisational strategy. Retrieved 22/03, 2018.
* ↑ Portwood-Stacer, L. (2013). Media refusal and conspicuous non-consumption: The performative and political dimensions of Facebook abstention. New Media & Society, 15(7), 1041-1057. Doi: 10.1177/1461444812465139
* ↑ Bolter, J. D., & Grusin, R. (2000). Remediation: Understanding new media. London: MIT Press.
* ↑ Jenkins, H. (2011). Transmedia 202: Further reflections. Retrieved 27/01, 2018.
# Digital Media & Culture: Collaborative Essay Collection 2018/Information Society
## Collaborative Essays on the Theme of Information Society

Research Question 1:
Research Question 2:
Research Question 3:
# Esperanto: A Complete and Comprehensive Grammar/Numbers

| Previous Chapter | Overview | Next Chapter |

## Numbers

In Esperanto, the cardinal numbers are all built up from little more than a dozen words:
* 0 Nul
* 1 Unu
* 2 Du
* 3 Tri
* 4 Kvar
* 5 Kvin
* 6 Ses
* 7 Sep
* 8 Ok
* 9 Naŭ
* 10 Dek
* 11 Dek Unu
* 12 Dek Du
* 20 Dudek
* 30 Tridek
* 100 Cent
* 1,000 Mil
* 1,000,000 Miliono
* 1,000,000,000 Miliardo
* 1,000,000,000,000 Biliono
All other numbers are simply built up from these. To give a couple of examples:
* 16 Dek ses (one ten and six)
* 42 Kvardek du (four tens and two)
* 442 Kvarcent kvardek du (four hundreds, four tens and two)
* 1,729 Mil sepcent dudek naŭ (one thousand, seven hundreds, two tens and nine)
* 22,729 Dudek du mil sepcent dudek naŭ (Twenty two thousands, seven hundreds, two tens and nine)
* 3,022,729 Tri milionoj dudek du mil sepcent dudek naŭ (three millions, twenty two thousands, seven hundreds, two tens and nine)
* 4,003,022,729 Kvar miliardoj tri milionoj dudek du mil sepcent dudek naŭ (four billions, three millions, twenty two thousands, seven hundreds, two tens and nine)
* 5,004,003,022,729 Kvin bilionoj kvar miliardoj tri milionoj dudek du mil sepcent dudek naŭ (five trillions, four billions, three millions, twenty two thousands, seven hundreds, two tens and nine)
The ordinal numbers (first, second, third, etc.) are simply adjectives and are formed as all other adjectives in Esperanto, as will be detailed in the chapter on adjectives.
# Estonian/Adjectives

An adjective (omadussõna) has a positive, comparative and superlative degree.
| Ainsus | Singular |
| Punane auto | Red car |
| Kollane lill | Yellow flower |
| Roheline pall | Green ball |
| Loll laps | Stupid kid |
| Sinine pliiats | Blue pencil |
| Mitmus | Plural |
| Punased autod | Red cars |
| Kollased lilled | Yellow flowers |
| Rohelised pallid | Green balls |
| Lollid lapsed | Stupid kids |
| Sinised pliiatsid | Blue pencils |
* Ma olen kurb : I am sad
* Ma olen vihane : I am angry
* Ma olen rõõmus : I am happy
* Ma olen väsinud : I am tired
Asted
| Degree | Ainsus | Singular | Mitmus | Plural |
| Positive | ilus | beautiful | ilusad | beautiful |
| Comparative | ilusam | more beautiful | ilusamad | more beautiful |
| Superlative | ilusaim | most beautiful | ilusaimad | most beautiful |
In singular
* Kiire : Fast
** Kass on kiire : The cat is fast
* Kiirem : Faster
** Lõvi on kiirem : The lion is faster
* Kiireim : Fastest
** Gepard on kiireim : The cheetah is the fastest
In Plural :
* Nartsissid on ilusad
** The daffodils are beautiful
* Tulbid on ilusamad
** The tulips are more beautiful
* Roosid on ilusaimad
** The roses are most beautiful
Võrdlus
| Võrdlused | Comparisons |
| Noorem kui | Younger than |
| Sama noor kui | As young as |
| Väga noor | Very young |
| Liiga noor | Too young |
* Ma olen noorem kui mu õde
** I am younger than my sister
* Ta on sama noor kui tema naine
** He is as young as his wife
* Meie uus kolleeg on väga noor
** Our new colleague is very young
* Ta on liiga noor et autot juhtida
** He is too young to drive a car
Comparison in creates adjectives with the suffix -ne
* Poisi pikkune : As tall as the boy
* Lille lõhnaline : Small like the flowers
* Sambla roheline : Green as the moss
# Esperanto: A Complete and Comprehensive Grammar/Word order

| Previous Chapter | Overview | Next Chapter |

## Word order

The earliest adopters of Esperanto used the subject-verb-object order used by almost all European languages. But thanks to the existence of the accusative and "various inflectional devices", plus the fact that the 16 rules in the Fundamento give little guidance in regards to word order, the French Esperantist Pierre Janton argues "that Esperanto syntax allows Japanese speakers to render 'the dog saw the cat' as 'la hundo la katon vidis' or Arabic speakers to say 'vidis la hundo la katon', just as they would in their own languages."
What about adjective-noun versus noun-adjective? Some languages allow both, but in English adjective-noun is generally preferred. Looking at Zamenhof's poem La Espero, one consistenly finds adjective noun: "forta voko," "facila vento," "sankta signo," etc.
But what about more complex, real-life sentences with more than one verb? A German speaker might naturally say, for example, "mi volas la kukon manĝi" ("I want the cake to eat"), while an English speaker would prefer "mi volas manĝi la kukon". Once such sentences got longer and more complex, they could become incomprehensible to people not accustomed to the speaker's preferred word order.

### Reference

* ↑ P. Janton, Esperanto: Language, Literature and Community, trans. H. Tonkin, J. Edwards, K. Johnson-Weiner. Albany, New York: State University of New York Press (1993): 73
# Esperanto: A Complete and Comprehensive Grammar/Word roots

| Previous Chapter | Overview | Next Chapter |

## Word Roots

Words in Esperanto consist of roots, which carry the meaning, and the part-of-speech ending, which indicates the function of the word in the sentence. However, most Esperanto roots exhibit an inherent part of speech; that is, most roots are inherently nouns, verbs or adjectives. Bearing this point in mind makes Esperanto word-building easier to understand.
# Estonian/Common phrases
## Common Phrases

| Translation | Phrase | IPA | Comments |
| Estonian | eesti keel | [ˈe:s.ti ke:l] |
| hello | tere | [ˈte.re] |
| good-bye | head aega | [heɑd.ˈɑe.gɑ] | literally "(have a) good time" |
| please | palun | [ˈpɑ.lun] | literally "I beg" |
| thank you | aitäh tänan | [ɑi.ˈtæh] [ˈtæ.nɑn] | (a more formal expression, it literally means “I thank (you)”.) |
| you're welcome | palun pole tänu väärt võta heaks | [ˈpɑ.lun] [ˈpo.le tæ.nu ˈvæ:rt] [ˈvɤ.tɑ heɑks] | literally "not worthy of a thanks" |
| this | see | [se:] |
| that one | too see | [to:] [se:] |
| how much? | kui palju? | [kui ˈpɑl.ju] |
| English | inglise keel | [ˈing.li.se ke:l] |
| yes | jah | [jɑh] |
| no | ei | [ei] |
| sorry | vabandage vabandust | [ˈvɑ.bɑn.dɑ.ge] [ˈvɑ.bɑn.dust] |
| I don’t understand | Ma ei saa aru | [mɑ ei sɑ: ˈɑ.ru] |
| generic toast | terviseks | [ˈter.vi.seks] | literally "to/for health" |
| Do you speak English? | Kas te räägite inglise keelt? | [kɑs te ˈræ:.gi.te ˈing.li.se ke:lt] |
| Where is the bathroom/toilet? | Kus on tualett/WC? | [kus on ˈtuɑ.lett/ve:tse:] |
| Merry Christmas and a Happy New Year! | Häid jõule ja head uut aastat! | [hæid ˈjɤu.le ja ˈɤn.ne.lik.ku u:t ɑ:s.tɑt] |

## Questions & answers

Riigid
| Country | Languages | Demonym |
| Eesti | Eesti keel | Estlane |
| Hiina | Hiina keel | Hiinlane |
| Saudi araabia | Araabia | Araablane |
| Hispaania | Hispaania | Hispaanlane |
| Inglismaa | Inglise | Inglane |
| Jaapan | Jaapani | Jaapanlane |
| Prantsamaa | Prantsuse | Prantslane |
| Saksamaa | Saksa | Sakslane |
| Venemaa | Vene | Venelane |
| India | Hindi | Indlane |
Küsimused ja vastused
* Mis kuupäev täna on?
** What date is today?
* Täna on neljapäev, kaheksteiskümnes veebruar kaks tuhat kakskümmend üks
** Today is Thursday 18 February 2021
* Kui vana sa oled?
** How old are you?
* Ma olen kahekümneaastane
** I am 20 years old.
* Kuhu sa lähed?
** Where do you go?
* Ma lähen Tōkiōsse
** I go into Tokyo.
* Kus sa elad?
** Where do you live?
* Ma elan New Yorgis
** I live in New York
* Kust sa tuled?
** Where do you come from?
* Ma tulen Pariisist
** I come from París
Tõlge
Ma olen Jüri, järgmisel nädalal on mu kahekümnes sünnipäev. Ma õpin Tartu ülikoolis. Pärast lõpetamist plaanin ma aastaks reisile minna. Meil on kolm koera. Vabal ajal meeldib mulle jalgpalli mängida. Kord nädalal on mul klaveritunnid.
Translate :
I am Jüri. Next week is my 20th birthday. I study in the university of Tartu. After the graduation i am planning to go to a trip for a year. We have three dogs. In my free time i like to play football. Once a week i have piano lessons.
# 3. cxd5

White takes the pawn. Black almost has to recover the pawn because of the control d5 exerts over his moves, but neither variation is very appealing:
* 3...Nxd5 allows 4. e4 when White has gained a tempo, the centre, and opened up lines for his pieces.
* 3...Qxd5 prevents white from obtaining a full pawn centre but results in 4. Nc3, winning a tempo anyway.
Because white is given a comfortable position regardless of what path black chooses, this opening is not seen very often at the professional level.
Black has also the option to play a gambit and aim at the center, with for instance 3...c6 4.dxc6 Nxc6 5.Nf3 e5!

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1. d4 Nf6 2. c4 d5
When contributing to this Wikibook, please follow the Conventions for organization.
# Gusev Countergambit (3...Nf6!?)

Arising from the Austrian Defense, the Gusev Countergambit, named after the Soviet Master of Sports Nikolai Nikolaevich Gusev, is represented by the gambit of a pawn on c5 with 3...Nf6. In distinction to traditional openings that prioritize immediate control, Black elects to relinquish central pawns for active piece play. By offering the pawn on c5 as a gambit, Black aims to swiftly develop their pieces and pinch the action from White. The position's dynamic nature places emphasis on sharpness and quick development.

### White's responses

White will probably reply with one of the following options:
* 4. e4 - The critical approach for White.
* 4. dxc5 - Accepting the gambit and the further complications.
* 4. Nf3 - Inviting a transposition to one of the main Austrian Defense lines.
* 4. Nc3 - Trying to consolidate the position while keeping the central tension.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. d4 d5 2. c4 c5 3. cxd5 Nf6
| 4 | 5 | 6 | 7 |
| e4 Nxe4 | dxc5 Nxc5 | Nc3 e5 | Nf3 Bd6 | ∞ |
| dxc5 Qxd5 | Qxd5 Nxd5 | e4 Nb4 | Na3 e5 | ∞ |
| Nf3 cxd4 | Qxd5 Qxd5 | Nc3 Qxd4 | Nxd4 a6 | = |
| Nc3 Nxd5 | e4 Nxc3 | bxc3 cxd4 | cxd4 e5 | ∞ |
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.
* 1 d4 d5 and Unusual Replies to the Queen's Gambit, Nunn, John (ed.), et al. (1999). Nunn's Chess Openings. Everyman Chess, ISBN 1-8574-4221-0.vteChess Openings1. e4 e5Open Game · King's Gambit · Bishop's Opening · Vienna · Petrov · Latvian Gambit · Scotch · Giuoco Piano · Two Knights · Ruy Lopez · Philidor Defence1. e4 c5Sicilian Defence · Closed Sicilian · Taimanov · Sveshnikov · Kan Sicilian · Sicilian Dragon · Scheveningen · Najdorf · Alapin1. e4 otherFrench Defence · Caro-Kann Defence · Pirc Defence · Alekhine Defence · Modern · Scandinavian · Nimzowitsch 1. d4 Nf6Indian Defence · King's Indian · Nimzo-Indian · Queen's Indian · Grünfeld · Benoni · Budapest · Catalan1. d4 d5Closed Game · Queen's Gambit · Queen's Gambit Accepted · Queen's Gambit Declined · Chigorin · Slav · Semi-Slav · Marshall1. d4 f5Dutch Defence · Stonewall · Leningrad · Hopton Attack · Staunton Gambit · Korchnoi Attack · Bladel1. d4 otherOld Benoni Defence · Englund Gambit · English Defence · King's Indian Attack1.a3 · Na3 · a4 · b3 · b4 · c3 · Nc3 · c4 · d3 · d4 · e3 · e4 · f3 · Nf3 · f4 · g3 · g4 · h3 · Nh3 · h4