OpenLLM-France/wikimedia huggingface dataset:
# Structured Query Language/Alter Table

The ALTER TABLE command modifies column definitions and table constraints 'on the fly'. This means existing definitions are extended, changed, or deleted, or existing data is cast to a different type, or existing data is evaluated against the new definitions.
The following examples are based on the test table t1.

## Columns

The syntax of the ADD COLUMN and ALTER COLUMN phrases are similar to the one shown in the create table page.

### Add a Column

Existing tables can be extended by additional columns with the ADD COLUMN phrase. Within this phrase, all options of the original Create Table statement are available: data type, default value, NOT NULL, Primary Key, Unique, Foreign Key, Check.

### Alter the Characteristic of a Column

With the ALTER COLUMN phrase some characteristics of an existing column can be changed
   * data type
   * DEFAULT clause
   * NOT NULL clause.
The new definitions must be compatible with the old existing data. If you change, for example, the data type from VARCHAR to NUMERIC, this action can only be successful if it is possible to cast all existing VARCHAR data to NUMERIC - the casting of 'xyz' will fail. Casting in the direction from NUMERIC to VARCHAR will be successful as long as the width of the VARCHAR is large enough to store the result.
Hint: Concerning the change of the characteristics of columns, some implementations ignore the syntax of the SQL standard and use other keywords like 'MODIFY'.

#### Change the NOT NULL Clause
### Drop a Column

Columns can be dropped from existing tables.
Hint: As an extension to the SQL standard, some implementations offer a RENAME or SET INVISIBLE command.

## Table Constraints

Table constraints can be added, modified, or dropped. The syntax is similar to that shown on the create table page.

### Alter a Table Constraint

Hint: Concerning the change of table constraints, some implementations ignore the syntax of the SQL standard and use other keywords like 'MODIFY'.

### Drop a Table Constraint

Hint: As an extension to the SQL standard, some implementations offer an ENABLE / DISABLE command for constraints.

## Exercises

Add a column 'col_3' to the table 't1': numeric, not null.
Add a Foreign Key from table 't1' column 'col_3' to table 'person' column 'id'.
# Structured Query Language/COMMIT and ROLLBACK

DBMS offers a special service. We can undo a single or even multiple consecutive write and delete operations. To do so, we use the command ROLLBACK. When modifying data, the DBMS writes in a first step all new, changed, or deleted data to a temporary space. During this stage, the modified data is not part of the 'regular' database. If we are sure the modifications shall apply, we use the COMMIT command. If we want to revert our changes, we use the ROLLBACK command. All changes up to the finally COMMIT or ROLLBACK are considered to be part of a so-called transaction.
The syntax of COMMIT and ROLLBACK is very simple.
The keyword 'WORK' is optional.

## Work without AUTOCOMMIT

The feature AUTOCOMMIT automatically performs a COMMIT after every write operation (INSERT, UPDATE, or DELETE). This feature is not part of the SQL standard, but is implemented and activated by default in some implementations. If we want to use the ROLLBACK command, we must deactivate the AUTOCOMMIT. (After an - automatic or explicit - COMMIT command, a ROLLBACK command is syntactically okay, but it does nothing as everything is already committed.) Often we can deactivate the AUTOCOMMIT with a separate command like 'SET autocommit = 0;' or 'SET autocommit off;' or by clicking an icon on a GUI.
To test the following statements, it's necessary to work without AUTOCOMMIT.

## COMMIT

Let us insert a new person into the database and test the COMMIT.
Now we remove the person from the database.
So far, so boring.

## ROLLBACK

The exciting command is the ROLLBACK. It restores changes of previous INSERT, UPDATE or DELETE commands.
We delete and restore Mrs. Hamilton from our example database.
The ROLLBACK is not restricted to one single row. It may affect several rows, several commands, different kinds of commands, and even several tables.

## Exercises

Supose the hobby table contains 9 rows and the person table 10 rows. We execute the following operations: add 3 hobbies add 4 persons commit add 5 hobbies add 6 persons rollback
How many rows are in the hobby table?
How many rows are in the person table?
# Structured Query Language/DELETE 2

Hint: Be carefull and deactivate AUTOCOMMIT.
Because the DELETE command deletes rows as a whole and not partly, the syntax is straightforward. Its structure was shown on a previous page. The page on hand offers only one addition: The WHERE clause isn't limited to simple conditions like 'id = 10' but may contain a subquery. This gives the command much more flexibility.
The use of subqueries as part of a DELETE command is identical to its use within an UPDATE or SELECT command.
There is another command for the deletion of rows. The TRUNCATE command is very similar to DELETE. TRUNCATE deletes all rows of a table and shows better performance. But it has no mechanism to choose individual rows.

## Example

The example command deletes contact information from persons who are born in San Francisco.
Correlated subqueries in combination with DELETE commands, are not supported by all implementations.
It often happens that the DBMS rejects DELETE commands because Foreign Key constraints will be violated during its execution. E.g.: if the command tries to delete a person to whom a contact or hobby information is known, the command fails (as a whole). To overcome such situations, there are different strategies:
   * Delete all dependent rows prior to the intended row.
   * Define the Foreign Key constraint as DEFERRED (it will be check not before COMMIT) and delete the depending rows before or after the intended one.
   * Define the Foreign Key constraint as CASCADE. In this case, the depending rows will be deleted automatically.

## Exercise

Delete hobby information for family Goldstein.
# Taxi Language/Dialogue 1
## Dialogue 1: A rainy day

I need a taxi!Dialogue 1 :
| 1 | MAX | Oh no! It’s raining! Taxi! Taxi! |
| 2 | MAX | I need a Taxi.Taxi! Taxi!! |
| 3 | MAX | Oh no, I’m in a hurry! I’m going to be late! Taxi! Taxi! |
| 4 | MAX | It's 8 o'clock already. Taxi! Taxi! |
| 5 | ANNA | I see you’re in a hurry. Do you need a taxi? |
| 6 | MAX | Yes, I’m really late. I need a taxi. |
| 7 | ANNA | Taxiiii! |
| 8 | MAX | Phew! Thanks a lot. |
| 9 | ANNA | You’re welcome. |

## Text

* It’s already 8 in the morning. Max is late. He starts at 8:30. He won’t be on time. He is in a hurry. He needs a taxi right now. Max gets up too late. That's why he has to hurry.
* Anna starts at 9. She doesn’t like being late for work; that’s why she gets up early. Anna helps Max to get a taxi.

## Vocabulary

Max's vocabulary :
| Car | Money | Time is money | Big house |
Anna's vocabulary :
| Alarm clock | Subway | Bus | Small house |

# Song

Artist: The Blues Brothers
Title: Everybody Needs Somebody To Love
Link: Song
Lyrics: Interesting words are highlighted with bold letters
Everybody needs somebody Everybody needs somebody to love (someone to love) Sweetheart to miss (sweetheart to miss) Sugar to kiss (sugar to kiss) I need you you you I need you you you I need you you you In the morning I need you you you When my soul's on fire
Sometimes I feel I feel a little sad inside When my baby mistreats me I never never never have a place to hide I need you
Sometimes I feel I feel a little sad inside When my baby mistreats me I never never never have a place to hide I need you you you I need you you you I need you you you I need you you you I need you
You know people when you do find that somebody Hold that woman, hold that man Love him, please him, squeeze her, please her, Hold, squeeze and please that person, give 'em all your love Signify your feelings with every gentle caress Because it's so important to have that special somebody to hold, kiss, miss, squeeze and please
Everybody needs somebody Everybody needs somebody to love Someone to love Sweetheart to miss Sugar to kiss I need you you you I need you you you I need you you you...

## Exercises
# Additional Exercises

Exercise 1
# Taxation in the United Kingdom/Value Added Tax

Value Added Tax (VAT) is the third largest source of government revenues in the United Kingdom. It is charged at the standard rate of 20% on supplies of goods and services. It is therefore a tax on consumer expenditure. Certain goods and services are exempt from VAT, and others are subject to VAT at a lower rate of 5% (the reduced rate) or 0% ("zero-rated").

## References

* ↑ "Introduction to VAT". HM Revenue & Customs.
# Exercici 1

* One finger
* Two fingers
* Three fingers
* Four fingers
* Five fingers
# Taxation in the United Kingdom/Stamp taxes/Stamp duty land tax

Stamp duty land tax (SDLT) is a new tax in land transactions that was introduced by Finance Act 2003 and largely replaces stamp duty with effect from 1 December, 2003. SDLT is not a stamp duty, but a form of self-assessed transfer tax. SDLT is charged on "land transactions" and for typical transactions in land, such as the buying and selling of a residential house, there is little change from stamp duty, except that a tax return is required to be made to the Inland Revenue and documents no longer need to be given a physical stamp. Like any other self-assessed tax, but unlike stamp duty, the Inland Revenue is able to enquire into an SDLT return and raise assessments to recover unpaid SDLT.
For residential house purchases, the current rates in the UK are as follows:
| Consideration | Rate |
| up to £125,000 | 0% |
| over £125,000 to £250,000 | 1% |
| over £250,000 to £500,000 | 3% |
| over £500,000 | 4% |
SDLT is not a progressive tax, but rather works on a "slab" basis, so the above percentages apply to the whole of the purchase price. For example, a house priced at £250,000 would attract a SDLT of £2,500, but one of £250,001 would be liable to SDLT of £7,500. Some areas have been designated as disadvantaged areas and have relief from SDLT on residential transactions below a certain level.
In previous years, there had been a high level of house price inflation in the UK but no change in these thresholds, leading to a substantial increase in the revenue from SDLT through fiscal drag. In 2000-01, the Inland Revenue received £2.145bn from residential stamp duty. In 2002-03, it received £3.59bn.
In 2005, the threshold for paying SDLT was raised from £60,000 to £120,000. In 2006, the threshold was further raised to £125,000.
In addition to SDLT on the purchase price for land, SDLT is also charged when a lease is granted. Any premium for the grant is charged to SDLT at the same rates as for the purchase price for a sale of land; SDLT is also charged on the rent payable under the lease, at the rate of 1% of the (discounted) net present value of rent passing under the whole term of the lease. Previously, stamp duty was charged at rate of up to 24% of the annual rent. The amount of SDLT due on the grant of a typical commercial lease generally amounts to a substantial increase from the amount of stamp duty that would have been due previously.
SDLT is also charged on certain transactions involving the transfer of land involving partnerships (transfers of land from or to the partners, or changes in the partners' partnership interests where the partnership owns land).
Whether or not tax is payable Her Majesty's Customs and Revenue require a Return to be received by them within four weeks of the transaction completing failing which they have power to levy a fine on the tax payer - the fine is not for failure to pay the tax but for failure to make the return. When a return is accepted by HMRC they provide a Certificate without which it is impossible to register a change in the land ownership.
# Taxation in the United Kingdom/Stamp taxes/Stamp duty reserve tax

Stamp duty reserve tax (SDRT) was introduced under Finance Act 1986 to ensure that a form of tax equivalent to stamp duty would continue to be payable on the transfer of uncertificated shares. At that time, it was expected that the TAURUS share trading system would come into operation. In the event, SDRT was adapted for the charge to trading in uncertificated shares in CREST, and is charged on agreements to transfer shares and other securities. SDRT is not a stamp tax, but a self-assessed transfer tax which is usually collected automatically by stock market participants (such as brokers) when a transaction takes place.
Stamp duty remains in force for shares and securities that are held in certificated form which can only be transferred by using a physical stock transfer form, and runs in parallel to SDRT on agreements to transfer shares. Since 1986, both stamp duty and SDRT have been charged at a rate of 0.5% of the consideration for the transfer of shares (in the case of stamp duty, rounded up to the nearest £5). The same transaction may include an agreement to transfer shares which may trigger a liability to SDRT, and the agreement may later be completed by a transfer of the shares which is liable to stamp duty. Provided that the transfer is stamped within 6 years, the charge to SDRT is cancelled to avoid a double charge.
A higher rate of SDRT at 1.5% is charged for the issue or transfer of shares to a person who operates a depositary receipt scheme or a clearance service (other than CREST, which is exempted). The higher charge compensates for the fact that later transfers of depositary interests or through the clearance services will not attract SDRT.
It is widely expected, although the UK Treasury may wish otherwise, that as a practical matter SDRT will not ultimately survive the introduction of the EU Markets in Financial Instruments Directive (MiFID.) which is designed to create a single market in financial services across the EU. As currently operated, SDRT will create a number of tax, legal and operational barriers that could effectively present an uneven playing field. It is totally unclear how UK Tax Authorities could hope to police transctions wholly effected in other member states.
There is little sign that this is clearly understood by the UK Government nor even faintly comprehended by the UK Stamp Office who are still stuck on the concept of imposing SDRT on transactions effected on national exchanges
# Taxation in the United Kingdom/Stamp taxes/Introduction

In the United Kingdom, stamp duty is a form of tax charged on instruments (that is, written documents), and requires a physical stamp to be attached to or impressed upon the instrument in question.
The scope of stamp duty has been reduced dramatically in recent years. Apart from transfers of shares and securities, the issue of bearer instruments and certain transactions involving partnerships, stamp duty was largely abolished in the UK from 1 December, 2003. Stamp duty land tax (SDLT), a new transfer tax derived from stamp duty, was introduced for land transactions from 1 December 2003. Stamp duty reserve tax (SDRT) was introduced on agreements to transfer certain shares and other securities in 1986.
# Write Yourself a Scheme in 48 Hours/Building a REPL

So far, we've been content to evaluate single expressions from the command line, printing the result and exiting afterwards. This is fine for a calculator, but isn't what most people think of as "programming". We'd like to be able to define new functions and variables, and refer to them later. But before we can do this, we need to build a system that can execute multiple statements without exiting the program.
Instead of executing a whole program at once, we're going to build a read-eval-print loop. This reads in expressions from the console one at a time and executes them interactively, printing the result after each expression. Later expressions can reference variables set by earlier ones (or will be able to, after the next section), letting you build up libraries of functions.
First, we need to import some additional IO functions. Add the following to the top of the program:
Next, we define a couple of helper functions to simplify some of our IO tasks. We'll want a function that prints out a string and immediately flushes the stream; otherwise, output might sit in output buffers and the user will never see prompts or results.
Then, we create a function that prints out a prompt and reads in a line of input:
Pull the code to parse and evaluate a string and trap the errors out of main into its own function:
And write a function that evaluates a string and prints the result:
Now it's time to tie it all together. We want to read input, perform a function, and print the output, all in an infinite loop. The built-in function interact almost does what we want, but doesn't loop. If we used the combination sequence . repeat . interact, we'd get an infinite loop, but we wouldn't be able to break out of it. So we need to roll our own loop:
The underscore after the name is a typical naming convention in Haskell for monadic functions that repeat but do not return a value. until_ takes a predicate that signals when to stop, an action to perform before the test, and a function-returning-an-action to do to the input. Each of the latter two is generalized over any monad, not just IO. That's why we write their types using the type variable m, and include the type constraint Monad m =>.
Note also that we can write recursive actions just as we write recursive functions.
Now that we have all the machinery in place, we can write our REPL easily:
And change our main function so it either executes a single expression, or enters the REPL and continues evaluating expressions until we type quit:
Compile and run the program, and try it out:
# World of Warcraft/Wetlands

This is a swamp area to the north of Ironforge. The swamp extends along the length of the area from Menthil Harbour in the West, to the waterfall of the dwarven dam to the east. To the north there is the dwarven bridge of the Thandol Span. The remains of the Third Fleet lie wrecked along the western coast line where the river delta meets the sea.

### Crafting Items

A guide to the crafting materials that can be obtained from the Wetlands.

#### Herbs

On the coast area there are a number of Stranglekelp locations, notably at the Murloc village south of Menthil Harbour and around the ships of the Lost Fleet.

### Fishing

At night pools of Oily Blackmouth and Firefin Snapper appear.
# Topology/Cohomology
## Introduction

Cohomology is a strongly related concept to homology, it is a contravariant in the sense of a branch of mathematics known as category theory. In homology theory we study the relationship between mappings going down in dimension from n-dimensional structure to its (n-1)-dimensional border. However, in cohomology the maps are reversed, and instead of chain groups we study groups of mappings from those groups.
Although this description may imply that somehow cohomology theory is no more or less powerful than homology theory, this impression would be wrong, as it turns out that the cohomology of a space is often more powerful. Further knowing the homology of a space gives us the cohomology and the cohomology greatly restricts what homology a space can have.

## Hom(A,B) and Categorical Duals
### Definition of Hom(A,B)

Hom(A,B) is the group of all homomorphisms $h:A\to B$ under composition. However, the term can be made applicable in many fields, in the context of topological spaces it is the group of continuous functions. Thus it is better to think of the group as the group of all structure preserving functions.
This construction is at the core of category theory which has been successful in acting as a foundational theory for large parts of algebraic topology. For now what we need is the idea that the dual of a group $C$ is $C^{*}=Hom(C,G)$ and $(C^{*})^{*}=Hom(Hom(C,G),G)$

## Cochain Complex

In homology theory we used the chain complex
    $\cdots C_{n}{\xrightarrow {\partial _{n}}}C_{n-1}\cdots$
to form our homology groups $H_{n}(X)=Ker(\partial _{n})/Im(\partial _{n+1})$. Using that as our inspiration, we form
    $\delta ^{n}:C_{n-1}^{*}\to C_{n}^{*}$
where $C_{n}^{*}=Hom(C_{n},G)$ for a given group G. Our cochain complex is as follows
    $\cdots Hom(C_{n},G){\xrightarrow {\delta ^{n}}}Hom(C_{n-1},G)\cdots$
To find our cohomology groups $H^{n}(X;G)$ note that this is relative to our chosen group $G$ so for a given method we have to choose $G$ appropriately.

## Examples

(under construction)

## Exercises

(under construction)
# Topology/Completion

The completion of a metric space is a very important construction of a complete metric space from a possibly non-complete metric space. In effect, it is the smallest extension of a metric space to a complete version of it.
Definition: Take equivalence classes of Cauchy sequences in a metric space X such that two Cauchy sequences are equivalent when they converge to each other i. e. their difference approaches a limit 0. This set of equivalence classes is called the closure of the metric space.

## Theorem

The completion of a metric space is unique and complete, and forms a metric space under the metric d(x$_n$,y$_n$) is equal to the limit of their difference, where x$_n$ and y$_n$ are two Cauchy sequences, and this metric is well-defined. Moreover, the subset of the equivalence classes which converge to an element in the metric space X is homeomorphic to X, and any other complete extension of X must contain its completion.

### Proof
## Example

One way of constructing the Real numbers is by saying that it is the completion of the rational numbers.
# Transportation Geography and Network Science/Modal selection

Network technologies, including modes affect the optimal network geographical and topological arrangement. The optimal mode depends on market size and distances.
This figure 'Autos, Trains, and Planes', which is standard in transportation economics or geography, shows the "optimal" mode for a particular distance. For short distances the lower fixed costs of making an auto trip outweigh its slower running speed. At longer distances, the high fixed access costs of airplanes are compensated by a faster travel times. Trains are historically in the middle. A similar graph applies to freight, just change the modes to Autos to Trucks, Passenger Trains to Freight Trains, and Planes to Ships. The question is whether there is a range between d1 and d2, that is, does rail actually dominate both autos and planes over any region. In terms of travel time it probably does, and looking only at operating cost, it might. In terms of overall cost, including the fixed cost of construction of a new HSR line, it probably does not under current cost structures. The size of this range, if it exists, is, however, empirical, and subject to change with costs and technologies.
# 0.999.../Decimal multiplication by 10

Multiplying an infinite decimal by 10 is just as simple as multiplying an finite decimal by 10: every digit shifts one space to the left.

## Assumptions

* Definition from series
* Term-by-term operations on series
* Shifting a series

## Theorem
### Statement

If A = 0.a$_1$a$_2$a$_3$… then 10 × A = a$_1$.a$_2$a$_3$a$_4$…

### Proof

We apply the definition of an infinite decimal as a series:
    $A=\sum _{n=0}^{\infty }{\frac {a_{n}}{10^{n}}}.$
Next we apply the fact that a scalar multiple of a series can be computed term-by-term:
    $10A=\sum _{n=0}^{\infty }{\frac {10a_{n}}{10^{n}}}=\sum _{n=0}^{\infty }{\frac {a_{n}}{10^{n-1}}}.$
Next we shift the series:
    $10A=a_{0}+\sum _{n=0}^{\infty }{\frac {a_{n+1}}{10^{(n+1)-1}}}.$
But a$_0$ = 0 by assumption, so we can simplify:
    $10A=\sum _{n=0}^{\infty }{\frac {a_{n+1}}{10^{n}}},$
which is the desired result.