text:
C Sharp Programming/Objects

Introduction
The .NET framework consists of several languages, all which follow the "object orientated programming" (OOP) approach to software development. This standard defines that all objects support

 * Inheritance - the ability to inherit and extend existing functionality.
 * Encapsulation - the ability to allow the user to only see specific parts, and to interact with it in specific ways.
 * Polymorphism - the ability for an object to be assigned dynamically, but with some predictability as to what can be done with the object.

Objects are synonymous with objects in the real world. Think of any object and think of how it looks and how it is measured and interacted with. When creating OOP languages, the reasoning was that if it mimics the thought process of humans, it would simplify the coding experience.

For example, let's consider a chair, and its dimensions, weight, colour and what is it made out of. In .NET, these values are called "Properties". These are values that define the object's state. Be careful, as there are two ways to expose values: Fields and Properties. The recommended approach is expose Properties and not fields.

So we have a real-world idea of the concept of an object. In terms of practicality for a computer to pass information about, passing around an object within a program would consume a lot of resources. Think of a car, how many properties that has - 100's, 1000's. A computer passing this information about all the time will waste memory, processing time and therefore a bad idea to use. So objects come in two flavours:

 * Reference types
 * Value types

Reference and Value Types
A reference type is like a pointer to the value. Think of it like a piece of paper with a street address on it, and the address leads to your house - your object with hundreds of properties. If you want to find it, go to where the address says! This is exactly what happens inside the computer. The reference is stored as a number, corresponding to somewhere in memory where the object exists. So instead of moving an object around - like building a replica house every time you want to look at it - you just look at the original.

A value type is the exact value itself. Values are great for storing small amounts of information: numbers, dates etc.

There are differences in the way they are processed, so we will leave that until a little later in the article.

As well as querying values, we need a way to interact with the object so that some operation can be performed. Think of files - it's all well and good knowing the length of the file, but how about 'ing it? Therefore, we can use something called methods as a way of performing actions on an object.

An example would be a rectangle. The properties of a rectangle are:

The "functions" (or methods in .NET) would be:

Methods vary from Properties because they require some transformation of data to achieve a result. Methods can either return a result (such as ) or not. Like above with the chair, if you on the chair, there is no expected reaction, the chair just ... works!

System.Object
To support the first rule of OOP - Inheritance, we define something that all objects will derive from - this is, also known as or. This object defines some methods that all objects can use should they need to. These methods include:

 * - retrieve a number unique to that object.
 * - retrieves information about the object like method names, the objects name etc.
 * - convert the object to a textual representation - usually for outputting to the screen or file.

Since all objects derive from this class (whether you define it or not), any class will have these three methods ready to use. Since we always inherit from, or a class that itself inherits from , we therefore enhance and/or extend its functionality. Like in the real world that humans, cats, dogs, birds, fish are all an improved and specialised version of an "organism".

Object basics
All objects by default are reference types. To support value types, objects must instead inherit from the abstract class, rather than.

Constructors
When objects are created, they are initialized by the "constructor". The constructor sets up the object, ready for use. Because objects need to be created before being used, the constructor is created implicitly, unless it is defined differently by the developer. There are 3 types of constructor:

 * Copy Constructor
 * Static Constructor
 * Default constructor - takes no parameters.
 * Overloaded constructor - takes parameters.

Overloaded constructors automatically remove the implicit default constructor, so a developer must explicitly define the default constructor, if they want to use it.

A constructor is a special type of method in C# that allows an object to initialize itself when it is created. If a constructor method is used, there is no need to write a separate method to assign initial values to the data members of an object.

Important characteristics of a constructor method:
 * 1) A constructor method has the same name as the class itself.
 * 2) A constructor method is usually declared as public.
 * 3) Constructor method is declared as public because it is used to create objects from outside the class in which it is declared. We can also declare a constructor method as private, but then such a constructor cannot be used to create objects.
 * 4) Constructor methods do not have a return type (not even void).
 * 5) C# provides a default constructor to every class. This default constructor initializes the data members to zero. But if we write our own constructor method, then the default constructor is not used.
 * 6) A constructor method is used to assign initial values to the member variables.
 * 7) The constructor is called by the new keyword when an object is created.
 * 8) We can define more than one constructor in a class. This is known as constructor overloading. All the constructor methods have the same name, but their signatures are different, i.e., number and type of parameters are different.
 * 9) If a constructor is declared, no default constructor is generated.

Copy Constructor
A copy constructor creates an object by copying variables from another object. The copy constructor is called by creating an object of the required type and passing it the object to be copied.

In the following example, we pass a Rectangle object to the Rectangle constructor so that the new object has the same values as the old object.

Static Constructor
A static constructor is first called when the runtime first accesses the class. Static variables are accessible at all times, so the runtime must initialize it on its first access. The example below, when stepping through in a debugger, will show that is only accessed when the  variable is accessed.

C# supports two types of constructors: static constructor and instance constructor. Whereas an instance constructor is called every time an object of that class is created, the static constructor is called only once. A static constructor is called before any object of the class is created, and is usually used to initialize any static data members of a class.

A static constructor is declared by using the keyword static in the constructor definition. This constructor cannot have any parameters or access modifiers. In addition, a class can only have one static constructor. For example:

Default Constructor
The default constructor takes no parameters and is implicitly defined, if no other constructors exist. The code sample below show the before, and after result of creating a class.

Overloaded Constructors
To initialize objects in various forms, the constructors allow customization of the object by passing in parameters.

Calling other constructors
To minimise code, if another constructor implements the functionality better, you can instruct the constructor to call an overloaded (or default) constructor with specific parameters.

Base classes constructors can also be called instead of constructors in the current instance

Destructors
As well as being "constructed", objects can also perform cleanup when they are cleared up by the garbage collector. As with constructors, the destructor also uses the same name as the class, but is preceded by the tilde sign. However, the garbage collector only runs when either directly invoked, or has reason to reclaim memory, therefore the destructor may not get the chance to clean up resources for a long time. In this case, look into use of the method, from the  interface.

Destructors are recognised via the use of the symbol in front of a constructor with no access modifier. For example:

title: C Sharp Programming/Objects


text:
C Sharp Programming/Encapsulation

Encapsulation is depriving the user of a class of information the user does not need, and preventing the user from manipulating objects in ways not intended by the designer.

A class element having public protection level is accessible to all code anywhere in the program. These methods and properties represent the operations allowed on the class to outside users.

Methods, data members (and other elements) with private protection level represent the internal state of the class (for variables), and operations that are not allowed to outside users. The private protection level is default for all class and struct members. This means that if you do not specify the protection modifier of a method or variable, it is considered as private by the compiler.

For example:

In this example, the public method the class exposes are  and. Internally, they are implemented using the private function that can jump to any height. This operation is not visible to an outside user, so they cannot make the frog jump 100 meters, only 10 or 1. The private method is implemented by changing the value of a private data member, which is also not visible to an outside user. Some private data members are made visible by Properties.

Private
Private members are only accessible within the class itself. A method in another class, even a class derived from the class with private members cannot access the members. If no protection level is specified, class members will default to private.

Protected
Protected members can be accessed by the class itself and by any class derived from that class.

Public
Public members can be accessed by any method in any class.

It is good programming practice not to expose member variables to the outside, unless it is necessary. This is true especially for fields that should only be accessible over accessor and mutator methods (getters and setters). Exceptions are member variables that are constant.

Internal
Internal members are accessible only in the same assembly and invisible outside it. If no protection level is specified for top level classes, they are treated as internal, and can only be accessed within the assembly.

Protected Internal
Protected internal members are accessible from any class derived from that class, or any class within the same assembly. So, it means protected or internal.

Here, an example:

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

title: C Sharp Programming/Encapsulation


text:
C Sharp Programming/Keywords/continue

The keyword can be used inside any loop in a method. Its affect is to end the current loop iteration and proceed to the next one. If executed inside a for, end-of-loop statement is executed (just like normal loop termination).

title: C Sharp Programming/Keywords/continue


text:
User:Dtylercade

Dathan Tyler Cade am I.

title: User:Dtylercade


text:
Talk:Jeep Liberty/Transfer Cases

Merged
The content of this article is the result of merging multiple pages created by Jeepkj02 and Unixxx.

title: Talk:Jeep Liberty/Transfer Cases


text: User talk:68.21.169.6

title: User talk:68.21.169.6


text:
MATLAB Programming/Complex Numbers

Complex Numbers
Complex numbers are also used in MATLAB. It consists of two parts, one is real number and one is imaginary number. It is in the form of $$z = a + bi $$ or $$ z = a + bj $$. i or j returns the basic imaginary unit. i or j is equivalent to square root of -1 where the formula is ( $$ i/j = \sqrt{-1} $$ ). Note: The symbol i and j are interchangeable for one to another, as MATLAB just convert j into i, if equations is using two different notations as shown below.

Declaring a complex number in MATLAB
Complex numbers in MATLAB are doubles with a real part and an imaginary part. The imaginary part is declared by using the 'i' or 'j' character. For example, to declare a variable as '1 + i' just type as following:

Note 1: Even if you use j to indicate complex number, MATLAB will still displays i on the screen.

Note 2: Since i is used as the complex number indicator it is not recommended to use it as a variable, since it will assume i is a variable. However, since implicit multiplication is not normally allowed in MATLAB, it is still possible to declare a complex number like this:

It's best still not to declare i as a variable, but if you already have a complex program with i as a variable and need to use complex numbers this is probably the best way to get around it.

If you want to do arithmetic operations with complex numbers make sure you put the whole number in parenthesis, or else it likely will not give the intended results.

Complex functions
However, the best practice to declare a complex number is by using function complex.

If you want to declare just the imaginary number, just use the square root of negative numbers, such as followed.

To declare multiple complex numbers, create two row vectors with real numbers and another with imaginary numbers. Combine both of them using complex functions

Arithmetic operations that create complex numbers
There are several operations that create complex numbers in MATLAB. One of them is taking an even root of a negative number, by definition.

>> (-1)^0.5 ans = 0.000 + 1.000i >> (-3)^0.25 ans = 0.9306 + 0.9306i

As a consequence of the Euler formula, taking the logarithm of a negative number also results in imaginary answers.

>> log(-1) ans = 0 + 3.1416i

In addition, the roots of functions found with the 'roots' function (for polynomials) or some other rootfinding function will often return complex answers.

Finding real and imaginary number
First of all, it is helpful to tell whether a given matrix is real or complex when programming, since certain operations can only be done on real numbers.

Since complex numbers don't have their own class, MATLAB comes with another function called "isreal" to determine if a given matrix is real or not. It returns 0 if any of the inputs are complex.

Notice that it is possible to have real and complex numbers in the same array, since both are of class double. The function is set up this way so that you can use this as part of a conditional, so that a block only is executed if all elements of array A are real.

To extract just the real part of a complex variable use the real function. To extract just the complex part use the imag function.

Complex conjugate
To find complex conjugate, we can use conj function. If complex number, Z is $$a+b i$$, then the conjugate, Ẑ is $$a - bi$$

Phase Angle
To find phase angle, we can use the phase angle in the radian for each element of a complex numbers

title: MATLAB Programming/Complex Numbers


text:
C Sharp Programming/Exceptions

Introduction
Software Programmers write code to perform some desired actions. But every software may fail to perform its desired actions for internal or external reasons. The exception handling system in the C# language allows the programmer to handle errors or anomalous situations in a structured manner that allows the programmer to separate the normal flow of the code from error-handling logic.

An exception can represent a variety of abnormal conditions that arise during the execution of the software. Such conditions can be internal or externally caused. External conditions of execution failures include, for example, network failures in connecting to a remote component, inadequate rights in using a file/system resource, out of memory exceptions or exceptions thrown by a web service etc. These are mainly due to failures thrown by environment components on which our application depends, e.g. the operating system, the .NET runtime or external applications or components. Internal failures may be due to software defects, designed functional failures (failures required as per business rules), propagated external failures, e.g. a null object reference detected by the runtime system, an invalid input string entered by a user and detected by application code, or a user requesting to withdraw a larger amount than the account balance (business rule).

Code that detects an error condition is said to throw an exception and code that handles the error is said to catch the exception. An exception in C# is an object that encapsulates various pieces of information about the error that occurred, such as the stack trace at the point of the exception and a descriptive error message. All exception objects are instantiations of the class or a child class of it. There are many exception classes defined in the .NET Framework used for various purposes. Programmers may also define their own class inheriting from or some other appropriate exception class from the .NET Framework.

Microsoft recommendations prior to version 2.0 recommended that a developer's exception classes should inherit from the exception class. After 2.0 was released, this recommendation was made obsolete and users' exception classes should now inherit from the class.

Overview
There are three code definitions for exception handling. These are:

 * / - Do something and catch an error, if it should occur.
 * // - Do something and catch an error if it should occur, but always do the.
 * / - Do something, but always do the . Any exception that occurs, will be thrown after.

Exceptions are caught in the order from most specific to least specific. So for example, if you try and access a file that does not exist, the CLR would look for exception handlers in the following order:

 * (base class of )
 * (base class of )
 * (base class of )
 * (base class of )

If the exception being thrown does not derive from or is not in the list of exceptions to catch, it is thrown up the call stack.

Below are some examples of the different types of exceptions

/
The / performs an operation and should an error occur, will transfer control to the catch block, should there be a valid section to be caught by:

Here is an example with multiple catches:

In all statements you may omit the type of exception and the exception variable name:

//
Catching the problem is a good idea, but it can sometimes leave your program in an invalid state. For example, if you open a connection to a database, an error occurs and you throw an exception. Where would you close the connection? In both the try AND exception blocks? Well, problems may occur before the close is carried out.

Therefore, the statement allows you to cater for the "in all cases do this" circumstance. See the example below:

Second Example

Notice that the SqlConnection object is declared outside of the //. The reason is that anything declared in the / cannot be seen by the. By declaring it in the previous scope, the block is able to access it.

/
The / block allows you to do the same as above, but instead errors that are thrown are dealt with by the catch (if possible) and then thrown up the call stack.

Re-throwing exceptions
Sometimes it is better to throw the error up the call stack for two reasons.

 * 1) It is not something you would expect to happen.
 * 2) You are placing extra information into the exception, to help diagnosis.

How not to throw exceptions
Some developers write empty / statements like this:

This approach is not recommended. You are swallowing the error and continuing on. If this exception was an or a, it would not be wise to continue. Therefore you should always catch what you would expect to occur, and throw everything else.

Below is another example of how exceptions are caught incorrectly

As you can see, the will be caught by the  block, but it is being ignored completely! This is bad programming as you are ignoring the error.

The following is also bad practice:

The CLR will now think the statement is the source of the problem, when the problem is actually in the try section. Therefore never re-throw in this way.

How to catch exceptions
A better approach would be:

The keyword means preserve the exception information and throw it up the call stack.

Extra information within exceptions
An alternative is to give extra information (maybe local variable information) in addition to the exception. In this case, you wrap the exception within another. You usually use an exception that is as specific to the problem as possible, or create your own, if you cannot find out that is not specific enough (or if there is extra information you would wish to include).

title: C Sharp Programming/Exceptions


text:
Talk:C Sharp Programming/Exceptions

Some Ideas for Expansion of This Page

 * Discuss the pecking order when multiple catch blocks are used.
 * Discuss what happens when a catch block matches a super class of the exception thrown.
 * Discuss the major exception classes present in the .NET Framework.
 * Show an example of creating a programmer-defined exception type.

title: Talk:C Sharp Programming/Exceptions


text:
C Sharp Programming/Keywords/finally

The keyword is used to identify a statement or statement block after a C Sharp Programming/Keywords/try-C Sharp Programming/Keywords/catch block for execution regardless of whether the associated try block encountered an exception, and executes even after a  statement. The finally block is used to perform cleanup activities.

/Keywords

title: C Sharp Programming/Keywords/finally


text:
C Sharp Programming/Keywords/false

The keyword is a boolean constant value.

/Keywords

title: C Sharp Programming/Keywords/false


text:
C Sharp Programming/Keywords/throw

The keyword is used to throw an exception object.

/Keywords

title: C Sharp Programming/Keywords/throw


text:
Bicycles/Maintenance and Repair/Derailleurs

Overview
Bicycle derailleurs are used to change gear. They work by shifting the chain. On some bikes there is a derailleur on the front chain-rings and one on the rear-sprockets, but most bikes just have a gear-shifter on the rear wheel.

Whether the derailleur is on the front or the back it works by deflecting the chain onto an adjacent chain-ring or sprocket. Rear derailleurs are easier to shift because they are installed on the return path of the chain, where there is the minimum of tension. The front derailleur, on the other hand is most usually installed on top where the chain carries all of the rider's effort.

Adjustment of derailleurs is comparatively simple, though it is most often done by a bike shop. This is mainly because owners are intimidated by the adjustments, and partly because the adjustments need to be done on a storage rack or in a repair stand. For those who can overcome these barriers or improvise with an extra pair of hands, follow the links to the adjustment pages.

Derailleur Pages

 * Front-derailleur adjustment
 * Rear-derailleur adjustment


text:
TI-Basic Z80 Programming/List of Commands/ClrDraw

ClrDraw (DRAW:1)

This instruction clears the calculator's graph screen except for Y= functions.

Syntax: ClrDraw (No arguments)


text: Talk:Bicycles/External Links

title: Talk:Bicycles/External Links


text:
Bicycles/Maintenance and Repair/Chains/Chain clean and lube

STEP 1: Chain Cleaning

Before you lubricate a chain, any dirt or old lube has to be wiped off. This can be done in different ways: for example, you may use a chain cleaner such as the one we see in the picture above. This device needs to be filled to a certain extent with chain degreaser.

STEP 2: Chain Lubing

Drip fresh lube onto each link. Then turn the cranks backwards a few turns and wipe off any excess chain lube that has come to the surface (this old/excess lube will be black.)

Dry or wet lube?
Commonly dry and wet chain lubrication are utilized. A dry lube hardens on the chain and is excellent for dusty rides, but does not protect from moisture and is typically used in hot summer climates. A wet lube is used whenever there is a chance of water getting on the chain. The downside of a wet lube is that dirt readily clings to it causing wear of the bike's transmission components.


text:
User:Airridi~enwikibooks

ko:User:Airridi

title: User:Airridi~enwikibooks


text:
Talk:Communication Networks/Parallel vs Serial

IN USB PORT CONTAINS HOW MANY DATA CABLE OR HOW MANY LOGIC GATES

This article refers to 'bandwidth', but since we are discussion digital communications shouldn't we be more precise and use 'channel capacity'?


text:
Harmonica/Music Style

Classical
There are no discussions as to what harmonica to use: Only the following are appropriate, nothing else:
 * Chromatic harmonica
 * Chord harmonica (for chord parts)
 * "Polyphonia" type for quick runs (e.g.: Flight of Bumblebee)
 * Bass harmonica for low-range sound.
 * Horn harmonica if asked for; however, the role is typically filled in by Chromatic harmonica.

Classical music is all about technique and following the sheet music while showing an understanding of the actual music underneath the written notes (such as Bach's special vibratos/tremolos).

If you decided to play your style, you definitely are not doing classical. If you play a classical piece in a blue style or rock style, you are playing it as blues or rock — you are not playing classical music.

Jazz
While Jazz songs require that you play them chromatically, luckily, they do not require the exact tonal precision like classical music. This makes it acceptable to play with bends and overblows.

In Jazz, the instruments vary quite a bit; the jazz group I play with consists of nothing more than guitar, keyboard, and double bass, and a djembe. The harmonica's purpose can also vary from playing the main melody to accompaniments, riffs or even playing chords. In fact they may even play music of all kind, from blues to rock to bluegrass (or even zen-influenced temple music)!

Thus, if possible, bring ALL twelve keys of diatonic harmonica AND chromatic harmonica, and pick the harp for the following reasons: If you can bring only one harp bring a chromatic (or XB-40 if possible) since it can approximate a majority of the aforementioned decisions, if not all. Of course, if one believes that his overblow or bending is perfect for every songs they will play, then bring whatever harp(s) they think is best.
 * key of the songs, and number of key switch: If it's too much to handle on one harp, either due to hole-arrangement of the harmonica or the complexity of the song, switch to another one. Also, don't just stick to "positions"; if it seems better to use overbends and bending for the note instead of switching holes, then use such method.
 * mood and tone of the song - if a song require perfect intonation, grab a chromatic; if it seems best to be bluesy, then pick a diatonic. (unless you're an expert at bending the chrom)
 * Role of the harp: Is it mainly for accompaniment or to provide main chords or melodies?

Due to the fact that jazz is quite horn oriented, the most common keys in a jazz band are F, Bb, and Eb. However, it is still played chromatically. Thus one can either purchase harps (chromatic or diatonic) in those keys, or play them in crossharp, and thus get harps in Bb, Eb, and Ab. Eb and Bb are especially useful in this sense. Regardless, one has to play it with overbend and bending. Since C is still easier to purchase, especially for 16-holes, in my humble opinion, it would be even better to just practice on a C harmonica if you are using the chrom.

Bluegrass
In Bluegrass, the traditional instruments used are as follow: As Mike Stevens called it the "pneumatic fiddle", harmonica's role is the same as a fiddle. Also, in his opinion, it is best to use a normal C-major diatonic and then use overblow to get all the notes needed. with practice, it is actually possible to make it sound like a fiddle; just listen to his record.
 * fiddle
 * banjo
 * acoustic guitar and/or resonator guitar
 * mandolin
 * upright bass

Bluegrass music is quite complicated, since it is very common to play it chromatically. Even worse, bluegrass do require an exact tonal requirements similar classical musics. As Pete Wernick, former President of International Bluegrass Musician Association, had stated, people don't like *fast* harmonica playing in bluegrass, which is being seen as "huffing and puffing" that distracts from the pure sounds of the picked and bowed instruments. However, bluegrass seems to mind less on slower, wistful tunes where harmonica can add a beautiful, evocative feel.

What he stated is of follow:
 * 1) Some people will like it, some won't.
 * 2) In a jam session, choose where you're welcome and leave where you're not.
 * 3) To be more generally welcome bring and be able to play another, more wanted instrument.
 * 4) Choose your situations carefully. Don't bring out the harmonica until a slower song comes along. Even then, play it with good tone and feeling but no excessive emotional expression and no attention-seeking.. That will create a great first impression and good reaction. Then put it away until the next opportunity where you know it will go over well. Don't start "chancing" to use it on more questionable songs (especially faster ones) unless you really think it will work.

My personal opinion: Any harp is fine, as long as you can hit the note spot-on. That means, no blues notes, no wails, no slurs, no special "effects" unless they ask you to. Remember: this is bluegrass, not blues! If the saxophone player and the trumpet player can hit their notes spot on, why can't we? Based on my research, I would think that it is also somewhat permissible if we have to change harps — after all, before the valves are invented, horn players had to swap their instruments around for different keys.

While it is possible to play it with overbend (or XB-40), the fact is that bending/overbend is hard to be played spot on. It is much better to play it with a chromatic harmonica. If you will, treat it like playing classical music.

Blues, Rock, and Country
Typically, you will play the blues with the following: And of course, the harmonica, which provide much of the melody, based upon the chord progression. Sometimes, however, the harp may be used to play chord accompaniment.
 * Vocal (main melody)
 * a bass, for bass accompaniment
 * a percussion (be it a drum set or washboard), for rhythm
 * a guitar, mainly for chord accompaniment, but sometimes melody

There's a common myth that you must use the diatonic harmonica and play in second position, while chromatic is only used occasionally, for third position. However, this is not true: the truth is that you would rely on bending notes a lot more, and it's a fact that diatonic offer more dynamics during its bend on draw notes. Chromatic harmonica, however, can bend down halftone in both blow and draw, and thus can actually be suitable for any blue songs — if you can make it sound good in that piece of music.

(As for those that want to point out a certain so-called "blues tradition", this is no different from classical playing that requires certain "such and such". No?)

Still, the need for chords may push people to play in position only. The keys that are most likely occur vary from different researches, but in general, Blues music require one to have the following keys:

Of course, it is quite common for people not to buy all these harps, either due to expense or wanting to try out a few first before venturing out. While there are numerous studies by famous players, what constitutes as "essential" keys are still questionable.

One school believes the essentials are harp in the key of A, C, D, F (crossharp key: E, G, A, C). C, being the most popular keys of harp available, has many blues song written for it. However, the key of A is also popular, especially since Little Walter used such harp to play his famous instrumental, Juke. On this note, then, Harp in D is also popular to play songs in A Blues scale. finally, Harp in F is used to play C Blues scale. All these are also common in Rock and country music.

That just leaves the harp in the key of G, Bb and E, which provide crossharp key of D, F and B. Of course, by no means are they not important, it's just that (statistically speaking) they are less used. Some researchers claim that Harp in Bb is used a lot in Blues, since it matches the horn and sax well. Some say otherwise, believing Harp in G is even more popular and is essential, while F is used less.

Another school, such as those promoted by David Barret, believe the most important keys are G, A, Bb, C, D. (crossharp key: D, E, F, G, A)

Optimally, to play on all keys, one should purchase all 12 keys harmonica, plus chromatic harmonica for third position and some songs that switch keys a lot, but these seven are the recommended ones.

Also, if using Melody Maker, you only have 5 keys available: A, C, D, E, G (Crossharp key). They are also to be played mainly in crossharp only. Though Lee Oskar's website stated that they are not for blues, during one of his workshops he did use one for a blues jam session.

Since you would use more than one blues harp in a single gig, you should also keep yourself organized:
 * Label the key of the harp so that you can see it in dim light. Most clubs are quite dark, and there's nothing more embarrassing then picking a wrong harp due to inability to distinguish the harmonica.
 * Organize the harp in a clear, concise method — usually by listing them "alphabetically", from the lowest pitch to the highest pitch.
 * A harmonica belt, such as the one made by Hohner, is quite handy, as the harps can be readily swapped out. The one made by Hohner also has the advantage of being able to chain them up to carry all 12 keys around.

Folk, Celtic, and Old-time
Unlike blues, playing Folk, Celtic and Old-Time music on harp is primarily played using first position. However, this does not mean you cannot use a Melody Maker or even a crossharp as long as one uses little or no bending.

Instruments involved are usually of following:
 * Fiddle
 * Flute and tin whistle
 * Bodhrán (percussion)
 * Mandolin
 * Banjo

Other instruments that may be included, but no means necessary, are: What instruments may actually be played during one gig, however, vary.
 * Harp (the string kind)
 * Accordion and Concertina
 * Uilleann pipes
 * Bouzouki
 * Harmonica
 * Guitar

Since a majority of Celtic music is in the key of D and G, while many Folk songs are in the key of C and A, the keys needed are, of course, G, A, C and D. The role will be to play the main melody.

Also, note that it is very common for harmonica not to be welcomed in a band, especially in jazz and bluegrass and classical music.

Of course, one should not let these guidelines limit them. There are players who solely play on chromatic or tremolo and there are those who use overblows for all songs. (Except classical; no debate there, even if it's an amateur playing)

title: Harmonica/Music Style


text:
House Made of Dawn

House Made of Dawn is a novel by N. Scott Momaday, widely credited as leading the way for the breakthrough of Native American literature into the mainstream. It was awarded the Pulitzer Prize for Fiction in 1969.

Plot summary

 * /Plot summary/

Analysis

 * /Analysis/

Allusions/references to actual history, geography and science

 * /Allusions and References/

Publishers
Originally published by Harper & Row, editions have subsequently been brought out by HarperCollins, the Penguin Group, Econo-Clad Books and the University of Arizona Press.

Books

 * Theoharris, Zoe. The problem of cultural integration in Momaday's House made of dawn (Emporia State University: 1979)
 * Scarberry-Garcia, Susan. Landmarks of Healing: A Study of House Made of Dawn (University of New Mexico Press: 1990)

Other

 * "N. Scott Momaday: House Made of Dawn," Characters in Twentieth-Century Literature, Book Two, (Gale Research, 1995)
 * Bennett, John Z. "Review of House Made of Dawn". Western American Literature. Vol. V, No. 1, Spring, 1970, p. 69.
 * Douglas, Christopher. "The flawed design: American imperialism in N. Scott Momaday's House Made of Dawn and Cormac McCarthy's Blood Meridian". Studies in Contemporary Fiction, Fall 2003 Vol. 45 i1 p. 3.
 * Evers, Lawrence J. "Words and Place: A Reading of House Made of Dawn," Western American Literature. Vol. XI, No. 4, February, 1977, pp. 297-320.
 * Hirsch, Bernard A. "Self-Hatred and Spiritual Corruption in House Made of Dawn." loc. cit. Vol. XVII. No. 4. Winter, 1983. pp. 307-20.
 * Hylton, Marion Willard. "On a Trail of Pollen: Momaday's House Made of Dawn," Critique, Vol. XIV, No. 2, 1972, pp. 60-9.
 * Jaskoski, Helen. "House Made of Dawn: Overview," Reference Guide to American Literature, 3rd ed., edited by Jim Kamp, (St. James Press: 1994)
 * Kelly, David. Overview of "House Made of Dawn," Novels for Students, Vol. 10 (The Gale Group: 2000)
 * Oleson, Carole. "The Remembered Earth: Momaday's House Made of Dawn". South Dakota Review, Vol. 11, No. 1, Spring, 1973, pp. 59-78.
 * Trimmer, Joseph F. "Native Americans and the American Mix: N. Scott Momaday's House Made of Dawn." The Indiana Social Studies Quarterly 28 (1975).
 * Velie, Alan R. "House Made of Dawn: Nobody's Protest Novel," Four American Indian Literary Masters: N. Scott Momaday, James Welch, Leslie Marmon Silko, and Gerald Vizenor, (University of Oklahoma Press: 1982) pp. 52-64.
 * Waniek, Marilyn Nelson. "The Power of Language in N. Scott Momaday's House Made of Dawn" Minority Voices, Vol. 4, No. 1, 1980, pp. 23-8.

title: House Made of Dawn


text:
Genes, Technology and Policy/Ownership Of and Access to Biotechnology

Do developing countries stand to benefit from the use of modern biotechnology?
Yes, but developing countries should remember that the institutional and economic environment within which modern biotechnology R&D is being conducted differs significantly from that of Green Revolution technologies. The latter was essentially the prerogative of public research institutions and philanthropic foundations. In contrast, the application of modern biotechnology to agriculture is a competitive, commercial endeavor in which powerful private sector interests compete. Multinational companies in the seed, agricultural chemical, pharmaceutical and food-processing industries play a major role in biotechnology research. Also, as a result of mergers and acquisitions in the past years, the development of new biotechnology applications in agriculture has become increasingly concentrated in the hands of a few companies. The dominant companies that currently operate within the global markets are Monsanto, Syngenta and Pioneer Hi-Bred.

The Food and Agriculture Organization has pointed out that current transgenic crop releases are still “very narrow” in terms of crops and traits, and thus have yet to address the special needs of developing countries. While some 200 crops are currently under field testing in developing countries and other crop-trait combinations are being investigated, focusing mostly on virus resistance, crop quality, and in some cases, tolerance to abiotic stresses, many crops (e.g., vegetables) and traits (e.g., drought- and aluminum-resistance) important to developing countries are still almost entirely neglected.

Relatively little biotechnology research is being undertaken on the problems of small farmers in rainfed and marginal lands. Neither is there much interest in crops like wheat, sorghum, millet, banana, lentils, cassava, groundnut, and sweet potato. These are considered orphan crops because of the private sector’s reluctance to work on them. They have limited appeal because they are grown mainly for personal consumption by poor farmers. Hence, public sector research will have to fill in the void by exploiting the research potential of biotechnology to solve the high-priority problems of the developing world.

What can be done in the global arena to enable developing countries to take advantage of the potential benefits of modern biotechnology?
There is a need to push for a global governance regime for biotechnology that will help to bring a large number of developing countries into the global trading system. The elements of such a governance system should include improvements in market access, development of technological capabilities, access to technology, national regulation of biotechnology, and the management of risks and benefits associated with its use.

Although scientific advances in biotechnology appear to be concentrated in a small number of developed countries, the following factors will allow for the wider participation of developing countries in the new bioeconomy:

1. The growing recognition that the current patterns of globalization are untenable if they do not increasingly include developing country products. Developing countries depend on industries that are based on natural resources and can therefore benefit from the use of modern biotechnology.

2. Many of the techniques used in biotechnology research are becoming readily available because of scientific familiarity, and are therefore relatively easy to acquire through sustained capacity development and enterprise development efforts.

3. Much of the initial R&D expenditures have already been borne by the industrialized countries. What is needed is effective international technology partnerships to enable developing countries to benefit from biotechnology R&D.

However, much will depend on the level of domestic technological capacity in developing countries and the kind of global biotechnology governance system that emerges from the current policy debates. A global governance system that provides opportunities for market access will help to foster the commercialization of new technologies, especially those that threaten to alter the patterns and loci of productions. Resistance to new technologies is likely to be reduced by perceptions of access to the new technologies, as well as to their markets.

Does the current GMO controversy help in clarifying the issues surrounding the use of modern biotechnology?
Unfortunately, the debate over GMOs has focused on risks to human health and the environment. While these concerns are important, the debate does not adequately reflect the interests of developing countries. This is because the issues are framed in the context of industrialized country concerns.

For instance, the debate ignores the fact that since the rural poor in developing countries are mostly in farming, any technology that helps lighten the load of agricultural workers can free up time to pursue higher-earning occupations. An oft-cited example of the revolutionary potential of modern biotechnology is the harvest in 2001 by Kenyan farmers of the first trial crop of sweet potatoes for resistance to an aphid-borne disease that previously killed up to 80% of their crops.

In addition, one of the main policy goals of developing countries is to enhance food security, a problem that may not be present in many developed countries. While biotechnology cannot solve all of the problems associated with agricultural production, there is no denying the fact that it has the potential to address specific problems such as increasing crop productivity, diversifying crops, enhancing the nutritional value of food, reducing environmental impacts of agricultural productions, and promoting market competitiveness.

Developing countries are hampered in their ability to benefit from advances in modern biotechnology because of the lack of scientific and technological capacity and the low level of enterprise development in most of these countries. While the responsibility for formulating policies and strategies for the wider use of biotechnology lies within the domestic leadership, international cooperation and partnerships are essential in promoting sustainable agriculture in the developing world.

Can modern biotechnology solve the problems of developing countries in agriculture?
Biotechnology is simply one of the instruments that developing countries can use in finding solutions to problems in agriculture. While biotechnology has many potential benefits, it is not—and cannot be—a solution for all of the problems confronting the agricultural sector. After all, technology is only one of many factors for agricultural growth. Hence, while encouraging biotechnology research and development, developing countries should continue to invest in water and soil management, farm-to-market infrastructure, and credit access programs, among others.

However, no developing country can ignore the promise of safe and responsible use of biotechnology, whether in the medical or agricultural spheres.


text: Genes, Technology and Policy/References

title: Genes, Technology and Policy/References


text: Linear Algebra/Vector spaces

title: Linear Algebra/Vector spaces


text: Genes, Technology and Policy/Notes

title: Genes, Technology and Policy/Notes


text:
Genes, Technology and Policy/About the Author

About the Author
Jose Maria A. Ochave is a chemical engineer and lawyer. He obtained his B.S. in Chemical Engineering and Bachelor of Laws degrees from the University of the Philippines – Diliman, and his Master of Laws degree from the University of Michigan at Ann Arbor. He is currently Assistant Vice President at United Laboratories, Inc., Professor-II at the Philippine Judicial Academy, and member and legal advisor of the National Committee on Biosafety of the Philippines. He advises various Philippine government agencies and non-governmental organizations on legal and policy issues relating to biosafety, intellectual property, biotechnology, and technology transfer.


text:
Genes, Technology and Policy/Acknowledgements

Acknowledgment
The author acknowledges his debt of gratitude to the scientists who reviewed the earlier drafts: Dr. William G. Padolina, Deputy Director for Partnerships of the International Rice Research Institute, and Dr. Tantono Subagyo, Deputy for Intellectual Property Rights, Intellectual Property and Technology Transfer Office, Agency for Agricultural Research Development, Republic of Indonesia. Acknowledgments are likewise in order for Dr. Emmanuel C. Lallana and Ms. Patricia J. Pascual of Digital Philippines for their patience and understanding.


text:
Linear Algebra/Systems of Linear Equations

Systems of Linear Equations
An important problem in Linear Algebra is in solving the system of m linear equations of n variables in a field F:

$$a_{11}x_1+a_{12}x_2+...+a_{1n}x_n=b_1$$

$$a_{21}x_1+a_{22}x_2+...+a_{2n}x_n=b_2$$

...

$$a_{m1}x_1+a_{m2}x_2+...+a_{mn}x_n=b_m$$.

Where all $$a_{ij}$$ are elements of a field.

An example of a system of linear equations is: Linear system (2):
 * $$2x_1-x_2+1.5x_3=8$$
 * $$x_1-4x_3=-7$$

A solution of the system is a list $$\left(s_1,s_2,...,s_n\right)$$ of numbers that makes each equation true, when the values $$s_1,s_2,...s_n$$ are substituted for $$x_1,...,x_n$$ respectively. For example, $$\left(5,6.5,3\right)$$ is a solution to the system (2) because, when these values are substituted in (2) for $$x_1,x_2,x_3$$ respectively, the equations simplify to $$8=8$$ and $$-7=-7$$.

The set of all possible solutions is called the solution set of the linear system. Two linear systems are called equivalent if they have the same solution set. That is, each solution of the first system is a solution to the second system, and vice versa.

Finding the solution set of a system ot two linear equations in two variables is easy because it is the same as finding the intersection point of two lines. A typical problem is
 * $$x_1-3x_2=-1$$
 * $$-x_1+4x_2=3$$

The graphs of these lines, which we denote by $$l_1$$ and $$l_2$$. A pair of numbers $$\left(x_1,x_2\right)$$ statisfies both equations in the system if and only if the point $$\left(x_1,x_2\right)$$ lies on both $$l_1$$ and $$l_2$$. In the system above, the solution is the single point $$\left(5,2\right)$$, as you easily can see on Figure 1.

Of course, two lines do not have to intersect in a single point, they could be parallel, or they could coincide and "intersect" at every point on the line. Figure 2 and Figure 3 shows graphs to visualize this.

A system of linear equations is said to be consistent if it has either one solution or infinitely many solutions, and a systems is said to be inconsistent if it has no solution.

In Linear Algebra, we are concerned with three problems:
 * 1) Is a system of linear equations consistent or not?
 * 2) If so, how many elements are in the solution set?
 * 3) What is the solution set?

Motivation
Systems of linear equations are common in science and mathematics. These two examples from high school science give a sense of how they arise.

The first example is from Physics. Suppose that we are given three objects, one with a mass known to be 2 kg, and are asked to find the unknown masses. Suppose further that experimentation with a meter stick produces these two balances.

Since the sum of moments on the left of each balance equals the sum of moments on the right (the moment of an object is its mass times its distance from the balance point), the two balances give this system of two equations.

40h+15c = 100 $$

25c     = 50+50h $$

The second example of a linear system is from Chemistry. We can mix, under controlled conditions, toluene C7H8 and nitric acid HNO3 to produce trinitrotoluene C7H5O6N3 along with the byproduct water (conditions have to be controlled very well, indeed— trinitrotoluene is better known as TNT). In what proportion should those components be mixed? The number of atoms of each element present before the reaction

x\,{\rm C}_7{\rm H}_8\ +\ y\,{\rm H}{\rm N}{\rm O}_3 \longrightarrow z\,{\rm C}_7{\rm H}_5{\rm O}_6{\rm N}_3\ +\ w\,{\rm H}_2{\rm O} $$

must equal the number present afterward. Applying that principle to the elements C, H, N, and O in turn gives this system.

\begin{matrix} 7x     = 7z  \\ 8x +1y = 5z+2w  \\ 1y     = 3z  \\ 3y     = 6z+1w \end{matrix}

$$

To finish each of these examples requires solving a system of equations. In each, the equations involve only the first power of the variables. This chapter gives an introduction to systems of linear equations. We will solve them later.

Matrix Notation
The essential information of a linear system can be described in a rectangular array called a matrix. Given the system
 * $$3x_1+5x_2+2x_3=0$$
 * $$x_1-8x_2=10$$
 * $$-2x_2+x_3=-8$$

with the coefficients of each variable aligned in columns, we make a matrix called the coefficient matrix (or matrix of coeffients) of the system. The coefficient matrix looks like this
 * $$\begin{bmatrix}3 && 5 && 2 \\ 1 && -8 && 0 \\ 0 && -2 && 1\end{bmatrix}$$

Which make sense if you look at the definition of a linear equation (1). The second row contains a zero because the second equation could be written as $$x_1-8x_2+0x_3=10$$

We also have a matrix called the augmented matrix which for the same system looks like this
 * $$\begin{bmatrix}3 && 5 && 2 && 0\\ 1 && -8 && 0 && 10\\ 0 && -2 && 1 && -8\end{bmatrix}$$

An augmented matrix of a system consists of the coefficient matrix with an added column containing the constants from the right sides of the equation. Again look at the linear equation definition (1), if it does not make sense.

The size of a matrix tells us how many rows and columns it has. The augmented matrix above has 3 rows and 4 columns, therefore it is called a 3x4 (read "3 by 4") matrix. m and n are positive integers, an m  x n matrix is a rectangular array of numbers with m rows and n columns. Matrix notation will simplify the calculations of a linear system.

Elementary Row Operations
There are three elementary row operations:
 * 1) Replacement
 * 2) Interchanging
 * 3) Scaling

The following are an explanation and examples of the three different operations. In the chapter Systems of Linear Equations we have used all of these operations, except Scaling.

An important thing to remember is that all operations can be used on all matrices, not just on matrices derived from linear systems.

Replacement
Replace one row by the sum of itself and a multiple of another row. A more common paraphrase of row replacement is "Add to one row a multiple of another row."

An example is, we are given the linear system:
 * $$x_1+4x_2=3$$
 * $$2x_1+2x_2=4$$

Which can be written in matrix notation, as an augmented matrix, like this
 * $$\begin{bmatrix}1 && 4 && 3 \\ 2 && 2 && 4\end{bmatrix}$$

Now we have decided to eliminate the $$x_1$$ term in equation 2, this can be done by adding -2 times equation 1 to equation 2
 * $$\begin{matrix}-2*[equation\ 1]: & -2x_1-8x_2=-6 \\ \underline{+[equation\ 2]:} & \underline{2x_1+2x_2=4} \\ \left[new\ equation\ 2\right]: & -6x_2=-2\end{matrix}$$

Which gives us the matrix
 * $$\begin{bmatrix}1 && 4 && 3 \\ 0 && -6 && -2\end{bmatrix}$$

Interchanging
Interchange two rows.

An example is, we are given the matrix
 * $$\begin{bmatrix}1 && 2 && 3 \\ 2 && 3 && 1\end{bmatrix}$$

Here we have performed an interchange operation on the two rows
 * $$\begin{bmatrix}2 && 3 && 1 \\ 1 && 2 && 3\end{bmatrix}$$

This is a useful operation when you are trying to solve a linear system, and can see that it will be easier to solve it by interchanging two rows. It is a widely used operation, even though it seems odd and not very usable.

Scaling
Multiply all entries in a row by a nonzero constant.

An example is, we are given the matrix
 * $$\begin{bmatrix}1 && 2 && 3 \\ 2 && 3 && 1\end{bmatrix}$$

Now a scaling operation has been performed on the first row, by multiplying by -2
 * $$\begin{bmatrix}-2 && -4 && -6 \\ 2 && 3 && 1\end{bmatrix}$$

Solving a Linear System
The basic strategy for solving a linear systems is to replace one system with an equivalent system (i.e. another system with the same solution set) that is easier to solve. This is done by using $$x_1$$ term from the first equation to eliminate the $$x_1$$ terms in the other equations, use the $$x_2$$ term from the second equation to eliminate the $$x_2$$ terms in the other equations, and so forth, until you get a very simple equivalent system of equations. There are three operations that are used to simplify a system. You can replace one equation by the sum of itself and a multiple of another equation, we can interchange two equations, and multiply all the terms in an equation with a nonzero constant. During this example, we can see why these operations do not change the solution set of a system.

Example 1: Solve this linear system
 * $$x_1-2x_2+x_3=0$$
 * $$2x_2-8x_3=8$$
 * $$-4x_1+5x_2+9x_3=-9$$

The augmented matrix for this system is
 * $$\begin{bmatrix}1 && -2 && 1 && 0 \\ 0 && 2 && -8 && 8 \\ -4 && 5 && 9 && -9\end{bmatrix}$$

The first thing we want is keep $$x_1$$ in the first equation and eliminate it from the other equations.

To achieve this, we add 4 times equation 1 to equation 3.
 * $$\begin{matrix}4*[equation\ 1]: & 4x_1-8x_2+4x_3=0 \\ \underline{+ [equation\ 3]:} & \underline{-4x_1+5x_2+9x_3=-9} \\ \left[new\ equation\ 3\right]: & -3x_2+13x_3=-9 \end{matrix}$$

The result of this calculation is written in place of the original equation 3
 * $$\begin{matrix}x_1-2x_2+x_3=0 \\ 2x_2-8x_3=8 \\ -3x_2+13x_3=-9\end{matrix} \qquad \begin{bmatrix}1 && -2 && 1 && 0 \\ 0 && 2 && -8 && 8 \\ 0 && -3 && 13 && -9\end{bmatrix}$$

Next thing we want to do is to multiply equation 2 with $$\frac{1}{2}$$ to obtain 1 as the coefficient for $$x_2$$, which will simplify arithmetic in the next step
 * $$\begin{matrix}x_1-2x_2+x_3=0 \\ x_2-4x_3=4 \\ -3x_2+13x_3=-9\end{matrix} \qquad \begin{bmatrix}1 && -2 && 1 && 0 \\ 0 && 1 && -4 && 4 \\ 0 && -3 && 13 && -9\end{bmatrix}$$

Now, we use $$x_2$$ in equation 2 to eliminate the $$-3x_2$$ in equation 3
 * $$\begin{matrix}3*[equation\ 2]: & 3x_2-12x_3=12 \\ \underline{+ [equation\ 3]:} & \underline{-3x_2+13x_3=-9} \\ \left[new\ equation\ 3\right]: & x_3=3\end{matrix}$$

The new linear system has a triangular form, which is called echelon form, and looks like this
 * $$\begin{matrix}x_1-2x_2+x_3=0 \\ x_2-4x_3=4 \\ x_3=3\end{matrix} \qquad \begin{bmatrix}1 && -2 && 1 && 0 \\ 0 && 1 && -4 && 4 \\ 0 && 0 && 1 && 3\end{bmatrix}$$

The next step is to use $$x_3$$ in equation 3 to eliminate the $$x_3$$ and $$-4x_3$$ in equation 1 and 2.
 * $$\begin{matrix}-1*[equation\ 3]: & -x_3=-3 \\ \underline{+[equation\ 1]:} & \underline{x_1-2x_2+x_3=0} \\ \left[new\ equation\ 1\right]: & x_1-2x_2=-3\end{matrix} \qquad \qquad \begin{matrix}4*[equation\ 3]: & 4x_3=12 \\ \underline{+[equation\ 2]:} & \underline{x_2-4x_3=4} \\ \left[new\ equation\ 2\right]: & x_2=16\end{matrix}$$

The system now looks like this
 * $$\begin{matrix}x_1-2x_2=-3 \\ x_2=16 \\ x_3=3\end{matrix} \qquad \begin{bmatrix}1 && -2 && 0 && -3 \\ 0 && 1 && 0 && 16 \\ 0 && 0 && 1 && 3\end{bmatrix}$$

Now we are just one step away from obtaining the solution of the linear system. The last step is to add 2 times equation 2 to equation 1. When doing so we obtain the linear system, which has a reduced echelon form
 * $$\begin{matrix}x_1 = 29 \\ x_2=16 \\ x_3=3\end{matrix} \qquad \begin{bmatrix}1 && 0 && 0 && 29 \\ 0 && 1 && 0 && 16 \\ 0 && 0 && 1 && 3\end{bmatrix}$$

Now that the linear system is solved, it shows that the only solution of the original system is $$(29,16,3)$$. However, because of the many calculations involved, it is a good practice to check you work. This is done by substituting the solution into the original system
 * $$(29)-2(16)+(3)=29-32+3=0$$
 * $$2(16)-8(3)=32-24=8$$
 * $$-4(29)+5(16)+9(3)=-116+80+27=-9$$

This shows us that the solution we found is right, and therefore is a solution of the original linear system.


text:
LaTeX/Theorems

With "theorem" we can mean any kind of labelled enunciation that we want to look separated from the rest of the text and with sequential numbers next to it. This approach is commonly used for theorems in mathematics, but can be used for anything. LaTeX provides a command that will let you easily define any theorem-like enunciation.

Basic theorems
First of all, make sure you have the amsthm package enabled:

The easiest is the following: put it in the preamble. The first argument is the name you will use to reference it, the second argument is the output LaTeX will print whenever you use it. For example:

will define the  environment; if you use it like this:

It will look like this:

with line breaks separating it from the rest of the text.

Theorem counters
Often the counters are determined by section, for example "Theorem 2.3" refers to the 3rd theorem in the 2nd section of a document. In this case, specify the theorem in the preamble as follows: and use it when needed: or, with a generic 'name' to output 'Printed output', add 'numberby':

where numberby is the name of the section level (section/subsection/etc.) at which the numbering is to take place.

By default, each theorem uses its own counter. However it is common for similar types of theorems (e.g. Theorems, Lemmas and Corollaries) to share a counter. In this case, define subsequent theorems as:

where counter is the name of the counter to be used. Usually this will be the name of the master theorem.

The \newtheorem command may have at most one optional argument.

You can also create a theorem environment that is not numbered by using the  command. For instance, defines the  environment, which will generate definitions without numbering. This requires  package.

Proofs
The  environment can be used for adding the proof of a theorem. The basic usage is:

It just adds Proof in italics at the beginning of the text given as argument and a white square (Q.E.D. symbol, also known as a tombstone) at the end of it. If you are writing in another language than English, just use babel with the right argument and the word Proof printed in the output will be translated accordingly; anyway, in the source the name of the environment remains.

If you would like to manually name the proof, include the name in square brackets:

If the last line of the proof is displayed math then the Q.E.D. symbol will appear on a subsequent empty line. To put the Q.E.D. symbol at the end of the last line, use the  command: The method above does not work with the deprecated environment. Use  instead.

To use a custom Q.E.D. symbol, redefine the \qedsymbol command. To hide the Q.E.D. symbol altogether, redefine it to be blank:

Theorem styles
It adds the possibility to change the output of the environments defined by  using the   command in the header: the argument is the style you want to use. All subsequently defined theorems will use this style. Here is a list of the possible pre-defined styles:

Custom styles
To define your own style, use the  command : (Any arguments that are left blank will assume their default value). Here is an example headspec: which would look something like: Definition 2: Topology for the following: (The note argument, which in this case is Topology, is always optional, but will not appear by default unless you specify it as above in the head spec).

Conflicts
The theorem environment conflicts with other environments, for example wrapfigure. A work around is to redefine theorem, for example the following way:

In this case theorem looks like:

title: LaTeX/Theorems


text:
LaTeX/Colors

Adding colors to your text is supported by the xcolor package (supersedes package ). Using this package, you can set the font color, text background, or page background. You can choose from predefined colors or define your own colors using RGB, Hex, or CMYK. Mathematical formulas can also be colored.

Adding the xcolor package
To make use of these features, the package must be imported. starts from the basic facilities of the package and extends it.

The package allows you to use the names of 19 base colors (black, white, blue, green, yellow, red etc.); these names are always available. Besides, the package has some options to get more predefined colors, which should be added globally. allows you to access more than 60 colors, and allows access to about 150 colors. If you need more color names, then you may also want to look at the option that offers more than 300 colors.

The option allows colors to be added to tables.

Entering colored text
The simplest way to type colored text is by:

where is a color that, if necessary, was previously defined by.

Another possible way by

that will switch the standard text color to the color you want. It will work until the end of the current TeX group. For example:

The difference between

and

is the same as that between

and , you can use the one you prefer. The environment allows the text to run over multiple lines and other text environments whereas the text in  must all be one paragraph and not contain other environments.

You can change the background color of the whole page by:

Entering colored background for the text
If the background color and the text color is changed, then:

There is also \fcolorbox to make framed background color in yet another color:

Predefined colors
The predefined color names are black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow. There may be other pre-defined colors on your system, but these should be available on all systems.

If you would like a color not pre-defined, you can use one of the 68 dvips colors, or define your own. These options are discussed in the following sections

The 68 standard colors known to dvips
Invoke the package with the usenames and dvipsnames option. If you are using or  package you must declare the xcolor package before that, otherwise it will not work.

This above syntax may result in an error if you are using beamer with. To go around it, include usenames and dvipsnames options when defining the document class.

Be wary that the below color names are case-sensitive. For example, raises an "undefined color" error, but  works fine. Table can be sorted by color name, by hue, by saturation, or by lightness.

Defining new colors
If the predefined colors are not adequate, you may wish to define your own.

Place
Define the colors in the preamble of your document. (Reason: do so in the preamble, so that you can already refer to them in the preamble, which is useful, for instance, in an argument of another package that supports colors as arguments, such as the listings package.)

Method
You need to include the package in your preamble to define new colors. In the abstract, the colors are defined following this scheme:

where:
 * name is the name of the color; you can call it as you like
 * model is the way you describe the color, and is one of gray, rgb, RGB, HTML, and cmyk.
 * color-spec is the description of the color

Color Models
Among the models you can use to describe the color are the following (several more are described in the xcolor manual):

Examples
To define a new color, follow the following example, which defines orange for you, by setting the red to the maximum, the green to one half (0.5), and the blue to the minimum:

The following code should give a similar results to the last code chunk.

If you loaded the package, you can define colors upon previously defined ones.

The first specifies 20 percent blue and 80 percent white; the second is a mixture of 20 percent blue and 80 percent black; and the last one is a mixture of (20*0.3) percent blue, ((100-20)*0.3) percent black and (100-30) percent green.

also features a handy command to define colors from color mixes:

Using color specifications directly
Normally one would predeclare all the colors as above, but sometimes it is convenient to directly use a color without naming it first. To achieve this, and have an alternative syntax specifying the model in square brackets, and the color specification in curly braces. For example:

Creating / Capturing colors
You may want to use colors that appear on another document, web pages, pictures, etc. Alternatively, you may want to play around with rgb values to create your own custom colors.

Image processing suites like the free GIMP suite for Linux/Windows/Mac offer color picker facilities to capture any color on your screen or synthesize colors directly from their respective rgb / hsv / hexadecimal values.

Smaller, free utilities also exist:
 * Linux/BSD: The gcolor2 tool (usually also available in repositories)
 * Linux/BSD: in newer systems you may want to use gcolor3 tool (usually also available in repositories)
 * Microsoft Windows: The open-source Color Selector tool.
 * Apple Macs: Hex Color Picker for creating custom colors and the built-in DigitalColor Meter for capturing colors on screen.
 * Online utilities: See here for a Wikipedia article with several external links

Spot colors
Spot colors are customary in printing. They usually refer to pre-mixed inks based on a swatchbook (like Pantone, TruMatch or Toyo). The package extends xcolor to provide real spot colors (CMYK and CIELAB). They are defined with, say:

title: LaTeX/Colors


text:
LaTeX/Hyperlinks

LaTeX enables typesetting of hyperlinks, useful when the resulting format is PDF, and the hyperlinks can be followed. It does so using the package.

Hyperref
The package provides LaTeX the ability to create hyperlinks within the document. It works with pdflatex and also with standard "latex" used with dvips and ghostscript or dvipdfm to build a PDF file. If you load it, you will have the possibility to include interactive external links and all your internal references will be turned to hyperlinks. The compiler pdflatex makes it possible to create PDF files directly from the LaTeX source, and PDF supports more features than DVI. In particular PDF supports hyperlinks. Moreover, PDF can contain other information about a document such as the title, the author, etc., which can be edited using this same package.

Usage
The basic usage with the standard settings is straightforward. Just load the package in the preamble:

This will automatically turn all your internal references into hyperlinks. It won't affect the way to write your documents: just keep on using the standard - system (discussed in the chapter on Labels and Cross-referencing); with those "connections" will become links and you will be able to click on them to be redirected to the right page. Moreover the table of contents, list of figures/tables and index will be made of hyperlinks, too. The hyperlinks will not show up if you are working in draft mode.

Commands
The package provides some useful commands for inserting links pointing outside the document.

\hyperref
Usage:

This will have the same effect as but will make the text link text a full link, instead. The two can be combined. If the lemma labelled as was number 4.1.1 the following example would result in

with the hyperlink as expected. Note the "*" after for avoiding nested hyperlinks.

\url
Usage:

It will show the URL using a mono-spaced font and, if you click on it, your browser will be opened pointing at it.

\href
Usage:

It will show the string using standard document font but, if you click on it, your browser will be opened pointing at. Here is an example:

Both point at the same page, but in the first case the URL will be shown, while in the second case the URL will be hidden. Note that, if you print your document, the link stored using will not be shown anywhere in the document.

Other possibilities
Apart from linking to websites discussed above, can be used to provide mailto links, links to local files, and links to anywhere within the PDF output file.

E-mail address
A possible way to insert email links is by

It just shows your email address (so people can know it even if the document is printed on paper) but, if the reader clicks on it, (s)he can easily send you an email. Or, to incorporate the package's formatting and line breaking abilities into the displayed text, use

When using this form, note that the command is fragile and if the hyperlink is inside of a moving argument, it must be preceded by a  command.

Local file
Files can also be linked using the url or the href commands. You simply have to add the string at the beginning of the link string:

Following http://tex.stackexchange.com/questions/46488/link-to-local-pdf-file the version with url does not always work, but href does.

It is possible to use relative paths to link documents near the location of your current document; in order to do so, use the standard Unix-like notation (./ is the current directory, ../ is the previous directory, etc.)

Examples:

Hyperlink and Hypertarget
It is also possible to create an anchor anywhere in the document (with or without caption) and to link to it. To create an anchor, use:

and to link to it, use:

where the and  are the text that is displayed at the target location and link location respectively.

Note also that if you put a hypertarget, when clicking a link to that hypertarget, it may actually direct to the line after the hypertarget, which is not desirable. Therefore if this occurs, you can report the bug and refer to here for a solution.

Viewing in a browser
You can also get an external URL to the hypertarget by appending #label to the URL for the file, or right clicking one of the hyperlinks to the target and copying the URL, or getting the link from the headings in the sidebar of the PDF, or through a process of deduction from viewing (e.g. subsubsection 11.5.1 would have the label subsubsection.11.5.1). This can be useful e.g. for academic and pedagogical purposes. The URL will then direct to the target if you enable a PDF viewer that is compatible with PDF 1.5 in a browser, such as PDF Viewer for Chrome or Chromium browsers, and No PDF Download for Firefox; and on Android the Xodo app works best with links as it renders them with the correct border as with PDF desktop programs, followed by the Foxit PDF app which renders links highlighted in grey (while in other apps links may also work but without any special rendering, such as the Dropbox PDF viewer app; and yet others do not work with links, e.g Drive PDF viewer, PDF reader and Google PDF viewer). You may need to open the URL to the PDF in a new tab, otherwise it may prompt to download it (i.e. if you are clicking on the URL, don't left click, right click and select to open it in a new tab).

Customization
The standard settings should be fine for most users, but if you want to change something, that is also possible. There are several variables and two methods to pass those to the package. Options can be passed as an argument of the package when it is loaded (the standard way packages work), or the command can be used as follows:

you can pass as many options as you want; separate them with a comma. Options have to be in the form:

exactly the same format has to be used if you pass those options to the package while loading it, like this:

Here is a list of the possible variables you can change (for the complete list, see the official documentation). The default values are written in an upright font:

Checkout 3.8 Big list at hyperref-manual at tug.org

Please note, that explicit RGB specification is only allowed for the border colors (like linkbordercolor etc.), while the others may only assigned to named colors (which you can define your own, see Colors). In order to speed up your customization process, here is a list with the variables with their default value. Copy it in your document and make the changes you want. Next to the variables, there is a short explanations of their meaning:

If you don't need such a high customization, here are some smaller but useful examples. When creating PDFs destined for printing, colored links are not a good thing as they end up in gray in the final output, making it difficult to read. You can use color frames, which are not printed:

or make links black:

or use \usepackage{hyperref} \hypersetup{hidelinks}

When you just want to provide information for the Document Info section of the PDF file, as well as enabling back references inside bibliography:

By default, URLs are printed using mono-spaced fonts. If you don't like it and you want them to be printed with the same style of the rest of the text, you can use this:

Problems with Links and Equations 1
Messages like the following ! pdfTeX warning (ext4): destination with the same identifier (name{ equation.1.7.7.30}) has been already used, duplicate ignored

appear, when you have done something like

The error disappears, if you use instead this form:

Beware that the shown line number is often completely different from the erroneous line.

Possible solution: Place the package before the  package.

Problems with Links and Equations 2
Messages like the following ! Runaway argument? {\@firstoffive }\fi ), Some text from your document here (\ref {re\ETC. Latex Error: Paragraph ended before \Hy@setref@link was complete.

appear when you use  inside an   environment.

Possible solution: Add the following to your preamble:

Note: The same error appears if you use a colon " " as part of a label, i.e. . Replacing that will help.

Problems with Links and Pages
Messages like the following: ! pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored

appear when a counter gets reinitialized, for example by using the command provided by the book document class. It resets the page number counter to 1 prior to the first chapter of the book. But as the preface of the book also has a page number 1 all links to "page 1" would not be unique anymore, hence the notice that "duplicate has been ignored." The counter measure consists of putting into the  options. This unfortunately only helps with the page counter. An even more radical solution is to use the option, but this will cause the page links in the index to stop working.

The best solution is to give each page a unique name by using the command:

Another solution is to use before the command, which will give the title page the label page.a. Since the page number is suppressed, it won't make a difference to the output.

By changing the page numbering every time before the counter is reset, each page gets a unique name. In this case, the pages would be numbered a, b, c, i, ii, iii, iv, v, 1, 2, 3, 4, 5, ...

If you don't want the page numbers to be visible (for example, during the front matter part), use. The important point is that although the numbers are not visible, each page will have a unique name.

Another more flexible approach is to set the counter to something negative:

which will give the first pages a unique negative number.

The problem can also occur with the algorithms package: because each algorithm uses the same line-numbering scheme, the line identifiers for the second and follow-on algorithms will be duplicates of the first.

The problem occurs with equation identifiers if you use on every line of an eqnarray environment. In this case, use the *'ed form instead, e.g. (which is an unnumbered equation array), and remove the now unnecessary  commands.

If your url's are too long and running off of the page, try using the breakurl package to split the url over multiple lines. This is especially important in a multicolumn environment where the line width is greatly shortened.

Problems with bookmarks
The text displayed by bookmarks does not always look like you expect it to look. Because bookmarks are "just text", much fewer characters are available for bookmarks than for normal LaTeX text. Hyperref will normally notice such problems and put up a warning:

Package hyperref Warning: Token not allowed in a PDFDocEncoded string:

You can now work around this problem by providing a text string for the bookmarks, which replaces the offending text:

Math expressions are a prime candidate for this kind of problem:

which turns to E=mc2 in the bookmark area. Color changes also do not travel well into bookmarks:

produces the string "redRed!". The command gets ignored but its argument (red) gets printed. If you use:

the result will be much more legible.

If you write your document in unicode and use the option for the  package you can use unicode characters in bookmarks. This will give you a much larger selection of characters to pick from when using.

Problems with tables and figures
The links created by point to the label created within the float environment, which, as previously described, must always be set after the caption. Since the caption is usually below a figure or table, the figure or table itself will not be visible upon clicking the link. A workaround exists by using the package  with:

Be sure to call this package after loading.

If you use the package mentioned in the "Wrapping text around figures" section of the "Floats, Figures and Captions" chapter, or other similar packages that define their own environments, you will need to manually include  in those environments, e.g.:

Problems with long caption and \listoffigures or long title
There is an issue when using with  for long captions or long titles. This happens when the captions (or the titles) are longer than the page width (about 7-9 words depending on your settings). To fix this, you need to use the option breaklinks when first declaring:

This will then cause the links in the to word wrap properly.

Problems with already existing .toc, .lof and similar files
The format of some of the auxiliary files generated by latex changes when you include the package. One can therefore encounter errors like ! Argument of \Hy@setref@link has an extra }. when the document is typeset with for the first time and these files already exist. The solution to the problem is to delete all the files that latex uses to get references right and typeset again.

Problems with footnotes and special characters
See the relevant section.

Problems with Beamer
Using the command

is broken when pointed at a label. Instead of sending the user to the desired label, upon clicking the user will be sent to the first frame. A simple work around exists; instead of using

to label your frames, use

and reference it with

Problems with draft mode
WARNING! Please note that if you have activated the "draft"-option in your \documentclass declaration the hyperlinks will not show up in the table of contents, or anywhere else for that matter!!!

The hyperlinks can be re-enabled by using the "final=true" option in the following initialization of the hyperref package, just after the package was included:

A good source of further options for the hyperref package can be found here.

title: LaTeX/Hyperlinks


text:
LaTeX/Source Code Listings

There are many packages providing code listings and highlighting, below are most popular:

 * listings
 * very useful and functionality rich,
 * minted
 * minted is an alternative to listings which has become popular. It uses the external Python library Pygments for code highlighting, which as of February 2021 boasts over 537 supported languages and text formats. As the package relies on external Python code, the setup require a few more steps than a usual LaTeX package, so please have a look at their GitHub repo and their manual.

Using the listings package
Using the package you can add non-formatted text as you would do with  but its main aim is to include the source code of any programming language within your document. If you wish to include pseudocode or algorithms, you may find Algorithms and Pseudocode useful also.

To use the package, you need:

The package supports highlighting of all the most common languages and it is highly customizable. If you just want to write code within your document the package provides the environment:

Another possibility, that is very useful if you created a program on several files and you are still editing it, is to import the code from the source itself. This way, if you modify the source, you just have to recompile the LaTeX code and your document will be updated. The command is:

in the example there is a Python source, but it doesn't matter: you can include any file but you have to write the full file name. It will be considered plain text and it will be highlighted according to your settings, that means it doesn't recognize the programming language by itself. You can specify the language while including the file with the following command:

You can also specify a scope for the file.

Or

This comes in handy if you are sure that the file will not change (at least before the specified lines). You may also omit the  or  parameter: it means everything up to or starting from this point.

This is a basic example for some Pascal code:

Supported languages
It supports the following programming languages:

ABAP2,4, ACSL, Ada4, Algol4, Ant, Assembler2,4, Awk4, bash, Basic2,4, C#5, C++4, C4, Caml4, Clean, Cobol4, Comal, csh, Delphi, Eiffel, Elan, erlang, Euphoria, Fortran4, GCL, Go (golang), Gnuplot, Haskell, HTML, IDL4, inform, Java4, JVMIS, ksh, Lisp4, Logo, Lua2, make4, Mathematica1,4, Matlab, Mercury, MetaPost, Miranda, Mizar, ML, Modelica3, Modula-2, MuPAD, NASTRAN, Oberon-2, Objective C5, OCL4, Octave, Oz, Pascal4, Perl, PHP, PL/I, Plasm, POV, Prolog, Promela, Python, R, Reduce, Rexx, RSL, Ruby, S4, SAS, Scilab, sh, SHELXL, Simula4, SQL, tcl4, TeX4, VBScript, Verilog, VHDL4, VRML4, XML, XSLT.

For some of them, several dialects are supported. For more information, refer to the documentation that comes with the package, it should be within your distribution under the name listings-*.dvi.

 * Notes
 * 1) It supports Mathematica code only if you are typing in plain text format. You can't include *.NB files  as you could with any other programming language, but Mathematica can export in a pretty-formatted LaTeX source.
 * 2) Specification of the dialect is mandatory for these languages (e.g. ).
 * 3) Modelica is supported via the dtsyntax package available here.
 * 4) For these languages, multiple dialects are supported. C, for example, has ANSI, Handel, Objective and Sharp. See p. 12 of the listings manual for an overview.
 * 5) Defined as a dialect of another language

Settings
You can modify several parameters that will affect how the code is shown. You can put the following code anywhere in the document (it doesn't matter whether before or after ), change it according to your needs. The meaning is explained next to any line.

The line needs an explanation. The option will define delimiters for escaping into LaTeX code, i.e. all the code between the string "A" and "B" will be parsed as LaTeX over the current listings style. In the example above, the comments for Octave start with, and they are going to be printed in the document unless they start with , in which case they are read as LaTeX (with all LaTeX commands fulfilled) until they're closed with another. If you add the above paragraph, the following can be used to alter the settings within the code:
 * escapeinside

There are many more options, check the official documentation.

Style definition
The package lets you define styles, i.e. profiles specifying a set of settings.

Example

In our example, we only set two options globally: the default style and the escape character. Usage:

The C part will print as

Automating file inclusion
If you have a bunch of source files you want to include, you may find yourself doing the same thing over and over again. This is where macros show their real power.

In this example, we create one command to ease source code inclusion. We set the default style to be customc. All listings will have their name as caption: we do not have to write the file name twice thanks to the macro. Finally we list all listings with this command from the package.

See Macros for more details.

Encoding issue
By default, does not support multi-byte encoding for source code. The option only works for 8-bits encodings such as latin1.

To handle UTF-8, you should tell listings how to interpret the special characters by defining them like so

The above table will cover most characters in latin languages. For a more detailed explanation of the usage of the option check section 5.4 in the Listings Documentation.

Another possibility is to replace (in the preamble) with, but this will only work for.

Customizing captions
You can have fancy captions (or titles) for your listings using the package. Here is an example for.

title: LaTeX/Source Code Listings


text:
LaTeX/Rotations

The rotating package
The package gives you the possibility to rotate any object of an arbitrary angle. Once you have loaded it with the standard command in the preamble:

you can use three new environments:

it will rotate the whole argument by 90 degrees counterclockwise. Moreover:

it will turn the argument of 30 degrees. You can give any angle as an argument, whether it is positive or negative. It will leave the necessary space to avoid any overlapping of text.

like, but it will not add any extra space.

If you want to make a float sideways so that the caption is also rotated, you can use

or

Note, though, they will be placed on a separate page.

If you would like to rotate a TikZ picture you could use together with.

You can also use the command. Let's rotate a tabular inside a table for example:

Options
Default is sidewaysfigures/sidewaystables are oriented depending on page number in two-sided documents (takes two passes).

The rotating package takes the following options.

 * counterclockwise/anticlockwise: In single-sided documents turn sidewaysfigures/sidewaystables counterclockwise.
 * clockwise: In single-sided documents turn sidewaysfigures/sidewaystables clockwise (default).
 * figuresright: In two-sided documents all sidewaysfigures/sidewaystables are same orientation (left of figure, table now bottom of page). This is the style preferred by the Chicago Manual of Style (broadside).
 * figuresleft: In two-sided documents all sidewaysfigures/sidewaystables are same orientation (left of figure, table now at top of page).

The rotfloat package
When it is desirable to place the rotated table at the exact location where it appears in the source (.tex) file, package may be used. Then one can use

just like for normal tables. The option can not be used without this package.

title: LaTeX/Rotations


text:
Japanese/Vocabulary/Mathematics

Topics of study
Check the following link "English-Japanese Dictionary for Mathematical Terminology" for more mathematical terminology.

title: Japanese/Vocabulary/Mathematics


text:
User:Shaifern

Artist. Reader of fantasy books. Bleach-obsessed fanatic. (Of the anime/manga, not the cleaning product!)

...Was there anything else you wanted to know?

title: User:Shaifern


text:
XForms/Load from XML Schema

Motivation
Many times the data types of your data are defined in an external XML Schema file. To use this information, rather than having to explicitly bind the instance to a data type, you can just load the XML Schema file to initialize instance data in the model. The data types will be inferred from the XML Schema file.

To do this you must add a  attribute to the model where the value of the argument is the XML Schema source file. Note that the argument is  NOT. is used to read in the instance data.

Screen Image
Here is a screen image of a sample program. Note that input form for the date and boolean data types are automatically inferred from the XML Schema and different controls are placed in the user interface.

Note that in this example, the order of the controls is also changed.

Link to XForms Application
Load Datatypes from XML Schema

XML Schema diagram
The following is an XML Schema diagram with data types visible. Note that the data type is displayed directly under the data element. This diagram also shows optional data elements using a dashed line and the cardinality of the data elements.

Testing
One of the ways to test if the data types are loaded correctly from the XML Schema file is to attempt to enter an invalid value of a specific data type. XForms should automatically check to see if the input field meets the data requirements specified in the XML Schema file.

For example in the positive integer fields you can attempt to enter a "-1". After you do this and enter a "tab" the background of the form should display in pink as a warning. This is how the screen should look:

The way you display invalid controls is controled by the following line in the CSS file: *:invalid { background-color: red; }

This is known as a pseudo element. Although there are no data elements called "invalid", XForms just adds this property to each input control and the style sheet then adds whatever properties you give it in the style sheet.

Discussion
This program also uses a CSS to display the data elements.

Known bugs
Note that under the bindings do not work if there is no sample instance data.

In addition to this section, it may not be supported in other Xform platforms. Tested in XSLTForms, it does not work, with latest version as of 06/09/10 Used FormFaces, it worked, but could not render the css correctly.

There are also cross-browser compatibility issues as well.

title: XForms/Load from XML Schema


text:
Talk:Materials Science/Introduction

=Overlap with A-Level Applied Science book?=

Hi! Have you tried copying anything over from ? You're most welcome: I expect I'll pillage your work here if it fits the A-level Applied Science wikibook... Ewen 15:01, 9 October 2006 (UTC)

Introduction
I am HARIHARAN AM GO TO STUDY AMIE IF I TAKE THE SOME NOTES FROM THE WEB IS IT INfo FOR ME

rating
In my opinion this text is informative but because of missing paragraph/ pictures/ sections etc. hard to read. 188.97.225.121 (discuss) 22:28, 1 July 2011 (UTC)

title: Talk:Materials Science/Introduction


text:
XForms/Player Specific Instructions

FireFox Extension
Directions for installing the FireFox extension are listed here.

Make sure your XForms files have the .xhtml extension.

This document describes how the FireFox extension adheres or differs from the formal W3C specification.

FormFaces
FormFaces is a JavaScript implementation of XForms. To use it you can do the following:

First download the FormFaces JavaScript Library from the from faces web site http://www.formfaces.com/.

To use the FormFaces solution you will need to do two things. First add the following line to all your forms:

Second you will need to download the 85K Javascript file called "formfaces.js" and put it in the same directory that you are running the program.

formsPlayer
formsPlayer allows users to view XForms pages within Internet Explorer, on Windows. The processor was the first to fully implement the XForms 1.0 standard, and continues to lead the way by implementing the latest Working Draft of XForms 1.1. For details on how to install formsPlayer and set up a development environment, and then use this to follow a detailed Introduction to XForms tutorial, see Programming formsPlayer and XForms. The tutorial includes in depth discussion of two forms; one that saves bookmarks to del.icio.us, and another that searches Flickr.

X-Smiles
X-Smiles is a browser that includes XForms support. See http://www.x-smiles.org/ for details. X-Smiles allows many of the programs in this book to run without modification. X-Smiles does not support some XHTML standards. For a full report of what features are working in X-Smiles see this link: http://www.x-smiles.org/features_xforms.html

title: XForms/Player Specific Instructions


text:
Autonomous Technology-Assisted Language Learning/Interaction/GoogleTalk

Google Talk is a very valuable tool for interacting with electronic language exchange partners, particularly when used in conjunction with Gmail as the combination provides free e-mail with huge storage (over 2.7 GB), presence (you can see the online status of your contacts), text chat, file sharing and voice communication (between Windows users). And all text chat is stored centrally by default.

But it gets a bit complicated concerning the type of communication that is available under different scenarios. As best as I can figure out, it goes like this.

 * Gmail user to any other e-mail user
 * e-mail
 * Gmail user to any other Gmail user
 * e-mail and text chat (if both Gmail users are online)
 * Gmail Windows user with Google Talk installed to another Gmail Windows user with Google Talk installed
 * e-mail
 * text chat (if both users are online)
 * file transfer (if both user are online)
 * audio call (if both users are online)
 * voicemail (if second user is not online or doesn't answer audio call)

If you mouse over a contact in your Quick Contacts list and see that the "Call" button is "live" (the letters of "Call" are black and the telephone icon is green), this means that your contact has Google Talk installed and running on a Windows computer and you can do any of the above things. If the "Call" button is greyed out, your contact does not have Google Talk installed and running. You can invite him or her to install Google Talk via the Google Talk application "+ADD" button on the bottom of Google Talk (but he or she can do so only if he or she has a computer running Windows 2000, 2003 Server or XP).