text:
User talk:Paul.Paquette~enwikibooks

A man of the law
Hello, Mr Paquette.

I see that you are a man of the law, if I'm led to the correct impression by clicking links which you have put on your user page.

I hope you contribute heaps to Wikibooks, and that you have lots of fun and teach lots of people.

Thank you very much for being here,

--EuropracBHIT 01:01, 19 January 2006 (UTC).--

Your account will be renamed
Hello,

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

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

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

Sorry for the inconvenience.

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

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

title: User talk:Paul.Paquette~enwikibooks


text:
Arabic/This is ...

If we want to use the phrase "This is..." basically pointing to something or identifying it, we would use the Arabic word (هذا) which means "this".

As we learned earlier(and to repeat here as a reminder) there are no connecting verbs in the Arabic language, by that I mean the words "is" and "are". Therefore remember when using the term (هذا) that, in most cases, you will not need to add anything between "this" and the noun you are identifying.

"This is..." and common nouns
Lets show a few examples to make it a bit clearer:

Phrase: This is a boy this = (هذا) a boy = (ولد) thus the Arabic is : (هذا ولد)

At first glance one might see this as translating to (this boy) yet there is another way to say that phrase, and before getting into we will practice using (هذا) a bit more.

This is a book = (هذا كتاب) This is a chair = (هذا كرسي) This is a pen = (هذا قلم)

These sentences are both grammatically correct and complete sentences.

"This is..." and proper nouns
(هذا) when used with a proper personal nouns, i.e. a person's name, nothing is added. Thus you would say when introducing your friends John, Muhammad, Ali, and Rama: This is John = (هذا جان) This is Muhammad = (هذا محمد) This is Ali = (هذا علي) This is Rama = (هذا راما)

However, when using (هذا) with a proper noun that denotes other than a personal name, care must be taken to use it is a manner which will fulfill the requirements of a complete sentence. Thus "This pen..." = in Arabic (هذا القلم) would be a sentence fragment, and would not carry a meaning that whoever you are speaking to can understand (unless of course you are answering a question about a pen) An example will make this clearer: Q: Which pen do you want? = (أي قلم تريد؟) A: This pen.(هذا القلم) [identifying the specific pen he wants.]

"This is the..." and the word (هذا)
Now when using the word (هذا) one might want to exclaim "This is the boy!" or point out "This is the pen." Here a pronoun = (هو) needs to be added [in Arabic grammar this pronoun is called (ضمير الشأن)] This pronoun allows the sentence to move from one of a sentence fragment to one of a complete sentence. Examples: "This is the boy!" = (هذا هو الولد) Compare to = "This boy..." = (هذا الولد) "This is the pen." = (هذا هو القلم) Compare to = "This pen..." = (هذا القلم)

"This is..." and the feminine
The feminine form of (هذا) is (هذه) which means exactly the same thing yet will only be used for feminine nouns.

One might then ask "How do I know that the noun is feminine?" Answer: Well one apparent clue is that you are using it to describe a female. Thus names such as Rebecca, Sara, Fatimah, and Aishah will all be identified with the word (هذه). This is Rebecca = (هذه رابكا) This is Sara = (هذه سارة) This is Fatimah = (هذه فاطمة) This is Aishah = (هذه عائشة)

If the word is not blatantly used to describe a female, than there are certain signs that will denote for you the proper usage of (هذه) with that word, such as: 1- the word ending in (ــة ، ة) such as: car = (سيارة) printer = (طابعة) government = (حكومة)

2- the word ending in (ـاء) such as the words: sky = (سـماء) air = (هواء) cover = (غطاء)

Other words are known to be feminine by usage, one needs to build their vocabulary in order to distinguish the masculine from the feminine.

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

title: Arabic/This is ...


text:
Muggles' Guide to Harry Potter/Characters/Broderick Bode

Overview
Broderick Bode is a worker in the Ministry of Magic's Department of Mysteries.

Goblet of Fire
Bode attends the Quidditch World Cup, and Arthur Weasley points him out to Harry as he passes the Weasleys' tents.

Order of the Phoenix
When Harry, Ron, Fred, George, Ginny, and Mrs. Weasley, accompanied by Mad-Eye Moody and Tonks, arrive to visit Arthur Weasley at St. Mungo's, the day after the snake attack, they wait in line after an old stooped wizard who is there to see Broderick Bode. The Welcome Witch says he's wasting his time, Bode still thinks he's a teapot.

Some days later, Harry, Ron, and Hermione happen to end up on the long-term residents floor, due to a chance encounter with Gilderoy Lockhart. There, they see Bode, who is apparently getting better. He receives a pot plant (US: house plant) for a Christmas present from an unnamed well-wisher.

Hermione later reads that he has been strangled by the pot plant, which turns out to have been a Devil's Snare.

In a dream Harry has in late February, where he perceives things happening in Voldemort's mind, Harry hears that Bode had been placed under the Imperius spell by Malfoy, but that he had known that he would not be able to do what was being asked of him, and so fought the spell very hard. Based on this sketchy information, Harry, Ron, and Hermione conclude that Bode was placed under the Imperius Curse by Lucius Malfoy, and was supposed to remove a prophecy concerning Harry and Lord Voldemort from the shelf it is stored on. As an employee in the Department of Mysteries, however, he knew that he could not touch it, so he fought the curse unsuccessfully. The shock of touching the prophecy may have lifted the curse, but left him unable to speak. He was admitted to St. Mungo's, but was killed by the anonymously sent Devil's Snare plant as he began to regain speech abilities. It is theorized that the Death Eaters wished to silence him and so sent the plant, which his Healer thought was a harmless Christmas gift. Encouraged to care for the plant himself, Bode touched the Devil's Snare and was instantly throttled. His death was only briefly mentioned in the Daily Prophet.


text:
Magic: The Gathering/Standard Decks & Strategies

Standard (or Type 2) is a Constructed format where the total card pool is restricted by sets. Normally, the standard format pool consists of cards from the most recent core set and the two most recent expansion blocks. Currently, the core set is Magic 2011 and the expansions are the Scars of Mirrodin block and Zendikar.

Players must have at least a 60-card deck (a sideboard containing exactly 15 extra cards is not optional) consisting of cards of any printings that are legal in the current standard format; however, players must be able to shuffle their decks without assistance. Decks (including the sideboard) may contain no more than 4 copies of any card other than basic lands. In addition, certain cards may be "restricted" (only one copy of the card allowed) or "banned" (the card may not be used).

As of July 16th 2011, the sets legal in Standard:

CORE SET

Magic 2011 Magic 2012

Zendikar

Zendikar

Worldwake

Rise Of The Eldrazi

Scars of Mirrodin

Scars of Mirrodin

Mirrodin Besieged

New Phyrexia

Beginning from September 30th 2012, standard will consist of the following sets:

CORE SET

Magic 2012

Scars of Mirrodin

Scars of Mirrodin

Mirrodin Besieged

New Phyrexia

Innistrad

Innistrad

Since the format rotates each year, decks have a maximum shelf life of two years, meaning that the format is quick to change and easily impacted. There are deck archetypes that have waxed and waned through the years, but maintain their existence in some form or another (White-Defensive, Blue-Control, Black-Kill and Weaken, Red-Direct Damage, Green-Creature Based ), while others (usually combo decks) are spawned from the centerpiece card (Tooth and Nail, Enduring Ideal), and are thus usually subject to their key card leaving Standard.


text:
Java Programming/Understanding a Java Program

This article presents a small Java program which can be run from the console. It computes the distance between two points on a plane. You do not need to understand the structure and meaning of the program just yet; we will get to that soon. Also, because the program is intended as a simple introduction, it has some room for improvement, and later in the module we will show some of these improvements. But let's not get too far ahead of ourselves!

The Distance Class: Intent, Source, and Use
This class is named Distance, so using your favorite editor or Java IDE, first create a file named, then copy the source below, paste it into the file and save the file.

At this point, you may wish to review the source to see how much you might be able to understand. While perhaps not being the most literate of programming languages, someone with understanding of other procedural languages such as C, or other object oriented languages such as C++ or C#, will be able to understand most if not all of the sample program.

Once you save the file, compile the program:

(If the  command fails, review the installation instructions.)

To run the program, you supply it with the x and y coordinates of two points on a plane separated by a space. For this version of Distance, only integer points are supported. The command sequence is   to compute the distance between the points (x0, y0) and (x1, y1).

Here are two examples:

We'll explain this strange looking output, and also show how to improve it, later.

Detailed Program Structure and Overview
As promised, we will now provide a detailed description of this Java program. We will discuss the syntax and structure of the program and the meaning of that structure.

Introduction to Java Syntax

 * Figure 2.1 : Basic Java syntax.
 * For a further treatment of the syntax elements of Java, see also Syntax.

The syntax of a Java class is the characters, symbols and their structure used to code the class. Java programs consist of a sequence of tokens. There are different kinds of tokens. For example, there are word tokens such as and  which represent  keywords  (in purple  above  ) — special words with reserved meaning in Java. Other words such as,  ,  , and   are not keywords but identifiers (in grey). Identifiers have many different uses in Java but primarily they are used as names. Java also has tokens to represent numbers, such as  and  ; these are known as  literals  (in orange).  String literals  (in blue), such as  , consist of zero or more characters embedded in double quotes, and  operators  (in red) such as   and   are used to express basic computation such as addition or String concatenation or assignment. There are also left and right braces ( and  ) which enclose blocks. The body of a class is one such block. Some tokens are punctuation, such as periods  and commas   and semicolons. You use whitespace such as spaces, tabs, and newlines, to separate tokens. For example, whitespace is required between keywords and identifiers:  is a single identifier with twelve characters, not two Java keywords.

Declarations and Definitions

 * Figure 2.2 : Declarations and Definitions.

Sequences of tokens are used to construct the next building blocks of Java classes as shown above: declarations and definitions. A class declaration provides the name and visibility of a class. In our example,  is the class declaration. It consists (in this case) of two keywords,  and   followed by the identifier.

This means that we are defining a class named. Other classes, or in our case, the command line, can refer to the class by this name. The  keyword is an access modifier which declares that this class and its members may be accessed from other classes. The  keyword, obviously, identifies this declaration as a class. Java also allows declarations of interfaces and annotations.

The class declaration is then followed by a block (surrounded by curly braces) which provides the class's definition (in blue in figure 2.2). The definition is the implementation of the class – the declaration and definitions of the class's members. This class contains exactly six members, which we will explain in turn.
 * 1) Two field declarations, named   and   (in green)
 * 2) A constructor declaration (in orange)
 * 3) Three method declarations (in red)

Example: Instance Fields
The declaration

...declares two instance fields. Instance fields represent named values that are allocated whenever an instance of the class is constructed. When a Java program creates a  instance, that instance will contain space for   and. When another  object is created, it will contain space for its own   and   values. The value of  in the first   object can vary independently of the value of   in the second   object.

This declaration consists of:

 * 1) The  access modifier, which means these instance fields are not visible to other classes.
 * 2) The type of the instance fields. In this case, the type is . This is the class   in the   package.
 * 3) The names of the instance fields in a comma separated list.

These two fields could also have been declared with two separate but more verbose declarations,

Since the type of these fields is a reference type (i.e. a field that refers to or can hold a reference to an object value), Java will implicitly initialize the values of  and   to null when a   instance is created. The null value means that a reference value does not refer to an object. The special Java literal is used to represent the null value in a program. While you can explicitly assign null values in a declaration, as in

It is not necessary and most programmers omit such default assignments.

Example: Constructor
A constructor is a special method in a class which is used to construct an instance of the class. The constructor can perform initialization for the object, beyond that which the Java VM does automatically. For example, Java will automatically initialize the fields  and   to null.

The constructor above consists of five parts:
 * 1) The optional access modifier(s). In this case, the constructor is declared
 * 2) The constructor name, which must match the class name exactly:   in this case.
 * 3) The constructor parameters. The parameter list is required. Even if a constructor does not have any parameters, you must specify the empty list  . The parameter list declares the type and name of each of the method's parameters.
 * 4) An optional  clause which declares the exceptions that the constructor may throw. This constructor does not declare any exceptions.
 * 5) The constructor body, which is a Java block (enclosed in  ).  This constructor's body contains two statements.

This constructor accepts four parameters, named  and. Each parameter requires a parameter type declaration, which in this example is  for all four parameters. The parameters in the parameter list are separated by commas.

The two assignments in this constructor use Java's  operator to allocate two  objects. The first allocates an object representing the first point,, and assigns it to the   instance variable (replacing the null value that the instance variable was initialized to). The second statement allocates a second  instance with   and assigns it to the   instance variable.

This is the constructor for the Distance class. Distance implicitly extends from. Java inserts a call to the super constructor as the first executable statement of the constructor if there is not one explicitly coded. The above constructor body is equivalent to the following body with the explicit super constructor call:

While it is true that this class could be implemented in other ways, such as simply storing the coordinates of the two points and computing the distance as $$\sqrt{(x_1-x_0)^2 + (y_1-y_0)^2}$$, this class instead uses the existing  class. This choice matches the abstract definition of this class: to print the distance between two points on the plane. We take advantage of existing behavior already implemented in the Java platform rather than implementing it again. We will see later how to make the program more flexible without adding much complexity, because we choose to use object abstractions here. However, the key point is that this class uses information hiding. That is, how the class stores its state or how it computes the distance is hidden. We can change this implementation without altering how clients use and invoke the class.

Example: Methods
Methods are the third and most important type of class member. This class contains three methods in which the behavior of the  class is defined: ,  , and

The printDistance method
The  method prints the distance between the two points to the standard output (normally the console).

This instance method executes within the context of an implicit  object. The instance field references,  and , refer to instance fields of that implicit object. You can also use the special variable  to explicitly reference the current object. Within an instance method, Java binds the name  to the object on which the method is executing, and the type of   is that of the current class. The body of the  method could also be coded as

to make the instance field references more explicit.

This method both computes the distance and prints it in one statement. The distance is computed with ;   is an instance method of the   class (of which   and   are instances). The method operates on  (binding   to the object that   refers to during the execution of the method) and accepting another Point as a parameter. Actually, it is slightly more complicated than that, but we'll explain later. The result of the  method is a double precision floating point number.

This method uses the syntax

to construct a String to pass to the. This expression is a series of String concatenation methods which concatenates Strings or the String representation of primitive types (such as doubles) or objects, and returns a long string. For example, the result of this expression for the points (0,3) and (4,0) is the String

which the method then prints to.

In order to print, we invoke the. This is an instance method from, which is the type of the static field   in the class. The Java VM binds  to the standard output stream when it starts a program.

The main method
The  method is the main entry point which Java invokes when you start a Java program from the command line. The command

instructs Java to locate the Distance class, put the four command line arguments into an array of String values, then pass those arguments to the  method of the class. We will introduce arrays shortly. Any Java class that you want to invoke from the command line or desktop shortcut must have a main method with this signature or the following signature:.

The  method invokes the final method, , four times. The  takes a single string parameter and returns the integer value represented in the string. For example,  will return the integer 3.

People who do test-first programming or perform regression testing write a main method in every Java class, and a main function in every Python module, to run automated tests. When a person executes the file directly, the main method executes and runs the automated tests for that file. When a person executes some other Java file that in turn imports many other Java classes, only one main method is executed -- the main method of the directly-executed file.

The method
The  method delegates its job to the   method. The main method could have called  directly; the   method simply makes the   method slightly more readable.

This method is since, like the fields   and , it is part of the internal implementation of the class and is not part of the external programming interface of the   class.

Static vs. Instance Methods
Both the  and   methods are static methods. The keyword tells the compiler to create a single memory space associated with the class. Each individual object instantiated has its own private state variables and methods but use the same static methods and members common to the single class object created by the compiler when the first class object is instantiated or created. This means that the method executes in a static or non-object context — there is no implicit separate instance available when the static methods run from various objects, and the special variable  is not available. As such, static methods cannot access instance methods or instance fields (such as ) or  ) directly. The   method can only invoke the instance method   method via an instance reference such as.

Data Types
Most declarations have a data type. Java has several categories of data types: reference types, primitive types, array types, and a special type, void.

Primitive Types
The primitive types are used to represent boolean, character, and numeric values. This program uses only one primitive type explicitly,, which represents 32 bit signed integer values. The program also implicitly uses, which is the return type of the   method of. values are 64 bit IEEE floating point values. The  method uses integer values 0, 1, 2, and 3 to access elements of the command line arguments. The  constructor's four parameters also have the type. Also, the  method has a return type of. This means a call to that method, such as, is an expression of type. This helps explain why the main method cannot call:

Since the type of the  array element is String, and our constructor's parameters must be , such a call would result in an error because Java will not automatically convert values of type String into   values.

Java's primitive types are ,, , , , , and . Each of which are also Java language keywords.

Reference Types
In addition to primitive types, Java supports reference type. A reference type is a Java data type which is defined by a Java class or interface. Reference types derive this name because such values refer to an object or contain a reference to an object. The idea is similar to pointers in other languages like C.

Java represents sequences of character data, or String, with the reference type  which is most commonly referred to as. String literals, such as   are constants whose type is String.

This program uses three separate reference types:
 * 1) java.lang.String (or simply String)
 * 2) Distance
 * 3) java.awt.Point

 * For more information see chapter: Java Programming/Classes, Objects and Types.

Array Types
Java supports arrays, which are aggregate types which have a fixed element type (which can be any Java type) and an integral size. This program uses only one array,. This indicates that  has an array type and that the element type is. The Java VM constructs and initializes the array that is passed to the  method. See arrays for more details on how to create arrays and access their size.

The elements of arrays are accessed with integer indices. The first element of an array is always element 0. This program accesses the first four elements of the  array explicitly with the indices 0, 1, 2, and 3. This program does not perform any input validation, such as verifying that the user passed at least four arguments to the program. We will fix that later.

void
is not a type in Java; it represents the absence of a type. Methods which do not return values are declared as void methods.

This class defines two void methods:

Whitespace
Whitespace in Java is used to separate the tokens in a Java source file. Whitespace is required in some places, such as between access modifiers, type names and Identifiers, and is used to improve readability elsewhere.

Wherever whitespace is required in Java, one or more whitespace characters may be used. Wherever whitespace is optional in Java, zero or more whitespace characters may be used.

Java whitespace consists of the
 * space character (0x20),
 * the tab character (hex 0x09),
 * the form feed character (hex 0x0c),
 * the line separators characters newline (hex 0x0a) or carriage return (hex 0x0d) characters.

Line separators are special whitespace characters in that they also terminate line comments, whereas normal whitespace does not.

Other Unicode space characters, including vertical tab, are not allowed as whitespace in Java.

Required Whitespace
Look at the method  :

Whitespace is required between and, between  and , between  and  , and between   and.

If the code is written like this:

...it means something completely different: it declares a method which has the return type  It is unlikely that this type exists and the method is no longer static, so the above would result in a semantic error.

Indentation
Java ignores all whitespace in front of a statement. As this, these two code snippets are identical for the compiler:

However, the first one's style (with whitespace) is preferred, as the readability is higher. The method body is easier to distinguish from the head, even at a higher reading speed.


text:
Talk:Java Programming/First Java Program

Hello, World Considered Harmful
I really dislike a Hello, World application as a first Java program. I propose User:Djb//First_Java_Program as a replacement for this page. The first Java class there, and the associated discussions may look more complicated but I think it will be much more educational and provide a better way of introducing Java as an OO language. This proposed first class also provides many opportunities to introduce other language concepts such as refactoring, overloading, packages, etc., all from a simple, understandable basis. I've not fleshed out the discussions here; I will work on them later... --djb 02:30, 19 January 2006 (UTC)

Net Beans
Hello, I am a user of limited coding experiance by most standards. I was hoping to rely on this (and another tutorial hosted in Wikiversity) to pick up some Java, however, even with a few modifications made by seemingly intelligent reasoning, my IDE, Net Beans does not want to compile your code to the effect promised... or at all really. Someone please re-evaluate this code or add notes for my fellow Net Beans users, thank you. Zeotronic 01:52, 31 January 2007 (UTC)


text:
Using KDE/Tips and Tricks

Shortcuts

 * Shortcuts

Quitting KDE (without restarting your computer)
You can log out and log back in with a different session

Also, to Quit the KDE Display Manager

Use the following command: sudo /etc/init.d/kdm stop To restart kdm, enter: sudo /etc/init.d/kdm restart or, if you have currently stopped kdm: sudo kdm

You can also run the "GNOME Display Manager" (gdm) or the "X Display Manager" (xdm) with sudo gdm and sudo xdm (while no other display managers are running)

Note: The code "sudo /etc/init.d/" can be used with "kdm", "gdm", or "xdm", and is followed most commonly with "start", "stop", or "restart".

title: Using KDE/Tips and Tricks


text:
User talk:Phroznaut

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 04:45, 19 January 2006 (UTC)

title: User talk:Phroznaut


text:
User talk:Pengson

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 04:46, 19 January 2006 (UTC)

title: User talk:Pengson


text:
User talk:Tyciol

Welcome
Hello and welcome to Wikibooks! Here are some tips to help you get started: You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. Good luck! -- LV (Dark Mark) 04:47, 19 January 2006 (UTC)
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!
 * Having problems over at WP??? I'm sorry to hear that. Hopefully your stay here is more enjoyable. Cheers. -- LV (Dark Mark) 22:13, 31 January 2006 (UTC)
 * Not really, I just like the idea of books that can address topics in large bunches sequentially better. Tyciol 21:18, 11 August 2007 (UTC)

title: User talk:Tyciol


text:
User talk:Ilmari Karonen

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 04:47, 19 January 2006 (UTC)

title: User talk:Ilmari Karonen


text:
User talk:Mrdude1228

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 04:48, 19 January 2006 (UTC)

title: User talk:Mrdude1228


text:
User talk:60.229.212.124

Welcome to Wikibooks, collection of open-content textbooks! You don't have to log in to read or edit articles on Wikibooks, but creating an account is quick, free and non-intrusive, requires no personal information, and gives you many benefits, including:
 * The use of a username of your choice
 * The ability to view all your contributions via a "My contributions" link
 * Your own user page
 * Your own talk page which, if you choose, also allows users to send you messages without knowing your e-mail address
 * The use of your own personal watchlist to which you can add articles that interest you
 * The ability to rename pages
 * The ability to upload images
 * The ability to customize the appearance and behavior of the website
 * The eligibility to become an administrator
 * The right to be heard in votes and elections
 * Your IP address will no longer be visible to other users.

We hope that you choose to become a Wikibooks and create an account. We hope you enjoy your time here on Wikibooks as a Wikibookian! -- LV (Dark Mark) 05:14, 19 January 2006 (UTC)

title: User talk:60.229.212.124


text:
Programming Mac OS X with Cocoa for Beginners/Building a GUI

Previous Page: Some Cocoa essential principles | Next Page: Containers - arrays, and dictionaries

So far we have used Interface Builder to create a very simple interface for our "hello world" example. Now we'll look at it in a bit more detail so that we can see how to build much more complex and useful user interfaces.

Building a GUI
We have already discussed the concept of targets and actions in a very general way; now we'll see how Interface Builder makes extensive use of this to connect graphical controls to pieces of code that you write which implement the interesting functionality of your application.

Using "hello world" as a starting point, let's add a simple action to our code so that we can see how this works. The action is very basic - it just sets the font size of the text as a slider control is moved. In Xcode, click on "GCHelloView.h" so that it appears in the editor. Now add the following line to the class definition, below the other methods, but before the '@end' statement:

- (IBAction)	textSizeAction:(id) sender;

Then do a Save to make sure this change is saved to the file. Here, we have declared the return type of the method to be IBAction. In fact, this is just a macro which is just 'void', but anything tagged as IBAction can be automatically detected by Interface Builder as an action routine, that is, one which can be connected to any control that supports the target/action mechanism. We'll come back to Xcode in a moment to implement this method, but first let's hook it up in IB.

If IB isn't running, start it by double-clicking on 'MainMenu.nib'. Arrange the window in IB so that you can drag the file "GCHelloView.h" from Xcode to IB. This triggers IB to read the file, and so it will pick up the action method and add it to a list of available actions for the GCHelloView object. Next, switch back to the 'Instances' panel, and bring Window to the front by double-clicking its icon (or just click the window if you can see it). Make a bit of room at the bottom of the window by dragging it a little bigger. In the widgets palette, select the Controls panel (second from the left), and drag a horizontal slider control from the palette into the window. Make sure you put the slider in the space you made, not into the GCHelloView.

Select the slider control, and open the Inspector (Tools->Show Inspector if it's not visible). Make sure the pop-up menu is set to 'Attributes'. Set the attributes as follows:

 * minimum - 9.0
 * maximum - 72.0
 * current - 48.0

Also, check the boxes 'Continuously send action while sliding' and 'Enabled'. The other settings should remain at their default values.

Next we need to give the slider control a target - that is, a connection to the object it should send the action to. IB sets up targets graphically. We control-drag FROM the sender of the action TO the target. A line will be drawn linking the two. Do that now - control-drag FROM the slider TO the GCHelloView. The Inspector will switch to the 'Connections' section and list all of the available action methods for GCHelloView. Highlight 'textSizeAction:' and click 'Connect' to make the connection. (Note - if textSizeAction: doesn't appear in the list, you can add it manually. Select GCHelloView in the 'Classes' list. Use the Inspector Attributes to switch to 'Actions', click 'Add', then type the name of the method - don't forget the colon! You might need to do this, since the earlier dragging of the file into IB, which should handle this for you, doesn't always seem to work reliably. Once you've added the method, try again with the control-drag step).

Save the changes, then return to Xcode. We now need to implement the action method. Find and select the GCHelloView.m file. Add the following method to the body of the implementation:

- (IBAction)	textSizeAction:(id) sender {	[self setText:[self text] withSize:[sender floatValue]]; }

Now Build and run the project. Drag the slider... the text should change size as you drag.

The above line implements the action. It is called whenever the slider is dragged to a new position, and sends a message to its own setText:withSize: method, passing the existing text ([self text]) and a size which is obtained from the slider's value itself. We set up the range of values in IB to be from 9 to 72 - this becomes the point size of the text. The 'sender' parameter to an action method is always the object that caused the action - in this case the slider. So we can simply call its 'floatValue' method to find out its current value, and simply pass that along as the text size. The change is immediately visible as you drag because we earlier added the line [self setNeedsDisplay:YES] to our setText:withSize: method, which causes Cocoa to call our drawRect: method, which redraws the text using the new size.

While simple, this example is very typical of how all controls interface to pieces of code in your application. You write an action method (which always has an IBAction return type, and a single 'sender' object parameter) in some suitable target object, then hook up that action and target in IB.

Menu commands
Menu commands work pretty much the same way as sliders or buttons. They have a target and an action. When the menu item is chosen, it sends the action to the target. You can set them up exactly like we did for the slider - control-drag FROM the menu item TO the target, select the action and click 'Connect'.

There are times when we don't want a menu command to go to a specific fixed target however, but one that depends on the context. For example, we might have an application with multiple similar windows open, such as a document. When the user chooses the 'Copy' or 'Paste' command, it should always target the currently active document. If we had tied this menu command to a specific target, these commands would not work as the user generally expects.

To fix this, Cocoa maintains a 'chain of command' which changes depending on the context. The frontmost window will contain a target which should be the first to respond to a command. If it can, it responds. If not, the command passes to the next object in the chain, which might be another view within the window, or the window itself. If the command can be handled, it is. If not, it passes up again, this time to the application object. If the application can't handle the command, it is discarded and ignored.

The first object in the chain that can respond to a command at any particular moment is called the first responder, and an icon representing this object is shown in the main IB window. So all we need to do is to make it the target of our action, and we have solved the problem of changing targets for menu items. You'll find you can control-drag to this target just as any other targettable object. The 'Actions' list for the first responder lists all of the actions for all objects known to IB. You can link to any action. If the action is found within the current chain of command, the action will find its target and be executed. If the particular action can't be found in the chain of command at a particular time, what happens? Well, if the action is sent, nothing happens, because no-one responds to it, but in fact in this case Cocoa disables the menu item automatically! Thus actions that can't find a target are automatically greyed out, saving us a large part of the job of managing menu enabling as the context changes.

"Hello World" doesn't have multiple windows, so at this stage we can't demonstrate this convincingly, but shortly we'll be making a much more sophisticated application, and this approach will come into its own.

Resizing Windows
Run "Hello World". Try resizing the window. It's probably not the behaviour you would expect - everything remains at a fixed distance from the bottom. Let's look at how we make views size the way we want them.

In Interface Builder, bring Window to the front and select the GCHelloView. Using the Inspector, switch to the 'Size' panel using the pop-up menu. The diagram there indicates which edges of the view should be rigidly linked to the edges of the window, and which can be flexible. By clicking on the links, you can change them from one to the other. GCHelloView should probably change size along with the window, so change the interior links to be flexible, and the exterior ones to be rigid. Now select the slider. Allow it to have a flexible link to the top and right edges, but a rigid link to the left and bottom edges. The interior should be rigid. Save the file and use Xcode to build and run the project. Now, you'll see that the GCHelloView (as shown by its blue border) stretches as you resize the window.

You'll probably notice that the text however, still doesn't seem to behave as we'd probably like, being a fixed distance from the bottom edge of the view. We are used to text remaining at a fixed distance from the TOP edge. The reason for this is that Cocoa's default coordinates follow the underlying Quartz graphics system, in which increasing y values go UP the screen, not down. While this is the mathematical convention, computer programmers are usually used to having things the other way up. Cocoa can allow any view to be flipped in this manner, using a simple override. So let's change it now.

In Xcode, select GCHelloView.m and add the following method to the implementation: - (BOOL) isFlipped {    return YES; }

This is an override of an NSView method, so we don't need to declare it in our class. We simply return YES to let Cocoa know we'd like this view to have the y coordinate go from top to bottom. Build and run again and you'll see the difference this makes. Because of the choice of y coordinate used in drawRect:, the text will be fairly far down the view - you might like to change that to something like 10 so it's near the top.

Previous Page: Some Cocoa essential principles | Next Page: Containers - arrays, and dictionaries


text:
Self-Reliance Handbook/Cordwood Masonry

Cordwood Masonry

This construction method can be used as a survival technique or to create a long-term home. The practice differs from creating a log cabin in that the logs are typically cut to 12 or 16 inch lengths and instead of being placed end to end are placed much the same as stacking wood to burn. The improvement comes when one uses a type of mortar to create a seal around the wood and acts as though the wood was a brick. Increasing the length of wood can increase the thermal mass of the wall. However in cold climates the greatest concern would be the ceiling and roof. This is not an improvised shelter. While the home can be built for next to nothing, proper construction will require a good saw for extended use. If the only tool you had was a hatchet you may be better off building a cabin or hogan.

A good combination of clay soil and some type of dried grass can make a great mortar. This may sound like a poor quality home for people living in "modern housing" but don't be fooled. If built as to keep water away from the home especially these homes can last hundreds of years. They have the same failing as all other homes made of wood. Once the wood is wet termites can infest it. Wet wood will also draw carpenter ants.

Structurally, this type of home can be very resilient to bad weather and debris hitting the home. The outside walls on these homes is very thick. If you have the time this home can be built for almost no out of pocket expense and can be fitted at some expense with any modern convenience.

title: Self-Reliance Handbook/Cordwood Masonry


text:
Programming Mac OS X with Cocoa for Beginners/A more ambitious application

Previous Page: Containers - arrays, and dictionarys | Next Page: Graphics - Drawing with Quartz

Well, "Hello World" will only take us so far. In order to get into more advanced aspects of Cocoa, we'll need to be a little more ambitious. The rest of this book will develop a new application, which will be a simple vector drawing program, a little like MacDraw. While we won't attempt to make this full featured, we will develop enough of the foundation so that you could go on to make it full featured.

The features we will develop are:

 * Multiple drawings open at once (document interface)
 * Saving and reading drawings from a file
 * A palette of tools, such as rectangle, oval, line
 * A drawing area allowing selection of objects for editing
 * Objects can be resized and moved by dragging
 * Objects can be cut and pasted
 * An inspector for setting the properties of selected objects
 * Changes are undoable
 * Drawings can be printed

Writing a full-featured drawing program from scratch is not a small undertaking, though Cocoa is probably a faster route than most. Because we'd like to get to understand as much of Cocoa as possible, those parts of this code that don't contribute to this understanding will be glossed over a little. The full source code can be downloaded however.

Application design
Before we code, we must have a clear design in mind. Cocoa provides a lot of the basic infrastructure we'll need, such as a comprehensive document-based interface. However, we'll still have to develop a number of our own objects, since Cocoa is general purpose, and a drawing program is very specific.

We will need a class to embody the actual shapes that we will draw. Each new shape we draw creates a new instance of the object and adds it to a list of objects in the drawing. In fact the drawing is nothing more than a list of the objects it consists of. An array will make an ideal container for the contents of the drawing. By flattening the array to a file, we can easily save drawings. Reading a drawing file is a simple matter of reconstructing the array from the flattened file copy.

Because different shapes can be drawn, we will need different kinds of shape objects. Therefore a generic shape class which contains everything that is common to all shapes is needed, with subclasses of it to represent each different type of shape. The common class can deal with things such as the position and colours of the shape, handle mouse clicks, and so forth. The subclasses only need to provide the actual shapes. We will be using Cocoa's built-in graphics objects, mainly NSBezierPath, to implement the actual shape outlines.

The palette of tools is a user interface for selecting which type of shape will be drawn. One way to implement a tool palette is to use the selected tool to indicate which factory method should be used to make the shape being added. After that, the shape itself handles its own drawing. In fact the case of drawing the shape initially and resizing it later are almost the same, so we can leverage the same code for the two situations.

When we select objects, we will maintain a list of the selected objects. Another Array makes an ideal container for this. When the drawing is displayed, objects that are in the selection array can have the drag handles added. Changes to the selection need to be signalled to the Inspector so that it can update itself to reflect the object state, and so that it knows which object to target when changes are made. We will see how Cocoa makes this straightforward using notifications.

Every change to the list of objects, or to the object itself, needs to be recorded so it can be undone. As we will see, Cocoa has some very powerful features that make Undo quite easy to implement. As long as we design with Undo in mind, making it work is very straightforward.

The ability to print is also straightforward, because the Quartz graphics we will use for rendering is very close to the PDF (Portable Document Format) that is used for printing.

Getting started
To get started, return to Xcode and close the HelloWorld project. Choose File->New Project... In the assistant, find 'Cocoa Document-based application', select it and click 'Next'. Choose a name for the project - I have called it Wikidraw. Choose a path for the project - a good place is the same projects folder you made earlier, for the HelloWorld project. Click 'Finish'. A new project window is opened.

Click 'Build and Go' to compile the project source code, and run the resulting application. This time, an untitled window will be displayed, including the text 'your document contents here'. If you choose File->New, you'll get a second window, and so on. Unlike HelloWorld, you will see that automatically we have a multi-window application already, and we haven't written any code yet. Quit Wikidraw and return to Xcode.

In the left hand panel, drill down to Wikidraw->Resources->MyDocument.nib (in Xcode 4, these document-related files will be named "Document" rather than "MyDocument"). You'll see that we have a 'MainMenu.nib' as we did for HelloWorld, but also MyDocument.nib, which we didn't have before. This file contains the user interface resources for the document windows. MainMenu.nib, as before, contains the menubar and all the menus, but this time it doesn't include a Window. You can open these files in Interface Builder by double-clicking them. Have a look and see how they are different from the earlier case.

In developing Wikidraw, we will stick to these two resource files. Interface elements that pertain to the whole application, like the tool palette and the Inspector, will go in MainMenu.nib. Things that pertain to each document window, such as the view that displays the drawing, will go in MyDocument.nib. In all real applications, you will often create more .nib files as your interfaces develop, but we are trying to keep it fairly simple here. Once you get the general idea, it should be clear how and when to create new .nib files.

The first thing we'll do is customise the menu bar.

Open MainMenu.nib in IB, and double-click the 'MainMenu' icon. A small window containing a menu bar will open. To edit a menu, click its title to show the menu, then click the item to select it. Double-clicking an item selects it so you can edit its text. First go through and change every instance of 'NewApplication' to 'Wikidraw'.

We'll add more here later. Save the file, return to Xcode, build and run. Verify that the changes to the menubar show up.

Setting up the document view
Close MainMenu.nib, and open MyDocument.nib. Double-click Window to make it visible and frontmost. Position and size the window where you'd like it to show up in the application. Select and delete the 'Your document content here' text item. As with HelloWorld, drag a CustomView into the window. Position the view at the top left of the window. Choose Layout->Embed Objects In->Scroll View. This places the customView inside a scrollable view so that we will be able to scroll the drawing. Drag the scrollview so that it fits the edges of the window. Use the Size inspector to set the scroll view to follow the size of the window by making both interior "springs" flexible (click the straight line--it should become a coiled "spring"), and all the exterior ones rigid (straight). Double-click the CustomView to select it and use the Size inspector to make its width and height both 1500 pixels.

Create a subclass of NSView using the 'Classes' tab of the main window, selecting NSView, then choosing Classes->Subclass NSView. Type the class name as 'WKDDrawView'. Remember that if you are using XCode 3.0 or greater, Apple changed the way to do this step. In XCode, right click in the folder "Other Sources", then mouse over "Add", then "New File...". Under the Cocoa heading, choose "Objective-C NSView subclass". Type in your name in place of untitled, and leave the other stuff alone.

Use the Custom Class panel in the inspector to change the class of CustomView to WKDDrawView. (If you need to select the view, double-click it within the scroll view).

Finally, generate files for WKDDrawView (Classes->Create Files for WKDDrawView, having selected the class in the 'Classes' pane of the main window). Accept the default settings when asked if you want it added to the project. if you are using XCode 3.0 or greater, you can skip this step.

Save the nib file, and build and run it in Xcode. Verify that the window contains working scrollbars.

Assuming that works OK, let's add two simple methods to WKDDrawView.m. We will work in a flipped view, so we need to implement isFlipped, returning YES, and we can optimise drawing a little, by implementing a method called isOpaque, returning YES:

- (BOOL)	isFlipped {	return YES; }

- (BOOL)	isOpaque {	return YES; }

Build and Go again to confirm that the scrollbars now start at the top rather than the bottom, and that the view is filled with white rather than the Aqua background stripes.

Previous Page: Containers - arrays, and dictionarys | Next Page: Graphics - Drawing with Quartz


text:
Self-Reliance Handbook/Gathering Edibles

Gathering Edibles

Depending on your location in the country or world, many types of food could already be available in your surroundings depending on the time of the year.

Since the purpose of this book is self reliance lets operate with the idea of having a permanent connection to your land and surrounding area. As you look at the location you are living in. You need to keep your eyes open on a weekly basis. New types of fruit and vegetable can make themselves available to you as the seasons progress. Marking on a calendar when and where you harvested will keep you prepared for next year.

You must avoid the tendency to over exploit any one food. This leads to stomach upset very quickly and a poor diet will create health issues as time progresses. There have been times when I paid the price for too many green apples or too much yellow wood sorrel.

The list of edibles is incredibly long: Yellow Wood Sorrel, Apples and Crab apples, blackberries, raspberries, blueberries, strawberries, wild carrots, grapes, and currants are just some of my favorites from my area. Other areas that I have been in offer; coconuts, mango, banana, paw paw, bamboo and sea weed. Exploration of your area is the only way to get a full knowledge of what is available to you.

Even the smallest amount of care for these wild plants will pay you back with large dividends. Remove weeds from around the plants, make sure they get some water in a dry spell and pruning fruiting trees as needed are all quick easy methods of improving your harvest.


text:
Magic: The Gathering/Standard Format

Standard (also known as Type 2) is a Constructed format where the total card pool is restricted by sets. Normally, this standard format pool consists of cards from the most recent core set and the two most recent expansion blocks.

The core set is currently comprised of the Magic 2011 core set(m11), the Magic 2012 Core set (m12), the Zendikar block and the Scars of Mirrodin block.

Players must have at least a 60-card deck (and optional sideboard containing exactly 15 cards) consisting of cards of any printings that are legal in the current standard format. Players must be able to shuffle their decks without assistance. Decks (including the sideboard) may contain no more than 4 copies of any card other than basic lands. In addition, certain cards may be "banned" (the card may not be used). There are currently two banned cards in the Standard Format. Jace, The Mind Sculpter and Stoneforge Mystic.

As of July 15th, 2011, the sets legal in Standard are:

Battle For Zendikar BLOCK

Battle for Zendikar

Khans of Tarkir BLOCK

Khans of Tarkir Fate Reforged Dragons of Tarkir

CORE SET

Magic Origins

After January 22nd Standard Legal Sets will consist of

Battle For Zendikar BLOCK

Battle for Zendikar

Oath of the Gatewatch

Khans of Tarkir BLOCK

Khans of Tarkir

Fate Reforged

Dragons of Tarkir

CORE SET

Magic Origins

Since the format now rotates twice as fast with the new block rotation pattern effective with the rotation of Khans of Tarkir on April 8, 2016, decks have a maximum shelf life of one years, meaning that the format is quick to change and easily impacted. There are deck archetypes that have waxed and waned through the years, but maintain their existence in some form or another (prowess white, white black warriors, black blue control, red aggro), while others (usually combo decks) are spawned from the centerpiece card (Hardened Scales, Nantuko Husk), and are thus usually subject to their key card leaving Standard.

title: Magic: The Gathering/Standard Format


text:
Magic: The Gathering/Extended Format

As of October 7, 2013, not supported by the DCI. http://www.wizards.com/default.asp?x=judge/resources/sfrextended

title: Magic: The Gathering/Extended Format


text:
Magic: The Gathering/Vintage Format

http://www.wizards.com/default.asp?x=judge/resources/sfrvintage

The Vintage format allows the use of all cards in the magic cardpool, barring those found in the Unglued/Unhinged sets, and those found on the banned and restricted list. This list can be found on the link provided above.

A banned card is a card that cannot be played at all. In vintage, only "athletic" cards, cards which require you to perform some sort of physical feat like flipping a card or spinning a card, and cards that deal with the "ante" are banned. Ante was how magic was originally played, with players essentially playing each other for a card in the other's deck. The only other card that is banned from the format is Shahrazad.

If a card is restricted, a deck may only contain one copy of it between the maindeck and the sideboard. These are cards that are either format-warping, incredibly strong, or as recently declared by Aaron Forsythe in an article, "un-fun".

title: Magic: The Gathering/Vintage Format


text:
Magic: The Gathering/Block Format

http://www.wizards.com/default.asp?x=judge/resources/sfrblock

title: Magic: The Gathering/Block Format


text:
Magic: The Gathering/Two-Headed Giant Format

http://www.wizards.com/default.asp?x=judge/resources/sfr2hg


text:
User:Surya.iiit

 It's ok

 It's ok

title: User:Surya.iiit


text:
Talk:SPM/VBM

What do the initials VMB mean?

VBM stands for Voxel-Based Morphometry, start with these papers if you've never heard of it but are curious:

 * Wright et al. 1995
 * Ashburner and Friston 2000

title: Talk:SPM/VBM


text:
User talk:210.212.45.144

Please stop adding nonsense to Wikibooks. It is considered vandalism. If you would like to experiment, use the sandbox. Thank you.

title: User talk:210.212.45.144


text:
Special Relativity

The book is divided into two sections, an introductory text and a more advanced text. Both texts cover the same topics. Undergraduates might compare their curriculum with the text and study appropriately.

Advanced text

 * Four vectors

Problems

Appendices

 * Mathematics of the Lorentz Transformation Equations

Further Information

 * Modern Physics
 * General Relativity

Spezielle Relativitätstheorie Ειδική Σχετικότητα 特殊相対論

title: Special Relativity


text: User talk:201.133.112.87

title: User talk:201.133.112.87


text:
Budget Watch Collecting/Types of Movements

The movement is the heart of the watch, the part that actually keeps the time.

Types of movements:

LCD: The most common digital. Uses a Liquid Crystal Display to tell time--Generally black numbers on a silver or gray background, however colors are becoming more common. Some LCD watches have more than just a basic readout of time, such as the Fossil Big Tic series that have animated seconds digits.

Stepper-motor Quartz: The most common type of analog watch. These have one or more stepper motors that move in precise increments. A typical watch will have a single stepper motor to drive the hands through a series of gears, while a chronograph may have one for each independent hand.

LED: The first type of digital watch, using glowing red numbers to read the time. These required a large amount of current for a watch--Typically using 2 of the largest watch batteries available would give a year or so of run time, even with the display only active when the button is pushed. Difficult to read in sunlight. Obsolete soon after the LCD.

Tuning fork--Invented by Bulova, most commonly known as the Accutron. In this watch a tiny tuning fork vibrates at around 300-360 Hz, driving a tiny toothed wheel with a matching number of teeth. This wheel would turn once per second, and in turn drove the rest of the movement. Far more accurate than watches available at the time, surpassed by Quartz which could be made both cheaper and more accurate. Several other watch companies either used Accutron movements or licensed the Accutron patents. Tuning fork watches can be easily recognised by their completely smooth sweeping second hand.

Electric/Elecronic: While these terms would be a technically accurate description for any of the watches above, it is most generally understood to refer to movements with electrically-driven balance wheels. To avoid confusion, these may be known as electromechanical or balance-wheel electric. The earliest versions had no electronic components and suffered from contact arcing which limited the life of the watch. The earliest ones had little practical advantage over automatic watches, and were not particularly reliable.

Hybrid Quartz: Either a balance-wheel electric or a tuning fork movement controlled by a quartz crystal. The first Timex quartz was a balance-wheel electric with a quartz module controlling the rate of the escapement. The first Swiss quartz and the Accutquartz were both tuning-fork based hybrids. A transitional step before switching to stepper-motor technology.

Mechanical: Using the power of a coiled spring to run the watch. Almost all modern mechanical watches use some form of the lever escapement. Some inexpensive watches in the 1800's and early 1900's used a cylinder escapement which is both more fragile and less accurate than a lever escapement.

Lever escapement watches can be divided into pinlever and jeweled-lever, and mechanical watches can be divided into automatic (also known as self-winding) and manual wind. A few watches use a plastic fork shaped like a jeweled lever.

A jeweled lever watch has 2 jewels on the portion of the lever that touches the escape wheel. A jeweled lever movement will almost always have at least 7 jewels--In addition to the jewels on the fork, there will be 2 cap, 2 pivot and an impulse jewel on the escape wheel.

A pinlever watch will have the main body of the fork below the escape wheel, with hardened steel pins extending upward to a specially shaped escape wheel. These watches were generally considerably cheaper, as well as less accurate and less durable over time (although likely more forgiving of abuse) than jeweled lever watches. Typically they would have no jewels, or a single nearly useless cap jewel on the escape wheel. There were some pinlever watches with a jeweled escapement; these were generally done for marketing reasons rather than for technical merit, since a jeweled lever will help timekeeping far more than a jeweled train.


text:
Wings 3D/User Manual/The Nature of Subdivision Modeling/Subdivision and Such

Subdivision and Such
Wings 3d is a polygon modeler that incorporates subdivision as one of its core functions. Wings and other modeling packages that subdivide polygonal meshes are often referred to as "subdivision modelers". Wings is also often called a "box modeler" since most models start out as a cube primitive.

Types of Subdivision
There are fundamentally three types of subdivision surface styles available for polygon modelers:

  Facet Simply subdivides (tessellates) the model without doing any smoothing.   Smooth ''Does the subdivision and smooths the model by displacing the resulting vertices. This makes it look much more organic, which is why subdivision modeling has become so popular for organic modeling.''   Metaform Metaform shows the smoothed model with the un-smoothed cage floating about it.

To Smooth Or Not To Smooth
One of the mistakes new modelers often make is subdividing their models too soon, and/or too often. When modelers smooth too soon and don't get the organic form they were hoping for they then often resort to smoothing again, to make it look well... smoother. Some people will smooth a model three or four times to try and get it to look right. This is almost always a mistake. It creates very bloated models, meaning a high in polygon count, which devour lots of memory needlessly. If you take the time to hand craft in details, then one smooth is likely to give you the results you want, the model will be much more efficient, and it will most likely look better too.

Hard Edge Modeling: Keeping Edges Crisp
Often a model will lose desired edges and creases when it is smoothed. Fortunately there are several methods to keep sharp details even on a smoothed model.

There are three basic ways to ensure that an edge will stay sharp. You can use Bevel on corners to add a slight chamfer which will help preserve the detail, or you can add control edges on either side of edges you wish to remain defined.

Sometimes these are called mechanical bevels and they offer the most control over how a model appears after smoothing. You can also select the necessary edges and set them to Hard. Be sure the model export format and the rendering engine you intend to use support hard edges, or you may not get the results you expect. The added geometry of Bevels or Control Edges on the other hand will always do the trick.

Another reason to use Bevel instead of hard edges is that they help show off detail. It seems that sharp edges don't show specularity well, making details hard to see.

By giving man made objects softer edges via Bevel, it increases their specularity, thereby drawing out the detail that would otherwise be lost. Some online model stores will not even accept models for sale that do not use beveled edges to maintain detail, so avoid hard edges if you can.

And as with smoothing, some people tend to Bevel too soon in the modeling process. It should be one of the last things you do, unless you are using it to create new base geometry. The reason is that it overcomplicates your model, forcing you to manipulate many more elements than you otherwise would have had to deal with had you not beveled too soon.


text:
Programming Mac OS X with Cocoa for Beginners/Graphics - Drawing with Quartz

Previous Page: A more ambitious application | Next Page: Document-based applications

We have already seen how to create a subclass of NSView that gives us the ability to draw in a window. Before we get into the hard work of implementing our drawing program, Wikidraw, we'll need to have a better understanding of graphics, and how to use the built-in vector graphics API, to do our bidding.

First let's recap the principles of views and how they draw. When we subclass NSView, we supply a method called drawRect: which Cocoa will call whenever it needs us to draw the content of our view. Any code we place here is executed at that time, so if we place graphics commands here, we can draw in the window. Anything we draw will be confined automatically to the boundary (the bounds) of our view. Within the view, we have our own coordinate system, so we can draw without regard to where our view is within the window - everything is drawn relative to the view's bounds. Normally, coordinates are arranged so that x increases from left to right, and y increases from bottom to top, but by implementing isFlipped, returning YES, we can invert the y axis which will usually be more comfortable for programmers.

The coordinate system within a view starts at 0,0 for the top, left (assuming it is flipped), and increases by 1 for each pixel. However, coordinates are expressed as floating point values, so it's perfectly reasonable to specify a point 2.5 pixels across or 3.5612 pixels down if you want. We are not limited to integer coordinates, in other words. The view will render appropriately, rasterising our graphics using antialiasing so that these fractional pixel positions do have the proper outcome on a screen.

NSBezierPath
A key object for drawing any shapes in Cocoa is NSBezierPath. Its name is a little misleading, since while it is able to render bezier paths, it can also handle a variety of shapes including rectangles, circles, lines and polygons. Think of NSBezierPath as a list of coordinate points that can be joined up by lines, or optionally by curved bezier paths. We can build a list of points, adding them to the path object. We can then draw the outline of the path formed (called stroking) or fill the interior of a closed shape (called filling). A stroked path can have any width we choose. We can either use any colour we choose, or with more effort, a gradient or patterned fill.

Earlier we used a utility function, NSFrameRect, to draw the bounds of the view used in HelloWorld. Behind the scenes, NSFrameRect simply makes a temporary NSBezierPath object with a rectangular shape, then strokes the path. In Wikidraw, we will be using NSBezierPath as our workhorse to draw each shape we create.

Before we do that though, let's just try out a few simple shapes with NSBezierPath to get an idea of how it works. We'll temporarily add some code to WKDDrawView's drawRect: method. Later we'll remove it and put the real code there. To make this easier, we'll put our test code into a method called testDraw, and call it from drawRect. Add the following code to WKDDrawView.m:

To make supplying a set of points easier, we just create a static array with alternating x and y values. We can then refer to these points as tp[0], tp[1] and so on. We create an NSBezierPath object called 'path'. We use a class factory method to return an empty object, which is autoreleased, so we don't need to retain or release it, just use it and forget it.

We form the path using the moveToPoint:/lineToPoint: methods, finally closing the shape using closePath. Then we set yellow as the drawing colour and ask the path to fill itself. Then we set black and ask the path to stroke itself.

Next we need to call our method from drawRect: so it gets drawn when the view is refreshed. We also need to do one other thing. Though we have signalled that our view is opaque, we do need to erase the part of the background we are refreshing to avoid problems when we scroll. The 'rect' parameter passed to drawRect: is the area that is to be redrawn, so we set the colour white and erase this rect using the utility NSRectFill. Then we call our testDraw method.

- (void)	drawRect:(NSRect) rect {	[[NSColor whiteColor] set];	NSRectFill( rect );

[self testDraw]; }

Add this code then Build and Go. Verify that the shape is drawn and that it works correctly when the view is scrolled. Now you have a basic mechanism for experimenting with NSBezierPath, you might like to explore some of its other methods, such as curveToPoint:controlPoint1:controlPoint2: which is how bezier curves are specified. You can also set rectangles and ovals in one go. Try altering the stroke width. Look at the documentation for NSBezierPath to see what else it can do.

Previous Page: A more ambitious application | Next Page: Document-based applications


text:
Wings 3D/User Manual/The Nature of Subdivision Modeling/The Nature of Edge Loops

The Nature of Edge Loops
Edge Loop is a term you will see used often in polygon modeling circles. It is often confusing to new users just what edge loops are and what their significance to modeling is. Edge loops can be thought of in two senses:  A series of edges connecting vertices that are shared by four faces. In the aesthetic sense, the controlling elements that define the overall form of the object you are trying to model.

In the first sense they are important to Wings because if you maintain them well you can breeze up and down the edge loop chain with the F3 and F4 keys to do all sorts of tweaks and adjustments in no time. Let them fall apart and you'll be selecting things manually by hand constantly to make such adjustments.

But it's deeper than that. It has to do with how the overall form of the model will eventually turn out; whether or not it flows. I am told that Bay Raitt first coined the term as a way to create and maintain overall aesthetic control over a model, to use them to mimic the structure of the object, such as muscles.

So you can see that there are edge loops and there are edge loops. What I mean by that is that there are the actual loops themselves, composed of a series of edges all joined together at non-pole intersections, and there are the edge loops that define the form and nature of your model. Learning about the former is relatively easy and is necessary in order to develop the latter. But the real power and beauty of edge loops is in the latter, in the way they control and define the form and detail of the model. Here is where the true art occurs.

As stated before, technically, edge loops are a series of edges joined together at non-pole intersections. A non-pole intersection is an intersection of four edges at a given vertex. This is why quads usually help maintain edge loops, they help minimize poles. The edges that encircle an arm are edge loops.

In Wings, there are tools that let you take advantage of edge loops in your modeling. You can use Loop Cut to cut off parts of the model when needed. You can select by edge loops and by edge rings (series of opposing edges of adjacent quads), and then work with that selection. You can use the F3 and F4 keys to march up and down a chain of edge loops to do rapid model adjustments. And of course there is the all-important central edge loop.

The central edge loop is important if you want to use Mirror or Virtual Mirror to speed up your modeling. If you maintain your central edge loop, the loop that runs entirely around the long axis of your model, then you will be able to model on one half of the model, Loop Cut off the other half, and then Mirror, which will cut your modeling time in half. By maintain, I mean to keep the edges straight and not have it interrupted by poles. The first point is an absolute requirement, or very strange things will happen when you mirror. You can work around the second point. If when you go to select the loop it only partially encircles your model because of pole interruptions, you can manually select other parts to get a full loop for the Loop Cut operation.

Poles are vertices where more or less than four edges converge. An edge loop can only extend past a vertex at which four edges come together. If you think of a polygonal mesh as a city map with edges for streets, faces for city blocks and vertices for junctions, then drawing an edge loop means going straight on at four-way junctions and stopping at any others.

Keep in mind that quads (faces with four edges) do not ensure the absence of poles. To demonstrate this, create a cube and smooth it once. Now select an edge one level down from the top vertex. Do a Select | Edge Loop. The selected loop will not run all the way around the object, despite the fact that it is made entirely of quads. Examine where it stopped and you will see that there is indeed a three edged pole present where it stopped. Connect that vertex to the top most vertex (thus creating two triangles) and try the experiment again. The edge loops now runs on longer, despite the fact that there are now triangles in the model. Why? Because there are now four edges	at 	that 	intersection; you have eliminated one pole, which was not necessarily a good thing to do.


text:
User:Michael.edna

He seems to know a lot about numerical methods.

title: User:Michael.edna


text:
Wings 3D/User Manual/The Nature of Subdivision Modeling/Winged Edge Topology

Winged Edge Topology
One of the reasons Wings works so well with edge loops and edge rings is the fact that it is based on a topological data structure called winged edge topology.

Winged edge topology is a method that mathematically defines all elements in a model by their relationships to other elements of the model. This is done by a set of tables; specifically, face, edge and node tables.

In the figure on the right, I have selected one face (Face 71) and then switched to Edge Mode to select its component edges. Similarly, if we had just selected Edge 72 and then done an edge loop selection, Wings would have selected edges 60, 68, 28, and the others on the back of the model that we can not see, to complete the loop. For a more detailed description of the winged edge data structure you can read The Winged Edge Data Structure by Dr. Ching-Kuang Shenefound here: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/model/winged-e.html

The Status Line of Wings tells us that Face 71 is encircled by edges 9, 16, 70 and 72. (Note that newer versions of Wings place this information in a string at the top left of the workspace.) It only knows this because the winged edge topology exists to provide the information.

It is beyond the scope of a User's Manual to get into a thorough discussion of the winged edge data structure. It is enough to know that Wings is based on this data structure and it is used to make and manipulate selection sets very rapidly. You can also find winged edge topology illustrated from a geographic point of view here: http://www.bequia.swinternet.co.uk/edgeex.html


text:
User:Denis Bellamy

I am an academic interested in animal ecology and the application of ecological knowledge to solve environmental problems of economic development. This involves the development of conservation management systems for habitats and species. I Currently chair the UK Conservation Management System Consortium, which is a non-profit making body representing all the UK's government conservation agencies and the conservation NGO's

title: User:Denis Bellamy


text:
Wings 3D/User Manual/The Vertex Operations Menu

Commands
This section lists commands as they appear with advanced menus enabled. With advanced menus disabled, some options and commands are unavailable.  .Move.  Normal Free X Y Z Last Axis
Default Axis

.Rotate.

.Free.

.X.

.Y.

.Z.

.Last Axis.

.Default Axis.

.Scale Uniform.

.Scale Axis.

X

Y

Z

Last Axis

Default Axis

.Scale Radial.

.Radial X.

.Radial Y.

.Radial Z.

.Radial Last Axis.

.Radial Default Axis.

.Extrude.

Normal

Free

X

Y

Z

Last Axis

Default Axis

.Flatten.

.X.

.Y.

.Z.

.Last Axis.

.Default Axis.

.Intersect.

Connect

Tighten

Bevel

Dissolve

Collapse

Deform

Crumple

Random

Normal

X

Y

Z

Inflate

Taper

X

Y

Z

Twist

X

Y

Z

Torque

X

Y

Z

Vertex Color

.Bend.

.Bend Clamped.

.Shift.

Reference
To use the commands in the menu, select one or more vertices and press RMB.

Axes
Many commands require that you select an axis from the menu. This axis defines the direction or orientation for the command.

In addition to the three world axes—X, Y and Z—many commands work with vertex normals, custom axes, default axes and most recently used axes.

If you specify vertex normals as the axis (by selecting Normal), each selected vertex uses its individual normal. Otherwise, the specified direction/orientation is used by all selected vertices.

Custom axes can be specified only when advanced menus are enabled. For details about this feature, see Advanced Menus.

A default axis is an axis that you define in advance to use later. To define the default axis, use the Tools | Set Default Axis in the main menu. This is done in two stages: first you specify the actual axis, and then the point of origin for that axis. A default axis is stored until you redefine it. To recall the default axis for a vertex operation, such as Move, select Default Axis from the vertex operations menu.

The Last Axis menu item recalls the axis you used during your most recent operation.

Move, Rotate and Scale
Moving, rotating or scaling are straightforward operations.

To move the selection, specify the axis you want to move it along. For details about axes, see above.

To rotate the selection, specify the pivot axis. If you use custom axes, the pivot point (center of rotation) is set automatically as well.

Scale Uniform scales the selection in all directions at once. If you use custom axes, specify the pivot point (scaling center). This can be used to quickly snap a vertex somewhere.

Scale Axis scales the selection along the axis you specify. If you use custom axes, the pivot point (scaling center) is set automatically as well.

Scale Radial scales sideways around the axis you specify, but not along it. Each vertex stays on the plane perpendicular to the specified axis. If you use custom axes, the pivot point (scaling center) is set automatically as well.

Extrude
Creates an edge loop that splits the edges connected to each selected vertex, and moves the vertex along the axis you specify, creating a "spike".

Flatten
Puts the selected vertex or vertices on a plane perpendicular to the axis you specify. Can be used to make areas of the model planar or as a snapping tool. Has three modes depending on which mouse button you click the command with:

LMB—Use one of the world axes, the default axis or the last axis. With advanced menus enabled, right-clicking an axis label lets you choose the point that the target plane must pass through.

MMB—Specify two things: a custom axis (for the plane normal) and a custom point that the target plane must pass through.

RMB—Specify a custom axis for the plane normal. The target plane passes through the center of the selection, so it doesn't make sense to use this option with one vertex selected.

Intersect
Advanced aligning, projection and snapping tool. Requires advanced menus. Has three modes depending on which mouse button you click the command with:

LMB—Projects the selected vertex or vertices along an axis onto a plane. Specify the axis first and the plane next.

MMB—Arranges the selected vertices along the specified line. The positions and spacing between the vertices are determined as follows: Wings puts parallel planes through each vertex and positions the vertices where their planes intersect the specified line. Specify two things: the normal of the resulting planes and the line that runs through them (and "marks" vertex positions).

RMB—Collects all selected vertices at the point where a custom line intersects a custom plane. Specify four things:

The direction of the line

The point that the line must pass through

The normal of the plane

The point that the plane must pass through

Connect
Creates edges that connect the selected vertices as long as the vertices share a face. Tends to create quads when given a choice. For example, in the image on the right, a guiding edge loop has been created manually. Here, Connect will create spiraling threads to try and conform to that loop. Without that first loop, Connect will make closed loops that go all the way round the cylinder.

Tighten
Averages the positions of the selected vertices, taking into account the vertices that surround the selection.

As you drag the mouse, Wings uses percentages to show the strength of Tighten. At 100%, you get the most tension-free surface that the current iteration of Tighten can produce. If you still want less tension, do another Tighten. You can use it to gently smooth out regions where you've made changes in the surface too harsh, by tightening specific areas slightly.

Bevel
Creates a face in place of each selected vertex, putting the vertices of the new face on the edges that shared the original vertex. Drag the mouse to slide the face along those edges. Bevel has no effect on vertices where only two edges meet (a single edge cut in two). Such vertices should be eliminated, by the way, using Dissolve or Collapse (or Cleanup in body mode).

Dissolve
Removes the vertex or vertices, adjusting the faces and edges associated with it accordingly and leaves you in face selection mode.

Collapse
Removes the vertex. Unlike Dissolve, Collapse leaves you in vertex selection mode so that you can continue to select and eliminate vertices without having to switch modes.

Crumple
Moves the selected vertices at random speed along the specified axis. With the Random option, direction is also random. Good for adding "noise".

Inflate
Pushes/pulls selected vertices away from/towards a center using a falloff radius to decrease strength with distance. Vertices outside the radius reverse their direction. Left-clicking the command uses the center of the selection and the distance from it to the furthest selected vertex as the radius. Right-clicking the command (with advanced menus enabled) lets you specify the center and the radius.

Taper
Scales up sideways whatever is selected up the specified axis and scales down sideways whatever is selected down the axis. Scale strength increases linearly from the selection center.

Twist
Twists the selected vertices proportionally along the specified axis around the selection center.

Torque
Twists the selected vertices proportionally along the specified axis. Unlike Twist, this operation always uses world axes that intersect at the origin (X=Y=Z=0).

Vertex Color
Opens a dialog box where you can specify a color for the selected vertices. The specified color is strongest at the target vertices and fades out towards surrounding vertices.

Note: A vertex cannot have a color and a UV coordinate at the same time.

Bend
Bend is a family of tools that deform the selected vertices along a curve. Bend is available only if advanced menus are enabled.

There are 3 types of bend deformation depending on which mouse button you click the Bend command with: Plastic Bend, Pivot Bend and TopRad Bend.

Plastic Bend
Click Bend with LMB to go into Plastic Bend mode. In this mode, you put an imaginary rod through your selection and bend the rod. The selection follows the curvature of the rod. To visualize what Plastic Bend does, find a ballpoint pen and take out the ink reservoir and the spring. Put the spring in the middle of the reservoir and wrap the reservoir round the side of a cup. The spring follows suit.

In this real-life example, the ink reservoir represents the rod that you use with Plastic Bend, and the spring represents your vertex selection. Note that the length of the rod stays the same, only the curvature changes.

The bend amount is specified in degrees. At 0 degrees, the rod is straight. At 180 degrees, the center and both ends are located on the line you specify. If you extend the curvature of the rod, you will get a circle or a flat spiral.

Specify three things for Plastic Bend:

Rod center—This is the point that marks the middle of the rod.

Rod top—This is the point where the positive extreme end of the rod is located. The other end is located opposite it at the same distance from the center. The rod top does not mean that bending ends there. The curvature remains constant even past this point. The rod top and bottom are simply the points that will find themselves on a straight line passing through them and the rod center at a 180-degree bend.

Bend normal—This is the direction of a line that passes through the center. At a 180-degree bend, the rod center, the rod top and the rod bottom are all located along this line.

Pivot Bend
Click Bend with MMB to go into Pivot Bend mode. In this mode, you also have a rod, but you use it differently. First you specify where the rod is located and how it is curved, and then you stretch the vertex selection proportionally along it.

To continue our ink reservoir and spring analogy, you first wrap the reservoir with the spring on it round the side of a cup and hold it there, and then start stretching the spring. The stretching spring follows the curvature of the ink reservoir.

The bend amount is specified in degrees. At 0 degrees, the vertex selection is flattened about the rod center. At other values, it is stretched along the rod curve. If you extend the curvature of the rod, you will get a circle, a helix (spring shape) or a 3D spiral.

Specify four things for Pivot Bend:

Rod center—This is the point that marks the middle of the rod.

Rod top—This is the point where the positive extreme end of the rod is located. The other end is located opposite it at the same distance from the center. The rod top does not mean that bending ends there. The curvature remains constant even past this point.

Pivot axis—This axis defines how the final bent rod will be oriented. As we have pointed out, the resulting curvature can be a circle, a helix or a 3D spiral. If it’s a circle, then the pivot axis is perpendicular to the circle’s plane. If it’s a helix or 3D spiral, then the pivot axis is a line that this helix or spiral coils around.

Pivot location—This is the point through which the pivot axis runs.

TopRad Bend
Click Bend with RMB to go into TopRad Bend mode. In this mode, you first define the curvature of the rod and then stretch the flattened selection along the rod, as in Pivot Bend. However, you define the curvature in the same way as for Plastic Bend—you specify a line that runs through the center, and both ends of the curved rod. The bend amount is specified in degrees. At 0 degrees, the vertex selection is flattened about the rod center. At other values, it is stretched along the rod curve. If you extend the curvature of the rod, you will get a circle or a 2D spiral.

Specify three things for TopRad Bend:

Rod center—This is the point that marks the middle of the rod.

Rod top—This is the point where the positive extreme end of the rod is located. The other end is located opposite it at the same distance from the center. The rod top does not mean that bending ends there. The curvature remains constant even past this point.

Bend normal— This is the direction of a line that passes through the center. The rod is bent in such a way that the rod center, the rod top and the rod bottom are all located along this line.

Bend Clamped
Bend Clamped has the same functionality as Bend and the same three modes:

Bend Clamped Plastic

Bend Clamped Pivot

Bend Clamped TopRad

 See above for details. The difference is that Bend Clamped lets you set limits for rod curvature. In addition to the Bend options, Bend Clamped requires that you specify two more:

Top Clamp Point—This is a point up the rod (or up the rod extension) at which the rod stops curving and continues as a straight line.

Bottom Clamp Point—This is a point down the rod (or down the rod extension) at which the rod stops curving and continues as a straight line.


text:
User talk:Denis Bellamy

Blocked from adding chapter to Ecology on 'Conservation Managaement'
I'm sorry if I have done something for mistake, but I can't see how could I prevent you from writing such chapter. Have I deleted something or have you seen messages about IP block? Please let me know because I don't know how can I help you. --Derbeth talk 16:57, 19 January 2006 (UTC)

 * I unblocked this IP. Is everything ok now? --Derbeth talk 20:03, 19 January 2006 (UTC)

Applied Ecology
You don't need to transfer anything - just treat Applied Ecology as new book's table of contents. Name book subchapter like Applied Ecology/Introduction, you will be able to link to them writing  Introduction . After you write the TOC, add book to a bookshelf and template:new. I don't think you need any special preparations if you read naming policy.

For your conveniece, you can use navigational templates. --Derbeth talk 09:57, 22 January 2006 (UTC)

Blocks
Your network must be often used by Wikibooks vandals. Please take my apologies for all unconvenience, if you such situations will happen again (I hope not), please visit our IRC channel or send me an e-mail with blocked IP number and I will unblock it.

By the way, I made a small edit to TOC of your book to shorten it (it works the same as before). If you don't like my change, you can revert me. --Derbeth talk 11:40, 31 January 2006 (UTC)

Links
I guess your problem is that Applied Ecology/Environmental Evaluation/Environmental Impact Assessment has no link to "Environmental Evaluation"? Such situation appears when there "parent" page does not exist. If you look at your TOC you'll see that you have Applied Ecology/Environmental Valuation chapter, whereas Applied Ecology/Environmental Evaluation/Environmental Impact Assessment is looking for page named Applied Ecology/Environmental Evaluation. You just need to fix one letter in one of these two pages title (you probably are able to use "move" function now so it would be easy).

When it comes to links - well, I don't know if it is possible to hide two first parts of link, I haven't heard of such possibility. You have two solutions: either link like:  Environmental Impact Assessment : Environmental Impact Assessment (note pipe "|" sing dividing "address" and "link text") or change names of these two paragraphs to "flat". You don't have to name a chapter "Applied Ecology/Environmental Evaluation/Environmental Impact Assessment". You can just call it "Applied Ecology/Environmental Impact Assessment". Both conventions are correct, you can use the one you find more convenient. --Derbeth talk 16:00, 1 February 2006 (UTC)

title: User talk:Denis Bellamy


text:
User talk:198.136.134.2

VHDL
There is allready an module on VHDL - and it is part of the Domain-specific_languages_bookshelf. Please take better care next time.

--Krischik T 19:24, 19 January 2006 (UTC)

title: User talk:198.136.134.2


text:
User talk:71.37.208.144

You have been blocked from editing for repeated vandalism. If you feel the block is unfair, please email me, or respond here. -- LV (Dark Mark) 20:38, 19 January 2006 (UTC)

title: User talk:71.37.208.144