OpenLLM-France/wikimedia huggingface dataset:
# SAT Study Guide/Part 4 - The Writing Section/Identifying Sentence Errors

About a third of the questions in the writing section are identifying sentence error questions. A question typically looks like
   The other delegates (A) and him (B) immediately (C) accepted the resolution drafted (D) by the neutral states. No error (E)
The error with this sentence is (B). Him is the objective form of the pronoun he. You use Him (or Her, them or whom) when you want that person to be the object of the sentence. That is, you want something done to that person. But in this sentence, a person is doing something, namely accepting something. This makes that person the subject.
The correct usage of him would look like
   The neutral states proposed a resolution that the other delegates and him immediately accepted.
Questions like this are to be expected on the test. You should have an ear for grammatical errors after completing this chapter.
The above example featured an error in pronoun choice. The types of errors you can expect on the test include
* Subject Verb Agreement
* Verb Tense
* Diction
* Parallelism
* Verb form
* Comparisons
* Pronoun choice

## Common errors

The errors featured in this section show up on the test most often. Expect to see 3 or 4 of each of these types of errors on a test.

### Subject-Verb Agreement

Subject-verb agreement questions are relatively easy for native English speakers. Most of these errors can figured out if you have an ear for the English language. Errors in subject-verb agreement just sound wrong. A typical error in subject-verb agreement looks like
   Here comes Jim and Jack
The error here is that comes is plural but the subject, Jim and Jack, is plural. This sentence uses the wrong verb for its subject and the subject and verb don't agree. The following pages deal with subject verb agreement.
* Identify the correct subject
* Subjects with multiple nouns or pronouns
* Identifying Singular and Plural Subjects
* Indefinite Pronouns
* Practice In Subject-Verb Agreement
# Indefinite Pronouns

Indefinite pronouns, like everyone, anyone or few, can include an unspecified number of unspecified objects. There are special rules that govern these nouns.

## Indefinite Pronouns that Sound Plural

The following words sound plural but require singular verb.
* each
* either
* neither
* the bodies
** anybody
** everybody
** somebody
** nobody
* the ones
** anyone
** everyone
** someone
** somebody
The following examples illustrate their correct usage:
   Each person is different. Each boy and girl gets one carton of milk. Either boy is suitable for the job. Neither person lives here. Anyone who registers for this account will receive a marker.
All of the pronouns define something that applies to everyone in the collection. This is why we use the singular verb. However, remember to apply the rules we learned in previous sections. The sentence
   Either the democrats or the Republicans are going to win the election
has no errors. the Republicans is a plural verb and is closer to the verb so the verb takes a plural form. This is because the subjects are joined by an "or".

## Indefinite Pronouns with Plural Verbs

The following indefinite pronouns need plural verbs:
* several
* both
* many
* few
Each of these pronouns imply multiple objects and therefore need plural verbs. The following examples demonstrate their correct usage:
   Both dogs are in the house. Few children are going to be excluded from the trip.

## Indefinite Pronouns with Verbs in Context

These indefinite pronouns need either a singular or plural verb depending on the context of the sentence:
* any
* some
* most
* all
* none
These pronouns need a singular verb when they refer to a singular noun but need a plural noun when they refer to a plural noun. The following examples demonstrate the correct usage of these pronouns:
   Some of the dogs are sick. Some of the cake is eaten. Most of the cake is left. Most of the children are gone. None of the wall is now visible. None of the pencils are sharpened.
When the pronoun references a singular object, we can use a singular verb but when it references a plural object, we need to change the verb.
# Super Mario 63/Introduction

Super Mario 63 is a notable unofficial 2D Mario fan game created by Runouw that gained popularity on Newgrounds.com. It is a single player platforming title, and in part uses music and 2D sprites from Nintendo games to mimic the franchise. Super Mario 63 is a play on Super Mario 64, but it features enemies, characters, and abilities from several other games of the Mario franchise, as well as a level designer that allows creating custom levels.
Players can create and upload additional courses. Note that many web sites have other earlier versions of the Flash game that lack the extended animated intro, as well as some cutscenes, stars, and star coins.

## History

In 2005, Runouw released a game called Super Mario Sunshine 64 as their first official flash player game. Runouw then decided to remake it and titled Super Mario Sunshine 128. It was planned originally to be playable on the Wii on Wiicade, but was denied (by Nintendo) for IP-related reasons. Later, for aesthetic purposes, it was renamed to Super Mario 63 and released on Newgrounds and SheezyArt in mid-2009.

## Story

Mario decides to go to Princess Peach's Castle. After he gets there, Bowser springs a surprise attack from his airship and kidnaps the princess. Bowser and Kamek then break the Power Orb and leave. After Mario wakes up and he meets Toad Eddie, he finds a Shine Sprite on the ground. Mario follows Eddie on an adventure to get to the Power Orb and place the Shine Sprite there to restore order to Mushroom Kingdom.
# Super Mario 63/Jolly Roger Bay

To get to Jolly Roger Bay just go to the room above the entrance and go to the left.
Use the sling star to get up, then walk over to the left. You will be there, and then go collect the 8 red coins. Many of them will be underwater, and don't forget the one not in coins!
# Super Mario 63/Gameplay

Super Mario 63 is beautifully paced and quite forgiving, so explore the castle and explore each level on your own. Read the tips below, and consult the Walkthrough if you're stuck.

## Motion tips

* Usually you should spin the X key when falling to fall more slowly.
* If there's a creature above you in the way of a platform, jump up and spin the X key to knock it out before trying to time the platform.
* On horizontal moving platforms, stay close to the leading edge, it gives you more space and time to land back on the platform after jumping.
* In general jump at the top of a platform's travel.
* It's easier to aim falling in a straight line, so jump to a platform moving vertically rather than horizontally.
* If you're falling, land on enemies for a bounce that breaks your fall.
* In water, always use turbo FLUDD if you have it to zoom past pesky fish.

## Tips for each land

* Always zoom out (the - key) as much as you can to see unexpected traps.
* Always travel to the edges of the screen in case there's more land to explore. That includes the sky or ceiling!
* If there is a line of coins in some direction, follow it!
* Apart from some "one shot" special courses, you have multiple tasks to accomplish in each land, and the moment you get a shine sprite you exit the painting. So you don't have to get everything on each run.
* However, getting a star coin doesn't end the level, so always grab a star coin if you see it.
* When you re-enter a land the game remembers what FLUDDs you had enabled for it, so always grab FLUDDs when first exploring.
* Don't grab every coin unless you're trying to set a record; only grab coins to refill your health. This is especially true underwater where coins give you air as well as health.
* Always spin or stomp wood blocks and stone covers.
# Rebol Programming/Internals
## Rebol Internals
### The System Object

The System object is a very large object that contains most of the mezzanine code in Rebol, that is VID, the network protocols and system information about the Rebol product you are running.

### Native Functions

Native functions are functions that are hardwired into the kernel of Rebol. They can be considered low-level functions, that are designed for speed. A wide range of native functions exist.
You can reveal a native function in the console like this:
The source code cannot be seen since the function is compiled into the Rebol interpreter kernel.

### Mezzanine Functions

Mezzanine functions are functions that are built on top of either native or other mezzanine functions. This means you can change them or build more functions on top of existing ones. Rebol has in all of its products many mezzanine functions built in.
They can be considered higher level functions, that are designed to provide ease of use, when coding your Rebol programs. The internet protocols in Rebol such as HTTP or POP3 are built as mezzanine functions.
When designing your own programs, you can build your own functions that blend in with the existing mezzanine functions, for example if you wish to extend Rebol with a new internet protocol.
Mezzanine functions are also special in that you can see the source code for them on the console like this:
# Rebol Programming/Internal utilities
## Internal utilities
### The Viewtop

The Viewtop is Rebol/View's builtin graphical desktop. It's mainly used to access programs available from various Rebol sites around the world. It can also be used to access files locally on your own PC.

#### Using the Viewtop

On first startup, the Viewtop will come up automatically.
You can change the default behavior using the User Preferences menu item.
To start the Viewtop from the console type:
or

#### Facts about the Viewtop

The Viewtop is written as a range of mezzanine functions using the VID graphical user interface system and is essentially open source.

### The text editor

The text editor is handy for editing smaller scripts that are too large to write in the console. It's not very complex so it's not suited for larger projects. It can be launched from the console by writing:
Or
Or if you give a filename:
You can then run scripts in the editor by pressing Ctrl-E.
You can also use it to view large data objects that are hard to study in the console:
# Rebol Programming/Jargon

Rebol uses a number of terms that can be confusing to those new to computer languages. We shall attempt to explain a number here.

### Protocols

A protocol is an agreed way of performing a task. In the real world, tribal affairs are bound by protocol - who can speak, and who can reply, and the same type of restrictions apply when we interface with something outside of REBOL.
When we retrieve email using POP3, we use the POP3 protocol in formatting our messages, and reading replies. POP3 is a line oriented protocol which means that commands are sent one line at a time, and terminated with a newline character.

### Schemes

Rebol's POP3 implementation is called the POP3 scheme. The scheme refers to the code that implements the POP3 protocol.
You can see which schemes are installed as follows:
The list omits the low level schemes such as TCP and UDP.
You can install your own or third party schemes such as the mysql scheme from Nenad Rakocevic ( alias DocKimbel ).

### Handlers

The scheme code creates what is called a handler at run time. The handler code is a code object that is in general is based upon a default handler that manages the common requirements when dealing with network connections. It thus has the code for opening, closing, reading and writing to a network connection. Different schemes will build further upon the default handler to create a specific handler.
You can examine the source code for the whois handler with
# Rebol Programming/Language Features/Parse

PARSE is one of the most powerful features in Rebol. It has many capabilities from simple string splitting to parse expression matching. PARSE forms the basis of pattern matching in Rebol; in other languages pattern matching is often implemented as regular expression matching.
If you are asking yourself why Rebol has no regular expression matching implementation, PARSE is the answer.
A skeleton of a parsing operation:

## Table of contents

* Simple splitting
* Splitting using specific delimiters
* Parse expressions
* Parsing examples
# Rebol Programming/Language Features/Database

Rebol/Command, Rebol Technologies enterprise product, is the only version that comes with database abilities out of the box. This includes support for Oracle, ODBC, and MySql. It is the stated intention of Rebol Technologies to release the source code for the database protocols, but in the meantime third party developers have written interfaces for the free Rebol/Core to some of the more popular database products.
In many instances, the database adaptor has been written as a Rebol protocol, and access to the database is via a virtual port. Database queries are then inserted ( sent ) into the port, and results are retrieved by reading from the port.

## Berkeley DB

Rebol Berkeley DB interface

## DyBase

DyBase download

## MySQL

MySQL database interface - a scheme for /Core that will allow to connect to a MySQL database server, send queries and retrieve resulting recordsets. This driver is 100% written in Rebol and doesn't require any additional library (like libmysql). Open-source : BSD-like license.
Rebol3 MySQL

## PostgreSQL

PostgreSQL interface - a scheme for /Core that will allow you to connect to a PostgreSQL database server, send queries and retrieve resulting recordsets. This driver is 100% written in Rebol and doesn't require any additional library. It works with all Rebol products (/View, /Pro, /Command, /Link,...) and on all platforms supported by Rebol. You only need one file to make it work and its size is less 20Kb. Open-source : BSD-like license.

## RebDB

RebDB is a small but highly efficient pseudo-relational DBMS written entirely in Rebol/Base syntax, meaning that it will run on any platform that Rebol/Core runs on. Open-source : BSD-like license.

## SQL-Protocol

SQL-Protocol is also a small but efficient RDBMS written entirely in Rebol and run on any platform that Rebol/Core runs on. SQL-Protocol use an SQL like dialect and allows you to make JOINs in your query. Moreover, SQL-Protocol can use text databases compatible with the Microsoft OBDC text driver and allows you to share data between the Rebol and the Microsoft world. License: public domain.

## SQLite

SQLite database interface - a simplified wrapper to the SQLite library. Usable in freeware interpreter since version 2.7.6. Open source: BSD-like license.

## Redis

Rebol3 Redis
# Rebol Programming/Language Features/Objects
## Objects

Objects are a very common way to manage and access data in Rebol. In fact most of the Rebol system is built with objects. The SYSTEM object can be considered the spine of Rebol, the place where all non-core functions and data reside. It's the place you can find all of VID, the various networking protocols and all mezzanine functions.

### Using Objects

Objects are made with the MAKE function.
Example:
Note that nothing is returned on the console. Objects can hold all types of data, even other objects.
A bigger example, as you'd normally write it in your program code:

#### Accessing Objects

If you want to view an object, you might have noticed that typing the name in doesn't return anything:
You can use different methods for viewing the object data:
A nicer overview can be returned with:
Or:
These functions can't be used in programs to get values from an object, since they only print information in the console. They don't produce a return value.
One way is to use path notation:
There are multiple ways to access object data, both for manipulation and viewing.

#### Referring to Self

An object can refer to itself or other variables and functions within itself using SELF:
Note, that the usage of SELF in the above example is not necessary, though.
# Rebol Programming/Language Features/Dialects

A lot of the power of Rebol comes from its concept of dialects. A dialect is a sub-language used for a specific purpose (also called a domain specific language).

### They're Everywhere

It's like buying a Volkswagen Bug. Once you own one, you start to see them everywhere. That's true for dialects as well. And, even better, once you know what they are, you start to add them to your code and use them to gain greater programming leverage in writing applications.
You use dialects a lot in Rebol, even though you may not realize it. For example, when you write:
The block that follows the func word is actually a dialect. It is not "normal Rebol code" (also called the Do dialect), it is a special little language that is used for defining the arguments of functions.
Similarly, when you create GUI you often write it in VID, the visual interface dialect. A snip of VID might look like this:
You may not realize it, but you use a dialect when you tell the parse function how to parse strings or blocks:
When you want to control the security for your program, you also use a dialect:
So, there are many such dialects in Rebol.

### Definition of a Dialect

The definition of a dialect in Rebol is very simple: any loadable expression is a dialect.
That is, for a dialect to be valid, you must be able to use the load function to load it into Rebol. The dialect must be a valid lexical expression of Rebol. If a string cannot be loaded, then it is not a dialect (it might be a valid language of some kind, but it is just not a dialect).
For example, this code shows that a given string is a valid dialect of Rebol because it can be loaded:
But, the example below is not a valid dialect. It cannot be loaded.
Nor is this line of C code a valid dialect:
These examples contain character sequences that are not valid in Rebol; therefore, they are not dialects of Rebol.
This loadability factor is part of what makes dialecting so special in Rebol. You don't need to write a lexical string scanner. You get to skip that part and get to the meat of your special language.

### Not Just Code, Data Too

Dialects are not only useful for code expressions, they are equally productive for data storage (and data exchange over the net).
It is important to recognize that a dialect does not require that you write a parser or any other complex method to interpret the meaning of the data. Even a block as simple as this is considered to be a dialect:
This is a dialect because it is a loadable Rebol string. The way you interpret it is up to you, but it can be as simple as using a multivariable assignment:
Here is a more complex data dialect that is used for holding data about students in a REBOL-based class reunion program. This is a single record, but we've broken it into separate lines so you can see the details:
The words in this dialect (like spouse, phone, package) are used for optional fields of the record.
# Thai Civilization/Bibliography
## Bibliography
### Thai

* สารานุกรมไทยสำหรับเยาวชน โดยพระราชประสงค์ในพระบาทสมเด็จพระเจ้าอยู่หัว ฉบับเสริมการเรียนรู้ เล่ม ๓
* พงศาวดารชาติไทย โดย พระบริหารเทพธานี กรุงเทพ สำนักพิมพ์ประจักษ์วิทยา (เล่ม ๑-๒).
* อิฌิอิ โยเนะโอะ (2550) กึ่งศตวรรษบนเส้นทางไทยศึกษา (แปลโดย ชวาลิน เศวตนันท์ และ กนกวรรณ เกตุชัยมาศ). กรุงเทพฯ มูลนิธิโตโยต้าประเทศไทย.

### English

* Gerson, Ruth. (1996). Traditional Festivals in Thailand. Oxford: Oxford University Press.
* London, Ellen. (2008). Thailand Condensed: 2000 Years of History and Culture. London: Marshall Cavendish.
* Cam Trong. (2007). The Thai Ethnic Community in Vietnam. The Goi Publishers.
* Kheourai, Wandee (1998). Thai Studies Through Games (Books I and II). Published by The Girl Guides Association of Thailand Under the Royal Patronage of Her Majesty the Queen.
Electronic Sources:
The Thailand Investment Climate Assessment Update. http://web.worldbank.org/WBSITE/EXTERNAL/COUNTRIES/EASTASIAPACIFICEXT/0,,contentMDK:22279910~menuPK:2246553~pagePK:2865106~piPK:2865128~theSitePK:226301,00.html
# Thai/Alphabet

Thai is a tonal language with 5 different tones. The Thai script may seem complicated to foreigners, but in order to study the Thai language, one must first know the Thai consonants and vowels. This page is based on the transliteration by the Royal Institute of Thailand, so you may find many other ways of transcribing the characters from other sources.
In Thai, there are 44 characters that represent only 21 consonant sounds -- that means some of the characters share the exact same sound! The native Thai has a way to remember such numerous letters, that is by memorizing with vocabulary. This is equivalent to English's "A as in Alpha", "B as in Bravo", "C as in Charlie", etc.
ก Gaw Gai
ข Kaw Kai
ฃ Kaw Kuat
ค Kaw Kwai
ฅ Kaw Kon
ฆ Kaw Ra Kang
ง Ngaw Nguu
จ Jaw Jaan
ฉ Chaw Ching
ช Chaw Chang
ซ Saw Soo
ฌ Chaw Cher
ญ Yaw (Pu) Ying
ฎ Daw Cha Daa
ฏ Dtaw Bpa Dtak
ฐ Taw Taan
ฑ Taw Mon Too
ฒ Taw Puu Tao
ณ Naw Nane
ด Daw Dek
ต Dtaw dtao
ถ Taw Tung
ท Taw Tahan
ธ Taw Tong
น Naw Nuu
บ Baw Bai Mai
ป Bpaw Bplaa
ผ Paw Pung
ฝ Faw Faa
พ Paw Paan
ฟ Faw Faan
ภ Paw Sam Pao
ม Maw Maa
ย Yaa Yaak
ร Raw Rua
ล Law Ling
ว Waw Waen
ศ Saw Sala
ษ Saw Ru Si
ส Saw Sua
ห Haw Heep
ฬ Law Ju Laa
อ Aw Aang
ฮ Haw Nok whook

## Special symbols and exceptions

* ทร (t + r) = ซ (s)
* รร (r + r) = a[n]
* ร -> อ when no vowel is present
* ๆ (maiyamok) -> repeat word.
* ฯ = abbreviation
* ฯลฯ = etc.
* -์ (karan) = silent / pronounce as in English

## Live and dead syllables

* Live syllables end in a long vowel or -am, -ai, ao or n , ng , m , y, w.
* Dead syllables end in a short vowel or k, t, p.
# Thai/Colors

| black | สีดำ (sǐi dam) |
| blue | สีฟ้า, สีนํ้าเงิน (sǐi fáa, sǐi náam ngoen) |
| brown, tan | สีนํ้าตาล (sǐi náam taan) |
| gray, grey | สีเทา (sǐi thao) |
| green | สีเขียว (sǐi khǐaw) |
| khaki | สีกากี (sǐi kaakii) |
| navy | สีนํ้าเงินเข้ม (sǐi náam ngoen khêm) |
| orange | สีส้ม (sǐi sôm) |
| pink | สีชมพู (sǐi chomphuu) |
| purple, violet | สีม่วง (sǐi mûang) |
| red | สีแดง (sǐi daeng) |
| white | สีขาว (sǐi khǎaw) |
| yellow | สีเหลือง (sǐi lěuang) |
# Thai/Common phrases
## Thai (Tai-Kadai)

| Translation | | Transliteration |
| hello/goodbye | สวัสดี | sawàtdii |
| goodbye | ลาก่อน | lææ-kɔ̀ɔn |
| thank you | ขอบคุณ | khɔ̀ɔp khun |
| you're welcome | ไม่เป็นไร | mâi pen rai |
| yes | ใช่ | châi |
| no | ไม่ใช่ | mâi châi |
| excuse me, sorry | ขอโทษ | khɔ̌ɔ thôot |
| How are you? | สบายดีไหม | sàbaay dii mǎay? |
| I am fine | สบายดี | sàbaay dii |
| what is your name? | คุณชื่ออะไร | khun chɯ̂ɯ àrai? |
| my name is ... | ผม/ดิฉันชื่อ... | phǒm/dìchǎn chɯ̂ɯ... |
| nice to know you | ยินดีที่ได้รู้จัก | yindii thîi dâi rúucàk |
| nice to know you too | เช่นกัน | chen gun |
| How much does this cost? | ราคาเท่าไร | ra ka thao rai? |
Polite language in Thai requires that a politeness marker be at the end of every phrase. The markers differ according to the gender of the speaker:
| Gender of speaker | Marker | Transliteration |
| male | ครับ | khráp |
| female (question) | คะ | khá |
| female (statement) | ค่ะ | khâ |
# Thai Civilization

The Thai people have been in the regions of Laos, Thailand, North of Myanmar, southern part of China, and Vietnam since the birth of the 4,000-year Dong Song culture.

## Table of Contents

* Culture & Civilization
* Historical Development of the Thai Civilization
* Socio-Political Background of the Thai Society
* Economic Foundation of the Thai Society
* Political and Administrative Background of the Thai Society
* Beliefs, Religions, and Traditions
* Thai Arts (Painting, Sculpture, and Architecture)
* Women's Status in Thai Society
* Education
* Thai Music and Dance
* Thai Literature
* Current Problems Thailand Is Facing
* The Strengths and Weaknesses of Thailand
* Thailand as a Member of the International Communities
Bibliography

## See also

* Thailand.com at http://www.thailand.com/travel/overview/overview_history.htm (down)
* Thai: Introduction to the Thai language (Wikibooks) at Thai
* Overview of the Thai Administrative Governing Bodies at http://www.thaigov.net/links.php (down)
* Profile of Thailand at http://www.mongabay.com/reference/country_profiles/2004-2005/2-Thailand.html