OpenLLM-France/wikimedia huggingface dataset:
# Generic Container Idioms
### Intent

To create generic container classes (vector, list, stack) that impose minimal requirements on their value types. The requirements being only a copy-constructor and a non-throwing destructor.

### Motivation

Developing generic containers in C++ can become complex if truly generic containers (like STL) are desired. Relaxing the requirements on type T is the key behind developing truly generic containers. There are a few C++ idioms to actually achieve the "lowest denominator" possible with requirements on type T.
Lets take an example of a Stack.
Other than some array bounds problem, above implementation looks pretty obvious. But it is quite naive. It has more requirements on type T than there needs to be. The above implementation requires following operations defined on type T:
* A default constructor for T
* A copy constructor for T
* A non-throwing destructor for T
* A copy assignment operator for T
A stack ideally, should not construct more objects in it than number of push operations performed on it. Similarly, after every pop operation, an object from stack should be popped out and destroyed. Above implementation does none of that. One of the reasons is that it uses a default constructor of type T, which is totally unnecessary.
Actually, the requirements on type T can be reduced to the following using construct and destroy generic container idioms.
* A copy constructor
* A non-throwing destructor.

### Solution and Sample Code

To achieve this, a generic container should be able to allocate uninitialized memory and invoke constructor(s) only once on each element while "initializing" them. This is possible using the following three generic container idioms:
operator new allocates uninitialized memory. It is a fancy way of calling malloc. The construct helper template function invokes placement new and in turn invokes a copy constructor on the initialized memory. The pointer p is supposed to be one of the uninitialized memory chunks allocated using operator new. If end is an iterator pointing at an element one past the last initialized element of the container, then pointers in the range end to end_of_allocation should not point to objects of type T, but to uninitialized memory. When an element is removed from the container, destructor should be invoked on them. A destroy helper function can be helpful here as shown. Similarly, to delete a range, another overloaded destroy function which takes two iterators could be useful. It essentially invokes first destroy helper on each element in the sequence.

### Known Uses

All STL containers employ similar techniques. They have minimal possible requirements on the template parameter types. On the other hand, some popular C++ libraries have stricter requirements on parameterizable types than necessary.

### Related Idioms

There are several other generic container idioms.
* Non-throwing swap
* Copy-and-swap
* Iterator Pair
* Coercion by Member Template
* Making New Friends

### References

Designing Exception Safe Generic Containers -- Herb Sutter
# Free Function Allocators
### Intent

Allow containers to use custom allocators without creating a new type

### Motivation

C++ standard allocators have serious problems, because they change the underlying type of the container.

### Solution and Sample Code

This idiom is superior to the way that std::allocators work the whole idiom is outlined here.

### Known Uses

* boost::ptr_container

### References

* http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1850.pdf
# Final Class
### Intent

* Partially simulate the final class feature found in C++11 and other languages.
* Partially prevent a class from further subclassing or inheritance.

### Also Known As

* Sealed Class

### Motivation

Class designers may want to enforce that a specific class can not be further extended or subclassed by the user of the class. Other object-oriented languages such as Java and C# provide this feature to the class designers. In Java the keyword is called final whereas in C#, it is called sealed. Final class idiom is a way of partially simulating this effect in C++.

### Solution and Sample Code

Final class idiom makes use of virtual inheritance and a friend class to create the effect of a final class. The idiom depends on the following C++ rule: the constructor (and destructor) of a virtually inherited class is called directly by the derived-most class. If access to the constructor or destructor of such a virtually inherited class is prevented, the class can not be subclassed further.
In the above example, the test class inherits from the sealed class and the main function tries to instantiate an object of type test. The instantiation fails because the test class can not access the private constructor of the MakeFinal class because it is defined private and inherited virtually. However, friendship is not inheritable and therefore, objects of type test can't be created.
Note that the said error occurs only when the test class is instantiated. This behavior is different from how final classes behave in Java and C#. In fact, this idiom does not prevent inheritance of static methods defined in the sealed class. As long as the test class is not instantiated and it accesses only the static members of the sealed class, compiler does not complain.

### C++11

The C++11 standard provides the final modifier, which can be used to prevent a class from being subclassed.
# More C++ Idioms/Guidelines
## Guidelines

* By their nature, idioms tend to have appeared in the C++ community and in published work many times. An effort should be made to refer to the original source(s) where possible. If you find a reference incomplete or incorrect, please suggest improvements.
* Please make sure that the code snippets compile on at least 2 major compilers with minimal efforts.
* If you find code that does not compile, please report.
# Open and Distance Education/Cultural influences in online learning/Chapter Summary
## Chapter Summary

Different theoretical frameworks can be used to analyze cultural differences that influence online learners. There are always limitations if we examine cultural differences under a single framework. There are relations between different theoretical perspectives that may help to fill in the gaps of each other, in order to help to analyze cultural differences more adequately. Hofstede's dimensions of national culture are helpful, as they make a significant contribution to locating regions in each cultural dimensions that will be advantageous for researchers and practitioners in many other fields. Combining those dimensions with the analysis of sub-cultural traits and cultural universals will be a more appropriate way to identify and define cultural differences. Besides, by explaining how students engage with the learning environment, i.e. course-instructor, tutors, and online discussion material, and other learners as well, Moore's TDT supports the idea that culture can be exchanged between online learners. By that engagement in a multicultural environment with learners from different backgrounds, cultural can be understood, learned and harmonized. Cultural adaption is another expected outcome of online learning.
Those aspects of cultural differentiation need to be taken into account for online learning contexts. Realizing cultural differences is essential for both online learners to prepare themselves for avoiding culture shocks, and educators to promote appropriate learner supports. It is well-acknowledged that learner support strategies which are suitable for an institution may not be applicable for other circumstances. However, trying to elaborate strategies to completely fit all learner cultural backgrounds will be an impossible and superfluous job for online providers. After all, cultural difference is also another interesting and indispensable element of online learning.
# MOOC Learner and Learner Support for MOOC learning

Massive Open Online Course (MOOCs) now is a crucial mechanism for "millions of learners to access semi-formal learning opportunities" (Milligan & Littlejohn, 2017). MOOCs have triggered the higher education institutions' interest, as well as the that of media which called 2012 the "year of MOOCs" (Pappano, 2012). MOOCs would initiate a revolution in educational field by solving many educational problems, especially reducing the educational gap between the most advantaged and the most disadvantaged learners (Boyatt et al., 2014; Kay & McKlin, 2014). Currently, there are more than 700 institutions and universities which offer more than 6,850 MOOCs, and these numbers will increase undoubtedly in the future (Shah, 2016).
MOOC has two different categories: the connectivist MOOCs (cMOOC) which apply the concepts of connectivist learning; and content-based extended MOOCs (xMOOCs) which utilize a more traditional learning method combining video presentations short quizzes and another testing (Daniel, 2012). In this chapter, all of the contents are available to xMOOCs. For giving any successful online education, it is better to for the MOOC providers to understand the nature of MOOC learners and their participation because MOOCs require the learners to self-motivate and self-direct their learning (Milligan, 2013) before they give proper learner supports. Around this problem, this chapter mainly introduced who are the MOOC learner and What are the learner supports.
MOOC Learners
Learner Support for MOOC learning
Future Learner Support for MOOC Learning
MOOC Learners
Learner Support for MOOC learning
Future Learner Support for MOOC Learning
Conclusion
/Ten free online MOOC Websites
* ↑ Milligan, C., Margaryan, A., & Littlejohn, A. (2013). Patterns of engagement in massive open online courses. Journal of Online Learning with Technology, 9(2), 149-159.
# Open and Distance Education/Distance learners and learner support/Conclusion

This chapter discussed MOOC learner and learner support. we can see that there are also a lot of things that the MOOC providers need to prepare. Also, MOOC learners have to promote their self-autonomy and motivation to complete a MOOC. Only these two subjects successfully run in, MOOC could reach a new and higher stage. At that time, high-efficiency providers and learners will make the best use of the resources.
# Saylor.org's Ancient Civilizations of the World/Emergence of the Middle Ages

The Middle Ages or Medieval Era is a period of history that spans roughly one thousand years between the 5th and 15th centuries CE. It is generally accepted to be the linking era between the Age of Classical Antiquity and the Modern Era (c. 1450-1789 is generally considered by historians as the "Early Modern Era"). Historiographically speaking, interpretations of the Middle Ages have drastically changed since the early 20th century, when it was often referred to as the "Dark Ages". Medieval historians believe it is misleading to label this era, even the immediate period following the collapse of the Roman Empire as a dark age. Much of the belief that the Middle Ages were steeped in superstition and ignorance comes from the Renaissance and Enlightenment Eras of European history, when thinkers became enamored by classical culture. They viewed the Middle Ages as a regression from that "high culture" and saw it as an age of overwhelming and blinding religious faith. However, medievalists would point out that thinkers of the middle ages surely championed the act of reason, laying the foundation for Renaissance and Enlightenment thinkers to come.
It is important to note that generally when one speaks of the Middle Ages or the Medieval Era, one is speaking of Europe in this period. However, due to the fact that historical periods were more or less set by European scholars, "medieval" is an adjective generally used to describe this same period of time for other cultures and civilizations that did not go through the same dramatic changes Europe did following the fall of the Roman Empire. This man had many enemies including the man himself, Giovanni [of] Russia.
# Saylor.org's Ancient Civilizations of the World/Emergence of Christianity

The Roman Empire plays a crucial role in the rise of Christianity. At the most basic level, it is in the Roman-controlled province of Judea that the events of the New Testament take place. Judea came under Roman control in 6 CE during the reign of Augustus and thus it is under Roman authority that Jesus Christ was said in the New Testament to have been tired and crucified. The judge at Jesus' trial was said to be the Roman Prefect of Judea, Pontius Pilate. Although Pilate ultimately "washes his hands" of Jesus' death, Jesus was executed by crucifixtion, a notable form of Roman execution. Therefore, even the cross, the most powerful symbol of Christianity, owes itself to this facet of the Roman Empire. As this section will show, Christianity spread across the Roman Empire, challenging and supplanting the tradition polytheistic religion of Rome.
# Saylor.org's Ancient Civilizations of the World/From Arab to Islamic Empire: The Early Abbasid Era
## Establishment of the Abbasid Caliphate

In 747, the Abbasids rose in rebellion against the Umayyads in order to capture the throne and realize their age-old claim to the leadership of the Arab world by virtue of their being descendants of Muhammad's yongest uncle Abbas. They received the ardent support of the Persians, Jews, Christians and Egyptians. The Persians participation in the rebellion , in particular, was enormous and had it not been for the overwhelming support of the Persians which the Abbasids received they would not have been able to capture the throne.
In 750, matters became so serious that the Umayyad Caliph Marwan II was forced to take note. He led a large Umayyad force into Iraq to strike the rebelling Abbasids. But despite the disparity of numbers, the Umayyad forces were overwhelmed at the Battle of the Zab on January 25, 750. Marwan fled to Egypt where he was captured and killed. Abu al-`Abbās `Abdu'llāh as-Saffāh ibn Muhammad, an Abbasid, became the Caliph of the Islamic world establishing the Abbasid dynasty.

## Attribution

"The Establishment of the Abbasid Caliphate" (Wikibooks) http://en.wikibooks.org/wiki/Iranian_History/The_Abbasids#Establishment_of_the_Abbasid_Caliphate
# Scouting/BSA/Public Speaking Merit Badge
## Requirement 1

Give a three- to five-minute introduction of yourself to an audience such as your troop, class at school, or some other group.

## Requirement 2

Prepare a three- to five-minute talk on a topic of your choice that incorporates body language and visual aids.

## Requirement 3

Give an impromptu talk of at least two minutes, either as part of a group discussion or before your counselor. Use a subject selected by your counselor that is interesting to you but that is not known to you in advance and for which you do not have time to prepare.

## Requirement 4

Select a topic of interest to your audience. Collect and organize information about this topic and prepare an outline. Write an eight- to 10-minute speech, practice it, then deliver it in the conversational way.

## Requirement 5

Show you know parliamentary procedure by leading a discussion or meeting according to accepted rules of order; or by answering questions on the rules of order.

## External Links

* Public Speaking Merit Badge with Workbook PDF, current requirements, and resources.
* Games that make you a better public speaker
* PublicSpeakingForKids.org
* Earning Merit Badges in the Boy Scouts of America
* Personal Development
* Citizenship in the Community | Citizenship in the Nation | Citizenship in the World | Communications | Family Life | Personal Fitness | Personal Management | Public Speaking | Reading | Scholarship
# Scouting/BSA/Pulp and Paper Merit Badge
## Requirement 1

Tell the history of papermaking. Describe the part paper products play in our society and economy.

## Requirement 2

Learn about the pulp and paper industry.
    A. Describe the ways the industry plants, grows, and harvests trees.
    B. Explain how the industry manages its forests so that the supply of trees keeps pace with the demand.
    C. Tell how the industry has incorporated the concepts of sustainable forest management (SFM).
    D. Describe two ways the papermaking industry has addressed pollution.

## Requirement 3

List the trees that are the major sources of papermaking fibers.
    A. Discuss what other uses are made of the trees and of the forestland owned by the pulp and paper industry.
    B. Describe two ways of getting fibers from wood, and explain the major differences between them.
    C. Tell why some pulps are bleached, and describe the process.

## Requirement 4

Describe how paper is made. Discuss how paper is recycled. Make a sheet of paper by hand.

## Requirement 5

Explain what coated paper is and why it is coated. Describe the major uses for different kinds of coated paper. Describe one other way that paper is changed by chemical or mechanical means to make new uses possible?

## Requirement 6

Make a list of 15 pulp or paper products found in your home. Share examples of 10 such products with your counselor.

## Requirement 7

With your parent's and counselor's approval, do ONE of the following:
    A. Visit a pulp mill. Describe how the mill converts wood to cellulose fibers.
    B. Visit a paper mill and get a sample of the paper made there. Describe the processes used for making this paper. Tell how it will be used.
    C. Visit a container plant or box plant. Describe how the plant's products are made.
    D. Visit a recycled paper collection or sorting facility. Describe the operations there.
    E. Using books, magazines, your local library, the Internet (with your parent's permission), and any other suitable research tool, find out how paper products are developed. Find out what role research and development play in the papermaking industry. Share what you learn with your counselor.

## Requirement 8

Find out about three career opportunities in the papermaking industry that interest you. Pick one and find out the education, training, and experience required for this profession. Discuss this with your counselor, and explain why this profession might interest you.

## External links

* Pulp and Paper Merit Badge with Workbook PDF, current requirements, and resources.
* Career Opportunities in Paper Science
* How Paper is Made from Idaho Forest Products Commission
* Earning Merit Badges in the Boy Scouts of America
* Professions and Trades
* Animal Science | Architecture | Automotive Maintenance | Dentistry | Drafting | Electronics | Engineering | Farm Mechanics | Game Design | Graphic Arts | Home Repairs | Journalism | Landscape Architecture | Law | Medicine | Metalwork | Plumbing | Programming | Public Health | Pulp and Paper | Salesmanship | Surveying | Textile | Truck Transportation | Veterinary Medicine | Woodwork
# Scouting/BSA/Pottery Merit Badge
## Requirement 1

Explain to your counselor the precautions that must be followed for the safe use and operation of a potter’s tools, equipment, and other materials.

## Requirement 2

Do the following:
    A. Explain the properties and ingredients of a good clay body for the following:
       1. Making sculpture
       2. Throwing on the wheel
    B. Tell how three different kinds of potter's wheels work.

## Requirement 3

Make two drawings of pottery forms, each on an 8 1/2 by 11 inch sheet of paper. One must be a historical pottery style. The other must be of your own design.

## Requirement 4

Explain the meaning of the following pottery terms: bat, wedging, throwing, leather hard, bone dry, greenware, bisque, terra-cotta, grog, slip, score, earthenware, stoneware, porcelain, [[w:Pyrometric_cone|pyrometric cone], and glaze.

## Requirement 5

Do the following. Each piece is to be painted, glazed, or otherwise decorated by you:
    A. Make a slab pot, a coil pot, and a pinch pot.
    B. Make a human or animal figurine or decorative sculpture.
    C. Throw a functional form on a potter's wheel.
    D. Help to fire a kiln.

## Requirement 6

Explain the scope of the ceramic industry in the United States. Tell some things made other than craft pottery.

## Requirement 7

With your parent's permission and your counselor's approval, do ONE of the following:
    A. Visit the kiln yard at a local college or other craft school. Learn how the different kinds of kilns work, including low-fire electric, gas or propane high-fire, wood or salt/soda, and raku.
    B. Visit a museum, art exhibit, art gallery, artists' co-op, or artist's studio that features pottery. After your visit, share with your counselor what you have learned.
    C. Using resources from the library, magazines, the Internet (with your parent's permission), and other outlets, learn about the historical and cultural importance of pottery. Share what you discover with your counselor.

## Requirement 8

Find out about career opportunities in pottery. Pick one and find out about the education, training, and experience required for this profession. Discuss this with your counselor, and explain why this profession might interest you.

## External links

* Pottery Merit Badge with Workbook PDF, current requirements, and resources.
* Pottery 101 - Basic Pottery Wheel Technique Video from YouTube
* Ceramics careers
* Earning Merit Badges in the Boy Scouts of America
* Indoor Hobbies and Arts and Crafts
* Art | Basketry | Bugling | Coin Collecting | Collections | Cooking | Dog Care | Fingerprinting | Genealogy | Indian Lore | Leatherwork | Model Design and Building | Moviemaking | Music | Painting | Pets | Photography | Pottery | Programming | Radio | Railroading | Reading | Sculpture | Stamp Collecting | Theater | Wood Carving | Woodwork
# Scouting/BSA/Pets Merit Badge
## Requirement 1

Present evidence that you have cared for a pet for 4 months. Get approval before you start.* (*work done for other merit badges cannot be used for this requirement)

## Requirement 2

Write in 200 words or more about the care, feeding, and housing of your pet. Tell some interesting facts about it. Tell why you have this kind of pet. Give local laws, if any, relating to the pet you keep.

## Requirement 3

Show that you have read a book or pamphlet, approved by your counselor, about your kind of pet. Discuss with your counselor what you have learned from what you read.

## Requirement 4

Do ONE of the following:
    A. Show your pet in some pet show.
    B. Start a friend raising a pet like yours. Help your friend get a good start.
    C. Train a pet in three or more tricks or special abilities.

## External links

* Pets Merit Badge with Workbook PDF, current requirements, and resources.
* Earning Merit Badges in the Boy Scouts of America
* Indoor Hobbies and Arts and Crafts
* Art | Basketry | Bugling | Coin Collecting | Collections | Cooking | Dog Care | Fingerprinting | Genealogy | Indian Lore | Leatherwork | Model Design and Building | Moviemaking | Music | Painting | Pets | Photography | Pottery | Programming | Radio | Railroading | Reading | Sculpture | Stamp Collecting | Theater | Wood Carving | Woodwork