text:
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:

sum: func [num1 [number!] num2 [number!]] [num1 + num2]

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:

image %nice-graphic.jpg button "Go" [do something] button "Stop" [quit] the-field: area "Enter text here"

You may not realize it, but you use a dialect when you tell the parse function how to parse strings or blocks:

thru copy title to

When you want to control the security for your program, you also use a dialect:

net allow file [ ask all allow read quit execute ] shell quit

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:

>> load {sell 100 shares "aacmee" now} == [sell 100 shares "aacmee" now]

But, the example below is not a valid dialect. It cannot be loaded.

>> load {move 100-200 draw @line} ** Syntax Error: Invalid date -- 100-200

Nor is this line of C code a valid dialect:

>> load {for (i = 1; i < 10; i++) print(i);} ** Syntax Error: Missing ) at end-of-script

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:

"Bob" 21 bob@example.com $100

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:

data: load {"Bob" 21 bob@example.com $100} set [name age email payment] data

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:

37 "Bob" "Smith" "1000 Example Dr." "Example" "CA" "90000" spouse "Linda Smith" phone "555-1234" package [all 2 true] paid $70.00 bio {I went to school for Industrial Instrumentation.} approve [book-name book-bio]

The words in this dialect (like spouse, phone, package) are used for optional fields of the record.


text:
User:MathMan64~enwikibooks/Arithmetic/Previous

Simple arithmetic
There are four basic operations one can perform on different numerical quantities (as well as other mathematical objects which you will encounter later). These are:
 * addition
 * subtraction
 * multiplication
 * division

There is also the use of exponents, explained briefly under Multiplication in this section and explained further in the section, Algebra/Further arithmetic, under Exponents.

It is also important to understand that the equals sign (in this book, '$$=$$' ) means that the things on both sides are of equal value, and that $$=$$ is not an operator.

When you see an $$=$$ sign, say to yourself Same value, different appearance.

Addition
Addition operations are denoted by the + sign. The addition operator (plus sign) will take any two numbers, called addends, as operands to work on. The result is called the sum of the two numbers.

The operation of addition is commutative. This means that the addition of two numbers will give the same sum regardless of the order in which the numbers are added.

Example:
 * $$7 + 5 = 12$$ and $$5 + 7 = 12$$

 * $$3 + 2 + 4 = 9$$ and $$4 + 3 + 2 = 9$$

See also Numerical axioms.

Exercises
In Exercises 1–25, find the sum.
 * 1. $$5 + 3$$
 * 2. $$8 + 7$$
 * 3. $$9 + 2$$
 * 4. $$6 + 3$$
 * 5. $$1 + 4$$
 * 6. $$2 + 17$$
 * 7. $$12 + 11$$
 * 8. $$53 + 8$$
 * 9. $$41 + 9$$
 * 10. $$84 + 12$$
 * 11. $$16 + 17$$
 * 12. $$7,576 + 5,345$$
 * 13. $$2,345 + 3,245$$
 * 14. $$8,952 + 9,423$$
 * 15. $$2,783 + 2,389$$
 * 16. $$189,583 + 1,574,822$$
 * 17. $$1.5 + 2.7$$
 * 18. $$5.4 + 3.9$$
 * 19. $$8.3 + 9.2$$
 * 20. $$2.23 + 4.89$$
 * 21. $$534.4 + 34.675$$
 * 22. $$348.904 + 23,498.2$$
 * 23. $$1.673 + 48,210.38$$
 * 24. $$10.4823 + 94.29478$$
 * 25. $$128.52 + 2,070.24$$

Answers

Subtraction
Subtraction, as you probably also have seen, uses the - sign. The generic subtraction operator will take any two numbers as operands. The result is called the difference of the two numbers.

Subtraction is not a commutative operation. Changing the order of the operands will likely give a different (not the same) result.

Example:
 * $$7 - 5 = 2$$ and $$5 - 7 = -2$$

 * $$3 - 2 - 4 = -3$$ and $$4 - 3 - 2 = -1$$

Exercises
In Exercises 26–50, find the difference.
 * 26. $$5 - 3$$
 * 27. $$8 - 7$$
 * 28. $$9 - 2$$
 * 29. $$6 - 3$$
 * 30. $$1 - 4$$
 * 31. $$2 - 17$$
 * 32. $$12 - 11$$
 * 33. $$53 - 8$$
 * 34. $$41 - 9$$
 * 35. $$84 - 12$$
 * 36. $$16 - 17$$
 * 37. $$7,576 - 5,345$$
 * 38. $$2,345 - 3,245$$
 * 39. $$8,952 - 9,423$$
 * 40. $$2,783 - 2,389$$
 * 41. $$1,574,822 - 189,583$$
 * 42. $$2.7 - 1.5$$
 * 43. $$5.4 - 3.9$$
 * 44. $$8.3 - 9.2$$
 * 45. $$2.23 - 4.89$$
 * 46. $$10.38 - 1.673$$
 * 47. $$534.4 - 34.675$$
 * 48. $$348.904 - 23,498.2$$
 * 49. $$10.4823 - 94.29478$$
 * 50. $$2,070.24 - 128.52$$

Answers

Multiplication
Multiplication is denoted by a *, $$\times$$, or $$\cdot$$ sign. However, the X sign is normally not used in algebra, and is instead limited to very basic elementary math, as it can easily be confused with an "x" variable. The generic multiplication operator will take any two numbers, called factors, as operands. The result is called the product of the two numbers. If the multiplicants are not both written as numbers, the multiplication sign can be left out. Thus, the following example expressions are equivalent:

$$3*\!(a*b) = 3 \times \!(a \times b) = 3\! \cdot \!(a \!\cdot \! b) = 3 \!\cdot \!(ab) = 3(a \!\cdot \! b) = 3(ab) = 3ab$$

Multiplication is a form of repeated addition. For example $$ 3 \times 5 $$ means

$$ 3 + 3 + 3 + 3 + 3 \quad \operatorname{or} \quad 5 + 5 + 5 $$

Multiplication is also commutative. This means that the multiplication of two numbers (factors) will give the same product regardless of the order in which the numbers are multiplied together.

Numbers with exponents that are whole numbers larger than 1 indicate the number of factors to be multiplied, thus that number is multiplied by itself as many times as the exponent shows. Numbers with an exponent of 1 have only one factor, and therefore are equal to the number. Any number with an exponent of 0 has no factors at all, and the result is 1. Examples:

$$5^3 = 5 \times 5 \times 5 \qquad\qquad 5^1 = 5 \qquad\qquad 5^0 = 1$$

Further information on exponents is given under Radicals in this section and in the section, Algrebra/Further arithmetic, under Exponents.

Division
Division uses the ÷ sign. It may also be signified by the slash, /, :, or the fraction bar. The generic division operator will take any two numbers as operands. The number before the ÷ sign is called the dividend and the number after the ÷ sign is called the divisor. The result is called the quotient of the two numbers.

Division is not a commutative operation. Switching the dividend and the divisor will likely give a different quotient. The division with a divisor of 0 is not defined. There is no answer for it.

Example:
 * $$4 / 2 = 2$$ and $$2 / 4 = 0.5$$

Long Division
In arithmetic, long division is an algorithm for division of two real numbers. It requires only the means to write the numbers down, and is simple to perform even for large dividends because the algorithm separates a complex division problem into smaller problems. However, the procedure requires various numbers to be divided by the divisor: this is simple with single-digit divisors, but becomes harder with larger ones.

A more generalized version of this method is used for dividing polynomials (sometimes using a shorthand version called synthetic division).

In long division notation, 500 ÷ 4 = 125 is denoted as follows:

\begin{matrix} \quad 125\\ 4\overline{)500}\\ \end{matrix} $$

The method involves several steps:

1. Write the dividend and divisor in this form:

 * $$4\overline{)500}$$

In this example, 500 is the dividend and 4 is the divisor.

2. Consider the leftmost digit of the dividend (5). Find the largest multiple of the divisor that is less than the leftmost digit: in other words, mentally perform "5 divided by 4". If this digit is too small, consider the first two digits.

In this case, the largest multiple of 4 that is less than 5 is 4. Write this number under the leftmost digit of the dividend. Write the multiple divided by the divisor (4 divided by 4 = 1) above the line over the leftmost digit of the dividend.

\begin{matrix} 1\\ 4\overline{)500}\\ 4 \end{matrix} $$

3. Subtract the digit under the dividend from the digit used in the dividend. Write the result (remainder) (5 − 4 = 1) under the bottom digit, then drop the zero (the second digit) to the right of it.

\begin{matrix} 1\\ 4\overline{)500}\\ \underline{4}\\ \;\,10 \end{matrix} $$

4. Repeat steps 2 and 3, except use the number you just created to divide by, and write above and under the second digit.

\begin{matrix} \,\,12\\ 4\overline{)500}\\ \underline{4}\\ \;\,10\\ \quad\underline{8}\\ \quad\;\,20 \end{matrix} $$

5. Repeat step 4 until there are no digits remaining in the dividend. The number written above the bar is the quotient, and the last remainder calculated is the remainder for the entire problem.

\begin{matrix} \quad 125\\ 4\overline{)500}\\ \underline{4}\\ \;\,10\\ \quad\underline{8}\\ \quad\;\,20\\ \quad\;\,\underline{20}\\ \qquad0 \end{matrix} $$

Order of operations
The order of operations is the order in which all algebraic expressions should be simplified. Oftentimes, the meaning of a complex expression changes depending upon the order in which it is calculated. The order of operations is:

 * Parentheses
 * Exponents
 * Multiplication & Division
 * Addition & Subtraction

This means that expressions within parentheses are evaluated first, then exponents (including roots, i.e. radicals), then multiplication and division (at the same level), and finally addition and subtraction (at the same level). If there are multiple operations at the same level on the order of operations, move from left to right.

There are a number of different abbreviations for memorizing the order. PEMDAS, BEDMAS and BODMAS (B is Brackets) are common. Another common way to remember the order is the mnemonic

 * "Please Excuse My Dear Aunt Sally,"

with the beginning letters standing for each operation. Whichever mnemonic you use, be aware that multiplication does not always come before division, and addition does not always come before subtraction. For example:

If you have an expression like

 * 3 × 3 - 5 + 2

you work like this: First notice that, there are no Parenthesis or Exponents, so we move to Multiplication and Division. There's only the one multiplication, so we do that first and end up with 9 - 5 + 2. Now we move to Addition and Subtraction, working left to right. So firstly we do the subtraction to get 4 + 2, and finally the addition to give 6. If we had blindly done the addition first, we would have got the answer 2, which is wrong!

The rationale for the grouping (apart from parentheses, which are obviously first) is that multiplication is repeated addition and exponentiation is repeated multiplication. Also, division is multiplication by the reciprocal and subtraction is addition of the negative, so these operations are equivalent. In fact PEMA would be a better phrase ("Please Excuse My Aunt"), but in lower arithmetic courses MDAS is often taught without explaining reciprocals.

Parentheses are curved symbols, ( and ), that are put around part of an expression in order to convey that the expressions inside them should be evaluated first. Within a set of parentheses, the order of operations should be followed. Square brackets, [ and ], are sometimes used around parentheses to avoid confusion: [(3+5)×2]2 means the same as ((3+5)×2)2. The fraction bar and radical bar (often called a vinculum) groups expressions like parentheses.

For example, the expression 2×(6+7)-82 should be solved in the following order:

If the desired order for solving the expression were different (based on the initial problem), parentheses would be positioned differently, or even omitted.

The meaning of the fraction and radical bars must be deciphered carefully. The part of the expression directly below or above the bar is to be treated as parenthesised. (Care must be taken in writing expressions with a bar.)

The expression $$\sqrt{a + b} \times c$$ means c times the root of a + b, not the root of a + b × c or even the root of c times the sum a + b, since the bar is above the a and the b, but not the c.

The expression $$\frac{4 + 5}{1 + 2}$$ could be written in one line as (4+5)/(1+2) = 9/3 = 3, not as 4+5/1+2 = 4+5+2 = 11. As you see, the expression above the bar is evaluated, as is the expression below the bar. Finally we can divide.

Because of order of operations -22 = -(22) = -4, not (-2)2 = +4: the negative sign can be considered to have an implicit 0 in front, making the expression 0 - 22.

The order of operations is very important, and you must remember the order when using simple calculators. Expressions such as 2+3×5 vary on the order used. Entering [2] [+] [3] [×] [5] on most calculators would result in adding three to two and then multiplying by five, resulting in 25; the proper evaluation sequence would be 2+(3×5), multiplying three and five and then adding that to two to get 17. Some scientific calculators and most graphing calculators use the proper order of operations, but four-function calculators typically use "left-to-right" evaluation, which can return incorrect results.

See Also:
 * Exponents

Fractions
A fraction consists of one quantity divided by another quantity. The fraction "three divided by five" or "three over five" or "three fifths" can be written as: $$ \frac{3}{5} $$

or as:   3/5

In this section, we will use the notation 3/5. Note that some fractions have special names.

 * 1/2 - Instead of calling this a twoth, or a second, it's called a half.
 * 3/4 - As well as three fourths, it can also be called three quarters.

Numerator and Denominator
The first quantity, the number on top of the fraction, is called the numerator. It tells you the number, or how many of something you've got. The other number, on the bottom, is called the denominator. The denominator tells you the denomination of the fraction, which is really just a fancy way of telling you the type of the fraction. In exactly the same way, we know a £5 note and a £10 pound note are different because they are different types.

So, look at a number like 3/5. The numerator is 3. So whatever we've got, we've got three of them. The denominator is 5, so we've got fifths, whatever they are. Put the two together, we've got three of those things called fifths. We've got three fifths, we've got 3/5. Same value, different appearance.

Several rules for the calculation with fractions are useful:

Changing the type of a fraction
If both the numerator and the denominator of a fraction are multiplied or divided by the same number, then the fraction does not change its value.

This means we can make some fractions simpler, by making the numbers involved smaller. When the numbers are as small as possible, the fraction is said to be expressed in its lowest terms, or reduced. Let's look at an example: 4/6 = 2/3.

Remember what that ' = ' sign means? It means that 4/6 and 2/3, although they look different, have the same value. Same value, different appearance.

This is because

 * $$ \frac{4}{6} = \frac{4/2}{6/2} = \frac{2}{3}$$.

Try it out yourself with a calculator or with long division. From here, there is nothing we can divide both numbers by, so the the fraction is reduced, which is our goal.

Adding fractions
Before we go into fractions, let's have a think about what addition is. Answer these really simple questions.

 * What is 1 bird + 5 birds?
 * What is 3 elephants + 9 elephants?
 * What is 6 birds + 2 elephants?

Hopefully you could answer the first two, but you might have had trouble with the third. Why? Because we can't add up two different things! However, before we add them up, we can change them into something else. We can say that 6 birds are really just 6 animals, and 2 elephants are really 2 animals, so now

 * 6 birds + 2 elephants = 8 animals.

You probably did all this in your head without even thinking about it - so what has it all got to do with fractions?

To add or subtract two fractions, you first need to change the two fractions so that they have the same type. The simplest way to do this is to multiply the numerator and denominator of each fraction by the denominator of the other.

For instance,

$$\frac{2}{3} + \frac{1}{4} = \frac{2 \times 4}{3 \times 4} + \frac{1 \times 3}{4 \times 3} = \frac{8}{12} + \frac{3}{12} = \frac{(8+3)}{12} = \frac{11}{12}$$

A more advanced way is to use the LCM of the denominators, which will be explained later in this section. Then you can add or subtract the numerators and put the common denominator as the denominator of the solution.

Multiplying fractions
To multiply two fractions:
 * multiply the numerators to get the new numerator, and
 * multiply the denominators to get the new denominator.

For instance,

 * $$\frac{2}{3} \times \frac{1}{4} = \frac{2 \times 1}{3 \times 4} = \frac{2}{12} = \frac{1}{6}$$.

Dividing fractions
To divide one fraction by another one, flip numerator and denominator of the second one, and then multiply the two fractions. The flipped-over fraction is called the multiplicative inverse or reciprocal.

For instance,

 * $$\left(\frac{2}{3}\right) / \left(\frac{4}{5}\right) = \frac{2}{3} \times \frac{5}{4} = \frac{2 \times 5}{3 \times 4} = \frac{10}{12} = \frac{5}{6}$$.

To simplify a compound fraction, like $$\frac{\left(\frac{3}{5}\right)}{\left(\frac{1}{4}\right)}$$, just remember that a fraction is the same as division, and divide (3/5) ÷ (1/4), which comes to 12/5.

Mixed fractions
Sometimes you may meet 'mixed fractions' like $$1\frac{3}{5}$$. This really means $$1+\frac{3}{5}$$, or in words one and three-fifths. Mixed fractions are hard to work with... how would you go about working out the following?

 * $$1\frac{3}{5} \times 2\frac{2}{7}$$

The answer is to convert the mixed fraction into a standard fraction of the form numerator/denominator. For example,

$$1\frac{3}{5}=1+\frac{3}{5}=\frac{5}{5}+\frac{3}{5}=\frac{8}{5}\,\,\,\,$$

and

$$2\frac{2}{7}=2+\frac{2}{7}=\frac{14}{7}+\frac{2}{7}=\frac{16}{7}$$

Now, it's simple to multiply the fractions together:

$$1\frac{3}{5} \times 2\frac{2}{7}=\frac{8}{5} \times \frac{16}{7}=\frac{128}{35}=\frac{105}{35}+\frac{23}{35}=3\frac{23}{35}$$

Absolute value
The absolute value of a number is found by applying a simple rule: If you see a negative sign in front of the number, change it to a plus sign. If you see a plus sign, leave it alone. So, for example, the absolute value of -17 is +17. The absolute value of +36 is +36.

Another way to understand the absolute value of a number is to think about the number line:

The absolute value of a number is the distance from zero to that number on the number line.

The absolute value of x is usually written as |x|. On calculators and computers it is sometimes written as abs (x).

Questions:

1. Calculate the absolute value of the following numbers:
 * a. -5
 * b. 9
 * c. -3.8
 * d. -139,462
 * e. 5/8

2. What is the absolute value of zero? Explain.

3. Calculate the following:

 * a. |27|
 * b. |-1.9|
 * c. |3 - 7|
 * d. |3 - 0.5|
 * e. abs (-6)

4. Draw a graph of abs(x) from -5 to +5. Can abs(x) ever be less than zero? How can you see that from your graph?

Answers:

1. a. 5 b. 9 c. 3.8 d. 139,462 e. 5/8

2. Zero, because zero is exactly zero away from zero on the number line.

3. a. 27 b. 1.9 c. |3-7| = |-4| = 4 d. |3-0.5| = |2.5| = 2.5 e. 6

4. [[media:Abs_of_x.png|Image of the absolute value of x]]

Radicals
A radical is a special kind of number that is the root of a polynomial equation. First, let us look at one specific kind of radical, the "square root". It is a special kind of number related to squaring.

When we have a number, say 2, what positive number will give us, when we square it, the number 2?

 * 1 × 1 = 1, so the number must be higher than 1.
 * 2 × 2 = 4, so the number must be lower than 2.
 * 1.5 × 1.5 = 2.25, so the number must be lower than 1.5.

We could continue like this forever, and with each step get closer and closer to the answers (this kind of process for refining the answer is called iteration). The number we are looking for is approximately 1.41421...

Obviously this is very difficult for us to work with, so we have a special notation. We write for a number a, $$\sqrt{a}$$ to represent the number when squared will give us a back.

Since this is the inverse operation from squaring, it can also be denoted as a1/2 and $$(a^{1/2})^2=a^1=a$$.

We can extend this idea to other kinds of radicals. $$\sqrt[3]{a}$$ indicates the number $$x$$ such that $$x^3=a$$. For example, $$\sqrt[3]{7}=1.91293...$$

Note that it is not possible to find any real number whose square would be negative. Multiplying with a negative number changes the sign of the number being multiplied and two negative signs thus eliminate each other. For example, -7 × -7 = 49 and also 7 × 7 = 49. Therefore the square root of a negative number is an undefined operation unless imaginary numbers are allowed as answers.

Estimation
Estimation involves working out a rough answer to a calculation. The most common way to estimate a solution to a calculation is to round the numbers up or down to numbers which are easier to calculate with.

An example: Estimate the answer to 99 × 9. In this case we can easily see that 9 is almost 10, and multiplying by 10 is really easy, so we can replace our calculation with 99 × 10 which is far more easy to calculate. As we rounded a number up we know that our estimate is going to be larger than the real answer.

Why don't we just call this a guess? The difference is that a guess is just that, a completely wild guess. An estimate is based on some extra information. So whilst you might guess that 99 × 9 is something around 1000 by just pulling a number out of the air, we estimate that 99 × 9 is close to 99 × 10, then we work out 99 × 10 exactly, which gives 990 as an estimate of 99 × 9.

When we estimate, we want our estimate to be close enough to the actual value so as to be useful. (This also applies to approximation.) In our example above, the answer deviates from the actual value by about 10%, which might not be acceptable. Estimation often involves some guesswork, so we might not actually know how accurate our estimate is. (And yes, that figure 10% is itself an estimate.)

A better way to estimate 99 × 9 is to say that 99 is close to 100, then we work out 100 × 9 exactly, which gives 900 as an estimate of 99 × 9. This estimate is about 1% off. The reason this is a better estimate is that 99 deviates from 100 much less than 9 deviates from 10 in percentage terms (although the absolute difference is one in each case).

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text: Template:Radiation Oncology/Thyroid:TOC

title: Template:Radiation Oncology/Thyroid:TOC


text:
Radiation Oncology/Thyroid/Workup

Thyroid nodules

 * 95% of palpable thyroid nodules in adults are benign.
 * Prevalence is around 4% in the general population by palpation. Prevalence is 30-50% by ultrasound.
 * FNA biopsy is the most reliable diagnostic test for a thyroid nodule. Can be positive for malignancy, negative, or indeterminate.

If positive for malignancy, should proceed to definitive treatment.

If negative, serial follow-up is recommended.

Indeterminate biopsies can be:
 * Suspicious for papillary carcinoma: patients with biopsy suspicious have a high likelihood (82%) of having papillary carcinoma. Recommend total thyroidectomy.
 * Suspicious for follicular or Hürthle cell carcinoma: Only 15-20% chance of invasive carcinoma. Usually proceed to thyroidectomy with frozen section analysis.

Reviews:
 * PMID 12588078, 2003 — "Thyroid nodules." Welker MJ et al. Am Fam Physician. 2003 Feb 1;67(3):559-66.

Guidelines:
 * Society of Radiologists in Ultrasound (2004)
 * PMID 16304103 Full text -- "Management of thyroid nodules detected at US: Society of Radiologists in Ultrasound consensus conference statement." (Frates MC, Radiology. 2005 Dec;237(3):794-800.) -- 2004 consensus statement
 * Solitary nodule:
 * Microcalcifications - strongly consider U/S guided FNA if ≥ 1 cm
 * Solid (or almost entirely solid) or coarse calcifications - strongly consider U/S guided FNA if ≥ 1.5 cm
 * Mixed solid and cystic or almost entirely cystic with solid mural component - consider U/S guided FNA if ≥ 2 cm
 * None of the above, but substantial growth since prior U/S - consider U/S guided FNA
 * Almost entirely cystic and none of the above and no substantial growth (or no prior U/S) - U/S guided FNA probably unnecessary
 * Multiple nodules - consider U/S guided FNA of one or more nodules on basis of criteria (in order listed) for solitary nodule
 * AACE/AME Guidelines (2006) - Website PDF
 * PMID 16596732 — "American Association of Clinical Endocrinologists and Associazione Medici Endocrinologi medical guidelines for clinical practice for the diagnosis and management of thyroid nodules." (Endocr Pract. 2006 Jan-Feb;12(1):63-102.)
 * ATA Guidelines - Website
 * 2009: PMID 19860577 PDF — "Revised American Thyroid Association management guidelines for patients with thyroid nodules and differentiated thyroid cancer." (Cooper DS, Thyroid. 2009 Nov;19(11):1167-214.)

Thyroid incidentalomas
Thyroid incidentalomas are thyroid nodules discovered incidentally by an imaging procedure (e.g. US or CT) performed for an unrelated incidcation.

Prevalence:
 * PMID 15009911, 2004 — "Prevalence, clinical and ultrasonographic characteristics of thyroid incidentalomas."
 * PMID 15840794, 2005 — "Rates of malignancy in incidentally discovered thyroid nodules evaluated with sonography and fine-needle aspiration."

Diagnosis:
 * PMID 14678283, 2004 — "Ultrasonography-guided fine-needle aspiration of thyroid incidentaloma: correlation with pathological findings."

Reviews:
 * PMID 15145242, 2004 — "Management of thyroid incidentalomas."

Guidelines

 * see Radiation Oncology/Thyroid/Guidelines

Management/Treatment:
 * AACE/AAES Guidelines (2001) - Website PDF
 * PMID 11430305 — "AACE/AAES medical/surgical guidelines for clinical practice: management of thyroid carcinoma. American Association of Clinical Endocrinologists. American College of Endocrinology." (Endocr Pract. 2001 May-Jun;7(3):202-20.)

title: Radiation Oncology/Thyroid/Workup


text:
Radiation Oncology/Thyroid/Medullary

Epidemiology

 * About 5% of thyroid cancers.
 * Present in 5th decade.
 * 80% are sporadic, but some can result from MEN 2 syndrome.
 * There is also a Familial (non MEN 2-related) medullary thyroid cancer syndrome

Genetics

 * Medullary thyroid CA associated w/ MEN 2 syndrome results from a mutation in RET gene.
 * MEN 2 w/ ~70% penetrance

Pathophysiology

 * Neuroendocrine tumor that derive from parafollicular C cells
 * C cells secrete can secrete calcitonin (which can therefore be used as a tumour marker)
 * Non iodine avid therefore no role for I-131 ablation after surgery

Staging
UICC/AJCC Staging
 * see Staging for details

 * Stage I - <2cm, confined to thyroid
 * Stage II - 2-4cm, confined to thyroid
 * Stage III - >4cm, N+ in level VI, or microscopic extrathyroid extension
 * Stage IV - M+, N+ outside of level VI, gross soft tissue extension

Treatment

 * Treatment includes total thyroidectomy with central neck lymph node dissection.
 * Indications for adjuvant radiation: microscopic residual dz, extensive nodal involvement, extrathyroid extension.

Adjuvant Radiation

 * University of Toronto, 1996 (1954-92) PMID 8875751 -- "Medullary thyroid cancer: analyses of survival and prognostic factors and the role of radiation therapy in local control." Thyroid. 1996 Aug;6(4):305-10.
 * 73 pts w/ medullary thyroid CA. 46 pts received xrt (median dose 40 Gy).
 * On multi-variate analysis, factors that predicted for lower CSS were extraglandular invasion and postop gross residual dz.
 * Pts w/ high risk for locoregional relapse (microscopic residual dz, extraglandular invasion, N+) benefited from RT.
 * Conclusion: external beam RT recommended if high risk

 * FFCI, 1992 (1971-89) PMID 1736326 -- "Results of postoperative radiation therapy in medullary carcinoma of the thyroid: a retrospective study by the French Federation of Cancer Institutes--the Radiotherapy Cooperative Group."  Radiother Oncol. 1992 Jan;23(1):1-5.
 * 59 pts w/ medullary thyroid CA receiving EBRT w/ curative intent. Total thyroidectomy in 55 pts.  11 pts w/ residual tumor, 44 pts w/ N+.  Mean dose 54 Gy.
 * 70% local control, with failures mostly occurring in RT field.

 * MDACC, 1988 (1943-87) PMID 2807151 -- "Medullary thyroid carcinoma: prognosis of familial versus nonfamilial disease and the role of radiotherapy." Samaan NA et al.  Horm Metab Res Suppl. 1989;21:21-5.
 * 202 pts w/ medullary thyroid CA
 * Pts w/ MEN2 had longer survival rates than sporadic medullary thyroid CA
 * When pts who were matched for age, extent of dz, and surgery were compared for effect of radiation therapy, pts who had no radiotherapy were found to live significantly longer.

Guidelines

 * ATA Guidelines - Website
 * 2009: PMID 19469690 PDF "Medullary Thyroid Cancer: Management Guidelines of the American Thyroid Association" (Kloos RT, Thyroid. 2009 Jun;19(6):565-612.)

title: Radiation Oncology/Thyroid/Medullary


text:
Portuguese/Conjunctions

Conjunctions are words that join phrases together. The most common in Portuguese are:

e - and Os colegas bebem café frio e chá quente The colleagues drink cold coffee and hot tea. mas - but Este copo está vazio, mas o outro copo está cheio. This glass is empty, but the other glass is full.

porque - because Eu tento interessar-me por política porque tenho que ir votar para o mês que vem. I am trying to get interested (lit. interest myself) in politics because I have to go to vote next month.

enquanto - while Ele cantou enquanto os seus pais ouviam. He sang while his parents listened.

logo - therefore, so Estou cansado, logo não vou me levantar. I am tired, therefore I won't get up.

title: Portuguese/Conjunctions


text:
Rebol Programming/Design Guide/Forget the Past

This is perhaps the most important single piece of advice when learning Rebol for the first time: forget the past. Forget what you already know about programming.

Rebol is different. If you know other programming languages such as C or BASIC, and you expect to program Rebol the same way, then what you will get as a result is C or BASIC. Nothing better. We've seen this happen many times.

When programmers finally "get" Rebol, they often make this comment: "You should have told me to forget what I know about programming, I would have been better off."

Does that mean Rebol is difficult to learn? No it's not. But, it's different in many ways, and it makes you think differently about how to program... that is, if you want to program well. Rebol's powerful concept of "dialecting" is just one example.

Here's another way to look at Rebol: If you compare the way you code in assembly language to the way you write in higher level languages, your approach is quite different. This same amplification factor is true with Rebol when compared to most higher level languages.


text:
Radiation Oncology/Bone

Bone tumors

 * Staging
 * Background

Types:
 * Osteosarcoma
 * Chondrosarcoma
 * Ewing sarcoma
 * Fibrosarcoma
 * Chordoma
 * Giant cell tumor of bone
 * Osteoblastoma
 * Primary Reticulum-Cell Sarcoma of Bone
 * Epithelioid hemangioendothelioma

Other:
 * Bone metastases
 * Primary Bone Lymphoma

title: Radiation Oncology/Bone


text:
Radiation Oncology/Bone/Background

Epidemiology
Incidence: 8 per 1,000,000. 2440 cases in 2004.

Incidence: osteosarcoma (35%), chondrosarcoma (30%), Ewing's sarcoma (16%)

Histology
Note: Adapted from Dahlin DC, Bone tumors: general aspects and data on 6,221 cases, 3rd ed. 1978

Location

 * EG-MODE
 * Epiphysis: Giant cell
 * Metaphysis: Osteosarcoma
 * Diaphysis: Ewing's sarcoma

title: Radiation Oncology/Bone/Background


text:
User talk:68.82.142.172

Radiation Oncology
Hello, and thank you for your contributions to the Radiation Oncology wiki! — Brim 03:06, 7 September 2005 (UTC)

title: User talk:68.82.142.172


text:
Sexual Psychology/Pornography

Pornography (from Greek πορνογραφια pornographia — literally writing about or drawings of harlots) (also informally referred to as "porn" or "porno") is the representation of the human body or human sexual behaviour with the goal of sexual arousal, similar to, but (according to some) distinct from, erotica.:)

Pornography may use any of a variety of media — written and spoken text, photos, sculpture, drawings, moving images (including animation), and sounds such as heavy breathing. Pornographic films combine moving images, spoken erotic text and/or other erotic sounds, while magazines often combine photos and written text. Novels and short stories provide written text, sometimes with illustrations. In addition to media, a live performance may also be called pornographic.

title: Sexual Psychology/Pornography


text:
Rebol Programming/Language Features/Series

Introducing series
Series were introduced to Rebol by its designer to represent sequences of values. The most typical series in Rebol are blocks.

Naturally, it would be quite nifty if you could access, manipulate, and refer to individual entries within a series.

Well, it just so happens that Rebol provides a quite extensive "data access technology" for accomplishing this.

Let's look at a first example which will help to sharpen our intuitive idea as to what a series looks like.

The following is a Rebol block which has two entries:

series1: [1 2] ; == [1 2]

You might read this as The word series1 refers to a block having 2 entries, both of which happen to refer to integers.

Since any block has zero or more entries (you did know that a block can have nothing in it, n'est-ce pas?), and since as a point of fact this particular block happens to have 2 entries, you would be quite correct to say that the block can be treated as a series.

And of course, looking at this, you might wonder, how do you do things like "ask" what the second entry's value is? Or maybe you want to know if the n'th entry in a particular series exists? Or maybe you wish to change a particular entry within a series.

You can do all this and much more in Rebol.

So let's take a look at how we can access data in a series within Rebol.

Data access methods
In Rebol we can use several methods. The method using the first, second, etc. functions:

first series1 ; == 1

The method using the path notation:

series1/1 ; == 1

The method using the pick function:

pick series1 1 ; == 1

Using variables for data access
Let's suppose, that we have got a variable (e.g. i),

i: 2

that shall be used to access a specific entry within a series. How can this be done?

Although the method using the first function doesn't look useful for this, it can be used too. The details are described in the subsequent sections.

The method using the path notation is:

series1/:i ; == 2

The method using the pick function:

pick series1 i ; == 2

Why doesn't work?
Actually,  does work, but it doesn't interpret the word i as a variable. Example:

i: 20 series23: [1 i 3] series23/i ; == 3

Description: when the interpreter encountered the series23/i expression, it tried to find the word i in series23, i.e. it took the word as a value, not as a variable. The value returned is the value next to the value, that has been found.

But since core 2.6.0  is implemented: i: 1 series23: [1 i 3] series23/(i) ; == 1

By placing the word i into parentheses, the parenthesized expression is evaluated and the value of the third entry of the series is returned.

Changing series
Sometimes we need to change a series. Let's suppose, that we want to change series1. The first method uses the change function:

series1: [1 2] change series1 3 series1 ; == [3 2]

The path notation method:

series1: [3 2] series1/1: 1 ; == [1 2]

The poke function method:

series1: [1 2] poke series1 1 3 ; == [3 2]

Using variables
If we have got a variable i as above, we can still use the change method. The details are discussed in the subsequent sections.

The path notation method:

series1: [3 2] i: 2 series1/:i: 4

The poke method:

series1: [3 2] i: 2 poke series1 i 4 ; == [3 4]

Data access method differences
The three data access methods listed above exhibit different behaviour in special situations. Let's prepare series2 to see the differences:

series2: [1 2] f: does [""] poke series2 1 :f

The function access method
When we try to access an entry that doesn't exist, an error is caused:

third series2 ** Script Error: Out of range or past end ** Near: third series2

When we access a function using this method, the function is the result:

type? first series2 ; == function!

The path notation access method
When we try to get the value of an entry that doesn't exist, we obtain the none value:

series2/3 ; == none

When we access a function using the path method, the function is evaluated:

type? series2/1 ; == string!

The function access method
When we try to get the value of an entry that doesn't exist, we obtain the none value:

pick series2 3 ; == none

When we access a function using the pick method, the function is the result:

type? pick series2 1 ; == function!

Why does Rebol need so many access methods?
Actually it doesn't, but the methods work differently as has been shown and that is why we can choose the method that is the most appropriate for our task.

If we prefer the most strict bound checking, we may prefer first.

If we need automatic evaluation of functions or automatic searching, we may prefer the path access.

If we want a simple access method, that doesn't evaluate functions, we may choose pick.

Length of a series
A series can have many entries. It may be useful to know the actual number for a given series. We can use the length? native to find it:

length? [1 2 3] ; == 3

On the other hand, it is even possible, that a series does not have any entry. There is a Rebol native empty? which tells us, whether a series "does not have any entry". In that case the length? native yields zero:

series3: []    ; == [] empty? series3 ; == true length? series3 ; == 0

From head to tail and back again
Sometimes we need to access series sequentially instead of using indexed access. Rebol series can be accessed sequentially without a need to use any additional datatype.

To move sequentially "one entry at a time" in a non-empty series we can use the next native. The next native yields a series with the first entry "skipped". The second entry of the original series becomes the first entry of the new series.

series8: [1 2 3 4]    ; == [1 2 3 4] series9: next series8 ; == [2 3 4]

The first, second, etc. entries of the new series are the same, as the second, third, etc. entries of the original series:

series9/1 ; == 2 series8/2 ; == 2 series9/2: 5 ; == [2 5 4] series8/3 ; == 5

In the new series we can use even the skipped entries: (R2 only)

series9/-1 ; == 1

The length of the new series is equal to the length of the original series minus one:

length? series8 ; == 3 length? series9 ; == 2

Instead of skipping one entry at a time, we can skip more entries at once using the skip action. A Rebol description of the skip action for non-negative offset:

skip-def: func [ {Skips some places of a series} series [series!] offset [integer!] {Can be positive, or zero.} ][       loop offset [ series: next :series ]       :series ]   series8: [1 2 3 4]            ; == [1 2 3 4] series10: skip-def series8 2 ; == [3 4]

If we skip zero entries, we obtain the original series:

series8: [1 2 3 4]           ; == [1 2 3 4] same? series8 skip series8 0 ; == true

If we skip all entries of a series, we obtain an empty series called its tail:

tail-def: func [ {Returns the tail of a series.} series [series!] ][       skip :series length? :series ]   tail-def [1 2 3] ; == []

Here is a definition of a function that determines whether a series is a tail:

tail?-def: func [ {Finds out, if a given series is a tail} series [series!] ][       empty? :series ]

tail?-def [1 2 3] ; == false tail?-def []      ; == true

Skipping further from tail using the next function, doesn't have any effect:

same? next tail [1 2 3] tail [1 2 3] ; == true

We can use the back action to skip one entry backwards, which means the reverse of next:

series11: tail [1 2 3 4]  ; == [] series12: back series11   ; == [4]

Let's enhance the skip-def to use negative offset values:

skip-def: func [ {Skips some places of a series} series [series!] offset [integer!] {Can be positive, zero, or negative.} ][       either positive? offset [ loop offset [ series: next :series ]       ][            loop negate offset [ series: back :series ]       ]        :series ]

series11: tail [1 2 3 4]        ; == [] series13: skip-def series11 -2  ; == [3 4]

The series we obtain from a given series by skipping the maximum possible number of entries backwards is called the head of the given series. Any subsequent back call doesn't skip any further and yields the head too:

series14: next [1 2 3]   ; == [2 3] head series14            ; == [1 2 3] same? back head series14 head series14 ; == true

We can use the above definition to provide a Rebol function determining if a series is a head:

head?-def: func [ {Returns true for a head series.} series [series!] ][       same? :series back :series ]

head?-def [] ; == true

With a help of head? we can even provide the Rebol description of head:

head-def: func [ {Returns the head of a series.} series [series!] ][       while [not head? :series] [series: back :series] :series ]

The number of the "backward" entries increased by one can be obtained as a result of the index? native:

index? next [1 2] ; == 2

Referring to values
Let's discover a less natural property of series. A series can refer twice (or more times) to a given value. The following function creates a block referring to a given value exactly twice:

twice: func [value [any-type!]] [ head insert/dup make block! 2 get/any 'value 2 ]

Let's test the properties of the function we defined:

series3: twice 1 ; == [1 1] same? first series3 second series3 ; == true

series4: twice 'o1 ; == [o1 o1] same? first series4 second series4 ; == true

o2: make object! [attribute: "OK"] series5: twice o2   ; == [ ;   make object! [   ;        attribute: "OK" ;   ]    ;    make object! [   ;        attribute: "OK" ;   ]]    same? first series5 second series5 ; == true o2/attribute: "Surprise?" series5 ; == [   ;    make object! [   ;        attribute: "Surprise?" ;   ]    ;    make object! [   ;        attribute: "Surprise?" ;   ]]

By analogy, one value can be referenced by two series:

o3: make object! [attribute: "OK"] series6: reduce [o3 1] ; == [   ;     make object! [   ;         attribute: "OK" ;    ] 1]

series7: reduce [o3 2] ; == [   ;     make object! [   ;         attribute: "OK" ;    ] 2]    o3/attribute: "Surprised Again?" series6 ; == [   ;     make object! [   ;         attribute: "Surprised Again?" ;    ] 1]    series7 ; == [   ;    make object! [   ;        attribute: "Surprised Again?" ;   ] 2]

Properties of the action
If we want to change a series, we can use the change action. Change can be said to change the series; it causes the affected entry to refer to another value. On the other hand, change doesn't affect the values:

a: make object! [attribute: "OK"]

series15: twice a   ; == [ ;    make object! [   ;         attribute: "OK" ;    ]    ;     make object! [   ;         attribute: "OK" ;    ]]

change series15 2 ; == [   ;     make object! [   ;         attribute: "OK" ;    ]]

series15 ; == [2   ;     make object! [   ;         attribute: "OK" ;    ]]    probe a    ;     make object! [   ;         attribute: "OK" ;    ]

change doesn't return the original series. It skips the affected entries to facilitate subsequent changes.

Comparing entries and series
For any series we can use the copy action to create a new series referring to the same values. A copy of a series is not the same series as the original, though:

series16: reduce [make object! [attribute: "OK"]] ; == [   ;     make object! [   ;         attribute: "OK" ;    ]]

series17: copy series16 ; == [   ;     make object! [   ;         attribute: "OK" ;    ]]

same? series16 series17  ; == false change series16 1        ; == [] series16                 ; == [1] series17 ; == [   ;     make object! [   ;         attribute: "OK" ;    ]]

We have seen an example of a situation, when two distinct series entries refer to one Rebol value, or a situation, when two distinct series (prepared using e.g. the skip function) share some entries. Although series entries do not behave as stand-alone entities in Rebol, we can specify an individual entry by specifying a series and a number of the entry in the series. Thus, we can find out, if two entries (references) specified are the same. The function doing this can be found at References.

Since we are able to compare entries, we can say, that non-empty series having the same datatype are the same, if they consist of the same entries. The trouble with this method is, that it is not usable for empty series, because in an empty series there is no entry we could use for the comparison purposes.

We call two series mutually independent, if they neither share any entries, nor they can be derived from one "mother" series using the skip function. In Rebol this definition can be written as follows:

independent?: func [ {Find out, if two series are mutually independent.} series1 [series!] series2 [series!] ] [       not same? head :series1 head :series2 ]   series19: [1 2 3]                ; == [1 2 3] series20: next series19         ; == [2 3] series21: copy series19         ; == [1 2 3] independent? series19 series20  ; == false independent? series19 series21  ; == true

Observation: a series and its copy are mutually independent.

Cumulative properties of series operations
A cumulative property of change/only: change/only changes the reference of its argument Series. From this description is immediately obvious, that change/only affects all series sharing the reference in question.

We can create a new reference using the insert action.

series22: [1 2 3]        ; == [1 2 3] length? series22         ; == 3 insert/only series22 0   ; == [1 2 3] series22                 ; == [0 1 2 3] length? series22         ; == 4

We can use insert to define the meaning of the same? action for empty series. We say, that two empty series are the same, if insert used for the first series causes the second series to become non-empty too.

The description of the insert/only work: insert/only defines a new entry in the series, enlarging the number of entries in the series by one. The newly inserted entry becomes the first entry of the series, while the numbers of the other entries in the series are therefore higher by one. insert/only causes the newly created entry to refer to its value argument. Note, that insert/only doesn't change Index of any series! It skips the inserted entry to facilitate subsequent inserts.

The cumulative property of insert/only: for all series dependent on the series affected by insert/only holds: the dependent series is enlarged by one entry too, moreover, if the index of the dependent series is lower than the index of the affected series, its first entry remains the same, if the index of the dependent series is equal to the index of the affected series, the first entry of the series after insert will be the newly inserted reference and if the index of the dependent series is higher than the index of the affected series, then the first entry of the dependent series will be the entry preceding the original first entry.

For lowering the number of entries in a series we can use the remove and clear actions. Probably every reader is now able to use the above described methods for exploring the cumulative properties of these. I shall leave that as an exercise for the reader.

Series with fast index access
Rebol blocks are examples of series with fast index access. That means, that operations like

pick series index

have the same speed regardless of:

 * the length of the series
 * the value of the index

Generally, all Rebol series except for Rebol lists are of this type.

Advantages

 * the speed of index access (pick, poke, skip, at, length?, index?, offset?, etc.)

Disadvantages

 * general remove/insert operations are "slow", the time needed to perform a remove/insert operation is proportional to the length of the series in general case
 * after any insert/remove operation the index of all related series remains the same, which means, that after an insert or a remove operation a series actually refers to different entries than before such an operation:

s: [1 2 3 4 5 6] t: skip s 2 ; == [3 4 5 6] remove s   t ; == [4 5 6]

 * due to the above property, it is even possible to obtain past-tail series, i.e. series having an index that is actually not "available" in the given series

Series with fast insert/remove
As already mentioned, there is only one Rebol series type having this property. It is the list! datatype.

Advantages

 * remove/insert operations are fast
 * after an insert operation, all Rebol lists remain "unaffected" in that they point to the entry they pointed to before the insert operation was performed
 * after a remove operation, all Rebol lists (except for the ones directly affected, having a removed entry as the first) remain "unaffected" in that they point to the entry they did point to before the remove operation was performed
 * no list can be caused to become past-tail

Disadvantages

 * due to the way how Rebol lists are implemented in R2 currently, a removal of the first element of a list causes the list to become a "list having an invalid (removed) position"; but see my list prototype below coping with this problem without a significant slow-down of any operation; the prototype adjusts such lists to point to the first subsequent valid entry instead of the removed one
 * general index operations are "slow"; time needed to perform such operations is proportional to the length of the list in the general case

List prototype
Since lists are not present in R3, and due to the above mentioned problem with removed entries I decided to implement a list prototype that can improve the situation.

use [] [ list-proto: make object! [       ; the position of a list is not an integer index, ; it is a list entry position: none

; to have fast tail tail? head head? ; we need to know the position of the list tail tail: none ]

list-entry-proto: make object! [       ; every list entry refers to a value ; the tail entry always refers to NONE value: none

; for every list entry we want to know, ; where the previous entry is

; for convenience we define, ; that the previous entry of a head entry ; is the tail entry

; to be able to detect the deleted entries ; we define, that the previous entry ; of a deleted entry is NONE previous: none

; for every list entry we want to know, ; where the subsequent entry is

; for convenience we define, ; that the subsequent entry of the tail entry ; is the head entry subsequent: none ]

set 'make-empty-list func [ {create an empty list} ] [       make list-proto [ position: tail: make list-entry-proto []

; head entry is the tail entry for empty lists tail/subsequent: tail/previous: tail ]   ]

set 'tail-s func [ {return the tail of a list} list [object!] ] [       make list-proto [position: tail: list/tail] ]

set 'head-s func [ {return the head of a list} list [object!] ] [       make list-proto [ tail: list/tail position: tail/subsequent ]   ]

set 'last-s func [ {returns the last value of a list} list [object!] ] [       return get/any in list/tail/previous 'value ]

adjust-position: func [ {this function adjusts the list position to not refer to a removed entry} list [object!] {the list to check/adjust} /local current valid subsequent ] [       ; note: ; even though this function uses two while cycles, ; it is implemented so, ; that its running time is insignificant

; explanation: ; for the adjust-position call to take O(n) time ; it is necessary to perform n removes, ; and after the adjustment, ; all subsequent calls to the adjust-position function ; become O(1) again ; this means, that the adjust-position call adds just ; O(1) time to every remove call, ; in addition to the O(1) time needed for every adjust-position call ; when the list position is valid

; we look for the first valid entry current: list/position while [ ; test, if the current entry is a removed entry none? current/previous ] [current: current/subsequent] valid: current

; now we "clean" the removed entries ; to not have to traverse them any more current: list/position while [ ; test, if the current entry is a removed entry none? current/previous ] [           subsequent: current/subsequent

; doing the cleanup current/subsequent: valid

current: subsequent ]

; adjust the list position to be valid list/position: valid ]

set 'head?-s func [ {returns TRUE if at head} list [object!] ] [       adjust-position list

list/position = list/tail/subsequent ]

set 'tail?-s func [ {returns TRUE if at tail} list [object!] ] [       adjust-position list

list/position = list/tail ]

set 'index?-s func [ {returns the index of a list} list [object!] /local current index ] [       adjust-position list

current: list/position index: 1 while [ ; the current entry is not head current/previous <> list/tail ] [           index: index + 1 current: current/previous ]       index ]

set 'length?-s func [ {returns the length of a list} list [object!] /local current length ] [       adjust-position list

current: list/position length: 0 while [ ; the current entry is not tail current <> list/tail ] [           length: length + 1 current: current/subsequent ]       length ]

set 'skip-s func [ {returns the list forward or backward from the current position} list [object!] offset [integer!] /local current ] [       adjust-position list

current: list/position either negative? offset [ ; traversing the list towards its head while [ all [ ; not at the head? current/previous <> list/tail

offset < 0 ]           ] [                current: current/previous offset: offset + 1 ]       ] [            ; traversing the list towards its tail while [ all [ ; not at the tail? current <> list/tail

offset > 0 ]           ] [                current: current/subsequent offset: offset - 1 ]       ]        make list-proto [ position: current tail: list/tail ]   ]

set 'first-s func [ {returns the first value of a list} list [object!] ] [       adjust-position list

return get/any in list/position 'value ]

set 'remove-s func [ {removes an element from a list} list [object!] /local current ] [       adjust-position list

current: list/position either current = list/tail [ ; no removal needed, just return the argument list ] [           ; adjust links current/previous/subsequent: current/subsequent current/subsequent/previous: current/previous

; mark the current element as removed current/previous: none

; return the next position make list-proto [ position: current/subsequent tail: list/tail ]       ]    ]

set 'insert-only func [ {insert one value into a list} list [object!] value [any-type!] ] [       adjust-position list

make list-proto [ ; create a new list entry position: make list-entry-proto [ previous: list/position/previous subsequent: list/position ]

error? set/any in position 'value get/any 'value

; adjust links position/previous/subsequent: position position/subsequent/previous: position

tail: list/tail ]   ]

set 'change-only func [ {change a value in a list} list [object!] value [any-type!] /local new-entry ] [       adjust-position list

if list/position = list/tail [ ; we are at tail, change is not possible do make error! "out of range" ; (alternatively, we may insert a new entry, if preferred) ]

error? set/any in list/position 'value get/any 'value

; return the list at the next position make list-proto [ position: list/position/subsequent tail: list/tail ]   ]   ]


text:
Arabic/Basic Sentences

"The"-the definite article
In Arabic the word ال "el/èl" does what the English word "the" does. It is pronounced [ al ] but the "a" at the beginning is often elided (not pronounced, because the previous word ended in a vowel).

Examples: رَجُل rajuluń = a man Pronounced: ra-jul

الرَّجُل èl rajul= the man pronounced: ar-ra-jul.

الرجل èl rajul is pronounced ar-ra-jul instead of al-rajul, because "r" is a sun letter. Whenever el is prefixed to a sun letter the transliteration system will indicate this by writing èl instead of el. There is no need to memorize sun letters. e.g. الشمس èl shams is pronounced ash-shams (meaning: the sun).

Add ال el to the beginning of a word, is like adding "the" before a word in English.

Writing it
Here is an example of what not to do:

Incorrect: ال رجل Correct: الرجل Notice that the ل (laam) must connect to the next letter, which was a ر (raa') in the case above.

ال el also has a second use. When you find ال it usually has the same function as "the" in English. It is also often used to talk about a thing in general.

man إنسان mankind   الإنسان The previous example shows one word meaning "a man." The second is the same word with the prefix "ال" (al), and it means man in general (i.e. mankind). So in English where one says "owls go to sleep at night" in Arabic we would say "the owl goes to sleep at night." This would indicate owls in general and not a specific owl.

So what word holds the same functions as the word "a", you might ask? In Arabic there is no word that holds that function.

So "a man" is just one word,   رجل There is no word, or prefix, that has the same function as "a".

 * Next Lesson

title: Arabic/Basic Sentences


text:
User talk:Carl~enwikibooks

Programming:REBOL
So you where alive at the "Jan, 01 0000" wow - and the best thing: you read Programming:REBOL and decided it was 0% ready - not suprising. Well it is 2005 years later now - pehaps you want to re-read the book (you know it is now called REBOL Programming) an change the name and state to be more up-to-date ;-)

--Krischik 06:29, 7 September 2005 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Carl. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Carl~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:01, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:46, 19 April 2015 (UTC)

title: User talk:Carl~enwikibooks


text:
Arabic/XisY

Equational Sentences
Here are some examples of Equational sentences in English: The boy is big. The girl is small. The girl is big. The man is tall.

Remember the following:

 * 1) "the" =ال(el/èl)
 * 2) ال(el) always connects to the word following it, it leaves no space between it and the word it connects to.
 * 3) There is no word for "a" in Arabic.

First let's translate the first sentence: The boy is big. So what we need to know is the word for "boy" and "big" in Arabic. The word for "the" in Arabic (it is "ال" (el)). The word for "is" can be ignored.

boy=وَلَد waladuń (wa-lad)

big= كَبـِيـْر kabiiruń (ka-biir)

So now we have the words boy and big.

ولد كبير

(wa-lad—ka-biir) waladuń kabiiruń wa-la-dun-ka-biir A big boy.

But we wanted to say "The boy is big", we did not want to say "a big boy". Let's try again. I must have forgotten something. Can you guess what it is. I forgot the word ال el. I need that word to indicate "the boy" instead of "boy/a boy". Let's add it to the word that means boy. ولد walad means boy.

ال +ولد كبير

الولد كبير

(al-wa-lad—ka-biir) el waladu kabiiruń al-wa-la-du-ka-biir The boy is big.

The first word means "the boy" the second means "big". So how come there was no word meaning "is" in the sentence, you might ask. This is because in Arabic "is" is not used for such sentences, it is understood, by the sentence structure (the way the words are placed).

The sentence structure of The  _______   is/are   ________. in Arabic is. الـ ــــــــ        ــــــــــ (al)____________     ___________

The first word has "ال" and the second word doesn't. That is all.

Now here are some examples, memorize these, and practice building your own:

الرجل كبير el rajulu kabiiruń al-ra-jul-ka-biir (ar-ra-jul—ka-biir) The man is big.

الرجل رجل el rajulu rajuluń ar-ra-ju-lu-ra-jul (ar-ra-jul—ra-jul) The man is a man.

الإمرأة إمرأة el imra'ätu imra'ätuń. al-im-ra-a-tu-im-ra-ah (al-im-ra-a--im-ra-a) The woman is a woman.

Vocabulary to learn: كبير (ka-biir) big

جـميل beautiful

title: Arabic/XisY


text:
Rebol Programming/Language Features/Recursion

Recursion
Rebol allows for recursive programming. This is when a function is able to invoke itself, and can be quite useful eg. for tracing through a tree structure such as spidering a website. However, if the number of times the function is invoked is too many, a stack error occurs. It is better to restrict the use of recursive functions to where the recursion is known to be limited.

However, it should be noted that the Rebol interpreter evaluates Rebol code in a recursive fashion.

For example of a recursive function, here we define read-dir to collect file and directory names from the directory given to it as an argument, and all the sub directories below that directory.

file-list: [] read-dir: func [ dir [file!] ] read-dir %./ new-line/all file-list on print mold file-list Starting with an empty file-list block, the function read-dir reads all the files in the current directory. If the file is a directory, it then calls itself to read that directory, returning to the calling version of itself on completion.

The question is often asked as to whether Rebol supports Tail recursion, and Continuations. The answer is, that it used to do so, but it was removed as it caused Rebol to consume large amounts of memory. Carl Sassenrath, Rebol's chief architect, has stated that at some stage tail recursion may be re-implemented, but it is not a priority. However, tail recursion would fix the problems sometimes seen with a stack overflow with the parse dialect, and allow deeply recursive functions.

Examples

 * wikichanges.r An example on crawling the Rebol Programming wikibook to see the latest changes


text:
User talk:72.49.94.199

Programming:Delphi
So you where alive at the "Jan, 01 0000" wow - and the best thing: you read Programming:Delphi and decided it was 25% ready - very suprising - there had not been Delphi at that time - so how could the book be ready by 25%? Well it is 2005 years later now - pehaps you want to re-read the book an  change the name and state to be more up-to-date ;-)

--Krischik 06:29, 7 September 2005 (UTC)

title: User talk:72.49.94.199


text:
Rebol Programming/Language features

Language Features

 * Types
 * Series
 * Control Structures
 * Objects
 * Parse
 * Dialects
 * Recursion
 * Database
 * View
 * VID
 * Rebcode

title: Rebol Programming/Language features


text:
Talk:Hungarian/Lesson 1

Untitled
Can you get me some help on this table? FerKo 09:26, 7 September 2005 (UTC)

room for joint project
Are you still around? (cur) (last) 13:20, 30 August 2005 81.182.180.126 (→ FerKo 10:09, 7 September 2005 (UTC)

I am! I think a present tense lesson would be the way to go, but proper pronunciation via audio clips is a big priority too. --ErikG 19:29, 7 September 2005 (UTC)

Now I recommend you go along with the grammar and I am going to supply the audio of your written illustrations (examples, Hungarian words as they pop up, etc.). I myself would like to present another line - to be tested for the first time here - working your way from simple words by expansion and by stimulus-response pairs. For example:

The first two words to learn:

van and nincs

Statements and questions with van: two word long three word long Answers to the same

References to explanations/charts and tables on the endings, rules of formation, etc.

I must go now, ll be back in the evening

to be ellaborated
Van

The simplest sentence possible. Also, elliptical. See below.

Meaning and usage:

As a statement: there is.

Listen

As in a question: (is)

Listen

As an aswer to a question.

Listen

Example:

Van pénzed? (Have you got some money on you?) Van. (Yes, I have.)

Pénz (money) ed posessive tag

Produce more of this kind.

Use:

Lakás (flat), család (family), ház (house), autó (car)

Have you got a flat?

Hol van? (Where is it/she/he?) Itt van. Here it is. It is here.

Mi van? (What is up?) Semmi. (Nothing)

Mi van ma? Hétfő. (Monday)

See list of words: Days of the week, wh questionwords (mikor, hol, ki, mi, hogy, miért, merre, meddig, etc.)

participles: nyitva, zárva, kíírva, megadva,

Pronunciation
I was looking at the pronunciation part of this lesson and I noticed that your imitated pronunciation system is quite approximate. For example: the "u" in 'dune' does not sound like the "u" in french (as it should be pronounced). Another example: When I hear the words 'fur' and 'feu' and compare them, they do not sound the same to me.

I recommend you look to your pronunciation table critically, so people can learn hungarian with a reasonable accent. You could argue that the audio samples can help people do that, but I have experienced that people often cannot get their pronunciation right, even though they have heard hours of correct pronunciation.

 * Comparing sounds in two different languages can't be more than approximation. But it's better than nothing. --Sourcerror 18:10, 25 April 2007 (UTC)

Reorganization
I've moved a lot of stuff around. Stuff from the home page I've brought into this lesson. I also reorganised to have one table with the letters and sounds rather than 2 - thought it was more user-friendly. I've added a column for IPA pronunciation - that's the standard, definitive way to show pronunciation. I'll add in the symbols when I've got some more enthusiasm.

I've put my ideas for the overall project onto the home talk page.

I wouldn't teach subject pronouns at this early stage - they aren't even required in Hungarian. But I didn't want to delete what someone else had done. Gailtb 00:49, 23 October 2005 (UTC)

 * I disagree. Even if you don't say the pronouns, they're there a hidden way, and can come back anytime. For verb conjugation it's essential. My concern is that we shouldn't teach numbers in lesson2, only after verb conjugation and interrogatives. --Sourcerror 20:46, 26 April 2007 (UTC)

I'm a native Hungarian speaker and my English is far from perfect, but isn't Hungarian 'dz' similar to 'z' in 'zigzag'?

Easier access to audio files needed?
I am definately not a computer whiz, and as such, have a difficult time trying to play the audio files. I have tried both direct "left-clicking" (IE says "unknown file type") and right-clicking and saving it first. Maybe some helpful hints on use would be necessary?

 * Winamp can play it. Sourcerror 15:03, 23 April 2007 (UTC)

Need audio?
If you think more audio would be good I could make some, but I don't know to who should I send them... (I'm Hungarian) --gorilla 20:44, 12 January 2006 (UTC)

More (audio) Hungarian
When will the third lesson be added? And is anybody going to provide the book with corresponding audio files? Hungarian pronunciation is hard after all.

Kissing
From the text: "Hungarians greet each other by kiss on each cheek..." No, that's not true in this form. And it can be misleading. Family member often do kiss each other on each cheek. But it's not a custom in every family. Often males don't kiss at all, don't kiss males even if they are relatives. Males never kiss males if they are not ralatives, unless they are very-very-very good friends and quite felxible in social roles. In many families males kiss females, and females kiss males and females. In many families children kiss everyone, and in no other relation kiss is given. Kiss on the cheek is frequent in some teenager subgruops, while in others it isn't. In formal adult relations it is very rare, practically you can never see it. In some very small rural subgroups even kiss on the lips is accepted amongst realtives.

So I wouldn't say it so simply: "Hungarians greet each other by kiss on each cheek..." If you are not Hungarian and you come to Hungary it is quite all right if you never do it, unless someone offers it. If someone offers it, it is polite to accept it and return it at the same time.

A Hungarian

---

Err... Hungarian males do kiss each other on the cheek, but it is less common these days. (Yes, I do mean straight males.) It's much rarer now but it is still socially acceptable. Of course, you do need to know the other person.

Another Hungarian.

--195.38.126.26 (discuss) 12:55, 28 October 2012 (UTC)

cultural notes
Hi, I added some cultural notes and made some minor edits on the existing ones - in order to avoid any conflicts if you come here. The source for them is my being a native.Svenskafan 20:57, 16 May 2006 (UTC)

voice samples
Hi, I created some voice samples for you in .wav, which you can download here: http://www.angelfire.com/ct3/hobbylanc/ It's about the greetings. I reedited the site already at the greetings, so you just have to format the soundfiles into .ogg and upload it to the commons or wherever. Svenskafan 18:17, 17 May 2006 (UTC)

Vowel harmony
I edited the vowel harmony section as 80.98.57.185, I just wasn't logged in. I'm not sure whether round/slit mouth-shaped vowels are the best translations of "ajakréses" and "ajakkerekítéses".

Remélem, hogy a slit mouth-t senki sem sem pinaszájúnak fordítja :)

Csak azt tudnám, hogy miért is beszélünk angolul ... hiszen ha valaki nem tud magyarul az ne szerkessze a cikket/könyvet ... na mindegy ....... megvan: hagyományból.

--Sourcerror 17:22, 25 April 2007 (UTC)

The combination of cz
How do you pronounce "cz", as in the name of Sándor Ferenczi? Is it as if the name were "Ferenci"? Or maybe "Ferencsi"? Thanks in advance, Eldad (talk) 23:51, 20 February 2008 (UTC)

Hi, "cz" is pronounced as "c". This combination occures in older names and is an older writing form. The pronunciacions of Ferenczi and Ferenci are the same. Best, A native 88.66.41.90 (talk) 22:49, 14 March 2008 (UTC)

Miklos
Miklos is not Michael, it is Nicholas. Mihaly is for Michael Compactforever (talk) 09:18, 28 May 2009 (UTC)

Rough Pronunciation Guide and Greetings
I think the Rough Pronunciation Guide in this lesson is a bit too rough, isn't it? I'm afraid that someone may pronounce [eː] like the Hungarian word éj, not é, as it should be. I might be a bit too cautious about this, but nevertheless, I think we should add to the guide that [eː] is not a diphthong, so that no one may get confused. Also, I think that the use of helló as in English (i. e. when you meet someone) is as common as the use of it when you want to say "goodbye". So I think it's not important to say that helló is more frequently used as saying goodbye than as a word for greeting. - Vargamate (talk) 18:21, 26 November 2009 (UTC)

title: Talk:Hungarian/Lesson 1


text:
Visual Basic/Simple Arithmetic

Visual Basic has all of the common arithmetical functions. It does not have complex numbers nor does it allow you to overload operators so manipulating complex numbers or matrices must be done by explicit function and subroutine calls.

Arithmetic Operators
The operators are infix and take two arguments: arg1 operator arg2 except for unary plus and minus

Numeric Operators
For example:

Will display the value in Text1, multiplied by 5, in Text2. E.g. if Text1 = 4 then Text2 will be equal to 20.

Order of operations

 * Exponentiation (^)
 * Multiplication and normal division (* and /)
 * Integer division (\)
 * Mod (Mod)
 * Addition and subtraction (+,-)

General hint : If an expression uses more than (+,-,*) use all possible brackets to force the expression to be evaluated the way you are thinking it.

VB odd behavior note
VB considers "explicitly stated" integral numbers to be of type Integer (which must be between -32768 and 32767) if they are within (-32768, +32767) and gives an error if the result of arithmetic with them is more than 32768. This can be seen by trying

or

which both cause an error. This can be solved (in a direct but ugly way) by enclosing numbers in CLng (Convert to Long) so that

or by using the type-declaration character & which specifies a Long constant:

neither of which cause an error. To avoid having to think about this, avoid using explicit numbers in code and instead use "Long" variables and constants such as :

Boolean Arithmetic
Boolean operators use Boolean variables or integer variables where each individual bit is treated as a Boolean. There are six operators:

When you construct logical expressions with these operators you get the following results:

Comparison Operators
These operators, composed of <, > and =, are use to decide whether one value is smaller than, larger than, or equal to another.

For example:

Caution! Due to the internal structure of floating-point numbers (Single and Double), do not use = or <> to compare them. Instead, use a small value (usually called Epsilon) as a "maximum difference". For example:

Built in Arithmetic Functions
There are not many native mathematical functions in Visual basic but this doesn't mean that you can't do significant calculations with it.

 * Abs(x):returns the absolute value of x, that is, it removes a minus sign if there is one. Examples: Abs(3)=3 ; Abs(-3)=3
 * Exp(x):returns the value ex. e is Euler's constant, the base of natural logarithms.
 * Log(x): the Neperian ('Natural', e base) logarithm of x.
 * Randomize(x): not really a mathematical function because it is actually a subroutine. This initializes the random number generator.
 * Rnd(x):produces the next random number in the series. Please read that sentence again! the random numbers aren't really random, they are instead pseudo-random.  If you initialize the random number generator with the same number each time you start a program then you will get the same series of values from Rnd
 * Round(x,n):returns a real number rounded to n decimal places (uses Banker's rounding).
 * Sgn(x):returns plus one if x is positive, minus one if it is negative, zero if x is identically zero. Sgn(-5)=-1 ; Sgn(5)=1 ; Sgn(0)=0
 * Sqr(x):square root of x. Example: Sqr(25)=5. x must be non-negative. Thus Sqr(-25) will generate an error

Derived Functions
If you want logarithms to some other base you can use this expression:

And to calculate the nth root of a number (cube root, ...)

Trigonometrical Functions
Visual Basic has the usual simple trigonometric functions, sin, cos, tan, but if you want some of the more unusual ones or inverses you will need to write some simple functions.

Remember that the angles must be supplied as radians

Notice that the range of applicability of these expressions is limited to the range -1<=x<=1.

Here are some more:

The very useful atan2 function (calculate the angle in all four quadrants of a vector) can be simulated like this:

Other functions:

title: Visual Basic/Simple Arithmetic


text:
Portuguese/Contents/Pluperfect tense regular verbs

The pluperfect tense is used to show temporal relationships in the past. It shows that one event happened before another, as in "I had already eaten dinner before you called". All regular verbs follow the one pattern, except for an accent in the "we" and "you" (plural) forms of the verbs, which change depending on whether the verb is "-ar", "-er" or "-ir".

The regular pluperfect tense is formed as follows:


text: Cellular Automata/Information and Reversibility


text:
Arabic/XisYandPronouns

X is Y + pronouns
We learned in the previous lesson how to say sentences such as the following in Arabic. The boy is small. The man is big. But what if you want to say where something is. You need a preposition. Take this talk between two people for example: Where is the hammer? It is under the table.

In the second sentence a preposition was used. Whenever you are telling where something is you are using a preposition. Here are some examples of prepositions in English.

under, over, around, through, beside, on, from, inside, behind, etc.

So what if we wanted to say the boy is with the man. We know the following: ولد (wa-lad) =boy رجل (ra-jul) =man Remember we have to prefix "ال" (al) to those words in order to make "the man" and "the boy". But there is one word we haven't covered yet. We haven't covered the preposition "with". That's all we need, there is no need to have a word for "is" in an Arabic sentence. "is" is understood when the first word has "ال" (al) and the second doesn't.  مع  (ma-`a) with

Now try to construct the sentence. Here's how it should look. الولد مع الرجل

(al_wa-lad—ma-`al-ra-jul) WordForWord Translation: the-boy with the-man The boy is with the man.

But what if we wanted to say "The boy is with a man".  الولد مع رجل

(al_wa-lad—ma-`a-ra-jul) All we had to do was take away "ال" (al) (which means "the") from "رجل" (ra-jul) (which means "a man"). There is no word for "a" in Arabic.

Here are some prepositions we will use: under = (tiH-ta) تـحت on top of= (`a-la) على in= (fii)في over= (faw-qa) فوق from= (min) من

title: Arabic/XisYandPronouns


text:
Emulation/PlayStation Portable

PPSSPP
PPSSPP (PlayStation Portable Simulator Suitable for Playing Portably) is currently the best PlayStation Portable (PSP) emulator and is available for several platforms, including Windows, macOS, Linux, and Android. PPSSPP is free and open-source software, and it's easy to use.

title: Emulation/PlayStation Portable


text:
Arabic/XofYand

We are going to learn about X and Y structures, and we will learn about the Arabic word for "and".

and = (wa)و

This seems simple enough. There is one thing to remember though. و (wa) always is included in the word that follows it. It is not considered a separate word in Arabic.

Correct: والولد

Incorrect: و الولد

Both mean "and the boy", but due to an Arabic spelling rule, that says one letter words must connect to following words what is 3 words in English, "and the boy" ,is one word in Arabic, "andtheboy".

Here are examples of X of Y structures so you understand what you will learn.

The cat of the neighbour. OR The neighbor's cat. The dog of the man. OR The man's dog.

Did you notice that the first sentence uses "the X of Y" format, while the second uses apostrophe (an apostrophe is this sign: ' )and then an "s". In Arabic There is no " apostrophe s" type of structure. Whenever you translate The neighbor's cat, the word "cat" will come first in Arabic and "the neighbour" will come right after it.

Remember how Arabic doesn't use a word for "is" in sentences like "The boy is big". Arabic also doesn't use a word for "of" in sentences like "the cat of the neighbour".

So now, you might be asking how do you say "the cat of the neighbour" if there is no word for "of". It has to do with sentence structure.

In English it looks like this. the ____1____ of ______2_____

= In Arabic it will look like this ــــــ1ــــــــ ال ــــــ2ـــــِ

Note: "1" stands for the first word. "2" stands for the second word.

For example: the boy of the city.

ولد الـمدينة

(wa-la-dul<_ma-dii-na-ti) مدينة(ma-dii-na) means "city".

Note that the last letter of ""is a تاء مربوطة (taa'--mar-buu-Ta) meaning closedت(taa). This variant ofت(taa) looks like a ه(haa) with two dots on top. It is pronounced as "h" when you stop at that word (although the "h" sound is very faint) and at all other times it is pronounced as the normal "t" sound, as in "talk".

The structure "the boy of the city" can be translated as one of the following. Each one means the same thing. The only difference is that each one has a different function in the sentence. walad+u al-madiinati=(wa-la-dul_ma-dii-na-ti)

walad+a al-madiinati=(wa-la-dal_ma-dii-na-ti)

walad+i al-madiinati=(wa-la-dil_ma-dii-na-ti)

I'll write out an "X" where the three sentences differ.

(wa-la-dXl<_ma-dii-na)

The difference is a vowel that attaches to the word for "boy": (wa-lad). This vowel indicates something called grammatical case. This will be explained later, And we will use the "u" ending for all the following examples, because that is the default case.

The man's dog/ the dog of the man. كـَلـْبُ الرَّجُلِ

kalb + u + al + rajul = (kal-bur<_ra-jul)

The woman's dog/ the dog of the woman.

كـَلـْبُ المَرْأةِ

kalb + u + al + mar'a (kal-bul<_mar-a)

Now let's use و (wa)." و (wa)" means "and" in Arabic.

كـَلـْبُ الرَّجُلِ وَكـَلـْبُ المَرْأةِ

kalb+u +al+rajul+i+ wa+kalb+u+al+mar'at (kal-bur<-ra-ju-li—wa_kal-bul<-mar-a)

The man's dog, and the woman's dog.

title: Arabic/XofYand


text:
Talk:German/Grammar/Definite

I dislike the use of the word "article." It tends to be very ambiguous. A better alternative is to use the descriptions "der-word" to denote der/die/das/etc., and "ein-word" to denote ein/einer and friends. Together, they can be called "ein-words and der-words."] --WhirlWind 17:29, 7 September 2005 (UTC)

title: Talk:German/Grammar/Definite


text:
Electronics/Electro-Mechanical Analogies

Introduction
The goal of electro-mechanical analogies is to integrate electrical and mechanical components in a simple graphical way that illustrates the behavior of the system. Of course, one needs to be familiar with simple lumped electrical systems to appreciate the analogy. This is warranted because these circuits and procedures are still used in the transducer industry to model shakers, speakers, dynamic microphones, and other systems.

The two analogies between electrical and mechanical systems are the impedance analogy and the mobility analogy.

Mechanical          Electrical Equivalent Impedance Analog potential           Force      $$F(t)$$        Voltage    $$V(t)$$ flux                Velocity   $$u(t)$$        Current    $$i(t)$$ Mobility Analog potential           Velocity   $$u(t)$$        Voltage    $$V(t)$$ flux                Force      $$F(t)$$        Current    $$i(t)$$

The impedance analog is often easier for most acoustical systems while the mobility analog more "naturally" represents mechanical systems. It also may be easier to draw one analog or the other in some cases.

Electro-mechanical Equivalent Components
1) The Equivalent Spring

2) The Equivalent Mass

3) The Equivalent Resistance


text:
Neapolitan/bibliography

Grammars

 * Iandolo, Carlo- 'A lengua 'e Pulecenella, Sorrento, Di Mauro, 1994 (Italian);

Dictionaries

 * Andreoli, Raffaele- Vocabolario Napoletano-Italiano, Paravia, 1887 (and subsequent editions- 1966, 1998);
 * D'Ascoli, Francesco- Dizionario Italiano-Napoletano, Adriano Gallina, 1983;

Literature

 * Basile, Giambattista- Lo cunto de li cunti;
 * De Filippo, Eduardo- Filumena Marturano (play);
 * De Filippo, Eduardo- Il sindaco del Rione Sanità (play);
 * De Filippo, Eduardo- La tempesta (trans. of The Tempest) (play);

Napoletano/Bibliografia

title: Neapolitan/bibliography


text:
Introduction to Art/Painting I

Painting can be done in a variety of media. For example, Oils, Watercolour, Acrylics, Gouache and Tempera.

Paints are made from a pigment, and a binder. Binder is relatively cheap, while pigment is much more expensive. Pigments are a colored powder, made from organic or inorganic materials. (This is different than a colorant, which dyes or stains a color.)

All paints use the same basic pigments, but the binder changes. The binder for acrylics dries quickly and the paint is more like a plastic than oils which have an oil based binder and dry slowly. Oil Paints are often built up in layers or glazes. The other paints---Watercolour, Acrylics, Gouache, and Tempera---are water-based, meaning the paint can be diluted with water and clean-up can be done with soap and water. Oil paints, on the other hand, require paint thinner to clean brushes. The number and variety of painting techniques is endless.

Besides quality of paint, factors affecting color quality include: paint opacity, glossiness of painting surface, lighting, transparency, and texture.

title: Introduction to Art/Painting I


text:
Radiation Oncology/Sarcoma/Chondrosarcoma

Epidemiology

 * Heterogenous group of tumors forming cartilagenous tumors
 * If there is evidence of osteoid or bone production, the tumor is classified as an osteosarcoma
 * Median age in 3rd to 4th decades; 50% in patients >40
 * Distribution:
 * Pelvis (31%)
 * Femur (21%)
 * Shoulder girdle (13%)
 * Diaphyseal portion of long bones
 * Skull base - can be a clinical challenge, since frequently limited resectability
 * Clinical presentation
 * Pain is a sign of active growth, and is an ominous sign
 * Otherwise symptoms depend on location
 * Radiographic presentation
 * Two distinct patterns
 * Small, well-defined lytic lesion within a narrow zone of transition, with surrounding sclerosis
 * No sclerotic border
 * Endosteal scalloping is a key sign of malignancy

Histologic Subtypes

 * Central (76%)
 * Peripheral
 * Mesenchymal: high rate of metastatic spread
 * Dedifferentiated: may resemble a fibrosarcoma or osteosarcoma; highly aggressive
 * Clear cell: slow growing, multiple local recurrences
 * Most tend to be low grade

Treatment Overview

 * Treatment is maximum surgical resection while minimizing functional disability. Decompression of visual and other neural structures, blood vessels, and brain stem should be achieved.
 * Adjuvant RT typically indicated in cases of incomplete resection
 * No effective chemotherapy at this time

Radiotherapy

 * MDACC; 1982 (1961-76) PMID 6806219 -- "Fifteen year radiotherapy experience with chondrosarcoma of bone." (McNaney D, Int J Radiat Oncol Biol Phys. 1982 Feb;8(2):187-90.)
 * Retrospective. 20 pts treated with curative intent (11, definitive RT; 3 post-op RT; 3 RT + chemo; 3 recurrent after surgery). RT doses 4000 - 7000 cGy (1000 / wk) using photons and/or neutrons.
 * Sites: 13 pelvis, 4 spine, 2 distal femur, 1 H&N
 * Subgroups:
 * RT alone: 5 of 11 (45%) alive without progressive local disease (at median 30 months). OS 54% at 30 months. Median dose 6600 cGy. 4 pts treated with mixed photons + neutrons. The rest treated with photons alone.
 * Post-op: 2 of 3 alive w/o progressive disease at 44 and 52 months. Dose range 4500-6000 cGy.
 * RT+chemo w/o surgery: 2 of 3 alive w/o progressive disease at 15 and 29 months. Dose range 4000-6400 cGy.
 * RT for recurrence: 2 of 3 alive w/o progressive disease at 19 and 77 months. Dose range 6200-7000 cGy.
 * 11 of 20 (55%) show no evidence of progressive local disease at median 30 months. Two additional patients surgically salvaged after RT failure; overall survival rate 65% (13/20).
 * Severe complications in 5 pts: 3 foot drop, 1 subcutaneous fibrosis, 1 eye enucleation.

 * Princess Margaret; 1980 (1958-76) PMID 7379008 -- "Radiotherapy of chondrosarcoma of bone." (Harwood AR, Cancer. 1980 Jun 1;45(11):2769-77.)
 * Retrospective. 31 pts (20 pts - definitive RT, 11 pts - palliative).
 * Conclusion: "Our experience shows quite clearly that chondrosarcoma of bone can no longer be classified as a radioresistant tumor."

Proton Beam Radiotherapy

 * Orsay; 2008 (France)(1996-2006) PMID 18440726 -- "Proton therapy in pediatric skull base and cervical canal low-grade bone malignancies." (Habrand JL, Int J Radiat Oncol Biol Phys. 2008 Jul 1;71(3):672-5. Epub 2008 Apr 25.)
 * Retrospective. 30 children with chordoma (n=26), chondrosarcoma (n=3), and chondroma (n=1). Location in skull base (n=13), skull base with extension to cervical canal (n=12), or cervical canal (n=1). Median age 13.5 years. Surgery followed by photon/proton therapy. Mean total dose 68.4 CGE (54.6-71); mean photon dose 37.4 Gy (30.6-45), mean proton dose 32.1 CGE (20-70.2). F/U 2.2 years
 * Outcome: Local control chordoma 21/26 (81%), chondrosarcoma 3/3 (100%), chondroma 1/1 (100%). 5-year PFS chordoma 77%, chondrosarcoma 100%
 * Toxicity: Grade 3 auditory toxicty 1 patient, Grade 2 pituitary failure 7 patients
 * Conclusion: Well tolerated, excellent local control

 * MGH, 1999 - PMID 10555005 -- "Chondrosarcoma of the base of the skull: a clinicopathologic study of 200 cases with emphasis on its distinction from chordoma." Rosenberg AE et al. Am J Surg Pathol 1999 Nov;23(11):1370-8.
 * 200 pts w/ chondrosarcoma tx'd w/ proton/photon radiation as a portion of tx regimen. Pts received 64.2-79.6 CGE (median 72 CGE).
 * 5 yr local control 99%, 10 yr local control 98%.
 * 5 and 10 yr dz specific survival rate both 99%.
 * Conclusion: excellent prognosis w/ aggressive management in contrast to chordoma which has substantially worse prognosis.

 * Loma Linda, 1999 (1992-98) - PMID 10470818 -- "Proton radiation therapy for chordomas and chondrosarcomas of the skull base." Hug EB et al. J Neurosurg. 1999 Sep;91(3):432-9.
 * 25 chondrosarcomas (and 33 chordoma) pts tx'd w/ proton beam irradiation after maximal surgery. Dose range of 64.8-79.2 CGE.
 * 5yr OS for chondrosarcoma was 100%. 5yr local control for chondrosarcoma was 92%.
 * Control rates were influenced by brainstem involvement and tumor volume.
 * Chondrosarcoma with better outcomes than chordoma.

 * Netherlands, 1998 - PMID 9667567 -- "Intracranial chondrosarcoma: review of the literature and report of 15 cases." Korten AG et al.  J Neurol Neurosurg Psychiatry. 1998 Jul;65(1):88-92.
 * Reviewed all cases of intracranial chondrosarcoma in the Netherlands and available data in the literature.
 * Found surgery alone to have a 53% local recurrence rate w/ average time to recurrence of 32 months.
 * Adjuvant charged particle irradiation had local control of 78-91% at 5 yrs, and 5 yr OS of 83-94%.


text:
A-level Physics/Forces, Fields and Energy/Further dynamics

From last year, you should remember kinematics and dynamics, the branch of physics that relates to the motion of objects. We will now expand on this and have a look at what happens when two objects collide, the concept of momentum, and we will take a closer look at Newton's three laws of motion.

Momentum
If you have seen collisions involving two objects, you may have noticed that the velocity of one object seems to be passed to the other object. You may also have noticed that heavier objects seem to pass more velocity on to smaller objects, whereas smaller objects seem to pass less velocity to more massive ones.

What is in fact happening is that momentum is being conserved. Momentum is the product of an objects mass and velocity, or $$p=mv$$. This means that, after a collision, an object that is heavier will have a lower velocity than a lighter object in its place, and vice versa. Momentum is conserved for all collisions. The principle of the conservation of momentum states that:

Within a closed system, the total momentum in any specified direction remains constant.

Momentum is a vector quantity and has the units $$kg\,m\,s^{-1}$$ or $$Ns$$ (Newton-seconds) in the SI system.

Collisions
Since momentum is conserved, the momentum before a collision is equal to the momentum after a collision. You can use this fact to solve problems involving collisions.

$$ \begin{alignat}{2} Before & =After\\ m_1u_1+ m_2u_2 & =m_1v_1 + m_2v_2\\ \end{alignat} $$

For instance, a ball is moving at 3 m/s with mass 3 kg. It hits another ball with mass 1 kg moving at 2 m/s; the two balls collide and the second ball rebounds at 4 m/s. Find the velocity at which ball 1 is moving:

$$ \begin{alignat}{2} Before & = After \\ m_1u_1 + m_2u_2 & = m_1v_1 + m_2v_2 \\ 3\times 3 + 2\times 1 & = 3v  + 1\times 4 \\ 11 & = 3v  + 4 \\ 11-4 & = 3v \\ 7 & = 3v \\ v & = \frac{7}{3} \\ \end{alignat}$$

So the velocity at which ball 1 is moving after the collision is 2.3 m/s (7/3)m/s 1

Newton's first law of motion
A body stays at rest or continues to move at constant velocity unless a resultant force acts on it

Newton's second law of motion
Originally, you learnt this to be:

For an object with constant mass, its acceleration is proportional to the force producing the acceleration, and is in the direction of the force.

However, since you now know that a force changes the rate of change of momentum of an object, we can use a more accurate interpretation of Newton's second law:

The rate of change of momentum of a body is proportional to the resultant force acting on the body and takes place in the direction of the resultant force.

Newton's third law of motion
If body A exerts a force on body B, then body B will exert a force of the same type that is equal in magnitude and opposite in direction on body A..


text:
Statistics/Summary/Averages/Moving Average

Moving Average
A moving average is used when you want to get a general picture of the trends contained in a data set. The data set of concern is typically a so-called "time series", i.e a set of observations ordered in time. Given such a data set X, with individual data points $$x_{i}$$, a 2n+1 point moving average is defined as $$\bar{x_{i}}=\frac{1}{2n+1}\sum_{k=i-n}^{i+n}x_{k}$$, and is thus given by taking the average of the 2n points around $$x_{i}$$. Doing this on all data points in the set (except the points too close to the edges) generates a new time series that is somewhat smoothed, revealing only the general tendencies of the first time series.

The moving average for many time-based observations is often lagged. That is, we take the 10 -day moving average by looking at the average of the last 10 days. We can make this more exciting (who knew statistics was exciting?) by considering different weights on the 10 days. Perhaps the most recent day should be the most important in our estimate and the value from 10 days ago would be the least important. As long as we have a set of weights that sums to 1, this is an acceptable moving-average. Sometimes the weights are chosen along an exponential curve to make the exponential moving-average.


text:
Art Tutorials/General Ideas

This chapter covers a variety of topics that refer less to specific media or concepts, but rather offers questions and suggestions to think about while working.

The value of studies
Not every work an artist creates has to be a finished work.

Returning to a work
Often while creating a work, the artist sees the potential of the work rather than the actuality of the work. This is most true when starting the work since the canvas is blank. However, even as the artist believes the work to be nearing completion, he or she may still be seeing a significant amount of potential.

Similarly, regardless of how much of the work is completed, should the artist leave the work to continue it later, the potential of the work might be forgotten. When returning to the work, the artist might not be able to see the original idea he or she had. This is often the case with artists who work emphatically on a work until completion and then return to the work later only to find the work lacking in some area.

This is a problem with many artists who do not address this issue.

Information Density
Information density is the idea that a visual area has varying amounts of "interesting" information for your brain to process. For example, faces have more visual information for your brain to analyze than a leg. Even on a face, the lower portion containing the nose and mouth has more information than the upper portion containing just the forehead and hair. Since there is less information in some areas, your brain needs less time to process the information to "get a good look" at the subject. Because of this, artists often will also spend less time when drawing less information dense areas and typically make them too small. This is why a lot of lesser skilled artists make foreheads to short, hands too large, etc.

Exercises to deal with this problem are typically some form of contour drawing.

title: Art Tutorials/General Ideas