text:
Basic Book Design/Quotations and Extracts

Consider rewriting long quotations in your own words. Your writing is likely easier to read, and takes up less space. Plus you’ll have no worries about copyrights or permissions.

But sometimes another author writes something better than you can write.

 * I felt like a punk who’d gone out for a switchblade and come back with a tactical nuke.
 * “Shit,” I said, “screwed again. What good’s a tactical nuke in a streetfight?”
 * — William Gibson, Burning Chrome

Set apart long quotations with a different font family, font size, margins, and leading.

If you’re using a serif font (e.g., Times Roman) for your text, the most different font would be sans-serif (e.g., Helvetica). But sans-serif fonts are difﬁcult to read. Instead, use a readable serif font, distinct from your text font. I like Rockwell (used in the above William Gibson quotation). In contrast, Palatino (below) doesn’t look different enough from Times Roman):

 * I felt like a punk who’d gone out for a switchblade and come back with a tactical nuke.
 * “Shit,” I said, “screwed again. What good’s a tactical nuke in a streetﬁght?”
 * — William Gibson, Burning Chrome

OK, to you it looks different, and Palatino is a beautiful font. But some idiot reader won’t notice that you’ve changed fonts, margins, and leading, and think that you wrote the quotation. Don’t be subtle. Make things very clear to your readers.

Use a font size one point smaller than the text. Use single-spaced leading. Move the margins in one-quarter or one-half inch on both sides.

Add space above and below the quote. Don’t add space between a new section heading and the quotation (your section heading should already have space above and below). Don’t add space if the quote is at the top or bottom of a page.

Quotations have one problem I don’t know how to solve. If you change the leading, the lines on the verso and recto pages (left-hand and right-hand pages) won’t align.

A page break should never break a quotation (or an extract) with one line above the page break.

Extracts
An example is called an extract.

 * This is an example of an extract.

Again, make your extracts look distinctive from your text. If your book has both quotations and extracts, use distinctive fonts, e.g., Rockwell for quotations and Helvetica for extracts.

Indentation after Quotations and Extracts
Some typesetters don’t indent the ﬁrst paragraph after a quotation or extract. This is a good idea if the left margin of your quotation/extract is close to your paragraph indentation. E.g., you set your paragraph indentation at 0.2”, and your extract left margin at 0.25”. This book has those settings. Because the extracts and paragraphs nearly line up, you might think that the paragraph after an extract was part of the extract. If you make your quotations/extracts and text look distinct, indent the paragraph after a quotation or extract. If your text, quotations, and extracts look similar, don’t indent the ﬁrst paragraph after a quotation or extract.


text:
Cookbook:Peanut Butter Sandwich

| Vegetarian cuisine | Sandwiches

This recipe is meant to show you how to make the peanut butter sandwich to end all others.

Ingredients

 * 2 slices of bread
 * Butter, soft
 * Peanut butter
 * Honey
 * Preserves (jam)
 * Very cold milk

Procedure

 * 1) Toast and butter the bread slices.
 * 2) Combine the peanut butter, honey, and butter. Spread over one slice of toasted bread.
 * 3) Spread preserves (jam) over the other slice.
 * 4) Put both halves of sandwich together.
 * 5) Cut in half and serve with milk

Notes, tips, and variations

 * Beware! The peanut butter mixture is sloppy. If the peanut butter is too sloppy, try spreading the honey thin on both slices of bread and omit the extra butter.
 * Raisins may be added. They have a honey-like flavor, which will compliment the honey in the sandwich.
 * Bananas are traditional side items. They go well with peanut butter.
 * These directions can be varied according to preference.
 * Try with pickled cucumbers. Sounds odd but don't dismiss until you've tried it.

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

title: Cookbook:Peanut Butter Sandwich


text:
User talk:87.194.55.82

Thanks for experimenting with the page Cookbook:Colcannon on Wikibooks. Your test worked, and has been reverted or removed. Please use the sandbox for any other tests you want to do. Take a look at the welcome page if you would like to learn more about contributing to our project. Thanks.

Az1568 23:38, 17 October 2006 (UTC)

title: User talk:87.194.55.82


text:
Linear Algebra/Cramer's Rule

Cramer's Rule
Let's try to solve the systems of linear equations: a11x1+a12x2+a13x3+...+a1nxn=b1 a21x1+a22x2+a23x3+...+a2nxn=b2 a31x1+a32x2+a33x3+...+a3nxn=b3 ... an1x1+an2x2+an3x3+...+annxn=bn

Which is the special case when the number of equations and the number of variables are the same.

Consider the matrix

$$\begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & a_{nn} \\ \end{bmatrix}$$

to be denoted D.

First, we multiply the nth equation by the cofactor Co(anj) for the jth column, and add it all up. This gets us

Co(a1j)a11x1+Co(a1j)a12x2+Co(a1j)a13x3+...+Co(a1j)a1nxn+ Co(a2j)a21x1+Co(a2j)a22x2+Co(a2j)a23x3+...+Co(a2j)a2nxn+ Co(a3j)a31x1+Co(a3j)a32x2+Co(a3j)a33x3+...+Co(a3j)a3nxn+ +...+ Co(anj)an1x1+Co(anj)an2x2+Co(anj)an3x3+...+Co(anj)annxn = Co(a1j)b1+Co(a2j)b2+Co(a3j)b3+...+Co(anj)bn.

The left side cancels out except for Co(a1j)a1jxj+Co(a2j)a2jxj+Co(a3j)a3jxj+...+Co(anj)anjxj

which is equal to $$x_j \begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & a_{nn} \\ \end{bmatrix}=D$$

and the right side is equal to

$$\begin{bmatrix} a_{11} & a_{12} & a_{13} & \ldots & b_1 & \ldots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \ldots & b_2 & \ldots & a_{2n} \\ a_{31} & a_{32} & a_{33} & \ldots & b_3 & \ldots & a_{3n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \ldots & b_n & \ldots & a_{nn} \\ \end{bmatrix}$$, to be denoted D(j), which is the same thing as D but with the jth column replaced by bk.

Dividing by D gets xj=$$\frac{D_j}{D}$$.

This formula is called Cramer's Rule, and this solution exists when D is not equal to 0.

In particular, in the process of finding the solution, we also find that this is the only solution, so this solution is unique.

Example
Consider the system of linear equations below. $$3x_1 + 2x_2 - 5x_3 = 15$$ $$5x_1 + x_3 = 23$$ $$x_2 + x_3 = 12$$

If we only want the solution for, say, $$x_2$$, we can apply Cramer's Rule to find that its solution is $$\frac {D_2}{D}$$, and since we know $$D_2=\begin{bmatrix} 3 & 15 & -5 \\ 5 & 23 & 1 \\ 0 & 12 & 1\end{bmatrix}$$, $$x_{2} = \frac{\det\begin{bmatrix} 3 & 15 & -5 \\ 5 & 23 & 1 \\ 0 & 12 & 1\end{bmatrix}}{\det\begin{bmatrix} 3 & 2 & -5 \\ 5 & 0 & 1 \\ 0 & 1 & 1 \end{bmatrix}} = 9$$.

title: Linear Algebra/Cramer's Rule


text:
Control Systems/Eigenvalues and Eigenvectors

Eigenvalues and Eigenvectors
The eigenvalues and eigenvectors of the system matrix play a key role in determining the response of the system. It is important to note that only square matrices have eigenvalues and eigenvectors associated with them. Non-square matrices cannot be analyzed using the methods below.

The word "eigen" comes from German and means "own" as in "characteristic", so this chapter could also be called "Characteristic values and characteristic vectors". The terms "Eigenvalues" and "Eigenvectors" are most commonly used. Eigenvalues and Eigenvectors have a number of properties that make them valuable tools in analysis, and they also have a number of valuable relationships with the matrix from which they are derived. Computing the eigenvalues and the eigenvectors of the system matrix is one of the most important things that should be done when beginning to analyze a system matrix, second only to calculating the matrix exponential of the system matrix.

The eigenvalues and eigenvectors of the system determine the relationship between the individual system state variables (the members of the x vector), the response of the system to inputs, and the stability of the system. Also, the eigenvalues and eigenvectors can be used to calculate the matrix exponential of the system matrix through spectral decomposition. The remainder of this chapter will discuss eigenvalues, eigenvectors, and the ways that they affect their respective systems.

Characteristic Equation
The characteristic equation of the system matrix A is given as:

 * $$Av = \lambda v$$

Where λ are scalar values called the eigenvalues, and v are the corresponding eigenvectors. To solve for the eigenvalues of a matrix, we can take the following determinant:

 * $$|A - \lambda I| = 0$$

To solve for the eigenvectors, we can then add an additional term, and solve for v:

 * $$(A - \lambda I)v = 0$$

Another value worth finding are the left eigenvectors of a system, defined as w in the modified characteristic equation:

 * $$wA = \lambda w$$

For more information about eigenvalues, eigenvectors, and left eigenvectors, read the appropriate sections in the following books:

 * Linear Algebra
 * Engineering Analysis

Diagonalization
If the matrix A has a complete set of distinct eigenvalues, the matrix can be diagonalized. A diagonal matrix is a matrix that only has entries on the diagonal, and all the rest of the entries in the matrix are zero. We can define a transformation matrix, T, that satisfies the diagonalization transformation:

 * $$A = TDT^{-1}$$

Which in turn will satisfy the relationship:

 * $$e^{At} = Te^{Dt}T^{-1}$$

The right-hand side of the equation may look more complicated, but because D is a diagonal matrix here (not to be confused with the feed-forward matrix from the output equation), the calculations are much easier.

We can define the transition matrix, and the inverse transition matrix in terms of the eigenvectors and the left eigenvectors:

 * $$ T = \begin{bmatrix} v_1 & v_2 & v_3 & \cdots & v_n\end{bmatrix}$$

 * $$ T^{-1} = \begin{bmatrix} w_1' \\w_2' \\ w_3' \\\vdots \\ w_n'\end{bmatrix}$$

We will further discuss the concept of diagonalization later in this chapter.

Exponential Matrix Decomposition
A matrix exponential can be decomposed into a sum of the eigenvectors, eigenvalues, and left eigenvectors, as follows:

 * $$e^{At} = \sum_{i = 1}^n e^{\lambda_i t}v_i w_i'$$

Notice that this equation only holds in this form if the matrix A has a complete set of n distinct eigenvalues. Since w'i is a row vector, and x(0) is a column vector of the initial system states, we can combine those two into a scalar coefficient α:

 * $$e^{At} x(t_0) = \sum_{i = 1}^n \alpha_i e^{\lambda_i t} v_i $$

Since the state transition matrix determines how the system responds to an input, we can see that the system eigenvalues and eigenvectors are a key part of the system response. Let us plug this decomposition into the general solution to the state equation:

 * $$x(t) = \sum_{i = 1}^n \alpha_i e^{\lambda_i t} v_i + \sum_{i = 1}^n \int_0^t e^{\lambda_i (t-\tau)}v_i w_i' Bu(\tau) d\tau$$

We will talk about this equation in the following sections.

State Relationship
As we can see from the above equation, the individual elements of the state vector x(t) cannot take arbitrary values, but they are instead related by weighted sums of multiples of the systems right-eigenvectors.

Decoupling
If a system can be designed such that the following relationship holds true:

 * $$w_i'B = 0$$

then the system response from that particular eigenvalue will not be affected by the system input u, and we say that the system has been decoupled. Such a thing is difficult to do in practice.

Condition Number
With every matrix there is associated a particular number called the condition number of that matrix. The condition number tells a number of things about a matrix, and it is worth calculating. The condition number, k, is defined as:

 * $$k = \frac{\|w_i\|\|v_i\|}{|w_i'v_i|}$$

Systems with smaller condition numbers are better, for a number of reasons:
 * 1) Large condition numbers lead to a large transient response of the system
 * 2) Large condition numbers make the system eigenvalues more sensitive to changes in the system.

We will discuss the issue of eigenvalue sensitivity more in a later section.

Stability
We will talk about stability at length in later chapters, but is a good time to point out a simple fact concerning the eigenvalues of the system. Notice that if the eigenvalues of the system matrix A are positive, or (if they are complex) that they have positive real parts, that the system state (and therefore the system output, scaled by the C matrix) will approach infinity as time t approaches infinity. In essence, if the eigenvalues are positive, the system will not satisfy the condition of BIBO stability, and will therefore become unstable.

Another factor that is worth mentioning is that a manufactured system never exactly matches the system model, and there will always been inaccuracies in the specifications of the component parts used, within a certain tolerance. As such, the system matrix will be slightly different from the mathematical model of the system (although good systems will not be severely different), and therefore the eigenvalues and eigenvectors of the system will not be the same values as those derived from the model. These facts give rise to several results:

 * 1) Systems with high condition numbers may have eigenvalues that differ by a large amount from those derived from the mathematical model. This means that the system response of the physical system may be very different from the intended response of the model.
 * 2) Systems with high condition numbers may become unstable simply as a result of inaccuracies in the component parts used in the manufacturing process.

For those reasons, the system eigenvalues and the condition number of the system matrix are highly important variables to consider when analyzing and designing a system. We will discuss the topic of stability in more detail in later chapters.

Non-Unique Eigenvalues
The decomposition above only works if the matrix A has a full set of n distinct eigenvalues (and corresponding eigenvectors). If A does not have n distinct eigenvectors, then a set of generalized eigenvectors need to be determined. The generalized eigenvectors will produce a similar matrix that is in Jordan canonical form, not the diagonal form we were using earlier.

Generalized Eigenvectors
Generalized eigenvectors can be generated using the following equation:

 * $$(A - \lambda I) v_{n+1} = v_n$$

if d is the number of times that a given eigenvalue is repeated, and p is the number of unique eigenvectors derived from those eigenvalues, then there will be q = d - p generalized eigenvectors. Generalized eigenvectors are developed by plugging in the regular eigenvectors into the equation above (vn). Some regular eigenvectors might not produce any non-trivial generalized eigenvectors. Generalized eigenvectors may also be plugged into the equation above to produce additional generalized eigenvectors. It is important to note that the generalized eigenvectors form an ordered series, and they must be kept in order during analysis or the results will not be correct.

Jordan Canonical Form
If a matrix has a complete set of distinct eigenvectors, the transition matrix T can be defined as the matrix of those eigenvectors, and the resultant transformed matrix will be a diagonal matrix. However, if the eigenvectors are not unique, and there are a number of generalized eigenvectors associated with the matrix, the transition matrix T will consist of the ordered set of the regular eigenvectors and generalized eigenvectors. The regular eigenvectors that did not produce any generalized eigenvectors (if any) should be first in the order, followed by the eigenvectors that did produce generalized eigenvectors, and the generalized eigenvectors that they produced (in appropriate sequence).

Once the T matrix has been produced, the matrix can be transformed by it and it's inverse:

 * $$A = T^{-1}JT$$

The J matrix will be a Jordan block matrix. The format of the Jordan block matrix will be as follows:

 * $$J = \begin{bmatrix}

D & 0 & \cdots & 0 \\ 0 & J_1 & \cdots & 0 \\ \vdots & \vdots &\ddots & \vdots \\ 0 & 0 & \cdots & J_n \end{bmatrix}$$

Where D is the diagonal block produced by the regular eigenvectors that are not associated with generalized eigenvectors (if any). The Jn blocks are standard Jordan blocks with a size corresponding to the number of eigenvectors/generalized eigenvectors in each sequence. In each Jn block, the eigenvalue associated with the regular eigenvector of the sequence is on the main diagonal, and there are 1's in the sub-diagonal.

Equivalence Transformations
If we have a non-singular n × n matrix P, we can define a transformed vector "x bar" as:

 * $$\bar{x} = Px$$

We can transform the entire state-space equation set as follows:

 * $$\bar{x}'(t) = \bar{A}\bar{x}(t) + \bar{B}u(t)$$
 * $$\bar{y}(t) = \bar{C}\bar{x}(t) + \bar{D}u(t)$$

Where:

 * {| class="wikitable"

 * $$\bar{A} = PAP^{-1}$$
 * $$\bar{B} = PB$$
 * $$\bar{C} = CP^{-1}$$
 * $$\bar{D} = D$$
 * }
 * $$\bar{C} = CP^{-1}$$
 * $$\bar{D} = D$$
 * }
 * }

We call the matrix P the equivalence transformation between the two sets of equations.

It is important to note that the eigenvalues of the matrix A (which are of primary importance to the system) do not change under the equivalence transformation. The eigenvectors of A, and the eigenvectors of $$\bar{A}$$ are related by the matrix P.

Lyapunov Transformations
The transformation matrix P is called a Lyapunov Transformation if the following conditions hold:

 * P(t) is nonsingular.
 * P(t) and P'(t) are continuous
 * P(t) and the inverse transformation matrix P-1(t) are finite for all t.

If a system is time-variant, it can frequently be useful to use a Lyapunov transformation to convert the system to an equivalent system with a constant A matrix. This is not always possible in general, however it is possible if the A(t) matrix is periodic.

System Diagonalization
If the A matrix is time-invariant, we can construct the matrix V from the eigenvectors of A. The V matrix can be used to transform the A matrix to a diagonal matrix. Our new system becomes:

 * $$Vx'(t) = VAV^{-1}Vx(t) + VBu(t)$$
 * $$y(t) = CV^{-1}Vx(t) + Du(t)$$

Since our system matrix is now diagonal (or Jordan canonical), the calculation of the state-transition matrix is simplified:

 * $$e^{VAV^{-1}} = \Lambda$$

Where Λ is a diagonal matrix.

MATLAB Transformations
The MATLAB function ss2ss can be used to apply an equivalence transformation to a system. If we have a set of matrices A, B, C and D, we can create equivalent matrices as such:

[Ap, Bp, Cp, Dp] = ss2ss(A, B, C, D, p);

Where p is the equivalence transformation matrix.


text:
C Sharp Programming/The .NET Framework/Windows Forms

System.Windows.Forms
To create a Windows desktop application we use the library represented by namespace. Some commonly used classes in this namespace include:
 * Control - generic class from which other useful classes, like, and others listed below are derived
 * Form - this is the base class for the program window. All other controls are placed directly onto a or indirectly on another container (like  or ) that ultimately resides on the . When automatically created in Visual Studio, it is usually subclassed as.
 * Button - a clickable button
 * TextBox - a singleline or multiline textbox that can be used for displaying or inputting text
 * RichTextBox - an extended that can display styled text, e.g. with parts of the text colored or with a specified font. RichTextBox can also display generalized RTF document, including embedded images.
 * Label - simple control allowing display of a single line of unstyled text, often used for various captions and titles
 * ListBox - control displaying multiple items (lines of text) with ability to select an item and to scroll through it
 * ComboBox - similar to, but resembling a dropdown menu
 * TabControl and TabPage - used to group controls in a tabbed interface (much like tabbed interface in Visual Studio or Mozilla Firefox). A contains a collection of  objects.
 * DataGrid - data grid/table view

Form class
The class (System.Windows.Forms.Form) is a particularly important part of that namespace because the form is the key graphical building block of Windows applications. It provides the visual frame that holds buttons, menus, icons, and title bars together. Integrated development environments (IDEs) like Visual C# and SharpDevelop can help create graphical applications, but it is important to know how to do so manually:

The example above creates a simple Window with the text "I Love Wikibooks" in the title bar. Custom form classes like the example above inherit from the class. Setting any of the properties, , and is optional. Your program will compile and run successfully, if you comment these lines out, but they allow us to add extra control to our form.

Events
An event is an action being taken by the program when a user or the computer makes an action (for example, a button is clicked, a mouse rolls over an image, etc.). An event handler is an object that determines what action should be taken when an event is triggered.

Controls
The Windows Forms namespace has a lot of very interesting classes. One of the simplest and important is the class. A form is the key building block of any Windows application. It provides the visual frame that holds buttons, menus, icons and title bars together. Forms can be modal and modalless, owners and owned, parents and children. While forms could be created with a notepad, using a form editor like VS.NET, C# Builder or Sharp Develop makes development much faster. In this lesson, we will not be using an IDE. Instead, save the code below into a text file and compile with command line compiler.


text:
Cookbook:Tortilla Española

| Breakfast

A tortilla española (or Spanish omelette) is a mixture of fried potatoes and onions set in eggs, fried to make a dish somewhat akin to a quiche which may be eaten like a pizza.

The following recipe makes a 10-inch (25 cm) omelette that will feed from one to four persons.

Ingredients

 * 1 tbsp minced garlic
 * About ¼ cup + 2 tbsp vegetable or olive oil
 * 6 medium potatoes
 * 1 white onion
 * 6 eggs

Procedure

 * 1) Heat the garlic and a small amount of oil in a 10-inch frying pan until garlic is browned.
 * 2) Add the rest of the oil and heat to about 375°F (200°C).
 * 3) Cube or slice the potatoes and coarsely chop the onion; add to hot oil and fry until brown.
 * 4) Strain the potatoes, onions, and garlic and reserve about 2 tablespoons oil.
 * 5) Beat eggs in a separate bowl.
 * 6) Add potatoes, onions, and garlic to beaten eggs and allow to sit for about 15 minutes.
 * 7) Put reserved tablespoons of oil in original 10-inch frying pan and place over low-medium heat.
 * 8) Add egg/potato/onion/garlic mixture to frying pan; fry, lifting up edges of tortilla española to allow uncooked egg to run underneath and cook.
 * 9) Serve after cooked as a pizza with your choice of toppings: salsa, sour cream, shredded cheese, chives, etc., are all very good choices.

Artes culinarias/Recetas/Tortilla de patatas

title: Cookbook:Tortilla Española


text:
Cookbook talk:Cuisine of Scotland

"...due to the prevaling view of haggis?"

This page is, um, pretty weak. And biased!

It's modern - ie- supermarked infested scotch food that is unhealthy. Not many of the traditional recipies -- which is what this page is about.

title: Cookbook talk:Cuisine of Scotland


text:
Control Systems/List of Equations

The following is a list of the important equations from the text, arranged by subject. For more information about these equations, including the meaning of each variable and symbol, the uses of these functions, or the derivations of these equations, see the relevant pages in the main text.

Fundamental Equations

 * $$e^{j\omega} = \cos(\omega) + j\sin(\omega)$$

 * $$(a*b)(t) = \int_{-\infty}^\infty a(\tau)b(t - \tau)d\tau$$

 * $$\mathcal{L}[f(t) * g(t)] = F(s)G(s)$$
 * $$\mathcal{L}[f(t)g(t)] = F(s) * G(s)$$

 * $$|A - \lambda I| = 0$$
 * $$Av = \lambda v$$
 * $$wA = \lambda w$$

 * $$dB = 20 \log(C)$$

Basic Inputs

 * $$u(t) = \left\{

\begin{matrix} 0, & t < 0 \\  1, & t \ge 0 \end{matrix}\right. $$

 * $$r(t) = t u(t)$$

 * $$p(t) = \frac{1}{2}t^2 u(t)$$

Error Constants

 * $$K_p = \lim_{s \to 0} G(s)$$
 * $$K_p = \lim_{z \to 1} G(z)$$

 * $$K_v = \lim_{s \to 0} s G(s)$$
 * $$K_v = \lim_{z \to 1} (z - 1) G(z)$$

 * $$K_a = \lim_{s \to 0} s^2 G(s)$$
 * $$K_a = \lim_{z \to 1} (z - 1)^2 G(z)$$

System Descriptions

 * $$y(t) = \int_{-\infty}^\infty g(t, r)x(r)dr$$

 * $$y(t) = x(t) * h(t) = \int_{-\infty}^\infty x(\tau)h(t - \tau)d\tau$$

 * $$Y(s) = H(s)X(s)$$
 * $$Y(z) = H(z)X(z)$$

 * $$ x'(t) = A x(t) + B u(t)$$
 * $$ y(t) = C x(t) + D u(t)$$

 * $$C[sI - A]^{-1}B + D = \mathbf{H}(s)$$
 * $$C[zI - A]^{-1}B + D = \mathbf{H}(z)$$

 * $$\mathbf{Y}(s) = \mathbf{H}(s)\mathbf{U}(s)$$
 * $$\mathbf{Y}(z) = \mathbf{H}(z)\mathbf{U}(z)$$

 * $$M = \frac{y_{out}}{y_{in}} = \sum_{k=1}^N \frac{M_k \Delta\ _k}{ \Delta\ }$$

Feedback Loops

 * $$ H_{cl}(s) = \frac{KGp(s)}{1 + KGp(s)Gb(s)}$$

 * $$H_{ol}(s) = KGp(s)Gb(s)$$

 * $$F(s) = 1 + H_{ol}$$

Transforms

 * $$F(s) = \mathcal{L}[f(t)] = \int_0^\infty f(t) e^{-st}dt$$

 * $$f(t)

= \mathcal{L}^{-1} \left\{F(s)\right\} = {1 \over {2\pi}}\int_{c-i\infty}^{c+i\infty} e^{st} F(s)\,ds$$

 * $$F(j\omega) = \mathcal{F}[f(t)] = \int_0^\infty f(t) e^{-j\omega t} dt$$

 * $$f(t)

= \mathcal{F}^{-1}\left\{F(j\omega)\right\} = \frac{1}{2\pi}\int_{-\infty}^\infty F(j\omega) e^{-j\omega t} d\omega$$

 * $$F^*(s) = \mathcal{L}^*[f(t)] = \sum_{i = 0}^\infty f(iT)e^{-siT}$$

 * $$X(z) = \mathcal{Z}\left\{x[n]\right\} = \sum_{i = -\infty}^\infty x[n] z^{-n}$$

 * $$ x[n] = Z^{-1} \{X(z) \}= \frac{1}{2 \pi j} \oint_{C} X(z) z^{n-1} dz \ $$

 * $$X(z, m) = \mathcal{Z}(x[n], m) = \sum_{n = -\infty}^{\infty} x[n + m - 1]z^{-n}$$

Transform Theorems

 * $$x(\infty) = \lim_{s \to 0} s X(s)$$
 * $$x[\infty] = \lim_{z \to 1} (z - 1) X(z)$$

 * $$x(0) = \lim_{s \to \infty} s X(s)$$

State-Space Methods

 * $$x(t) = e^{At-t_0}x(t_0) + \int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau$$
 * $$x[n] = A^nx[0] + \sum_{m=0}^{n-1}A^{n-1-m}Bu[n]$$

 * $$y(t) = Ce^{At-t_0}x(t_0) + C\int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau + Du(t)$$
 * $$y[n] = CA^nx[0] + \sum_{m=0}^{n-1}CA^{n-1-m}Bu[n] + Du[n]$$

 * $$x(t) = \phi(t, t_0)x(t_0) + \int_{t_0}^{t} \phi(\tau, t_0)B(\tau)u(\tau)d\tau$$
 * $$x[n] = \phi[n, n_0]x[t_0] + \sum_{m = n_0}^{n} \phi[n, m+1]B[m]u[m]$$

 * $$ G(t, \tau) = \left\{\begin{matrix}C(\tau)\phi(t, \tau)B(\tau) & \mbox{ if } t \ge \tau \\0 & \mbox{ if } t < \tau\end{matrix}\right.$$
 * $$G[n] = \left\{\begin{matrix}CA^{k-1}N & \mbox{ if } k > 0 \\ 0 & \mbox{ if } k \le 0\end{matrix}\right.$$

Root Locus

 * $$1 + KG(s)H(s) = 0$$
 * $$1 + K\overline{GH}(z) = 0$$

 * $$\angle KG(s)H(s) = 180^\circ$$
 * $$\angle K\overline{GH}(z) = 180^\circ$$

 * $$N_a = P - Z$$

 * $$\phi_k = (2k + 1)\frac{\pi}{P - Z}$$

 * $$\sigma_0 = \frac{\sum_P - \sum_Z}{P - Z}$$

 * $$\frac{G(s)H(s)}{ds} = 0$$ or $$\frac{\overline{GH}(z)}{dz} = 0$$

Lyapunov Stability

 * $$MA + A^TM = -N$$

Controllers and Compensators

 * $$D(s) = K_p + {K_i \over s} + K_d s$$
 * $$D(z) = K_p + K_i \frac{T}{2} \left[ \frac{z + 1}{z - 1} \right] + K_d \left[ \frac{z - 1}{Tz} \right]$$

title: Control Systems/List of Equations


text:
Talk:XForms/Upload

From: aaron reed Date:		Tues, Oct 17 2006 6:50 pm

Groups: 		mozilla.dev.tech.xforms

Hi Dan,

Using an xpath expression as the value of @src won't work because @src takes a anyURI value according to the spec.

You can try changing the value of @src on the instance element using JS. I believe that this will trigger Mozilla to throw away the old instance and load the new (subject to security, of course).

--Aaron

Tenywa David Duncan
Tenywa wa david duncan is a ugandan chess player based in Jinja Tenywa2020 (discuss • contribs) 16:51, 14 June 2020 (UTC)

title: Talk:XForms/Upload


text:
Wikibooks:Avoid instruction creep

Instruction creep is a wiki phenomenon that occurs when a community's written rules evolve into something other than what they are supposed to be: straightforward explanations of community norms. It is important that policies and guidelines do not themselves become a source of problems.

In particular:
 * Ensure that every rule has a good reason.
 * Keep explanations simple and to the point. Use essays to elaborate.
 * Separate distinct points, to aid clarity and purpose.
 * Leave room for Wikibookians to use common sense.
 * Remove or modify any stated requirement which is found to lack community consensus.

title: Wikibooks:Avoid instruction creep


text:
Talk:Learning the vi Editor/Vim/Tips and Tricks

Merge Proposal
Learning the vi editor/Vim is now 44 kB and need to be split into chapters. Having seen the Vim Tipbook I suggest we join forces and create Learning the Vim editor or Using Vim (name open for discussion).

--Krischik T 06:32, 18 October 2006 (UTC)

 * I don't like the change from its original Vim-only focus. Vi is another text editor, this was originally intended to help Vim users.

 * --Digitect 12:51, 11 January 2007 (UTC)

 * The Vim chapters are more the 50% of the Vi book now and so one could consider to move them out into there own book. It woulds still be possible to share text via templates and transclusion to prevent dupplication of work.

 * Or one can turn the book complety into a Vim book as the Busy-box and Vile chapters are just stubs and the vi chapters are more or less static. --Krischik T 08:03, 12 January 2007 (UTC)

 * I missed that this has been included in a larger work. In any case, I find the colors and extended references confusing and unnecessary. This was supposed to be an easy-to-read page for beginners but these complexities are for a different audience.

 * --Digitect 00:41, 13 January 2007 (UTC)

Vim Tips Conversion Project
I just posted the following message to the vim mailing list:

VimTips: New Wiki Direction

Here's my view of "where we are" regarding the Vim Tips wiki conversion project:

1. The Google wiki seems to be a poor option due to the difficulty involved in registering. 2. Multiple other wiki engines have been discussed, and the clear favorite seems to be a site built on top of the Mediawiki application. 3. Of all of the sites that offer free wiki hosting using Mediawiki, Wikibooks seems to be the most favored.

Note: These are all my opinions based on what I've read. I hope to hear from everyone that has a different perspective :)

Ok, so based on my version of reality, I think that we should proceed with the following actions:

0. I'll create the following page on the Vim Tips chapter of the Vim book on Wikibooks (whew!): * http://en.wikibooks.org/wiki/Learning_the_vi_editor/Vim/TipsSandbox 1. All of the people who wrote tip conversion scripts before should update them so that the output format is "Wikipedia markup", not "Google markup" * I apologize to the script writers for making them do more work. Hopefully, the necessary changes to your scripts will be small. * Also, please note that I _don't_ think that anyone should contribute a new script to this effort. We already have three very capable scripts that can probably get the job done very well, so I don't think that the effort would be worthwhile for anyone else. 2. Convert one tip and post the output on the TipsSandbox page listed above. 3. The vim community will come to a consensus on the best format for the tips, and we will use the best script for the job. 4. Consensus achieved!!! 5. We will automate the task of converting all of the tips. 6. A group of wiki superusers will inspect 50 random tips and make sure that they look good. 7. The invisible hand of The Wiki will then gradually make our wonderful collection of Vim tips even more awesome than they've ever been before! ;D

So, what do you guys think?

Tom Purl

I'm sorry that I didn't first consult Krischik, but based upon previous messages that he posted to the mailing list, it looked like he was in favor or hosting all of the tips in this book. If not, then it's certainly not too late to change that direction.

I look forward to any comments or concerns. -- Tompurl 16:21, 3 March 2007 (UTC)


text:
Revit User's Manual/Site Work

Sitework in Revit is not dissimilar from the same in any drafting program: it is mostly drafted elements. The key advantage is that you can use your model for reference, and over and above that, you can lock your site lines to elements in the model. Therefore, if your model is revised, the site plan will update automatically. Most of the challenge in creating a good site plan lie with the issues of grading and project relocation.

Grading
Grading is done by editing a toposurface. By adding points at different elevations, the grade is shaped in three dimensions. Because the topography is drawn from these points, awkward dips can occur if there are not enough points. This is especially true when adjusting grade at a retaining wall. Often the best bet is just to add points.

Relocating The Project Vertically
Relocating your project is simple: move your grade relative to your project without regard for the accuracy of your grade points. Then, relocate your project up or down by the amount necessary to correct your points (spot elevations).

Most new users wonder why their entire project, model and site together, go flying up or down upon relocation. The answer is simply that Revit doesn't understand the simple distinction between project elements and site elements as things that might be moved relative to one another. It just moves everything! So, if you want to move your site relative to to your building, you've got to grab your site elements and move them to where you want relative to your building, and then relocate the project as necessary to get your spot elevations to read correctly.

Generally, the only site element that needs to be moved vertically is your topography (but do make sure your trees and utilities are hosted by your topography or they won't move.)

Relocating The Project Horizontally
Horizontal location can be a bit more tricky. This is something that you might do if you are drawing a series of buildings in a row, but each is in a separate Revit file. You can link these files into one master file and have them appear with the correct vertical and horizontal relationship to one another by placing them in the master file according to their shared coordinates. For example, if these buildings are similar, you may complete one building and then save it to a new file to start the next building. To make sure the next building sits relative to the first building in plan, you will need to relocate that project horizontally.

This operation is more tricky because grabbing the site elements requires care. You not only have to grab your topography, but you also have to grab your property lines, trees, utility poles, and any lines or text that are associated with the site, and then move these as far over as required. Then you relocate the project equally the opposite direction.

title: Revit User's Manual/Site Work


text:
User:Koantum/sandbox

.

title: User:Koantum/sandbox


text:
ICT in Education/Preface

Preface
One of the many challenges facing developing countries today is the preparing of their societies and governments for globalization and the information and communication revolution. Policy-makers, business executives, NGO activists, academics, and ordinary citizens are increasingly concerned with the need to make their societies competitive in the emergent information economy.

The e-ASEAN Task Force and the UNDP Asia Pacific Development Information Programme (UNDPAPDIP) share the belief that with enabling information and communication technologies (ICTs), countries can face the challenge of the information age. With ICTs they can leap forth to higher levels of social, economic and political development. We hope that in making this leap, policy and decision-makers, planners, researchers, development practitioners, opinion-makers, and others will find this series of e-primers on the information economy, society, and polity useful.

The e-primer aims to provide readers with a clear understanding of the various terminologies, definitions, trends, and issues associated with the information age. It is written in simple, easy-to-understand language. It provides examples, case studies, lessons learned, and best practices that will help planners and decision makers in addressing pertinent issues and crafting policies and strategies appropriate for the information economy.

This e-primer is also available online at http://www.eprimers.org. and http://www.apdip.net.

This e-primer is brought to you by UNDP- APDIP, which seeks to create an ICT enabling environment through advocacy and policy reform in the Asia-Pacific region, and the e-ASEAN Task Force, an ICT for development initiative of the 10-member Association of Southeast Asian Nations. We welcome your views on new topics and issues on which the e-primers may be useful.

Finally, we thank all who have been involved with this series of e-primers-writers, researchers, peer reviewers and the production team.

title: ICT in Education/Preface


text:
ICT in Education/Introduction

Introduction
Globalization and technological change—processes that have accelerated in tandem over the past fifteen years—have created a new global economy “powered by technology, fueled by information and driven by knowledge.” The emergence of this new global economy has serious implications for the nature and purpose of educational institutions. As the half-life of information continues to shrink and access to information continues to grow exponentially, schools cannot remain mere venues for the transmission of a prescribed set of information from teacher to student over a fixed period of time. Rather, schools must promote “learning to learn,” : i.e., the acquisition of knowledge and skills that make possible continuous learning over the lifetime. “The illiterate of the 21st century,” according to futurist Alvin Toffler,“will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.”

Concerns over educational relevance and quality coexist with the imperative of expanding educational opportunities to those made most vulnerable by globalization—developing countries in general; low-income groups, girls and women, and low-skilled workers in particular. Global changes also put pressure on all groups to constantly acquire and apply new skills. The International Labour Organization defines the requirements for education and training in the new global economy simply as “Basic Education for All”,“CoreWork Skills for All”and “Lifelong Learning for All”.

Information and communication technologies (ICTs)—which include radio and television, as well as newer digital technologies such as computers and the Internet—have been touted as potentially powerful enabling tools for educational change and reform. When used appropriately, different ICTs are said to help expand access to education, strengthen the relevance of education to the increasingly digital workplace, and raise educational quality by, among others, helping make teaching and learning into an engaging, active process connected to real life.

However, the experience of introducing different ICTs in the classroom and other educational settings all over the world over the past several decades suggests that the full realization of the potential educational benefits of ICTs is not automatic. The effective integration of ICTs into the educational system is a complex, multifaceted process that involves not just technology—indeed, given enough initial capital, getting the technology is the easiest part!—but also curriculum and pedagogy, institutional readiness, teacher competencies, and long-term financing, among others.

This primer is intended to help policymakers in developing countries define a framework for the appropriate and effective use of ICTs in their educational systems by first providing a brief overview of the potential benefits of ICT use in education and the ways by which different ICTs have been used in education thus far. Second, it addresses the four broad issues in the use of ICTs in education—effectiveness, cost, equity, and sustainability. The primer concludes with a discussion of five key challenges that policymakers in developing countries must reckon with when making decisions about the integration of ICTs in education, namely, educational policy and planning, infrastructure, capacity building, language and content, and financing.

title: ICT in Education/Introduction


text:
ICT in Education/Definition of Terms

What are ICTs and what types of ICTs are commonly used in education?
ICTs stand for information and communication technologies and are defined, for the purpose of this primer, as a “diverse set of technological tools and resources used to communicate, and to create, disseminate, store, and manage information.” These technologies include computers, the Internet, broadcasting technologies (radio and television), and telephones.

In recent years there has been a groundswell of interest in how computers and the Internet can best be harnessed to improve the efficiency and effectiveness of education at all levels and in both formal and non-formal settings. But ICTs are more than just these technologies; older technologies such as the telephone, radio and television, although now given less attention, have a longer and richer history as instructional tools. For instance, radio and television have for over forty years been used for open and distance learning, although print remains the cheapest,most accessible and therefore most dominant delivery mechanism in both developed and developing countries. The use of computers and the Internet is still in its infancy in developing countries, if these are used at all, due to limited infrastructure and the attendant high costs of access.

Moreover, different technologies are typically used in combination rather than as the sole delivery mechanism. For instance, the Kothmale Community Radio Internet uses both radio broadcasts and computer and Internet technologies to facilitate the sharing of information and provide educational opportunities in a rural community in Sri Lanka. Similarly, the Indira Gandhi National Open University in India combines the use of print, recorded audio and video, broadcast radio and television, and audioconferencing technologies.

What is e-learning?
Although most commonly associated with higher education and corporate training, e-learning encompasses learning at all levels, both formal and non-formal, that uses an information network—the Internet, an intranet (LAN) or extranet (WAN)—whether wholly or in part, for course delivery, interaction, evaluation and/or facilitation. Others prefer the term online learning. Web-based learning is a subset of e-learning and refers to learning using an Internet mainly using a browser (such as Chrome or Firefox or Internet Explorer). It can also be viewed as learning through the use of electronic. Electronic devices are very important in learning teaching and education.

What is blended learning?
Another term that is gaining currency is blended learning. This refers to learning models that combine traditional classroom practice with e-learning solutions. For example, students in a traditional class can be assigned both print-based and online materials, have online mentoring sessions with their teacher through chat, and are subscribed to a class email list. Or a Web-based training course can be enhanced by periodic face-to-face instruction. “Blending was prompted by the recognition that not all learning is best achieved in an electronically-mediated environment, particularly one that dispenses with a live instructor altogether. Instead, consideration must be given to the subject matter, the learning objectives and outcomes, the characteristics of the learners, and the learning context in order to arrive at the optimum mix of instructional and delivery methods. This method is very useful in education/etc.

What is open and distance learning?
Open and distance learning is defined by the Commonwealth of Learning as “a way of providing learning opportunities that is characterized by the separation of teacher and learner in time or place, or both time and place; learning that is certified in some way by an institution or agency; the use of a variety of media, including print and electronic; two-way communications that allow learners and tutors to interact; the possibility of occasionally face-to-face meetings; and a specialized division of labour in the production and delivery of courses.”

What is meant by a learner-centered environment?
National Research Council of the U.S. defines learner-centered environments as those that “pay careful attention to the knowledge, skills, attitudes, and beliefs that learners bring with them to the classroom.” The impetus for learner-centredness derives from a theory of learning called constructivism, which views learning as a process in which individuals “construct” meaning based on prior knowledge and experience. Experience enables individuals to build mental models or schemas, which in turn provide meaning and organization to subsequent experience. Thus knowledge is not “out there”,independent of the learner and which the learner passively receives; rather, knowledge is created through an active process in which the learner transforms information, constructs hypothesis, and makes decisions using his/her mental models. A form of constructivism called social constructivism also emphasizes the role of the teacher, parents, peers and other community members in helping learners to master concepts that they would not be able to understand on their own. For social constructivists, learning must be active, contextual and social. It is best done in a group setting with the teacher as facilitator or guide.

title: ICT in Education/Definition of Terms


text:
ICT in Education/The Promise of ICTs in Education

What is the promise of ICT in education?
For developing countries ICTs have the potential for increasing access to and improving the relevance and quality of education. It thus represents a potentially equalizing strategy for developing countries.

 * [ICTs] greatly facilitate the acquisition and absorption of knowledge, offering developing countries unprecedented opportunities to enhance educational systems, improve policy formulation and execution, and widen the range of opportunities for business and the poor. One of the greatest hardships endured by the poor, and by many others who live in the poorest countries, is their sense of isolation. The new communications technologies promise to reduce that sense of isolation, and to open access to knowledge in ways unimaginable not long ago

However, the reality of the Digital Divide—the gap between those who have access to and control of technology and those who do not—means that the introduction and integration of ICTs at different levels and in various types of education will be a most challenging undertaking. Failure to meet the challenge would mean a further widening of the knowledge gap and the deepening of existing economic and social inequalities.

How can ICTs help expand access to education?
ICTs are a potentially powerful tool for extending educational opportunities, both formal and non-formal, to previously underserved constituencies—scattered and rural populations, groups traditionally excluded from education due to cultural or social reasons such as ethnic minorities, girls and women, persons with disabilities, and the elderly, as well as all others who for reasons of cost or because of time constraints are unable to enroll on campus.

 * Anytime, anywhere. One defining feature of ICTs is their ability to transcend time and space. ICTs make possible asynchronous learning, or learning characterized by a time lag between the delivery of instruction and its reception by learners. Online course materials, for example, may be accessed 24 hours a day, 7 days a week. ICT-based educational delivery (e.g., educational programming broadcast over radio or television) also dispenses with the need for all learners and the instructor to be in one physical location. Additionally, certain types of ICTs, such as teleconferencing technologies, enable instruction to be received simultaneously by multiple, geographically dispersed learners (i.e., synchronous learning).

 * Access to remote learning resources. Teachers and learners no longer have to rely solely on printed books and other materials in physical media housed in libraries (and available in limited quantities) for their educational needs. With the Internet and the World Wide Web, a wealth of learning materials in almost every subject and in a variety of media can now be accessed from anywhere at anytime of the day and by an unlimited number of people. This is particularly significant for many schools in developing countries, and even some in developed countries, that have limited and outdated library resources. ICTs also facilitate access to resource persons— mentors, experts, researchers, professionals, business leaders, and peers—all over the world.

How does the use of ICTs help prepare individuals for the workplace?
One of the most commonly cited reasons for using ICTs in the classroom has been to better prepare the current generation of students for a workplace where ICTs, particularly computers, the Internet, and related technologies, are becoming more and more ubiquitous. Technological literacy, or the ability to use ICTs effectively and efficiently, is thus seen as representing a competitive edge in an increasingly globalizing job market. Technological literacy, however, is not the only skill well-paying jobs in the new global economy will require. EnGauge of the North Central Regional Educational Laboratory (U.S.) has identified what it calls “21st Century Skills,” which includes digital age literacy (consisting of functional literacy, visual literacy, scientific literacy, technological literacy, information literacy, cultural literacy, and global awareness), inventive thinking, higher-order thinking, and sound reasoning, effective communication, and high productivity. (See Table 1 for a brief explanation of each skill.)

The potential of ICTs to promote the acquisition of these skills is tied to its use as a tool for raising educational quality, including promoting the shift to a learner-centered environment.

Figure 1: Table 1: Skills Needed in the Workplace of the Future

''Source: Adapted from EnGauge. North Central Regional Educational Laboratory. Available online at http://www.ncrel.org/engauge/skills/21skills.htm. Accessed 31 May 2002.''

How can the use of ICTs help improve the quality of education?
Improving the quality of education and training is a critical issue, particularly at a time of educational expansion. ICTs can enhance the quality of education in several ways: by increasing learner motivation and engagement, by facilitating the acquisition of basic skills, and by enhancing teacher training. ICTs are also transformational tools which, when used appropriately, can promote the shift to a learner-centered environment.

Motivating to learn. ICTs such as videos, television and multimedia computer software that combine text,sound, and colorful, moving images can be used to provide challenging and authentic content that will engage the student in the learning process. Interactive radio likewise makes use of sound effects, songs, dramatizations, comic skits, and other performance conventions to compel the students to listen and become involved in the lessons being delivered. More so than any other type of ICT, networked computers with Internet connectivity can increase learner motivation as it combines the media richness and interactivity of other ICTs with the opportunity to connect with real people and to participate in real world events.

Facilitating the acquisition of basic skills. The transmission of basic skills and concepts that are the foundation of higher order thinking skills and creativity can be facilitated by ICTs through drill and practice. Educational television programs such as Sesame Street use repetition and reinforcement to teach the alphabet, numbers, colours, shapes and other basic concepts. Most of the early uses of computers were for computer-based learning (also called computer-assisted instruction) that focused on mastery of skills and content through repetition and reinforcement. (See section below on Computer-Based Learning.)

Enhancing teacher training. ICTs have also been used to improve access to and the quality of teacher training. For example, institutions like the Cyber Teacher Training Center (CTTC) in South Korea are taking advantage of the Internet to provide better teacher professional development opportunities to in-service teachers. The government-funded CTTC, established in 1997, offers self-directed, self-paced Web-based courses for primary and secondary school teachers. Courses include “Computers in the Information Society,”“Education Reform,” and “Future Society and Education.” Online tutorials are also offered, with some courses requiring occasional face-to-face meetings. In China, large-scale radio-and television-based teacher education has for many years been conducted by the China Central Radio and TV University, the Shanghai Radio and TV University and many other RTVUs in the country. At Indira Gandhi National Open University, satellite-based one-way video- and two-way audio-conferencing was held in 1996, supplemented by print-materials and recorded video, to train 910 primary school teachers and facilitators from 20 district training institutes in Karnataka State. The teachers interacted with remote lecturers by telephone and fax.

Figure 2

How can ICTs help transform the learning environment into one that is learner-centered?
Research has shown that the appropriate use of ICTs can catalyze the paradigmatic shift in both content and pedagogy that is at the heart of education reform in the 21st century. If designed and implemented properly, ICT-supported education can promote the acquisition of the knowledge and skills that will empower students for lifelong learning.

When used appropriately, ICTs—especially computers and Internet technologies— enable new ways of teaching and learning rather than simply allow teachers and students to do what they have done before in a better way. These new ways of teaching and learning are underpinned by constructivist theories of learning and constitute a shift from a teacher-centered pedagogy—in its worst form characterized by memorization and rote learning—to one that is learner-centered. (See Table 2 for a comparison of a traditional pedagogy and an emerging pedagogy enabled by ICTs.)

 * Active learning. ICT-enhanced learning mobilizes tools for examination, calculation and analysis of information, thus providing a platform for student inquiry, analysis and construction of new information. Learners therefore learn as they do and, whenever appropriate, work on real-life problems in-depth, making learning less abstract and more relevant to the learner’s life situation. In this way, and in contrast to memorization-based or rote learning, ICT-enhanced learning promotes increased learner engagement. ICT-enhanced learning is also “just-in-time” learning in which learners can choose what to learn when they need to learn it.

 * Collaborative learning. ICT-supported learning encourages interaction and cooperation among students, teachers, and experts regardless of where they are. Apart from modeling real-world interactions, ICT-supported learning provides learners the opportunity to work with people from different cultures, thereby helping to enhance learners’ teaming and communicative skills as well as their global awareness. It models learning done throughout the learner’s lifetime by expanding the learning space to include not just peers but also mentors and experts from different fields.

 * Creative Learning. ICT-supported learning promotes the manipulation of existing information and the creation of real-world products rather than the regurgitation of received information.

 * Integrative learning. ICT-enhanced learning promotes a thematic, integrative approach to teaching and learning. This approach eliminates the artificial separation between the different disciplines and between theory and practice that characterizes the traditional classroom approach.

 * Evaluative learning. ICT-enhanced learning is student-directed and diagnostic. Unlike static, text- or print-based educational technologies, ICT-enhanced learning recognizes that there are many different learning pathways and many different articulations of knowledge. ICTs allow learners to explore and discover rather than merely listen and remember.

'''Figure 3. Table 2. Overview of Pedagogy in the Industrial versus the Information Society'''

''Source: Thijs, A., et al. Learning Through the Web. http://www.decidenet.nl/Publications/Web_Based_Learning.pdf. Accessed 21 May 2002. New link - http://www.decidenet.nl/apps/documenten/download/almekinders1.pdf''


text: Template:User USA/User Pennsylvania

title: Template:User USA/User Pennsylvania


text:
User talk:82.159.136.238

Hi...

Did you just copy and paste A Wikimanual of Gardening/Seeds from wikipedia? If so, it needs to be imported, not copied (otherwise it's copyvio). -- SB_Johnny | talk 10:33, 18 October 2006 (UTC)
 * I wrote it for Wikipedia. But Wikipedia is GNU, so, free to copy. There is no copyvio, because:
 * I wrote this text.
 * It has been written using a GNU (GFDL) license. --82.159.136.238 10:37, 18 October 2006 (UTC)
 * You still have to either link to the edit history, or request an import. -- SB_Johnny | talk 10:40, 18 October 2006 (UTC)
 * LOL... you also have to conform it to the manual of style... too many wikilinks, this is not wikipedia. -- SB_Johnny | talk 10:41, 18 October 2006 (UTC)

Import successful
See A Wikimanual of Gardening/Sowing (feel free to mof move it if you want the page named differently. -- SB_Johnny | talk 10:46, 18 October 2006 (UTC)

 * Wow... you have a lot of contribs all of a sudden :). (The import tool is new, because we've had a lot of copyvio problems with things being brought over from wikipedia... GFDL isn't the same as public domain. -- SB_Johnny | talk 10:50, 18 October 2006 (UTC)
 * I give it to the public domain. A Wikimanual of Gardening/Sowing is O.K. --82.159.136.238 10:52, 18 October 2006 (UTC)

title: User talk:82.159.136.238


text: Talk:Horticulture/Sowing

title: Talk:Horticulture/Sowing


text:
Cookbook:Spelt

Spelt (Triticum spelta) was an important wheat species in Europe from the Bronze Age to Roman times. It now survives as a relict crop in Central Europe, but has found a new market as a health food.

There are often claims made that spelt is suitable for people on a gluten-free diet, but this is incorrect. It may, however, be suitable for some people with an allergy to wheat, although this is very dependent on the individual.

title: Cookbook:Spelt


text:
Cookbook:Potato Spelt Oat Burger

| Vegan cuisine

Ingredients

 * Mashed potatoes
 * Spelt
 * Oat flakes
 * Soy sauce
 * Tomatoes (optional), chopped
 * Onions (optional), chopped
 * Salt
 * Pepper
 * Savory
 * Chili powder
 * Gyro spice

Procedure

 * 1) Combine the mashed potatoes, spelt flour, and oat flakes in about equal amounts (1:1:1).
 * 2) Mix in soy sauce and water.
 * 3) Fry the onions and tomatoes in a little oil, and add to the potato mixture.
 * 4) Mix in salt, pepper, savory, chili powder, and gyro spice to taste.
 * 5) Form the mixture into patties. Fry lightly in a pan with a thin layer of oil until browned on both sides.

Notes, tips, and variations

 * Gyro spice is a spice blend consisting of paprika, chili pepper, onions, oregano, parsley, rosemary, thyme, marjoram, allspice, bay leaves, garlic, salt, and/or monosodium glutamate.

title: Cookbook:Potato Spelt Oat Burger


text:
Computer Programming/Hello world

The following is a list of Hello, world! programs.

Hello, world! programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation.

For even more languages have a look at the Hello World Collection.

4DOS batch
''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. ''

Ingres 4GL
message "Hello, world!" with style = popup;

ABAP Objects (NetWeaver 7)
The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.

ABC
WRITE "Hello, world!"

ActionScript 1.0 and 2.0
This will output to the output window only, which an end user would not see.

This version will be visible to the end user.

ALGOL 68
The ALGOL 68 standard requires that reserved-words, types and operators are in a different typeface. Hence programs are typically published in either bold or an underline typeface, e.g.:

begin printf($"Hello, world!"l$) end

In the popular upper-case stropping convention for bold words: or using a wikitext like quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): or minimally using the "brief symbol" form of begin and end.

AmigaE
PROC main WriteF('Hello, world!'); ENDPROC

AMX NetLinx
This program sends the message out via the Diagnostics Interface after start-up.

program_name = 'Hello' define_start send_string 0,'Hello World!'

APL

 * The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input.

 * The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R

 * The last line is another Del which ends the function definition.

When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation.

The session would look like this

HWΔPGM Hello, world!!

While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line.

'Hello, world!' Hello, world!!

AppleScript
or:

ASP

 * or simply:

ASP.NET
or

or

Hello World!

Accumulator-only architecture: DEC PDP-8, PAL-III assembler
See the example program in the Wikipedia PDP-8 article.

Accumulator/Index microcoded machine: Data General Nova, RDOS
See the example section of the Nova article.

Expanded accumulator machine: Intel x86, Microsoft Windows, FASM
Example of making 32-bit PE program as raw code and data:

Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, required for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes:

General-purpose fictional computer: MIX, MIXAL
TERM   EQU    19          console device no. (19 = typewriter) ORIG  1000        start address START  OUT    MSG(TERM)   output data at address MSG HLT               halt execution MSG    ALF    "HELLO" ALF   " WORL" ALF   "D    " END   START       end of program

General-purpose fictional computer: MMIX, MMIXAL
string BYTE   "Hello, world!",#a,0   string to be printed (#a is newline and 0 terminates the string) Main GETA   $255,string            get the address of the string in register 255 TRAP  0,Fputs,StdOut         put the string pointed to by register 255 to file StdOut TRAP  0,Halt,0               end process

Mainframe: IBM z/Architecture series using BAL
HELLO   CSECT               The name of this program is 'HELLO' USING *,12         Tell assembler what register we are using SAVE (14,12)       Save registers LR   12,15         Use Register 12 for this program WTO  'Hello, world!' Write To Operator RETURN (14,12)     Return to calling party END HELLO          This is the end of the program

RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler
or the even smaller version (from qUE);

SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14

AutoHotkey
(The comma after the command name is optional.)

Avenue (scripting language for ArcView GIS)
MsgBox("Hello, world!","aTitle")

B
This is the first known Hello, world! program ever written:

Baan Tools
Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode.

3GL Format
function main {    message("Hello, world!") }

4GL Format
choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the Continue button to show the message.

Bash or sh
or

or using the C preprocessor

General
The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): Note that the "END" statement is optional in many implementations of BASIC.

Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction.

Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. Again, the "END" statement is optional in many BASICs.

DarkBASIC
or

Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished.

FreeBasic
or

or

or

Liberty BASIC
To write to the main window:

Or drawn in a graphics window:

PBASIC
or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin):

PureBasic
or or

QB64
PRINT "Hello, World"                                                                                END Same for QBasic

TI-BASIC
On TI calculators of the TI-80 through TI-86 range:

Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation).

On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators:

:Prgm :Disp "Hello, world!" :EndPrgm

Visual Basic
or or Alternatively, copy this into a New Form:

PICK/BASIC, DATA/BASIC, MV/BASIC
In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's

X, Y positioning (colon ":" is the concatenation instruction): Will display the string "Hello, world!" roughly centered in a 80X24 CRT.

Other functions: Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT.

Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen.

Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!"

Batch (MS-DOS)
or or or

bc
"Hello, world!"

or, with the newline

BCPL
GET "LIBHDR" LET START BE $(     WRITES ("Hello, world!*N") $)

BITGGAL AgileDog
T  1 "Hello, World" 0

BITGGAL Jihwaja
J( 1 TM 5 ZV 3 "Hello, world" )

BLISS
%TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD,        ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM

boo
See also GUI section.

Burning Sand 2
WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!"

Calprola
This program will work on the Avasmath 80 online programmable calculator. #END
 * 1) BTN A1
 * 2) PRI "HELLO WORLD!"

C/AL - MBS Navision
OBJECT Codeunit 50000 HelloWorld {  PROPERTIES {    OnRun=BEGIN MESSAGE(Txt001); END; }  CODE {    VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN {      Hello, world! in C/AL (Microsoft Business Solutions-Navision) }    END. } }

Casio FX-9750
This program will work on the fx-9750 graphing calculator and compatibles.

"Hello, world!" ↵

or

Locate 1,1,"Hello, world!" ↵

CCL
call echo("Hello, world!")

Ch
The above C code can run in Ch as examples. The simple one in Ch is:

Chuck
<<<"Hello World">>>;

Chrome
namespace HelloWorld; interface type HelloClass = class public class method Main; end; implementation class method HelloClass.Main; begin System.Console.WriteLine( 'Hello, world!' ); end; end.

CintieFramework (VisualBasic.NET)

Clipper
or or

CLIST
PROC 0 WRITE Hello, world!

CLU
start_up = proc po: stream := stream$primary_output stream$putl (po, "Hello, world!") end start_up

COBOL
The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types.

CoffeeScript
CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment.

Using an alert that uses a standard Web browser's window object (window.alert)

or, from Firebug, Apple Safari, or Google Chrome debug console, or Node.js console

ColdFusion (CFML)
or

Cube
Function | Main WriteLine | "Hello, world" End | Main

The '|' represents the separation of the two text fields in the Cube standard IDE.

C#
See also GUI section.

D
Tango version:

Dart
Or,

DC, an arbitrary precision calculator
[Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it.

DCL batch
$ write sys$output "Hello, world!"

DOLL
this::operator { import system.cstdio; puts("Hello, world!"); }

Dream Maker
mob Login ..        world << "Hello, world!"

EAScripting
set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto.

This would be a pure system call

import system ea.helloworld wait

Ed and Ex (Ed extended)
a Hello, world!! . p

Erlang
See also GUI section.

Factor
or gui version

Falcon
printl( "Hello world" )

Ferite
uses "console"; Console.println("Hello, world!");

filePro
@once: mesgbox "Hello, world!" ; exit

Fjölnir
"halló" < main {   main -> stef stofn skrifastreng("Halló, veröld!"), stofnlok } * "GRUNNUR" ;

FOCAL
type "Hello, world!",! or t "Hello, world!",!

Focus
-TYPE Hello, world!

Forte TOOL
begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS method Hello.Init begin super.Init; task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld;

Forth
or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR

Fril
?((pp "Hello, world!"))

or

pp "Hello, world!"

Frink
println["Hello, world!"]

Gambas
See also GUI section.

PUBLIC SUB Main Print "Hello, world!" END

GEMBase 4GL
procedure_form hello begin_block world print "Hello, world!" end_block end_form

GeneXus
Msg("Hello World")

GML (Game Maker Language)
In the draw event of some object: Or to show a splash screen message:

GraalScript 1
if (created) { echo Hello, world!; }

GraalScript 2
function onCreated { echo("Hello, world!"); }

Harbour
? "Hello, world!"

or

@1,1 say "Hello, world!"

or

Qout("Hello, world")

Heron
program HelloWorld; functions { _main { print_string("Hello, world!"); } } end

HP 33s
(Handheld Hewlett-Packard RPN-based scientific calculator.)

LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S

HP-41 & HP-42S
(Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.)

01 LBLTHELLO 02 THello, world! 03 PROMPT

HyperTalk (Apple HyperCard's scripting programming language)
or

Io
or

Iptscrae
ON ENTER { "Hello, " "world!" & SAY }

Jal
include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!"

Java
See also GUI section.

Java byte-code
(disassembler output of )

JavaFX Script
JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010.

This program can also be written in this way:

A simple console output version would be:

Or even simpler (with a built-in function):

JavaScript
JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment.

Using a standard Web browser's document object or with an alert, using a standard Web browser's window object (window.alert)

or, from the Mozilla command line implementation

or, from the Windows Script Host

or, from Firebug, Apple Safari, or Google Chrome debug console

Joy
"Hello, world!\n" putchars.

JSP
or just or literally

Hello, world!

Kogut
WriteLine "Hello, world!"

KPL (Kids Programming Language)
Program HelloWorld Method Main ShowConsole ConsoleWriteLine("Hello, world!") End Method End Program

Lasso
or or simply

'Hello, world!';

Lexico Mobile (in Spanish)
tarea muestre "Hola mundo !"

or

clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text

Linden Scripting Language
Linden Scripting Language is the scripting language used within Second Life

Linotte
Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" !

Lisp
Lisp has many dialects that have appeared over its almost fifty-year history.

Common Lisp
or

or in the REPL:

(As a string (enclosed in quotes) it evaluates to itself, so is printed.)

Emacs Lisp
or:

Logo
print [Hello, world!] or pr [Hello, world!]

In MSWLogo only

messagebox [Hi] [Hello, world!]

Lua
or or

M (MUMPS)
W "Hello, world!"

Maple
print("Hello, world!");

Mathematica
or simply: "Hello, world!"

MATLAB / GNU Octave
or or with a GUI or

Maude
fmod HELLOWORLD is protecting STRING. op helloworld : -> String. eq helloworld = "Hello, world!" . endfm red helloworld.

Max
max v2;
 * 1) N vpatcher 10 59 610 459;
 * 2) P message 33 93 63 196617 Hello, world!!;
 * 3) P newex 33 73 45 196617 loadbang;
 * 4) P newex 33 111 31 196617 print;
 * 5) P connect 1 0 2 0;
 * 6) P connect 2 0 0 0;
 * 7) P pop;

Mesham
var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; }

M4
Hello, world!

Model 204
BEGIN PRINT 'Hello, world!' END

MOO
This requires that you be the player or a wizard: This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:

Mouse
"Hello, World!" $

Script
main(std:string >>arg<< / OS.GetArg) {     std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); //                   H     e     l     l     o    ,     W     o     r     l     d   // }

Command WI

 * 1) # DEFINE g >>CONSOLE<< / OS.Console
 * 2) % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064})

Command WoI

 * 1) @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064})

MS-DOS batch
''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".''  For MS-DOS 3.0 or lower

MUF
me @ "Hello, world!" notify ;

Natural
WRITE 'Hello, world!' END

or

WRITE 'Hello, world!'.

Neko
$print("Hello, world!!\n");

Nemerle
The easiest way to get Nemerle print "Hello, world!" would be that: however, in bigger applications the following code would be probably more useful:

Nim
or

Oberon
Oberon is both the name of a programming language and an operating system.

Program written for the Oberon operating system:

Freestanding Oberon program using the standard Oakwood library:

Obix
system.console.write_line ( "Hello, world!" )

ObjectGears
Message to the user in the form: OGForm.SetInfo('Hello world!');

Entry into the log: OG.Log.Write('Hello world!');

occam
PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) :
 * 1) USE "course.lib"

or without using course.lib

PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H'    screen ! 'e'    screen ! 'l'    screen ! 'l'    screen ! 'o'    screen ! ','    screen ! ' '    screen ! 'w'    screen ! 'o'    screen ! 'r'    screen ! 'l'    screen ! 'd'    screen ! '!'    screen ! '*n' :

OpenScript
-- in a popup window request "Hello world"

OPL
See also GUI section.

PROC hello: PRINT "Hello, world!" ENDP

OPS83
module hello (main) { procedure main {      write |Hello, world!|, '\n'; }; };

PAWN
main { print ( "Hello, World!" ); } or

main { new string[ 14 ]; format string( sizeof (string), "Hello, World! );    print (string); }

As PL file
(the semicolon is optional)

or

PHP
PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: Using actual PHP statements, it can be written: or use short-hand echoing, syntaxed as such: this will also work:

PILOT
T:Hello, world!

PostScript
See also page description language section.

PowerShell
or or or or

Processing
println("Hello, world!");

Pure Data

 * 1) N canvas 0 0 300 300 10;
 * 2) X obj 100 100 loadbang;
 * 3) X msg 100 150 Hello, world!;
 * 4) X obj 100 200 print;
 * 5) X connect 0 0 1 0;
 * 6) X connect 1 0 2 0;

Python 3
This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the  function with the string. In Python 2, it executes the  statement with the expression , which evaluates to the string.

Any Python version
In Python 2.6 or later:

In the REPL
'Hello, world!' (with quotation marks) can be attained through:

Flask
As Python's Flask web microframework

Raku
or or

Rebol
See also GUI section.

print "Hello, world!"

Red
See also GUI section.

print "Hello, world!"

REFAL
$ENTRY GO{=;}

Revolution
(This works the same for Transcript or xTalk)

Printed in the message box
put "Hello, World!"

Shown within a dialog box
answer "Hello, world!"

As CGI file

 * 1) !revolution

on startup put "Content-Type: text/plain" & cr & cr  put "Hello World!" end startup

Free-Form Syntax
/FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE

Traditional Syntax
With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes.

d TestMessage    c                   Const( 'Hello, world!' ) c    TestMessage   DSPLY c                  EVAL      *InLR = *On

Message Window
Using the internal message window, a simple Hello, world! program can be rendered thus:

mwin("Hello, world!") wait

On Screen Text
An additional way to render text is by using the built in text function.

text(1,1,"Hello, world!") wait

RPL
See also GUI section.

(On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.)

<<  CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >>

RT Assembler
_name  Hello~World! pause  Hello~World! exit _end

Ruby
See also GUI section. or or

S (and R)
or

S-Lang
message("Hello, world!");

Sather
class HELLO_WORLD is  main is     #OUT+"Hello, world!\n"; end; end;

Scala
App was introduced since Scala 2.1, and Application was deprecated since Scala 2.9.0. Use Application instead of App for versions below 2.1.

sed
(Note: requires at least one line of input)

Seed7
$ include "seed7_05.s7i";

const proc: main is func begin writeln("Hello, world"); end func;

Self
'Hello, world!' print.

sense script
out('Hello, world!');

ShadowScript
'set up initial variables struct.follow {  cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main int var array.max(100000000) > 'open and write the text in a free handle window open mainwin(io ) as free(1) {  write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!">   apply.free(1) to text  } 'reset the fan, cpu, and vars <  logic(std)  fan(std.auto)  cpu.max(auto)  unint main  unint var  un.array.max(std) > 'end end .end/

Simula
BEGIN OutText("Hello, world!"); OutImage; END

Smalltalk
alternative:

Span
class Hello { static public main: args { Console << "Hello, world!\n"; } }

Spin
Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers.

The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line.

CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13))

SPSS Syntax
ECHO "Hello, world!".

SSPL
1.0 print Hello, World! end

SQL
or (for EnterpriseDB's Stored Procedure Language (SPL))

or (e.g. Oracle dialect)

or (for Oracle's PL/SQL proprietary procedural language)

or (e.g. MySQL or PostgreSQL dialect)

or (for PostgreSQL's PL/pgSQL Procedural language)

or (e.g. T-SQL dialect)

or (for KB-SQL dialect)

STARLET
RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!").

Stata
Define program in script (.do-file) or at command line: Or, interactively at the command line:

di "Hello, world!"

SuperCollider
or, for interactive prompt,

"Hello, world!"

Supernova
I want window and the window title is hello world.

TACL

 * 1) OUTPUT Hello, world!

Tcl (Tool command language)
See also GUI section.

Template Toolkit
[% GET "Hola mundo!"; %]

Or the English version:

[% GET "Hello world!"; %]

TSQL
or, simpler variations:

TTCN-3
module hello_world { control { log("Hello, world!"); } }

Turing
put "Hello world!"

UNIX-style shell
or using an inline 'here document' or or for a curses interface:

Verilog
or (a little more complicated)

Visual Basic Script
OR as a VBscript file

X#
sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub

XC
XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features.

XL
use XL.UI.CONSOLE WriteLn "Hello, world!"

or

import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!"

XMLmosaic
  1

Yorick
write, "Hello, world!";

Note: The semicolon is optional.

Zdzich
Programming language with commands in Polish. Webpage

boo
Functional equivalent of C# program below.

C#
Simply, using Message Box:

Or:

Clarion
The simplest way to achieve this is with the built in message function that is similar to the windows messageBox.

PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN

A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window.

PROGRAM MAP HelloProcedure PROCEDURE END CODE HelloProcedure RETURN HelloProcedure PROCEDURE Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN

Curl
{curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world!

Delphi, Kylix
or

Erlang
One way of invoking this would be to enter hello_world:hello. in the Erlang shell; another would be to run from a command line:

erl -noshell -run hello_world hello -run init stop

Euphoria
MS-Windows only - basic. MS-Windows only - using Win32Lib library

F#
Using WindowsForms, at the F# interactive prompt:

G (LabVIEW)
PUBLIC SUB Main Message.Info("Hello, world!") END

K
This creates a window labeled "Hello, world!" with a button labeled "Hello, world!".

NSIS
This creates a message box saying "Hello, world!".

OCaml
 Uses lablgtk

OPL
(On Psion Series 3 and later compatible PDAs.)

PROC guihello: ALERT("Hello, world!","","Exit") ENDP

or

PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP

Pure Data
Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode:
 * 1) N canvas 0 0 300 300 10;
 * 2) X msg 100 150 Hello, world!;
 * 3) X obj 100 200 print;
 * 4) X connect 0 0 1 0;

Tkinter
Using PyQt:

Kivy
Kivy multi-platform framework

Qt toolkit (in C++)
or or

Robotic (MegaZeux)
* "Hello, world!" end

RPL
(On Hewlett-Packard HP-48G and HP-49G series calculators.)

<< "Hello, world!" MSGBOX >>

RTML
Hello TEXT "Hello, world!"

Smalltalk
Evaluate in a workspace:

Using the Morphic GUI toolkit of Squeak Smalltalk:

Using wxSqueak:

Tk
label .l -text "Hello, world!" pack .l

and the same in one line

pack [label .l -text "Hello, world!"]

Tcl with Tk
or

Ubercode
Ubercode 1 class Hello public function main code call Msgbox("Hello", "Hello, world!") end function end class

Uniface
message "Hello, world!"

Visual Basic .NET 2003/2005
Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: or using a class;

Windows API (in C)
This uses the Windows API to create a full window containing the text.

Xojo
In the Open event handler of the default window:

ASCII
The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A

The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010

XHTML 1.1
(Using UTF-8 character set.)

Informal
The <html> and <body> tags are not necessary for informal testing. Simply write it as text without tags.

HTML 4.01 Strict (full)
The first paragraph of the W3C Recommendation on The global structure of an HTML document also features this example.

HTML 4.01 Strict (smallest)
This is the smallest legal version, leaving out all optional tags

Markdown
Hello, World!

MediaWiki/Wikitext
Hello, World!

PDF
%PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF

This is a valid PDF only if the text file has CRLF line endings.

RTF
{\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New; }} \f0\fs20 Hello, world! }

AviSynth
(Creates a video with default properties)

Lingo (Macromedia Director scripting language)
on exitFrame me  put "Hello, world!" end

Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use

on exitFrame me  alert "Hello, world!" end

Esoteric programming languages
This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use.

0815
<:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$

Arrow
■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■       /* makes I */

Binary lambda calculus
As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world

BlooP, FlooP
From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE HELLO-WORLD [N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END.

Chef
[http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.

Later Mike Worth wrote tastier and actually functional recipe.

Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour.

False
"Hello, World! "

The newline before the terminating quote mark is necessary.

HQ9+
H

LOLGraphics
HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE

Malbolge programming language
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z ] KwZY44Eq0/{mlk**hKs_dG5 [ m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello

P programming language
"Hello, world!\n"

Perl
Not really an esoteric language, but this code uses obfuscation:

Piet
Piet programming language uses only colors.

SNUSP
/e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/                  #/?\ $H!\++++++\ +  \comma. .+.!\-/ \!\/\/\/\/ \++++++++++/

Modular SNUSP:

/@@@@++++#              #+++@@\                #-@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++#      #---@@/!=========/!==/

Spoon (programming language)
1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010

Super NAND Time!!
12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1

Taxi programming language
"Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right.

T programming language
%begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world!

This=That
x=Hello,world! x=print

Unlambda programming language
`r```````````.H.e.l.l.o. .w.o.r.l.di

Var'aq programming language
Note: actually prints "What do you want, universe?" in Klingon.

~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH

Whitespace
Note that whitespace has been highlighted ( Space, Tab )

        	    	      		      	      		    	   	  		      	        		   		     		 empty-line      	 empty-line   			   empty-line 	    	   	        	  	      empty-line    	 empty-line     	   empty-line empty-line/EOF

XS programming language
Hello, world!

DUNNBOL1
A code language that draws in binary on a braille plotter.

BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END

SM
The OO language looks like C.

Skript+
Copy this and paste in ChatGPT, on a new chat: Output: Hello, world! A longer version, which still prints "Hello, world!": CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ Note: The first method is tested and it's working. I don't know about the second one!

title: Computer Programming/Hello world