OpenLLM-France/wikimedia huggingface dataset:
# Blender 3D: Noob to Pro/Polygon by Polygon modeling

Although quite demanding, many modelers savor the control poly-by-poly modeling allows. However, its demanding nature makes many modelers, beginners and experts alike, try to avoid it. Still, poly-by-poly modeling, if properly used, is a powerful tool.

## Before we start

For this work flow, being ready is of great importance. Have several references of your subject, especially a front and side view. Also, have minutes of study on the subject and try to make out an approach in modeling it. Being ready is crucial for this.
* Image used as a reference available at the commons
* Loop plans for the model

## The Workflow

Poly-by-poly modeling provides the most free modeling workflow ever. This freedom, however, causes confusion on how to approach modeling the subject. Searching the internet for tutorials on modeling the face using this method, you will find hundreds and each will be different from each other. Some start with the eyes, others with the mouth, others the ridge of the nose. And then each will proceed differently from that. No wonder its confusing.
Even though poly-by-poly modeling is such a free form method and constitutes a very vogue way to start and continue, a general guideline is provided in the hope that it will help modelers in using this approach.

### To Start

Poly-by-poly modeling rather sets you free on choosing how and where to start. The only requirement is that you have a geometry, a vertex or a plane to start with. Many beginners are stumped by this. Somehow such liberty leaves them undecided.
* Starting geometry
A very good approach is to start by creating the important loops first. For example, in modeling the face, you could start by creating the eye, mouth and face loops. With the loops in place, it is easy to build other geometries around them.
* Starting with important loops
Another good approach is to start with the most important part of the subject. For the face, this is the eyes and the mouth. You could model these parts first and then proceed adding geometry from there.
* Starting with the mouth
As said, poly-by-poly modeling lets you free, so if you would like to start on other parts first, say the nose, then you could do so.

### To Continue

* Continue Adding more geometry. Notice how the loops are placed
Continuing from your beginnings is not as easy as connecting-the-dots as it first appears to be. Rather than proceeding in a connect the dots fashion, proceed by thinking of edge and face loops of your model first then creating and adjusting geometry to fit them. Such view would ease decision on placing your geometry.

### To Finish

* Rendered face after few adjustments
When you find that you don't need to add more geometry, you can call it quits. But still, its a good practice to take another look of your model and make trial renders of it. There might be an awry edge loop, geometries that mess the model, or triangles that you wanted out. Do some fixing and adjusting and when you finally have the model good, give yourself a pat on the back.
# Blender 3D: Noob to Pro/Polygonal Modeling

As the name suggest, polygonal modeling involves constructing the models out of polygons. Strictly, software packages works only with triangles. Blender could show you quads and some software packages could even let you work with polygons with more than 4 sides (n-gons) but these packages work internally only with triangles. These triangles are hidden so that you could concentrate more on modeling.
While different modelers works differently, they would still follow certain workflows (some call this techniques). These are familiarly called box modeling and polygon-by-polygon modeling (poly-by-poly modeling).
Box modeling is a top-down approach where modelers start with a primitive (usually a cube (box), hence the box in box modeling). Then from this primitive, the model's form is build up where details are gradually added.
Poly-by-poly modeling is almost the opposite of box modeling. It is the bottom-up approach where modelers start with a plane or even a vertex. Using extrusion and other tools, more geometries are added. Polygon by polygon the model is gradually build.
Neither of the two is better than the other but there are instances where one workflow lends much better to the situation. One typical advantage of box modeling is that at early stage, you are able to conceive first the form (the whole) of the model and is better equipped to do general corrections without bothering yet with the details. Poly-by-poly otherwise give you more control on the geometry and is much more easier to use in modeling complex forms like the human ear. Complications do arise when working with the two. In box modeling, it is typically difficult to manage the geometry when adding details. Experience is necessary so as not to create a mess. Poly-by-poly modeling otherwise has its own quirks. Since you are going detail by detail, it is easy to make a mess with the models form (i.e. wrong proportions).
While the two are opposites, they compliment each other beautifully. Most modelers would combine the two workflows in a variety of proportions, combining the strength of each. For example one might model a human body using box modeling while the head and the ears are done using poly-by-poly modeling.
Blocking with primitives is added to enrich approaches is modeling. It is basically box modeling in conjunction with divide-and-conquer approach. Different parts are modeled separately with their own primitives and later attached with the others to form the whole.
# C++ Programming/TOC2

This book covers the C++ programming language, its interactions with software design and real life use of the language. Its presented as a introductory to advance course but can also be used as reference book. This is an open work, if you find any problems with terms or concepts you can help by contribute to it, your participation is needed and welcomed!. You are also welcome to state any preference, shortcomings or vision for the actual book content, structure or other conceptual matters, see this wikibook's discussion page for the right forum for participating.

### C++ Language Essentials

    Functions - Arguments, return values, recursive functions, function pointers and overloading.
    Pointers
    Memory Management
    Unions
    Operator Overloading
    Inheritance - Base, parent, child and multiple inheritance concepts.
    Polymorphism - Virtualization and abstraction.
    Templates
    Runtime Type Information (RTTI)
    Exception Handling

### Standard Library

    Standard Template Library (STL)

### Beyond the Standard

    Multithreading
    Introduction to design patterns
    Optimizing Your Programs

### Appendices

    Glossary
    Cheat Sheet
    Standard Headers
    Operators Table
    Examples
    Resources - Various C++ websites, compilers, libraries, forums and online books, etc.
    Books
# C++ Programming/UML
## Modeling Tools

Long gone are the days when you had to do all software designing planning with pencil and paper, it's known that bad design can impact the quality and maintainability of products, affecting time to market and long term profitability of a project.
The solution seems to be CASE and modeling tools which improve the design quality and help to implement design patterns with ease that in turn help to improve design quality, auto documentation and the shortening the development life cycles.

### UML (Unified Modeling Language)

Since the late 80s and early 90s, the software engineering industry as a whole was in need of standardization, with the emergence and proliferation of many new competing software design methodologies, concepts, notations, terminologies, processes, and cultures associated with them, the need for unification was self evident by the sheer number of parallel developments. A need for a common ground on the representation of software design was badly needed and to archive it a standardization of geometrical figures, colors, and descriptions.
The UML (Unified Modeling Language) was specifically created to serve this purpose and integrates the concepts of Booch (Grady Booch is one of the original developers of UML and is recognized for his innovative work on software architecture, modeling, and software engineering processes), OMT, OOSE, Class-Relation and OOramand by fusing them into a single, common and widely usable modeling language tried to be the unifying force, introducing a standard notation that was designed to transcend programming languages, operating systems, application domains and the needed underlying semantics with which programmers could describe and communicate. With its adoption in November 1997 by the OMG (Object Management Group) and its support it has become an industry standard. Since then OMG has called for information on object-oriented methodologies, that might create a rigorous software modeling language. Many industry leaders had responded in earnest to help create the standard, the last version of UML (v2.0) was released in 2004.
UML is still widely used by the software industry and engineering community. In later days a new awareness has emerged (commonly called UML fever) that UML per se has limitations and is not a good tool for all jobs. Careful study on how and why it is used is needed to make it useful.
# C++ Programming/Unions
## union

The union keyword is used to define a union type.

### Syntax

Union is similar to struct (more than class), unions differ in the aspect that the fields of a union share the same position in memory and are by default public rather than private. The size of the union is the size of its largest field (or larger if alignment so requires, for example on a SPARC machine a union contains a double and a char [17] so its size is likely to be 24 because it needs 64-bit alignment). Unions cannot have a destructor.
What is the point of this? Unions provide multiple ways of viewing the same memory location, allowing for more efficient use of memory. Most of the uses of unions are covered by object-oriented features of C++, so it is more common in C. However, sometimes it is convenient to avoid the formalities of object-oriented programming when performance is important or when one knows that the item in question will not be extended.

### Writing to Different Bytes

Unions are very useful for low-level programming tasks that involve writing to the same memory area but at different portions of the allocated memory space, for instance:
Using this union we can modify the low-order or high-order bytes of theItem without disturbing any other bytes.

### Example in Practice: SDL Events

One real-life example of unions is the event system of SDL, a graphics library in C. In graphical programming, an event is an action triggered by the user, such as a mouse move or keyboard press. One of the SDL's responsibilities is to handle events and provide a mechanism for the programmer to listen for and react to them.
Each of the types other than Uint8 (an 8-bit unsigned integer) is a struct with details for that particular event.
When the programmer receives an event from SDL, he first checks the type value. This tells him what kind of an event it is. Based on this value, he either ignores the event or gets more information by getting the appropriate part of the union.
For example, if the programmer received an event in SDL_Event ev, he could react to mouse clicks with the following code.
While identical functionality can be provided with a struct rather than a union, the union is far more space efficient; the struct would use memory for each of the different event types, whereas the union only uses memory for one. As only one entry has meaning per instance, it is reasonable to use a union in this case.
This scheme could also be constructed with polymorphism and inheritance features of object-oriented C++, however the setup would be involved and less efficient than this one. Use of unions loses type safety, however it gains in performance.

### this

The this keyword is a implicitly created pointer that is only accessible within nonstatic member functions of a union (or a struct or class ) and points to the object for which the member function is called. The this pointer is not available in static member functions. This will be restated again on when introducing unions a more in depth analysis is provided in the Section about classes.
# C++ Programming As A Set Of Problems/CGI Script program
## simple script

Compile this source code into an executable named "test_script.cgi".

## setup

Nearly all web servers support the Common Gateway Interface. Here is some brief notes on how to put a CGI script written in C++ on an Apache server; other web servers are similar. For more details, see the Apache wikibook, section ... , or the analogous documentation for your favorite web server.
... security implications: user "nobody" ...
CGI scripts are used to deal with form data submission. Here is an example HTML file that lets the user submit data to a "test_script.cgi" program.
Put the compiled "test_script.cgi" in the appropriate "cgi-bin" directory. Put the "test_form.html" in some convenient location -- typically some other directory on the same server, but it also works if it's on some other server or a file on your local machine. Tweak the "action" property to give a path to the CGI script.

## testing

Fire up your favorite web browser, and point it at the "test_form.html". Click the submit button. The output from the CGI script should be displayed. Click the "Valid" link.

## static HTML

The above script always gives the same output -- if that's really what you want, then a simple static HTML page would give the same results for less effort:
The power of CGI scripts is in doing things that are not possible with a static HTML page.

## getting input to the script

There are several libraries already available to handle the tricky bits of splitting the CGI input into a list of name/val pairs.
* getcgivars.c from http://www.jmarshall.com/easy/cgi/getcgi.c.txt
* ... other CGI libraries in C and C++ ...
A CGI script doesn't use the command-line arguments "argc" or argv". Instead, it gets its input from environment variables -- and, in the case of HTTP PUT or HTTP POST, the program reads user-submitted data from the standard input.
Compile this source code into an executable named "test_script.cgi". Use the same test_form.html to test it.

## Further reading

* the GET Wikibook looks at CGI scripts from the user side
* "The World Wide Web Security FAQ": CGI (Server) Scripts
* "CGI Made Really Easy: or, Writing CGI scripts to process Web forms" by James Marshall.
* Many people prefer to write CGI scripts in Perl (Perl Programming/CGI), PHP (PHP Programming), Rebol (Rebol Programming), etc.
* Wikipedia: Common Gateway Interface
* Wikipedia: query string
# C++ Programming/headers
## C standard headers

These standard headers define functions that were originally defined in the C programming language. They make it much easier to port C code to C++.
These are only some of the many C++'s Standard Headers.

### cstring

These cstring functions are almost never used by C++ programmers—we use the String class instead.

### ctime
## cmath

These cmath functions are heavily used in many kinds of physics simulations—such as realistic video games, finite element analysis, etc.
See the book sections regarding Standard C Library Math or the C Programming wikibook Further math page for details on the trig functions and other floating-point functions implemented in this library.

## climits

This header lists the maximum and minimum values for all the primitive data types used in C++.
Corresponds to the C language "limits.h".
See C Programming wikibook pages regarding the C99 Reference, and it's Reference table of Standard Headers.
# Canadian Refugee Procedure/25 - Humanitarian and compassionate considerations — request of foreign national
## IRPA Section 25

Section 25 of the Immigration and Refugee Protection Act reads:
# Canadian Refugee Procedure/4-6 - Enabling Authority
## IRPA Sections 4-5

Sections 4-6 of the Immigration and Refugee Protection Act read:

## IRPA Section 6: Designation of officers and delegation of powers
### The Minister may designate any persons or class of persons as officers to carry out any purposes of this Act

Generally speaking, the Board's Divisions and its Members are not designated pursuant to this section. For an example of how this designation and delegation has been carried out, see: Canadian Refugee Procedure/Applications to Vacate or to Cease Refugee Protection#The responsible Minister for applications to cease refugee protection is the Minister of Citizenship and Immigration.
# Canadian Refugee Procedure/31.1 - Refugee Travel Document
## IRPA Section 31.1

Section 31.1 of the Immigration and Refugee Protection Act reads:

### Designated foreign nationals will not have the ability to travel outside of Canada for at least five years after acceptance of their refugee claim

The Canadian Immigration Lawyers Association summarizes the effect of this section as follows: designated foreign nationals will not benefit from Article 28 of the Refugee Convention, which requires contracting states, such as Canada, to issue travel documents to refugees lawfully staying in their territory. Put in simpler terms, they say, designated foreign nationals will not have the ability to travel outside of Canada for at least five years after acceptance of their refugee claim. See more: Canadian Refugee Procedure/20.1-20.2 - Designated Foreign Nationals.

### UNHCR takes the position that this provision is inconsistent with Canada's obligations under the Refugee Convention

In its May 2012 submission on this section, the United Nations High Commission on Refugees (UNHCR) took the position that the above provision runs contrary to Canada’s obligation under the 1951 Refugee Convention and the 1967 protocol:
   The new section 31.1 is at variance with Article 28 of the 1951 Convention, which provides that “Contracting States shall issue to refugees lawfully staying in their territory travel documents for the purpose of travel outside their territory unless compelling reasons of national security or public order otherwise require....” Although the term “lawfully staying” has no universally consistent meaning, it is UNHCR’s view that “stay” means a permitted regularized stay of some duration – including either permanent or temporary residence, while “lawful” normally is to be assessed against prevailing national laws and regulations. A judgment as to lawfulness should nevertheless take into account all the prevailing circumstances, including the fact that the stay in question is known and not prohibited. Formally 15 recognized refugees whose status in the country has been permitted by the granting State should be considered to be “lawfully staying” in their host country, and consequently, be entitled to benefit from the right to Convention Travel Documents per Article 28 of the 1951 Convention, unless there are compelling reasons of national security or public order to deny a Convention Travel Document in the individual case.
Such refugee travel documents are recognized in 146 countries for the purposes of filling out paperwork and applying for visas.

## References

* ↑ Canadian Immigration Lawyers Association, Let's Clean Up Our Act, May 2024, <https://cila.co/wp-content/uploads/2024/05/CILA-Report-on-IRPA-Reform.pdf>, page 14.
* ↑ UNHCR Canada, Submission on Bill C-31, the Protecting Canada’s Immigration System Act, May 2012, <https://www.unhcr.ca/wp-content/uploads/2014/10/RPT-2012-05-08-billc31-submission-e.pdf>, at para. 27.
* ↑ Bryan Passifiume, U.S. Senators sound alarm over Canada's acceptance of Gaza refugees, Jul 24, 2024, <https://nationalpost.com/news/us-senators-warn-about-canadas-gaza-refugees>.
# Canadian Refugee Procedure/171 - Proceedings
## IRPA Section 171

The relevant provision of the Immigration and Refugee Protection Act reads:

### Section 171 of the IRPA may be contrasted with s. 170, which provides what powers the RPD has

Section 171 sets out powers that the RAD has in a proceeding. Section 170 sets out those powers of the RPD. The two may be contrasted. While section 170 of the IRPA provides that the RPD "may inquire into any matter that it considers relevant to establishing whether a claim is well-founded", the RAD does not have a similar power prescribed by s. 171. For more detail on s. 170, see: Canadian Refugee Procedure/IRPA Section 170 - Proceedings.

## IRPA Section 171(a.2)
### See the equivalent provision for the RPD, IRPA s. 170(g)

Canadian Refugee Procedure/IRPA Section 170 - Proceedings#IRPA Section 170(g) - Is not bound by any legal or technical rules of evidence

## IRPA Section 171(a.3)
### See the equivalent provision for the RPD, IRPA s. 170(h)

Canadian Refugee Procedure/IRPA Section 170 - Proceedings#IRPA Section 170(h) - May receive and base a decision on evidence considered credible or trustworthy

## IRPA Section 171(b)
### See the commentary on the relevant RPD rule

See: Canadian Refugee Procedure/RPD Rule 22 - Specialized Knowledge.

## IRPA Section 171(c)
### The Refugee Appeal Division has issued a policy on designation of three-member panels

As per s. 171(c) of the IRPA, a decision of a panel of three members of the RAD has, for the RPD and for a panel of one member of the RAD, the same precedential value as a decision of an appeal court has for a trial court. Under the relevant RAD Policy, a three-member panel may be designated if one or more of the following criteria is met: (i) the appeal raises unusually complex or emerging legal issues; (ii) the appeal raises an issue in an area in which there is significant divergence or inconsistency in decision-making at either the RAD or the RPD; (iii) the appeal raises a serious question of general importance; (iv) the appeal raises an issue that may have a significant impact on practice and procedure at either the RAD or the RPD; or (v) any other relevant circumstances exist that make it appropriate that a three-member panel be designated.

## References

* ↑ Immigration and Refugee Board of Canada, Designation of Three-Member Panels - Refugee Appeal Division, April 12, 2013, <https://www.irb-cisr.gc.ca/en/legal-policy/policies/pages/PolRadSar3MemCom.aspx> (Accessed April 28, 2022).
# Canadian Refugee Procedure/171.1 - No reopening of appeal
## IRPA Section 171.1

The relevant provision of the Immigration and Refugee Protection Act reads:
# Canadian Refugee Procedure/2-3 - Definitions, objectives, and application of the IRPA
## IRPA Section 2

Section 2 of the Immigration and Refugee Protection Act reads:

### The Act's definitions section should be read in conjunction with the definitions section for the RPD Rules and related policies and documents

The RPD Rules have a definitions section: Canadian Refugee Procedure/RPD Rule 1 - Definitions. See also the following more general discussions of terms, acronyms, and definitions related to refugee procedure: Canadian Refugee Procedure/Glossary.

### The Designated Foreign National regime is set out at section 20.1 of the Act

For more detail on the term "designated foreign national", see: Canadian Refugee Procedure/20.1-20.2 - Designated Foreign Nationals.

## IRPA Section 3

Section 3(2) and 3(3) of the Immigration and Refugee Protection Act read:

### Interpretation

For a discussion of these legislative provisions, see: Canadian Refugee Procedure/Principles for the interpretation of refugee procedure#IRPA ss. 3(2) and 3(3): Interpretation principles as derived from the Act.
# Caro–Kann Defence
### 5. Qd3

This move looks odd, but sets a trap and is an interesting way to avoid theory. It is a top engine choice and allows Black to blunder 5...Bf5??, which loses a piece after 6. Nxf6+.
The best continuation is 5...Nbd7 6. Nf3 Nxe4 7. Qxe4, which enters a position that is more commonly reached from the Two Knights Attack.
Richard Réti played this move against Savielly Tartakower in 1910. The game continued with 5...e5? 6. dxe5 Qa5+ 7. Bd2 Qxe5 8. O-O-O! Nxe4?? 9. Qd8+!! Kxd8 10. Bg5+ Kc7 11. Bd8#.