text:
Talk:Spanish/Sound Files

We either need to get rid of this page or post new sound files.--Fenoxielo 18:13, 30 September 2005 (UTC)

Broken Links (Moved from Sound Files page)
//Any of these links above work... I would have liked to listen to them, especially to the Spanish numbers

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

title: Talk:Spanish/Sound Files


text:
Cookbook:Bliny

| Bread | Cuisine of Russia

Blini (singular blin; in Russian, блин[ы]) are small Russian pancakes, typically topped with sour cream, jam or caviar.

Ingredients

 * 4 cups of milk, warmed (80–95°F)
 * 1 tablespoon of white granulated sugar
 * 1 tablespoon of salt
 * 5 teaspoons of butter, melted
 * 1 ounce of yeast
 * 1 egg white
 * 1.3 pounds (5 cups) of wheat flour
 * 5 teaspoons of olive oil

Procedure
Блины
 * 1) Dissolve the yeast in 3 cups of the warm milk. Add ½ tablespoon of sugar, salt, egg yolk, and melted butter.
 * 2) Stir, then add half the flour, and knead the dough.
 * 3) Cover the bowl with the dough with a cloth or towel and leave it in a warm place for 1.5–2 hours, or until the volume of the dough is doubled.
 * 4) Heat the rest of the milk to 122°F, then mix it into the batter along with the rest of flour and sugar. Pour in well-whipped egg white.
 * 5) Knead the dough again and leave it until it rises.
 * 6) Heat an oiled frying pan. With a large ladle pour some batter in the center so it makes a circle.
 * 7) When the bottom of the blin is ready (the edges of the blin should have separated from the pan and be pointing upwards), turn it over.
 * 8) After it is ready, put the blin on a large plate and start making the next one.

title: Cookbook:Bliny


text:
User talk:Dataangel

Hi Dataangel, welcome to Wikibooks! Hope you have fun editing or reading here. By the way, I've replied to your questions on Talk:HSE Primes, hope that helps. Dysprosia 10:28, 13 Aug 2004 (UTC)

title: User talk:Dataangel


text:
Calculus/Hyperbolic functions

Theory

The independent variable of a hyperbolic function is called a hyperbolic angle. Just as the circular functions sine and cosine can be seen as projections from the unit circle to the axes, so the hyperbolic functions sinh and cosh are projections from a unit hyperbola to the axes.

Definitions
The hyperbolic functions are defined in analogy with the trigonometric functions:
 * $$\sinh(x)=\frac{e^x-e^{-x}}{2}$$
 * $$\cosh(x)=\frac{e^x+e^{-x}}{2}$$
 * $$\tanh(x)=\frac{\sinh(x)}{\cosh(x)}=\frac{e^x-e^{-x}}{e^x+e^{-x}}$$

The reciprocal functions csch, sech, coth are defined from these functions:
 * $${\rm csch}(x)=\frac{1}{\sinh(x)}$$
 * $${\rm sech}(x)=\frac{1}{\cosh(x)}$$
 * $$\coth(x)=\frac{1}{\tanh(x)}$$

Some simple identities

 * $$\cosh^2(x)-\sinh^2(x)=1$$
 * $$1-\tanh^2(x)={\rm sech}^2(x)$$
 * $$\sinh(2x)=2\sinh(x)\cosh(x)$$
 * $$\cosh(2x)=\cosh^2(x)+\sinh^2(x)$$

Derivatives of hyperbolic functions
$$\frac{d}{dx}\sinh(x)=\cosh(x)$$

$$\frac{d}{dx}\cosh(x)=\sinh(x)$$

$$\frac{d}{dx}\tanh(x)={\rm sech}^2(x)$$

$$\frac{d}{dx}{\rm csch}(x)=-{\rm csch}(x){\rm coth}(x)$$

$$\frac{d}{dx}{\rm sech}(x)=-{\rm sech}(x)\tanh(x)$$

$$\frac{d}{dx}{\rm coth}(x)=-{\rm csch}^2(x)$$

Principal values of the main hyperbolic functions
There is no problem in defining principal braches for sinh and tanh because they are injective. We choose one of the principal branches for cosh.
 * $$\sinh:\R\to\R$$
 * $$\cosh:[0,\infty]\to[1,\infty]$$
 * $$\tanh:\R\to(-1,1)$$

Inverse hyperbolic functions
With the principal values defined above, the definition of the inverse functions is immediate:
 * $$\rm arsinh:\R\to\R$$
 * $$\rm arcosh:[1,\infty]\to[0,\infty]$$
 * $$\rm artanh:(-1,1)\to\R$$

We can define $$\rm arcsch$$, $$\rm arsech$$ and $$\rm arcoth$$ similarly.

We can also write these inverses using the logarithm function,
 * $${\rm arsinh}(x)=\ln\big(x+\sqrt{x^2+1}\big)$$
 * $${\rm arcosh}(x)=\ln\big(x+\sqrt{x^2-1}\big)$$
 * $${\rm artanh}(x)=\ln\left(\sqrt{\frac{1+x}{1-x}}\right)$$

These identities can simplify some integrals.

Derivatives of inverse hyperbolic functions
$$\frac{d}{dx}{\rm arsinh}(x)=\frac{1}{\sqrt{1+x^2}}$$

$$\frac{d}{dx}{\rm arcosh}(x)=\frac{1}{\sqrt{x^2-1}}\ ,\ x>1$$

$$\frac{d}{dx}{\rm artanh}(x)=\frac{1}{1-x^2}\ ,\ |x|<1$$

$$\frac{d}{dx}{\rm arcsch}(x)=-\frac{1}{|x|\sqrt{1+x^2}}\ ,\ x\ne0$$

$$\frac{d}{dx}{\rm arsech}(x)=-\frac{1}{x\sqrt{1-x^2}}\ ,\ 01$$

Transcendental Functions
Hyperbolic functions are examples of transcendental functions -- they are not algebraic functions. They include trigonometric, inverse trigonometric, logarithmic and exponential functions.

title: Calculus/Hyperbolic functions


text:
Calculus/Taylor series

Taylor Series
sin(x) and Taylor approximations, polynomials of degree 1, 3 , 5 , 7 , 9 , 11 and 13.

Here, $$n!$$ is the factorial of $$n$$ and $$f^{(n)}(a)$$ denotes the $$n$$th derivative of $$f$$ at the point $$a$$. If this series converges for every $$x$$ in the interval $$(a-r,a+r)$$ and the sum is equal to $$f(x)$$, then the function $$f(x)$$ is called analytic. To check whether the series converges towards $$f(x)$$, one normally uses estimates for the remainder term of Taylor's theorem. A function is analytic if and only if a power series converges to the function; the coefficients in that power series are then necessarily the ones given in the above Taylor series formula.

If $$a=0$$, the series is also called a Maclaurin series.

The importance of such a power series representation is threefold. First, differentiation and integration of power series can be performed term by term and is hence particularly easy. Second, an analytic function can be uniquely extended to a holomorphic function defined on an open disk in the complex plane, which makes the whole machinery of complex analysis available. Third, the (truncated) series can be used to approximate values of the function near the point of expansion.

The function $$f(z)=e^{-\frac{1}{z^2}}$$ is not analytic: the Taylor series is 0, although the function is not. Note that there are examples of infinitely often differentiable functions $$f(x)$$ whose Taylor series converge, but are not equal to $$f(x)$$. For instance, for the function defined piecewise by saying that $$f(x)=\begin{cases}0&x=0\\e^{-\frac{1}{x^2}}&x\ne0\end{cases}$$, all the derivatives are 0 at $$x=0$$ , so the Taylor series of $$f(x)$$ is 0, and its radius of convergence is infinite, even though the function most definitely is not 0. This particular pathology does not afflict complex-valued functions of a complex variable. Notice that $$f(z)=e^{-\frac{1}{z^2}}$$ does not approach 0 as $$z$$ approaches 0 along the imaginary axis.

Some functions cannot be written as Taylor series because they have a singularity; in these cases, one can often still achieve a series expansion if one allows also negative powers of the variable $$x$$; see Laurent series. For example, $$f(z)=e^{-\frac{1}{z^2}}$$ can be written as a Laurent series.

The Parker-Sockacki theorem is a recent advance in finding Taylor series which are solutions to differential equations. This theorem is an expansion on the Picard iteration.

Derivation
Suppose we want to represent a function as an infinite power series, or in other words a polynomial with infinite terms of degree "infinity". Each of these terms are assumed to have unique coefficients, as do most finite-polynomials do. We can represent this as an infinite sum like so:
 * $$f(x)={c_0}(x-a)^0+c_1(x-a)^1+c_2(x-a)^2+c_3(x-a)^3+\cdots+c_n(x-a)^n+\cdots$$

where $$a$$ is the radius of convergence and $$c_0,c_1,c_2,\dots,c_n,\dots$$ are coefficients. Next, with summation notation, we can efficiently represent this series as
 * $$\sum_{n=0}^{\infty}c_n(x-a)^n$$

which will become more useful later. As of now, we have no schematic for finding the coefficients other than finding each one in the series by hand. That method would not be particularly useful. Let us, then, try to find a pattern and a general solution for finding the coefficients. As of now, we have a simple method for finding the first coefficient. If we substitute $$a$$ for $$x$$ then we get
 * $$f(a)=c_0$$

This gives us $$c_0$$. This is useful, but we still would like a general equation to find any coefficient in the series. We can try differentiating with respect to x the series to get
 * $$f'(x)=c_1(x-a)^{0}+2c_2(x-a)^{1}+3c_3(x-a)^{2}+4c_4(x-a)^3+\cdots+nc_n(x-a)^{(n-1)}+\cdots$$

We can assume $$c_n$$ and $$a$$ are constant. This proves to be useful, because if we again substitute $$a$$ for $$x$$ we get
 * $$f'(a)=c_1$$

Noting that the first derivative has one constant term ($$c_1(x-a)^0=c_1$$) we can find the second derivative to find $$c_2$$. It is
 * $$f''(x)=2c_2+(2\times3)c_3(x-a)^1+(3\times4)c_4(x-a)^2+\cdots+(n)(n-1)c_n(x-a)^{(n-2)}+\cdots$$

If we again substitute $$a$$ for $$x$$ :
 * $$f''(a)=2c_2$$

Note that $$c_2$$'s initial exponent was 2, and $$c_1$$'s initial exponent was 1. This is slightly more enlightening, however it is still slightly ambiguous as to what is happening. Going off the previous examples, if we differentiate again we get
 * $$f'''(x)=(2\times3)c_3(x-a)^0+(2\times3\times4)c_4(x-a)^1+(3\times4\times5)c_5(x-a)^2+\cdots+(n)(n-1)(n-2)c_n(x-a)^{n-3}$$

If we substitute $$x=a$$ we, again, that
 * $$f'''(a)=(2\times3)c_3$$

By now, the pattern should be becoming clearer. $$(n)(n-1)(n-2)$$ looks suspiciously like $$n!$$. And indeed, it is! If we carry this out $$n$$ times by finding the $$n$$th derivative, we find that the multiple of the coefficient is $$n!$$. So for some $$c_n$$, for any integer $$n\ge0$$ ,
 * $$n!\times c_n=\frac{d^n}{dx^n}f(a)$$

Or, with some simple manipulation, more usefully,
 * $$c_n=\frac{f^{(n)}(a)}{n!}$$

where $$f^{(0)}(x)=f(x)$$ and $$f^{(1)}(x)=f'(x)$$ and so on. With this, we can find any coefficient of the "infinite polynomial". Using the summation definition for our "polynomial" given earlier,
 * $$\sum_{n=0}^\infty c_n(x-a)^n$$

we can substitute for $$c_n$$ to get
 * $$f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n$$

This is the definition of any Taylor series. But now that we have this series, how can we derive the definition for a given analytic function? We can do just as the definition specifies, and fill in all the necessary information. But we will also want to find a specific pattern, because sometimes we are left with a great many terms simplifying to 0.

First, we have to find $$f(a)$$. Because we are now deriving our own Taylor Series, we can choose anything we want for $$f(x)$$, but note that not all functions will work. It would be useful to use a function that we can easily find the $$n$$-th derivative for. A good example of this would be $$\sin(x)$$. With $$\sin(x)$$ chosen, we can begin to find the derivatives. Before we begin, we should also note that $$a$$ is essentially the "offset" of the function along the x-axis, because this is also essentially true for any polynomial. With that in mind, we can assume, in this particular case, that the offset is $$0$$ and so $$a=0$$. With that in mind, "0-th" derivative or the function itself would be
 * $$\sin(0)=0$$

If we plug that in to the definition of the first term in the series, again noting that $$a=0$$, we get
 * $$\frac{0}{0!}x^0=0$$

where $$0!=1$$. This means that the first term of the series is 0, because anything multiplied by 0 is 0. Take note that not all Taylor series start out with a 0 term. Next, to find the next term, we need to find the first derivative of the function. Remembering that the derivative of $$\sin(x)$$ is $$\cos(x)$$ we get that
 * $$\frac{d}{dx}\sin(0)=\cos(0)=1$$

This means that our second term in the series is
 * $$\frac{1}{1!}x^1=x$$

Next, we need to find the third term. We repeat this process.
 * $$\frac{d^2}{dx^2}\sin(0)=-\sin(0)=0$$

Because the derivative of $$\cos(x)=-\sin(x)$$. We continue with
 * $$\frac{0}{2!}x^2=0$$

The fourth term:
 * $$\frac{d^3}{dx^3}\sin(0)=-\cos(0)=-1$$
 * $$\frac{-1}{3!}x^3=\frac{-x^3}{6}$$

Repeating this process we can get the sequence
 * $$\frac{0}{0!}x^0,\frac{1}{1!}x^1,\frac{0}{2!}x^2,\frac{-1}{3!}x^3,\frac{0}{4!}x^4,\frac{1}{5!}x^5,\frac{0}{6!}x^6,\frac{-1}{7!}x^7,\dots$$

which simplifies to
 * $$0,x,0,\frac{-x^3}{6},0,\frac{x^5}{120},0,\frac{-x^7}{5040},\dots$$

Because we are ultimately dealing with a series, the zero terms can be ignored, giving use the new sequence
 * $$x,\frac{-x^3}{6},\frac{x^5}{120},\frac{-x^7}{5040},\dots$$

There is a pattern here, however it may be easier to see if we take the numerator and the denominator separately. The numerator:
 * $$1,-1,1,-1,\dots$$
 * $$1!,3!,5!,7!,\dots$$

And for the $$x$$ part of the terms, we have the sequence
 * $$x,x^3,x^5,\dots$$

By this point, at least for the denominator and the $$x$$ part, the pattern should be obvious. It is, for the denominator
 * $$(2n-1)!=\text{denom}_n$$

The $$x$$ term:
 * $$x^{2n-1}=\text{xterm}_n$$

Finally, the numerator may not be as obvious, but it follows this pattern:
 * $$(-1)^{n-1}$$

With all of these things discovered, we can put them together to find the rule for the $$n$$th term of the sequence:
 * $$\frac{(-1)^{n-1}}{(2n-1)!}x^{2n-1}=\text{sumterm}_n$$

And so our Taylor (Maclaurin) series for $$\sin(x)$$ is
 * $$f(x)=\sum_{n=1}^\infty\frac{(-1)^{n-1}}{(2n-1)!}x^{2n-1}$$

List of Taylor series
Several important Taylor series expansions follow. All these expansions are also valid for complex arguments $$x$$.

Exponential function and natural logarithm:

 * $$e^x=\sum_{n=0}^\infty\frac{x^n}{n!}\quad\text{ for all }x$$
 * $$\ln(1+x)=\sum_{n=1}^{\infty}\frac{(-1)^{n-1}}n x^n\quad\text{ for }|x|<1$$

Geometric series:

 * $$\frac{1}{1-x}=\sum_{n=0}^\infty x^n\quad\text{ for }|x|<1$$

Binomial series:

 * $$(1+x)^\alpha=\sum_{n=0}^\infty\binom{\alpha}{n}x^n\quad\text{ for all }|x|<1\quad\text{ and all complex }\alpha$$

Trigonometric functions:

 * $$\sin(x)=\sum_{n=1}^\infty\frac{(-1)^{n-1}}{(2n-1)!}x^{2n-1}\quad\text{ for all }x$$

 * $$\cos(x)=\sum_{n=0}^\infty\frac{(-1)^n}{(2n)!}x^{2n}\quad\text{ for all }x$$

 * $$\tan(x)=\sum_{n=1}^\infty\frac{B_{2n}(-4)^n(1-4^n)}{(2n)!}x^{2n-1}\quad\text{ for }|x|<\frac{\pi}{2}$$

 * $$\sec(x)=\sum_{n=0}^\infty\frac{(-1)^nE_{2n}}{(2n)!}x^{2n}\quad\text{ for }|x|<\frac{\pi}{2}$$

 * $$\arcsin(x)=\sum_{n=0}^\infty\frac{(2n)!}{4^n(n!)^2(2n+1)}x^{2n+1}\quad\text{ for }|x|<1$$

 * $$\arctan(x)=\sum_{n=0}^\infty\frac{(-1)^n}{2n+1}x^{2n+1}\quad\text{ for }|x|<1$$

Hyperbolic functions:

 * $$\sinh(x)=\sum_{n=1}^\infty\frac{x^{2n-1}}{(2n-1)!}\quad\text{ for all }x$$

 * $$\cosh(x)=\sum_{n=0}^\infty\frac{x^{2n}}{(2n)!}\quad\text{ for all }x$$

 * $$\tanh(x)=\sum_{n=1}^\infty\frac{B_{2n}2^{2n}(2^{2n}-1)}{(2n)!}x^{2n-1}\quad\text{ for }|x|<\frac{\pi}{2}$$

 * $${\rm arsinh}(x)=\sum_{n=0}^\infty\frac{(-1)^n(2n)!}{2^{2n}(n!)^2(2n+1)}x^{2n+1}\quad\text{ for }|x|<1$$

 * $${\rm artanh}(x)=\sum_{n=1}^\infty\frac{x^{2n-1}}{2n-1}\quad\text{ for }|x|<1$$

Lambert's W function:

 * $$W_0(x)=\sum_{n=1}^\infty\frac{(-n)^{n-1}}{n!}x^n\quad\text{ for }|x|<\frac{1}{e}$$

The numbers $$B_k$$ appearing in the expansions of $$\tan(x)$$ and $$\tanh(x)$$ are the Bernoulli numbers. The $$\binom{\alpha}{n}$$ in the binomial expansion are the binomial coefficients. The $$E_k$$ in the expansion of $$sec(x)$$ are Euler numbers.

Multiple dimensions
The Taylor series may be generalized to functions of more than one variable with

\sum_{n_1=0}^\infty\cdots\sum_{n_d=0}^\infty\frac{\partial^{n_1}}{\partial x_1^{n_1}}\cdots\frac{\partial^{n_d}}{\partial x_d^{n_d}}\frac{f(a_1,\dots,a_d)}{n_1!\cdots n_d!}(x_1-a_1)^{n_1}\cdots (x_d-a_d)^{n_d} $$

History
The Taylor series is named for mathematician Brook Taylor, who first published the power series formula in 1715.

Constructing a Taylor Series
Several methods exist for the calculation of Taylor series of a large number of functions. One can attempt to use the Taylor series as-is and generalize the form of the coefficients, or one can use manipulations such as substitution, multiplication or division, addition or subtraction of standard Taylor series (such as those above) to construct the Taylor series of a function, by virtue of Taylor series being power series. In some cases, one can also derive the Taylor series by repeatedly applying integration by parts. The use of computer algebra systems to calculate Taylor series is common, since it eliminates tedious substitution and manipulation.

Example 1
Consider the function
 * $$f(x)=\ln\big(1+\cos(x)\big)$$

for which we want a Taylor series at 0.

We have for the natural logarithm
 * $$\ln(1+x)=\sum_{n=1}^\infty\frac{(-1)^{n+1}}{n}x^n=x-\frac{x^2}{2}+\frac{x^3}{3}-\frac{x^4}{4}+\cdots\quad\text{ for }|x|<1$$

and for the cosine function
 * $$\cos(x)=\sum_{n=0}^\infty\frac{(-1)^n}{(2n)!}x^{2n}=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots\quad\text{ for all }x\in\C$$

We can simply substitute the second series into the first. Doing so gives
 * $$\left(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots\right)-\frac12\left(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots\right)^2+\frac13\left(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots\right)^3-\cdots$$

Expanding by using multinomial coefficients gives the required Taylor series. Note that cosine and therefore $$f$$ are even functions, meaning that $$f(x)=f(-x)$$, hence the coefficients of the odd powers $$x$$, $$x^3$$, $$x^5$$, $$x^7$$ and so on have to be zero and don't need to be calculated. The first few terms of the series are
 * $$\ln\big(1+\cos(x)\big)=\ln(2)-\frac{x^2}{4}-\frac{x^4}{96}-\frac{x^6}{1440}-\frac{17x^8}{322560}-\frac{31x^{10}}{7257600}-\cdots$$

The general coefficient can be represented using Faà di Bruno's formula. However, this representation does not seem to be particularly illuminating and is therefore omitted here.

Example 2
Suppose we want the Taylor series at 0 of the function
 * $$g(x)=\frac{e^x}{\cos(x)}$$

We have for the exponential function
 * $$e^x=\sum_{n=0}^\infty\frac{x^n}{n!}=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+\cdots$$

and, as in the first example,
 * $$\cos(x)=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots$$

Assume the power series is
 * $$\frac{e^x}{\cos(x)}=c_0+c_1x+c_2x^2+c_3x^3+\cdots$$

Then multiplication with the denominator and substitution of the series of the cosine yields

Collecting the terms up to fourth order yields
 * $$e^x$$
 * $$=\big(c_0+c_1x+c_2x^2+c_3x^3+\cdots\big)\cos(x)$$
 * $$=\left(c_0+c_1x+c_2x^2+c_3x^3+c_4x^4+\cdots\right)\left(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\cdots\right)$$
 * $$=c_0-\frac{c_0}{2}x^2+\frac{c_0}{4!}x^4+c_1x-\frac{c_1}{2}x^3+\frac{c_1}{4!}x^5+c_2x^2-\frac{c_2}{2}x^4+\frac{c_2}{4!}x^6+c_3x^3-\frac{c_3}{2}x^5+\frac{c_3}{4!}x^7+\cdots$$
 * }
 * $$=c_0-\frac{c_0}{2}x^2+\frac{c_0}{4!}x^4+c_1x-\frac{c_1}{2}x^3+\frac{c_1}{4!}x^5+c_2x^2-\frac{c_2}{2}x^4+\frac{c_2}{4!}x^6+c_3x^3-\frac{c_3}{2}x^5+\frac{c_3}{4!}x^7+\cdots$$
 * }
 * $$=c_0-\frac{c_0}{2}x^2+\frac{c_0}{4!}x^4+c_1x-\frac{c_1}{2}x^3+\frac{c_1}{4!}x^5+c_2x^2-\frac{c_2}{2}x^4+\frac{c_2}{4!}x^6+c_3x^3-\frac{c_3}{2}x^5+\frac{c_3}{4!}x^7+\cdots$$
 * }
 * $$=c_0+c_1x+\left(c_2-\frac{c_0}{2}\right)x^2+\left(c_3-\frac{c_1}{2}\right)x^3+\left(c_4+\frac{c_0}{4!}-\frac{c_2}{2}\right)x^4+\cdots$$

Comparing coefficients with the above series of the exponential function yields the desired Taylor series
 * $$\frac{e^x}{\cos(x)}=1+x+x^2+\frac{2x^3}{3}+\frac{x^4}{2}+\cdots$$

title: Calculus/Taylor series


text:
User talk:George McAllister

Can you please write in the third-person? It's improper to use "I" in your articles. Mike Storm 13:55, 13 Aug 2004 (UTC)

title: User talk:George McAllister


text:
PHP Programming/Integration Methods (HTML Forms, etc.)

Integrating PHP
There are quite a few ways that PHP is used. Following are a few methods that PHP can be called.

Forms
Forms are, by far, the most common way of interacting with PHP. As we mentioned before, it is recommended that you have knowledge of HTML, and here is where we start using it. If you don't, just head to the HTML Wikibook for a refresher.

Form Setup
To create a form and point it to a PHP document, the HTML tag is used and an action is specified as follows:

Once the user clicks "Submit", the form body is sent to the PHP script for processing. All fields in the form are stored in the variables $_GET or $_POST, depending on the method used to submit the form.

The difference between the GET and POST methods is that GET submits all the values in the URL, while POST submits values transparently through HTTP headers. A general rule of thumb is if you are submitting sensitive data, use POST. POST forms usually provide more security.

Remember $_GET and $_POST are superglobal arrays, meaning you can reference them anywhere in a PHP script. For example, you don't need to call global $_POST or global $_GET to use them inside functions.

Example
Let's look at an example of how you might do this. This form would look like the following:

And here's the script you'd use to process it (login.php):

Let's take a look at that script a little closer. As you can see, $_POST is an array, with keys matching the names of each field in the form. For backward compatibility, you can also refer to them numerically, but you generally shouldn't as this method is much clearer. And that's basically it for how you use forms to submit data to PHP documents. It's that easy.

For More Information
PHP Manual: Dealing with Forms

PHP from the Command Line
Although PHP was originally created with the intent of being a web language, it can also be used for commandline scripting (although this is not common, because simpler tools such as the bash scripting are available).

Output
You can output to the console the same way you would output to a webpage, except that you have to remember that HTML isn't parsed (a surprisingly common error), and that you have to manually output newlines. The typical hello world program would look like this:

Notice the newline character at the end-of-line - newlines are useful for making your output look neat and readable.

Input
PHP has a few special files for you to read and write to the command line. These files include the stdin, stdout and stderr files. To access these files, you would open these files as if they were actual files using fopen, with the exception that you open them with the special php:// "protocol", like this:

To read from the console, you can just read from stdin. No special redirection is needed to write to the console, but if you want to write to stderr, you can open it and write to it:

Bearing how to read input in mind, we can now construct a simple commandline script that asks the user for a username and a password to authenticate himself.

Note that this script just serves as an example as to how to utilise PHP for commandline programming - the code contained here demonstrates a very poor way to authenticate a user or to store a password. Remember that your PHP scripts are readable by others!

For More Information

 * PHP Manual: PHP from the Command Line


text:
Video Game Design/Introduction/What is a video game

What is a game?
It's a good question, and a common question, one that you can spend a great deal of time arguing over. The definition, conscious or not, will influence how one decides to design a game. So it makes sense to begin there.

There are multiple ways we could define a game, with varying ranges of inclusiveness. The essential problem with most definitions, however, is that they only work when one looks at certain types of games or players.

First, let's state some things we can be certain of:
 * Games exist only by being played; they are interactive.
 * Between one and an infinite number of players may participate, depending on the game.
 * Some games are generally considered more entertaining than others, and some players prefer certain games to others.

The Competition definition holds that games are entirely about players competing against each other, to be the first or the best at something, or in the case of a solitaire game, to overcome the challenge presented to him through the gameplay. This is a reasonable definition for many games, and can be stretched even to very simple games such as Catch, where the only gameplay involved is tossing a ball or other object to the other players. The competition in Catch would be the players versus the ball and the environment; the player holding the ball must try to successfully throw it to the other player, and the other player must try to catch the ball without missing or dropping it. There is a deliberate attempt to make the game challenging; the players could hand the ball off to one another but they never choose to do so.

But what about something even simpler and less rule-based than Catch? Could we call building blocks a game to play? We do say that one "plays" with them. For the Competition definition, we would have to come up with some sort of competition that the player has between himself and the blocks, or his mind.

The player does have a challenge in building structures of his own devising, in coming up with architecture that won't collapse. But neither the blocks nor his mind are trying to hinder him in this goal. They are both tools, assisting him. The blocks have the property of being weighted and prone to gravity, and the mind is not going to assist him perfectly through every step of the process, but these are properties of the objects, not active attempts to foil him. Unlike in the case of Catch, where the players wish to be challenged, someone building blocks is interested in using his tools purely to a productive advantage.

So if you consider building blocks to be a game, then the Competition definition fails. It should be noted, though that many designers consider them and derivative items(Legos, Simcity, etc.) to be toys rather than games.

(The challenge in the game makes the game. Building blocks is playing in a different form, driven by personal targets to create the outcome. A game has set rules, and usually has a beginning, middle and an end, whereas playing mostly starts and ends at your own will without rules controlling the way you manipulate or use your play things. Playing is 100% down to you. A game is set out to be played in a particular manner.)

Games in History
The earliest known games are board games such as Go and Nine Men's Morris. Sports records show that athletic games existed in ancient times as well.

Up until the industrial age, newly designed games were not well-known, if they existed. But a lot of the games and sports played today were invented or had modern rules drawn during the 19th century. Baseball, basketball and football (both the American and international games) are examples of sports that grew up in that period. While some evolution of the rules has taken place since then, they largely resemble the same games played today. New board games like the game of Goose also started appearing at this time. These changes may be most easily attributed to a combination of improved transportation, communication, and manufacturing; with a more mobile society, popular games could easily spread throughout the world, and games with specialized equipment could be built in larger numbers.

The next 'big wave' came with the 1950s and 60s, with the newly developing American consumer society. In this period both flashier and more complex games started appearing. Of special note was the increasing complexity of war games that continued into the 70s, that eventually branched off into the role-playing game.

Of course, during the same time frame video games were just being born. As far back as the 1950s the use of electronics, and especially computers, as a medium for entertainment had been considered or experimented with by academics and enthusiastic students. By the 1970s, they were ready to be mass marketed, first with Pong and variations thereof, then in a series of arcade games such as Canyon Bomber and Lunar Lander, and at about the same time with the Atari 2600 VCS(Video Computer System). These very early video games are notable because of their originality. They were made by and for an inexperienced gaming population, something very different from what is seen today. And most of them found success, being neither copycat imitators nor rushed, uninspired "genre" pieces.

Today, the technology has advanced greatly. No longer just a few rules with simple graphics and sound effects, most modern video games attempt to be virtual reality experiences that engage their players by conveying settings and stories in a visceral manner, combining the techniques of the cinema with gameplay rules to make settings seem realistic. They are produced at great expense and risk; the amount of content needed to achieve an impact competitive with other games has grown astronomically large.

Indeed, one of the more interesting developments in gaming has been the added significance of the 'storyline'. Back when the prime requirement of a video game was to reproduce the playability factor associated with the traditional board game, the inclusion of a background to the events taking place in the game was a manual filler at best. However, with the evolution of gaming technology bringing us ever closer to a fully convincing visual representation of an 'imagined reality', there is now a huge emphasis on the way in which the story unravels around the user's interactions. Any modern action or adventure game that wants to stand a chance out there now requires strong script writing, a solid plot with the occasional twist, and if they're really pushing the boat out, multiple endings/outcomes based on choices made by the user throughout the game. The makers of these games not only want to create a fully interactive cinematic experience, but also one that stands a good chance of winning an Oscar.

Future games may break the boundaries of the screen and common input devices and use methods of input and output that we can hardly imagine today.

The problem with today's game market is that because of the money involved most new games are similar to old tried and tested formulas. The sad fact is that originality is lost, the big players no longer want to risk their money on original ideas.

The Gameplay Experience
Perhaps more important than what the game is, is what the player gets out of the game. That's what a "gameplay experience" is - it encompasses the whole range of player thoughts and feelings during play. Some games try to be more engaging than others, and they may come from different angles. But whether the game is just a component of a larger event (a party, for example) or an event in itself, the experience, rather than the production values or quantity of gameplay, is the measure of what makes the game effective.

Overall the gaming experience is the most important thing, although the target at the end of the game can enhance the play. Take gambling for example, the thought of winning money at the end of the game heightens the playing experience.

The gaming experience is all about immersion: to believe in a small way you are connected to the game world and can affect the events that are unraveling before you. Whether you are snowboarding down a mountain, playing god or shooting your way through mindless zombies, you are connected with the virtual world. It is your journey through that world that is as important, if not more so, than the end finale.

The emotions you are put through in a game also play a big part in the gaming experience. If for example you are playing a game based on a film, you take the emotions conjured up during that film into the game, whether that be a feeling of fear or of invincibility. You therefore become even further immersed, possibly more so than someone who may not have seen the film.

Social Games
Social games, used to pass time or as an excuse to drink or as a way of demonstrating status, among other things, are usually simple enough to grasp quickly, or can be played with little concentration over gossip.

Challenging Games
Challenging games are focused on the presentation of increasingly difficult problems for the player(or players) to solve. Sports are examples of challenging games because they try to test the limits of human abilities; this is why professional leagues can be sold as entertainment for spectators. Other players help you solve these problems or you can solve on your own. This type of games help solve problems in real life, cooperation lessons and solving.

Virtual Realities
Modern game design, especially video game design, has grown increasingly interested in conveying immersive worlds that players can become deeply involved in. Virtual reality is the most appropriate term for this path of design, which is concerned not so much with the storyline or actual realism as it is with making the setting and action as convincing as possible.

Addiction
Despite the wonderful benefits games offer as diversions, spending too much time, to the neglect of normal life duties, and social development with direct contact with others can and often does happen. The line between addiction and a strong enjoyment of games is real, although the addict will rarely admit which side they are on. There are many resources to help the addict.

What is a video game?
A video game is a specific type of software that runs on hardware, a computer or video game console. That hardware platform requires at least some memory (that can be in several forms), some processing capacity and ways to interact with a display and some method with which a player can control the game.

When you get right down to it, that is what a video game is. It's interactive media. The player presses, clicks, or types something and then the game will respond according to some established rules. The elements of communication, therefore, are vital. Video Games are interactive video art pieces. In simpler terms; a video game is just another way to have fun and express creativity.

While definitions are nice and simple, in order to efficiently understand video game design, you really need to know the mechanics behind it all. We will not go into that in depth just yet, but realize that it requires programming, graphic design, sound design, music composition, and so much more.

Since the development of the first video game in 1931, the video game industry has grown on a kind of exponential curve. There were a few bumps in the road, but the industry has come to the point where it is taking in over $7 billion dollars annually. Salaries for people in the video game industry range from $32k to $200K. And a single video game can sell from $10 to almost $100.

Of all the things, it is not anything without a player, that is the participating audience of this interactive media.

After playing
Games will train and educate people, providing new skills and knowledge they can use outside of the game. An example is readily found in flight simulators, but even arcade racing games will train the player to manage more complex situations They will leave the player in an emotional and intellectually changed state. This can be a profound change (anger, catharsis, even love) or a superficial one. The relevance of these is different for each game and must play a role in game-design. In general designers will try to provide a catharsis at the end of each game, a happy ending. But more importantly the player will take away an updated concept of the game itself. This will not just be static knowledge, for example maps of the game or the pros and cons of combos. The player will also gain dynamic knowledge, going over the gameplay in his head, replaying rather than analyzing the game. This after game experience is more relevant to game-design as it creates a slower, more profound feedback loop into the game. ''For example a puzzle game is changed when the gamer can pause or replay after a night's rest. Another example has a player planning his RPG character upgrades and coming back to the game anxious to obtain them.''

A last important issue is the relevance of the world to the game. People can come away from a game curious, and learn more about the real world that will then influence later gameplay. For example a tactical tank simulation designed with real world combat in mind can be cracked by studying real world combat. Social contact will provide them with info that will also influence later gameplay. Players will visit walkthroughs or discuss tactics with friends. And don't forget that the player will predict these matters while playing. For example, a hardcore gamer will not readily plunge into a children's pony-combing game if he has to tell his friends later on. Tying in the player after he stops playing can make or break a game. Ultimately you want the player to come back.


text:
User:Aki3584~enwikibooks

aki3584 is the nick of Akshay Deshpande on the internet. Please see the blog on yahoo 360

title: User:Aki3584~enwikibooks


text:
GIMP/Create a Metal Effect

This article will describe you how to create a brushed metal effect.

Step 1

First, we fill the canvas using the hurl filter (Filters > Noise > Hurl). Set Randomization (%) to 100.

This will do the same thing as the Scatter RGB filter (Filters > Noise > Scatter RGB) with all channels (Red, Green, and Blue) set to 1.0, However, Scatter RGB has slightly more options, and if you turn off Independent RGB in the settings dialogue, may allow you to skip the desaturation step.

Step 2
Then, apply a motion blur to the image (Filters > Blur > Motion Blur...) with an angle of 0 and a length of about 50. Change the angle to 180 and repeat the effect. Why? Notice how the right edge of the final image isn't nice and brushed looking? Doing it in both directions will smooth this out. You may have to adjust the length setting so as not to "overblur".

Alternatively, you can use the Gaussian Blur filter (Filters > Blur > Gaussian Blur). Just click the chain icon and turn the vertical value down and adjust the horizontal value until you are satisfied. This effect will not leave a side of the image left unblurred and may have an even more satisfying final result with proper adjustment.

Step 3
This is the shortest step. Now we only need to desaturate the image. Go to Colours > Desaturate and press Lightness, although Luminosity may sometimes look better.

Apply cropping / tiling / brightness / lighting filters to suit. Cropping may not be necessary if you've used the Gaussian Blur approach as opposed to the Motion Blur approach.

title: GIMP/Create a Metal Effect


text:
User:Kirun~enwikibooks

I am the kirun of kirun.co.uk, and the main 'pedia

title: User:Kirun~enwikibooks


text:
High School Mathematics Extensions/Set Theory and Infinite Processes/Solutions

Set Theory and Infinite Processes
 These solutions were not written by the author of the rest of the book. They are simply the answers I thought were correct while doing the exercises. I hope these answers are useful for someone and that people will correct my work if I made some mistakes

How big is infinity? exercises

 * 1) The number of even numbers is the same as the number of natural numbers because both are countably infinite. You can clearly see the one to one correspondence. (E means even numbers and is not an official set like N)
 * E  N
 * 2  1
 * 4  2
 * 6  3
 * 8  4

2. The number of square numbers is also equal to the number of natural numbers. They are both countably infinite and can be put in one to one correspondence. (S means square numbers and is not an official set like N)
 * S  N
 * 1  1
 * 4  2
 * 9  3
 * 16  4

3. The cardinality of even numbers less than 100 is not equal to the cardinality of natural numbers less than 100. You can simply write out both of them and count the numbers. Then you will see that cardinality of even numbers less than 100 is 49 and the cardinality of natural numbers less than 100 is 99. Thus the set of natural numbers less than 100 is bigger than the set of even numbers less than 100. The big difference between infinite and finite sets thus is that a finite set can not be put into one to one correspondence with any of its subsets, while an infinite set can be put into one to one correspondence with at least one of its subsets. 4. Each part of the sum is answered below
 * infinity + 1 = infinity
 * You can prove this by taking a set with a cardinality of 1, for example a set consisting only of the number 0. You simply add this set in front of the countably infinite set to put the infinite set and the inifinite+1 set into one to one correspondence.
 * N  N+1
 * 1  0
 * 2  1
 * 3  2
 * 4  3
 * infinity + A = infinity (where A is a finite set)
 * You simply add the finite set in front of the infinite set like above, only the finite set doesn't need to have a cardinality of one anymore.
 * infinity + C = infinity (where C is a countably infinite set)
 * You take one item of each set (infinity or C) in turns, this will make the new list also countably infinite.

Is the set of rational numbers bigger than N? exercises
1. To change the matrix from Q' to Q the first step you need to take is to remove the multiple entries for the same number. You can do this by leaving an empty space in the table when gcd(topnr,bottomnr)≠1 because when the gcd isn't 1 the fraction can be simplified by dividing the top and bottom number by the gcd. This will leave you with the following table.
 * $$\begin{matrix}\frac{1}{1} & \frac{1}{2} & \frac{1}{3} & \cdots\\ & & \\\frac{2}{1} &  & \frac{2}{3} & \cdots\\ & & \\\frac{3}{1} & \frac{3}{2} &  & \cdots\\\vdots & \vdots & \vdots & \ddots\end{matrix}$$

Now we only need to add zero to the matrix and we're finished. So we add a vertical row for zero and only write the topmost element in it (0/1) (taking gcd doesn't work here because gcd(0,a)=a) This leaves us with the following table where we have to count all fractions in the diagonal rows to see that Q is countably infinite.
 * $$\begin{matrix}\frac{0}{1} & \frac{1}{1} & \frac{1}{2} & \frac{1}{3} & \cdots\\ & & \\ & \frac{2}{1} &  & \frac{2}{3} & \cdots\\ & & \\ & \frac{3}{1} & \frac{3}{2} &  & \cdots\\\vdots & \vdots & \vdots & \vdots & \ddots\end{matrix}$$

2. To show that $$ \infty \times \infty = \infty $$ you have to make a table where you put one infinity in the horizontal row and one infinity in the vertical row. Now you can start counting the number of place in the table diagonally just like Q' was counted. This works because a table of size AxB contains A*B places.

Are there even bigger infinities? exercises

 * 1) You have to use a method to map the coordinates in a plain onto a point on the line and the other way around, like the one described in the text. This method shows you that for every number on the line there is a place on the plain and for every place on the plain there is a place on the line. Thus the number of points on the line and the plain are the same.


text:
Talk:High School Mathematics Extensions/Set Theory and Infinite Processes/Solutions

Oh nice, very good work. Actually this chapter of the book was not written by me. Maybe you can contribute in a greater capacity. Xiaodai 14:40, 14 Aug 2004 (UTC)

I will try to put up all the answers to the exercises. I already have 90% of the answers on a notebook for the matrices and generators chapters. Mmartin 18:15, 14 Aug 2004 (UTC)

 * Oh really! Great work. Actually how did you find the material in this book? Hard or not too hard? Xiaodai 03:31, 15 Aug 2004 (UTC)

 * I found the material in the book usually not too difficult to understand as long as you read all the text very carefully and sometimes make some extra calculation to make sure you understand it. The only real problem I've had so far is that I didn't know the method of partial fractions. Another problem was that I couldn't follow the last part of the matrices chapter about Diagonalization at all. Although I am of course not an average high school student because I have already had an introduction course to cryptography on a university. Mmartin 08:30, 15 Aug 2004 (UTC)

 * Ok, thanks for the feedback. I will not be able to start work on the method of partial fractions anytime soon so you might like to ask a friend for that. As for the diagonalization part, it's perhaps the most difficult part to follow i must agree, cos it requires a train of thoughts to understand it properly, i hope some examples will help. I will try to explain it better. Xiaodai 07:22, 16 Aug 2004 (UTC)


text:
Aros/User/FAQs

What is AROS all about?
For the Wikipedia description look here For a detailed description look here

What is the legal status of AROS?
European law says that it is legal to apply reverse engineering techniques to gain interoperability. It also says that it is illegal to distribute the knowledge gained by such techniques. It basically means that you are allowed to disassemble or resource any software to write something which is compatible (for example, it would be legal to disassemble Word to write a program which converts Word documents into ASCII text).

There are of course limitations: you are not allowed to disassemble the software if the information you would gain by this process can be obtained by other means. You must also not tell others what you learned. A book like "Windows inside" is therefore illegal or at least of dubious legality.

Since we avoid disassembling techniques and instead use common available knowledge (which includes programming manuals) which don't fall below any NDA, the above doesn't apply directly to AROS. What counts here is the intention of the law: it is legal to write software which is compatible with some other software. Therefore we believe that AROS is protected by the law.

Patents and header files are a different issue, though. We can use patented algorithms in Europe since European law doesn't allow patents on algorithms. However, code that uses such algorithms that are patented in the USA could not be imported to the USA. Examples of patented algorithms in AmigaOS include screen dragging and the specific way menus work. Therefore we avoid implementing these features in exactly the same way. Header files on the other hand must be compatible but as different as possible from the original.

To avoid any trouble we applied for an official ok from Amiga Inc. They are quite positive about the effort but they are very uneasy about the legal implications. We suggest that you take that fact that Amiga Inc did not send us any cease and desist letters as a positive sign. Unfortunately, no legally sound agreement has been made yet, besides good intentions on both sides.

Can't you implement feature XYZ?
Well,:

1. If it was really important, it probably would be in the original OS. ;-)  2. Why don't you do it yourself and send a patch to us?

The reason for this attitude is that there are plenty of people around who think that their feature is the most important and that AROS has no future if that feature is not built in right away. Our position is that AmigaOS, which AROS aims to implement, can do everything a modern OS should do. We see that there are areas where AmigaOS could be enhanced, but if we do that, who would write the rest of the OS? In the end, we would have lots of nice improvements to the original AmigaOS which would break most of the available software but worth nothing, because the rest of the OS would be missing.

Therefore, we decided to block every attempt to implement major new features in the OS until it is more or less completed. We are getting quite close to that goal now, and there have been a couple of innovations implemented in AROS that aren't available in AmigaOS.

How compatible is AROS with AmigaOS?
Very compatible, it let's you run AROS (on your classic amiga hardware if you like) and let's you run both aros and most classic amiga programs, games, and demos, as long as they are compatible, see compatibility list here.

binaries: We expect that AROS will run existing software on the 68k family Amiga hardware without problems. On other hardware, the existing software can be run through integrated Amiga emulation ("emumiga" or "Janus-UAE"), or the code must be recompiled (see below).

sourcecode: Porting programs from AmigaOS to AROS is currently mostly a matter of a recompilation, with the occasional tweak here and there. There are of course programs for which this is not true, but it holds for most modern ones. We will offer a preprocessor which you can use on your code which will change any code that might break with AROS and/or warn you about such code. See Aros/Developer/Porting_software for more on porting software to AROS.

Why are you only aiming for compatibility with 3.1?
Well, to be honest this is a misconception. The base development is aimed at implementing the apis used in "atleast" AmigaOS v3.1. However along the way it has been necessary to revise the plans somewhat where amigaos3.1 didnt support the necessary functionality. The end result is a feature set somewhere in between OS3.1 and 3.9 however 3.1 is still used as the _base_ of our goals.

There are other developments which do not fit into this framework since they don't involve either OS's apis - such as hidds and the relevant technologies to implement and support them.

To this end developers are pretty free to improve on the underlying AmigaOS technologies so long as they can still support existing AmigaOS functionality and APIS with very little to no effort.

What hardware architectures is AROS available for?
Currently AROS is available in a quite usable state as native and hosted (under Windows, Linux, FreeBSD and NetBSD) for the i386 architecture (i.e. IBM PC AT compatible clones) and hosted (Linux and NetBSD) for the m68k architecture (e.g. the Amiga, Atari and Macintosh) and hosted on top of ARM Linux distributions. There are ports under way at varying degrees of completeness to SUN SPARC (hosted under Solaris) and Palm compatible handhelds (native).

Will there be a port of AROS to PPC?
There is a port on the Sam-440 board made by Michael Schulz and another port to EFIKA 5200B.

Furthermore, a Linux-PPC hosted AROS exists already.

Why are you using Linux and X11?
We use Linux and X11 to speed up development. For example, if you implement a new function to open a window you can simply write that single function and don't have to write hundreds of other functions in layers.library, graphics.library, a slew of device drivers and the rest that that function might need to use.

The goal for AROS is of course to be independent of Linux and X11 (but it would still be able to run on them if people really wanted to), and that is slowly becoming a reality with the native versions of AROS. We still need to use Linux for development though, since good development tools haven't been ported to AROS yet.

Why does autorepeat stop working in X11 after running AROS?
This is a long-standing bug in AROS. Run the following command after having quit AROS to enable autorepeat again:

> xset r on

How do you intend to make AROS portable?
One of the major new features in AROS compared to AmigaOS is the HIDD (Hardware Independent Device Drivers) system, which will allow us to port AROS to different hardware quite easily. Basically, the core OS libraries do not hit the hardware directly but instead go through the HIDDs, which are coded using an object oriented system that makes it easy to replace HIDDs and reuse code.

Why do you think AROS will make it?
We hear all the day from a lot of people that AROS won't make it. Most of them either don't know what we are doing or they think the Amiga is already dead. After we explained what we do to the former, most agree that it is possible. The latter make more problems. Well, is Amiga dead right now? Those who are still using their Amigas will probably tell you that it isn't. Did your A500 or A4000 blow up when Commodore went bankrupt? Did it blow up when Amiga Technologies did?

The fact is that there is quite little new software developed for the Amiga (although Aminet still chugs along quite nicely) and that hardware is also developed at a lower speed (but the most amazing gadgets seem appear right now). The Amiga community (which is still alive) seems to be sitting and waiting. And if someone releases a product which is a bit like the Amiga back in 1984, then that machine will boom again. And who knows, maybe you will get a CD along with the machine labeled "AROS". :-)

What do I do if AROS won't compile?
Please post a message with details (for example, the error messages you get) on the AROS User mailing list or become a developer and subscribe to the AROS Developer list and post it there, and someone will try to help you.

Will AROS have memory protection, SVM, RT, ...?
This is a heavily discussed subject, some people say yes others no - only time will tell....

Can I become a beta tester?
Sure, no problem. In fact, we want as many beta testers as possible, so everyone is welcome! We don't keep a list of beta testers though, so all you have to do is to download AROS, test whatever you want and send us a report.

What is the relation between AROS and UAE?
UAE is an Amiga emulator, and as such has somewhat different goals than AROS. UAE wants to be binary compatible even for games and hardware hitting code, while AROS wants to have native applications. Therefore AROS is much faster than UAE, but you can run more software under UAE.

We are in loose contact with the author of UAE and there is a good chance that code for UAE will appear in AROS and vice versa. For example, the UAE developers are interested in the source for the OS because UAE could run some applications much faster if some or all OS functions could be replaced with native code. On the other hand, AROS could benefit from having an integrated Amiga emulation.

Since most programs won't be available on AROS from the start, Fabio Alemagna has ported UAE to AROS so you can run old programs at least in an emulation box.

What is the relation between AROS and Haage & Partner?
Haage & Partner used parts of AROS in AmigaOS 3.5 and 3.9, for example the colorwheel and gradientslider gadgets and the SetENV command. This means that in a way, AROS has become part of the official AmigaOS. This does not imply that there is any formal relation between AROS and Haage & Partner. AROS is an open source project, and anyone can use our code in their own projects provided they follow the license.

What is the relation between AROS and MorphOS?
The relationship between AROS and MorphOS is basically the same as between AROS and Haage & Partner. MorphOS uses parts of AROS to speed up their development effort; under the terms of our license. As with Haage & Partner, this is good for both the teams, since the MorphOS team gets a boost to their development from AROS and AROS gets good improvements to our source code from the MorphOS team. There is no formal relation between AROS and MorphOS; this is simply how open source development works.

What programming languages are available?
Most development for AROS is done using ANSI C by crosscompiling the sources under a different OS, e.g. Linux, FreeBSD or NetBSD.

 * C/C++ via native included gcc/g++ (initially by Fabia Alemagna) or Murks! IDE or crosscompilig under a different OS (Linux, Windows)
 * Python is a scripting language which has become quite popular, because of its nice design and features (object-oriented programming, module system, many useful modules included, clean syntax, ...).
 * Regina is a portable ANSI compliant REXX interpreter. The goal for the AROS port is to be compatible with the ARexx interpreter for the classic AmigaOS.
 * False can be classified as an exotic language, so it will most likely not be used for serious development, although it can be lots of fun. :-)
 * Lua
 * PortablE is a open source implementation of Amiga E, written from scratch in E and able to self-compile. Can be found at http://cshandley.co.uk/portable
 * Ruby
 * Basic4SDL (b4sdl)

see AROS Developer Docs for more

Why is there no m68k emulator in AROS?
To make old Amiga programs run on AROS, we have ported UAE to AROS. AROS' version of UAE will probably be a bit faster than other versions UAE since AROS needs less resources than other operating systems (which means UAE will get more CPU time), and we'll try to patch the kickstart ROM in UAE to call AROS functions which will give another small improvement. Of course, this only applies to the native flavors of AROS and not the hosted flavors.

But why don't we simply implement a virtual m68k CPU to run software directly on AROS? Well, the problem here is that m68k software expects the data to be in big endian format while AROS also runs on little endian CPUs. The problem here is that the little endian routines in the AROS core would have to work with the big endian data in the emulation. Automatic conversion seems to be impossible (just an example: there is a field in a structure in the AmigaOS which sometimes contains one ULONG and sometimes two WORDs) because we cannot tell how a couple of bytes in RAM are encoded.

What is Zune?
In case you read on this site about Zune, it's simply an open-source reimplementation of MUI, which is a powerful (as in user- and developer-friendly) object-oriented shareware GUI toolkit and de-facto standard on AmigaOS. Zune is the preferred GUI toolkit to develop native AROS applications. As for the name itself, it means nothing, but sounds good. Zune is also a handheld MP3-player / multimedia hardware product from Microsoft, but is in no way related to AROS' Zune.

title: Aros/User/FAQs