text:
Do-It-Yourself/Sword

How-tos bookshelf | Sword construction

The parts of the sword must be made to match and enhance the function of the type of sword.

All parts of a sword have a style; whether intentional decoration, traditional forms, or unintended artifacts of the production process.

If the target will be chopped or slashed, the mass of the sword will be more forward. As the weight increases, it becomes more difficult and time consuming to change the direction the sword is traveling. Only one edge can be readily used, so only one edge is sharpened. Chopping and slashing are enhanced by a curved blade; so the style of swordsmanship will determine how much of the blade is curved and to what degree. If the target is on the ground with the sword wielder on horseback, or the other way around, then the blade or handle (or both) will be longer. If the weight or length of the sword becomes unwieldy, then two hands are needed.

A blade must be flexible and tough enough to absorb the shocks of use. At the same time it must be hard enough to retain a sharp edge through many cuts. Historically, several methods were developed to enhance these attributes. The "simplest" of these consisted in heat treating the steel blade to create an acceptable compromise between hardness and toughness. Some consisted of inserting or layering harder alloys within or between softer alloys (damascus steel), and differential hardening of the edge and body of the blade. The latter is a type of heat treatment made legendary among sword fans by the Japanese katana. However, the edge-hardened katana was predated by edge-hardened Chinese jian and dao, Nepalese khukuri, and others.

The sharpened edge will be configured differently depending on:

 * 1) The hardness and toughness of the metal,
 * 2) What degree of chopping, slashing, slicing, and thrusting is expected,
 * 3) Character of the expected target.

Handle construction
The handle (hilt) of a single-edged chopping sword is usually angled to enhance the chopping action and to give the user tactile feedback of the orientation of the sharpened edge. The handles of double-edged straight swords are in-line with the blade and point for thrusting, and again designed to give tactile feedback of orientation; in this case, of both sharpened edges by the flattened or oval shape of the grip.

 * The grip must be the appropriate size for the hand holding it. And the material on the surface of the grip must enhance the hand's grip upon it.
 * It must also be durable to withstand the stresses of its mounting.
 * The grip must be attached to the sword in a dependable, durable manner.

A guard between the grip and blade might serve several purposes:

 * 1) Prevent hand from sliding forward,
 * 2) Registering the hand on the grip,
 * 3) Prevent opposing blade from reaching the hand,
 * 4) Trapping the opposing blade,
 * 5) Covering the mouth of the scabbard to prevent water and dirt from entering.

The pommel serves three principal purposes.

 * 1) Add weight to counter-balance the blade at the appropriate point,
 * 2) A fastening point for the tang of the blade,
 * 3) A weapon in and of itself, usually for smashing an opponent in the face, neck, etc.

Fastening the handle to the sword
In straight swords, the pommel can also serve as a secondary weapon — a knob-like protrusion used for striking when the blade points in the wrong direction.

title: Do-It-Yourself/Sword


text:
Talk:Do-It-Yourself/Sword

This page was transwikied from en.wikipedia.org. List of contributors: 216.177.2.36 21:05, 23 Jan 2005 (UTC)
 * [2003-02-11T06:07:06Z] 64.216.176.239 ( Initial entry )
 * [2003-02-11T06:18:04Z] 64.216.177.119
 * [2003-02-12T06:40:12Z] Ddeanok ( add 'edge' comment and 'sharpen' link )
 * [2003-02-12T06:43:58Z] Ddeanok ( correct link title for new article )
 * [2003-08-16T13:59:36Z] Tim Starling ( link fix )
 * [2003-09-10T22:00:18Z] MyRedDice ( headers )
 * [2004-08-25T18:04:51Z] Michael Snow
 * [2004-09-05T04:48:15Z] Siroxo
 * [2004-09-26T21:44:45Z] Travis K

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

title: Talk:Do-It-Yourself/Sword


text:
Talk:Data Structures/Stacks and Queues

Note on Style
I think the current module is too low-level. First, templates (or typing the structures) isn't really important in telling the story. (When implementing the code, it's obvious that in, say, C you need to specialize the structure to suit only one data type (or use preprocessor hacks), while it's obvious in C++ that you can use templates, and finally it's obvious in a language like Scheme you don't even need to type anything.) The approach should follow the Introduction chapter, which ignores these issues: Data_Structures/Introduction.

Instead of code that messes with pointers, it should be using the Node ADT functions. Instead of trying to make the Data-Structures OO, it should be more functional/procedural: when done properly, it will be obvious how the code can be made OO. That is, we should follow an OO style, but not actually use a pseudocode language that is itself OO. We are using abstraction heavily, but we aren't concerned with say polymorphism or inheritence, which has very little relevance to introductory data structures. MShonle 22:15, 23 Jan 2005 (UTC)

[[Media:[[Media:[[Media:[[Media:[[Media: – ]]]]]]]]]]==get-size== If we have a get-size function we might as well keep a counter in the main stack/queue structure that holds the integer field along with head and tail node references. Any objections if I do that? Also, are there any objections if I deCamelCase the function names to use the hyphen instead? (The Algorithms book uses this policy.) MShonle 01:20, 25 Jan 2005 (UTC)
 * I've deCamelCased the function names. I generally think that keeping track of the size belongs in the list if anywhere. Really, there are very few stack or queue algorithms that ever need to get the size of the structure, so my feeling is that it shouldn't even be in the interface. --jyasskin 17:50, 27 Jan 2005 (UTC)

Content clarity
There seems to be a mixing up of data structure and data type concepts, or at least a lack of distinction that should be addressed. --Panic (discuss • contribs) 03:46, 8 November 2011 (UTC)

title: Talk:Data Structures/Stacks and Queues


text: Template:Using Firefox/TOC

title: Template:Using Firefox/TOC


text:
User:LazyQuasar

I have been drafted by the greenSpace faction of Wikipedia to be the underboard troll for Wikimedia. My efforts here at WikiBooks will support that role as well as accomplish a myriad of subgoals. See my account page at wikipedia.org mirwin for further information.

title: User:LazyQuasar


text:
Category:Cooking techniques

For more information, see Cookbook:Cooking techniques

ko:분류:조리

title: Category:Cooking techniques


text:
Indonesian/Lessons/School

^ Indonesian ^ | << Lesson 9: My Home | Lesson 10: At School | Lesson 11: What Time Is It? >>

Enseignement de l'indonésien/Leçons/L'école

title: Indonesian/Lessons/School


text:
Talk:Modern History/Second World War

This needs to be reorganized into something much more presentable. -- —Preceding unsigned comment added by Kaiser (discuss • contribs) 06:48, 24 January 2005

Angocentric time line
The proposed timeline is typically anglocentric and fails utterly to capture the global perspective of the second world war.

The Pacific War did not begin in 1941. That was only when whitey got involved ( and I say that as a white guy). The timeline on wikipedia (http://en.wikipedia.org/wiki/World_War_Two) should be used.

title: Talk:Modern History/Second World War


text:
Cookbook:Lancashire Corned Beef Hash

| Cuisine of the UK

Serve it with buttered bread and HP sauce.

Ingredients

 * 4–5 potatoes, chunked
 * 1 large onion, chopped
 * 1 can corned beef
 * 1 carrot (optional), chopped
 * Water
 * Salt to taste
 * White pepper to taste
 * 1 pinch tarragon (optional)
 * 1 pinch oregano (optional)
 * Worcestershire sauce (optional)
 * 1 small bay leaf (optional)

Method I – Stovetop

 * 1) Put all the ingredients in a wok (a wok is perfect though not traditional) or another large pan.
 * 2) Add water until almost covering the ingredients.
 * 3) Cover and bring to boil.
 * 4) Lower heat, and simmer for 30 minutes or until the potatoes soften.
 * 5) If too wet, strain off some water.
 * 6) Add the broken-up corned beef and stir in gently.
 * 7) Bring almost to the boil.
 * 8) Switch off the heat and let it sit for 15 minutes.
 * 9) Heat again or serve as it is.

Method II – Pressure cooker
It's easy to make hash in a pressure cooker—just follow the pressure cooker instructions to cook the potatoes and onions on the stovetop.

 * 1) Put all the ingredients except the corned beef into the pressure cooker. You do not need much water—perhaps 1–2 cm.
 * 2) Bring the pressure cooker up to pressure and cook for about 4 minutes.
 * 3) Meanwhile, chop up the corned beef. When the other ingredients are cooked, open the pressure cooker and mix in the corned beef.
 * 4) Serve.

title: Cookbook:Lancashire Corned Beef Hash


text:
Cookbook:Dutch Apple Fritters (Oliebollen)

| Desserts

Oliebollen (literally: oil dumplings) are a type of Dutch apple fritter. They are served at Dutch festivals in the United States, such as the Holland Happening Festival in Oak Harbor, Washington.

Ingredients

 * 2 tbsp sugar
 * 1 cup warm water

 * 2 package active dry yeast
 * 5 eggs
 * 2 cups scalded milk
 * 1 ½ cups warm water
 * ½ cup margarine, softened
 * 10 cups flour
 * 1 cup white granulated sugar
 * 1½ tsp salt
 * 3 Granny Smith apples (optional), diced
 * 3 cups sugar
 * Ground cinnamon to taste
 * 1 cup raisins (optional)
 * Canola oil or shortening for frying

Procedure

 * 1) Dissolve sugar in warm water. Sprinkle yeast on top. Let stand for about 10 minutes.
 * 2) In a large mixing bowl, beat eggs until mixed. Add scalded milk, warm water, yeast mixture, and margarine. Beat well.
 * 3) Add flour, sugar, and salt. Mix well. Add diced apple.
 * 4) Let dough rise in a warm place until doubled in size. A lobster pot works well for this.
 * 5) In a separate bowl, mix the sugar with cinnamon to taste. Set aside.
 * 6) Fill a fryer pot with 4 inches of canola oil or melted shortening. Heat to 375°F (190°C).
 * 7) Scoop large spoonfuls of dough into the hot oil. Dipping the spoons in the hot oil before scooping the dough keeps the spoons from getting too sticky.
 * 8) Fry the oliebollen until golden brown, turning them to ensure even cooking.
 * 9) Remove the oliebollen, and place on paper towels on paper bags.
 * 10) Roll oliebollen in the cinnamon sugar mixture, and serve warm.

Kookboek/Oliebollen


text:
Cookbook talk:Dutch Apple Fritters (Oliebollen)

This page was transwikied from en.wikipedia.org. List of contributors: 216.177.2.140 07:37, 24 Jan 2005 (UTC)
 * [2004-11-06T17:27:59Z] 82.92.39.214
 * [2004-11-06T18:29:22Z] Wolfman
 * [2004-12-31T14:41:36Z] 84.24.220.3

Needs actual measurements. Kellen T 08:38, 18 September 2005 (UTC)


text:
Cookbook:Spritzgeback (German Spritz Butter Cookies)

Spritzgebäck is a type of German cookie.

Ingredients

 * 1 cup butter
 * ⅔ cup confectioners' sugar
 * 1 egg
 * 1 egg yolk
 * 1 tsp almond, vanilla, or lemon extract
 * 2 ¼ cups unbleached unsifted flour
 * ¼ tsp salt
 * ½ tsp baking powder

Procedure

 * 1) Beat butter and sugar until light.
 * 2) Beat in egg, egg yolk and extract.
 * 3) Sift flour, salt, and baking powder together; gradually add flour mixture to eggs.
 * 4) Chill dough for ½ hour.
 * 5) Press ¼ of the dough into a cookie press.
 * 6) Keep remaining dough chilled.
 * 7) Shape cookies onto a greased baking sheet.
 * 8) Bake in oven at  for 7–10 minutes or until done.
 * 9) Cool on wire racks and store in airtight tins.


text:
Cookbook talk:Spritzgeback (German Spritz Butter Cookies)

This page was transwikied from en.wikipedia.org. List of contributors: 216.177.2.140 07:45, 24 Jan 2005 (UTC)
 * [2004-12-16T02:28:59Z] 198.60.114.187
 * [2004-12-16T02:29:47Z] 198.60.114.187
 * [2004-12-16T02:38:35Z] Rfl ( cleanup )
 * [2004-12-17T02:59:01Z] TheFlow ( Cleaned up )
 * [2004-12-17T22:27:23Z] LeeHunter ( copyedit )
 * [2004-12-17T22:29:34Z] LeeHunter ( cat )
 * [2004-12-18T05:05:34Z] Rmhermen

Taste seems off
I made this recipe tonight and I'm fairly certain it could use either more sugar or more butter. I'm going to consult with some people about proportions and probably update the recipe later this month. --MarkTraceur (discuss • contribs) 08:29, 19 October 2013 (UTC)
 * I think the issue was that I went with almond extract instead of vanilla. Ignore me :) --MarkTraceur (discuss • contribs) 17:36, 12 December 2013 (UTC)


text:
Cookbook:Couscous

| Basic foodstuffs | Cereal

Couscous is a tiny pasta-like food made from semolina.

Moroccan couscous
The couscous grains are made from semolina or, in some regions, from coarsely ground barley or millet. The semolina is sprinkled with water and rolled with the hands to form small pellets, sprinkled with dry semolina to keep the pellets separate, and then sieved. The pellets small enough to be finished grains of couscous fall through the sieve, and the rest are again sprinkled with semolina and rolled into smaller pellets. This process continues until all the semolina has been formed into tiny grains of couscous about 1–2 mm across, at which point the couscous is dried. The couscous can be precooked and dried to make instant couscous. When cooked, couscous has a texture somewhere between American grits and Italian risotto.

Pearl couscous
Another variety, known as pearl couscous, Israeli couscous, or p'titim, is shaped like small pearls, about the size of a rice grain or orzo.

Selection and storage
Make sure to choose the correct kind of couscous for your dish. It should be stored in an airtight container at room temperature, where it will last months to years if kept dry.

Preparation
Traditional couscous has to be steamed rather than boiled to prevent the grains sticking together. This is done by hydrating it with some cold water, followed by two to three uncovered steaming steps in a colander or specialized couscoussier. Here, the base is a tall metal pot shaped rather like an oil jar in which the meat and vegetables are cooked in a stew. On top of the base a steamer sits where the couscous is cooked, absorbing the flavours from the stew. The couscous must be tossed and fluffed between the steaming steps in order to maintain its fluffy texture.

Instant couscous is much faster—it is prepared by combining equal volumes of couscous and boiling water, then soaked for a handful of minutes until the water is absorbed and the grains swell. However, the texture is not as fluffy as that from the traditional steaming method.

Use
Traditional couscous is traditionally served under a meat or vegetable stew, somewhat like rice is. The dish is the primary staple food throughout the Maghreb, and it is also popular in the West African sahel, in France, and parts of the Middle East. Pearl couscous is usually boiled and is often used in cold salads. There are recipes from Brazil that use boiled couscous molded into timbale with other ingredients.

title: Cookbook:Couscous


text:
SPM/Installation on Mac OS (PowerPC)

SPM12
SPM12 is not supported on Mac PowerPC.

SPM8
SPM8 is not officially supported on Mac PowerPC, as this platform is about to be phased out (see MATLAB Platform Roadmap). This means that precompiled MEX files (*.mexmac) are not included in the SPM distribution. It should however be relatively straightforward to compile them by yourself.

Installation
Download spm8.zip and its updates spm8_updates_rxxxx.zip in your home directory then type the following in a Terminal: cd /Users/login unzip spm8.zip unzip -o spm8_updates_rxxxx.zip -d spm8 Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing addpath /Users/login/spm8 in MATLAB's workspace.

Compilation
You need to have Apple's development environment Xcode installed. It should be available on your Mac OS X installation DVD.

You also need to have the mex executable in your system path. To do so, type the following in a Terminal: export PATH=$PATH:/Applications/MATLAB/bin with the appropriate path where MATLAB is installed.

In a Terminal, from the src folder of your SPM8 installation, type: cd /Users/login/spm8/src make distclean make && make install make toolbox-distclean make toolbox && make toolbox-install make external-distclean make external && make external-install

SPM5
Precompiled MEX files for Mac PowerPC (*.mexmac) are available in the latest update.

Installation
Download spm5.zip in your home directory then type the following in a Terminal: cd /Users/login unzip spm5.zip Start MATLAB and add SPM into your path, either using File > Set Path > Add Folder... or typing addpath /Users/login/spm5 in MATLAB's workspace.

Compilation
If you want to compile SPM5 MEX files by yourself, you need to have Xcode installed and mex in your system path (see SPM8 for details).

Then, in a Terminal, from the src folder of your SPM5 installation, type: cd /Users/login/spm5/src make distclean make && make install

SPM2
Precompiled MEX files for Mac PowerPC (*.mexmac) are available in the latest update.

Compilation
NB. Some of the following commands require that you log in as root or use the "sudo" mode.

Assuming that your Matlab and SPM2 folders (say, "MATLAB" and "spm2") are in your Applications folder:

(1) make sure you use a version of gcc earlier than 3.3 (compiling spm2 with gcc3.3 fails when mex is invoked; there apparently is a conflict of library):

(sudo) gcc_select 3

(2) put a symbolic link to the "mex" file found in MATLAB/bin into /usr/sbin/ (!!! not in usr/local/bin):

(sudo) ln -s /.../Applications/MATLAB/bin/mex  /usr/sbin/mex

(3) recompile SPM2:

cd /.../Applications/spm2 make MAC

You should see something like the following lines:

make all SUF=mexmac RANLIB="ranlib spm_vol_utils.mexmac.a"   _________________________________________________ Unix compile for MacOS X   _________________________________________________ mex -O -c spm_mapping.c   mv spm_mapping.o spm_mapping.mexmac.o    rm -f spm_vol_utils.mexmac.a    ar rcv spm_vol_utils.mexmac.a utils_uchar.mexmac.o utils_short.mexmac.o    utils_int.mexmac.o utils_schar.mexmac.o utils_ushort.mexmac.o     utils_uint.mexmac.o utils_float.mexmac.o utils_double.mexmac.o     utils_short_s.mexmac.o utils_int_s.mexmac.o utils_ushort_s.mexmac.o    utils_uint_s.mexmac.o utils_float_s.mexmac.o utils_double_s.mexmac.o     spm_make_lookup.mexmac.o spm_getdata.mexmac.o spm_vol_access.mexmac.o     spm_mapping.mexmac.o     a - utils_uchar.mexmac.o    a - utils_short.mexmac.o    ... (a long long list of files) _________________________________________________   FINISHED _________________________________________________

title: SPM/Installation on Mac OS (PowerPC)


text:
Robotics/Design Basics/What you should know

Robotics spans multiple scientific and engineering disciplines, so when you want to design a better robot you should get some basic knowledge in these fields. How much you should learn depends on how complex you want to make your robot. To give an example: A small tethered tabletop robot would only require some basic knowledge in electronics and programming, a shoe box sized robot would require some additional knowledge on mechanics (mostly about balance) and a large robot might even require some knowledge on solid mechanics.

This page covers the fields that are very much used in robotics. You don't need to know everything about all of these subjects, however knowing the basics of each of these fields can help in building better robots and prevent you from making (some of the) beginner's mistakes.

Mechanics
Mechanics is about:
 * How forces are transferred between the different parts of a construction.
 * Where the center of gravity lies.
 * Friction
 * Position, speed, acceleration
 * Newton's laws
 * Inertia
 * Material properties

Mechanics helps keeping a robot in balance. Although you could build a robot without knowing anything about mechanics, it'll help in preventing your robot from tipping over when turning, or when picking up something.

Another point where mechanics pays off are axles. On small robots you can attach the wheels directly to the output shaft of the motor. However this doesn't work well for larger robots as this puts a lot of stress on the internals of the motor. A better way is to attach the wheel to an axle, and use gears to connect the motor to the axle. Knowledge of mechanics allows you to build such constructs.

If your robot is a small line follower almost any building material will work. However if your robot weighs a few kilos, something sturdier than cardboard and soda sippers is appropriate. And if your robot is human size you should consider metal and/or composite construction.

See Theoretical Mechanics for an introduction in this field.

the "Theoretical Mechanics" is just started, so there isn't much to read just yet.

Electronics
Electronics is about:
 * Electronic Components
 * Analog Circuits
 * Digital Logic
 * MicroControllers

Electronics is something you can't go without (unless you want to build a complete mechanical robot or use pneumatics for control). Today there are plenty of books covering basic electronics (See Electronics).

Programming
Computer programming is about:
 * Control structures (sequence, selection, iteration)
 * Data types (constants, variables, integer, real, string,...)
 * Algorithms
 * Hardware control (setting and reading registers, interrupts,...)
 * logic

Anyone who has had an introductory course on programming (as they are given in American high schools) would be familiar with the first three points. The fourth point is rarely addressed in introductory courses, but is essential when programming microcontrollers. Although it might sound difficult, it can be very easy in practice (for most purposes). Much of this comes down to setting bits in a byte using simple Boolean logic, and writing this value into some register or memory location. Higher level languages like Bascom provide hardware addressing as special variables, which can be treated just like any other variable.

Microcontrollers (and processor boards) are one of the areas where using Assembly is still very valid. Memory (both RAM and program space) is very limited in these, although each new generation of microcontroller has more memory for about the same price. Many microcontrollers provide between 2K and 30K, and processor boards tend to have up to 256K. These numbers vary wildly, but are still significantly less than PCs have. However if you don't know an assembly language, most microcontroller and processor boards have high level language compilers available in many flavors (C, C++, Basic, Pascal, Fortran, etc.)

Robot programming is also about:
 * The Event Loop. Most microcontrollers do not have the resources for threading. You will need to look at your robot's task a fraction of a second at a time, and choose which small action to take.  What can the program do in that moment to get a little bit closer to its goal?
 * Interpreting sensor data. Sensors have many ways of providing noisy or misleading information; how many types of error can you accept? Dirt in a rheostat, a broken switch, and a venetian blind flickering on a photodiode are obvious faults. How about temperature drift, non-linear response curves, or your robot seeing its own shadow?
 * Decision making, or Artificial Intelligence is the art of making the right decision given the constraints of the current system.
 * Motors and motion. Making motion on a robot often involves moving several motors at once, often with feedback from sensors.

Solid Mechanics
Solid mechanics is about how forces distribute inside solid materials. Knowledge about this subject is useful because it explains how materials respond to loads. This helps to prevent using too thick or too thin materials. This isn't required for small or medium robots, but it allows to be more efficient with building materials and gives insight to why and how materials fail (break and/or deform). See [this wikibook] for a start on solid mechanics. Be warned: heavy math ahead.

Even if you have a mortal fear of math, bite through this as it gives valuable insights on how materials break and deform. No need to memorize the math, as long as you get the idea behind it.

A.I.
Artificial Intelligence (in Robotics) is about:
 * Finding the shortest way between 2,3 (or more) points
 * Dealing with obstacles
 * Handling new situations (machine learning)

There are many books available on AI on many different levels. This area has had a short but already fruitful history, but still has a very long way to go. AI isn't just about getting a computer to think and reason. It's more about ordering, sorting and organizing knowledge in a machine and constructing algorithms for extracting real world conclusions from these databases. A search engine like Google or Yahoo are examples of real uses of AI.

Other than pure AI books, books on how the brain works and such can provide interesting angles to AI on robots. Concepts like attention and concentration can have interesting uses in some form for integrating sensor data.

Math
Although math is generally seen as the ultimate theoretical science, it can be one of the most important skills in many of the more advanced domains of robotics. e.g. Mechanics uses a lot of math. For simple constructs you won't need much more than high school level math, for more complicated shapes it becomes necessary to use more complex math tools like integrals. But since robotics is a very practical craft many things can be done with approximations. Math however can be very helpful in making the right approximation.


text:
Puzzles/Lateral puzzles

Puzzles | Lateral puzzles

Some part of situation is described in each puzzle. You should explain the whole situation. There may be more than one solution, thus take your time to explore the possibilities.

 * Lateral Puzzle 1
 * Lateral Puzzle 2
 * Lateral Puzzle 3
 * Lateral Puzzle 4
 * Lateral Puzzle 5
 * Lateral Puzzle 6
 * Lateral Puzzle 7
 * Lateral Puzzle 8
 * Lateral Puzzle 9
 * Lateral Puzzle 10

title: Puzzles/Lateral puzzles


text:
Talk:Cell Biology/Genes/Gene translation

Gene Mutation has become a very ethical and morally questioned topic all around the world! Many people have considered these 'scientific discoveries' as remarkable. However many see the discovery as unacceptable and religiously unethical. There may be many views expressed all over the world, the main question is how can Gene Mutation help humanity??


text:
MUMPS Programming/syntax

Basic MUMPS Syntax - Lines, Spaces, WhiteSpace, Comments
MUMPS syntax was designed to be concise in a time of scarce memory. This serves a purpose now in that programs are cognitively concise: a lot more fits in view on a screen or on a page of paper.

SET X=1   SET Y=2 SET X=1,Y=2 ;   either form full or abbreviated command S         S X=1,Y=2    ;
 * The basic language structure is command command-separator argument.
 * The command may be one of the MUMPS commands, like "SET" or "WRITE"
 * The command-separator is written as a single space (or blank) between command (SET) and the arguments.
 * The argument depends on the command.
 * The argument can be a list of single-arguments (separated by commas) or a single-argument.
 * Each single-argument usually is in the form of an expression or group of expression, separated by colons.
 * separating each command may be multiple spaces for readability.
 * Another command may follow a space on the same line.
 * Whitespace - eol is NOT treated as equivalent to space. Each has different role in MUMPS.
 * Tabs are also NOT equivalent to a space, but are sometimes treated like space to delineate a label. Traditional MUMPS editors (IDEs) sometimes treat tabs specially, but do not put the tab character into the MUMPS routine.
 * Lines are significant to the syntax as each line starts with a tag(line label) and a space or a space when there is no label.
 * Comments start with semicolon and go to the end of the line. A line may start with ; and is all comment.
 * There is no command termination character (like ; in java or Perl) other than the eol or a space following the argument.
 * Assignment requires the explicit command SET or S
 * There is no syntactic role for braces {}
 * Expressions are grouped by parenthesis

 * Programs ('routines' in traditional MUMPS terminology) have a unique name and consist of a linear sequence of lines.

title: MUMPS Programming/syntax


text:
Ada Programming/Keywords/or

Boolean operator
X : Boolean := A < 10 A > 20;

Boolean shortcut operator
In the below example the function G is only called when F(X) returns the value False.

F(X)  G(Y) Walk_The_Dog; ;

This shortcut operator is sometimes used to speed up the evaluation of boolean expressions, but the Ada Style Guide recommends to compare the performance of both forms before switching one to the other. In general, it is good idea to use   in sake of performance only when the second expression involves a function call.

The  form is also used when the second expression is known to raise an exception unless the first expression is False.

Unlike C/C++, Ada short-cut operators are not the standard way to evaluate boolean expressions. This is because Ada is designed to do by default what is generally safer, but lets the programmer request a different behaviour.

Boolean operator on arrays
The or operator is applied to each pair of boolean elements from the left and right arrays. The result has the same bounds as the left operand.

Day_Of_Month  1 .. 31;             Month_Array   (Day_Of_Month)  Boolean; X : Month_Array := Function_1; Y : Month_Array := Function_2; Z : Month_Array := X Y;

Bitwise operator
The operator or could be used with modular types to perform bitwise operations.

alternative
See Ada Programming/Tasking.

delay
See Ada Programming/Tasking.

Wikibook

 * Ada Programming
 * Ada Programming/Keywords
 * Ada Programming/Operators

Ada Quality and Style Guide

|Or

title: Ada Programming/Keywords/or


text:
Talk:Computer Science/Data Structures/List Structures content

I think this page should focus on the Sequence ADT, of which vector, linked list, and GSequence are instances.
 * GSequence has been put in the Advanced book.

Then Vector and Linked List can be presented with their efficiency tradeoffs. I'm thinking of Vector as distinct from Array because Vector supports resizing and the full Sequence interface. Thoughts? --jyasskin 20:11, 24 Jan 2005 (UTC)
 * I think the chapter should introduce first an abstract ADT that represents ordered collections of objects, i.e. "list" in the most general sense. Then, the array and linked-list representations can implement that ADT, both of which include a very, very simple iterator data type (with has-next and get-next for example, and nothing else). The array implementation of the abstract list ADT can then include the extra resizing (i.e., array copying) operations to be a vector. A final section could then show the tradeoffs and how, for example, inserting an item in the middle of a large vector is impractical, and how indexing the nth element of a long linked-list is impractical.
 * Note that the introduction has already covered chains of nodes, so conceptually introducing a linked-list won't be hard: it's just a wrapper, really, around node chains: in a node chain, an empty list is represented by a null pointer, and thus you cannot send messages to it. In a linked-list (if it implements the list ADT), you can always send messages, like get-size, even when there are no elements. (I think people get too caught up with "linked-lists" and miss the point that abstraction can insulate you from these details.) Overall, I'd rather the point about abstraction be the key message of the chapter (and the critical role that iterators play in isolating us from array or chains of nodes representations) than about the nifty but not as insightful point about efficiency. (It of course should be mentioned, but need not consume more than a couple of paragraphs.) MShonle 01:38, 25 Jan 2005 (UTC)
 * The page goes in this general direction now. Unless you have some further comments/change suggestions, I'll refactor this discussion in a few days to something like the following, except more coherent because I'll do it when I'm awake:
 * This page should focus on the benefits of abstraction. The tradeoffs involved in choosing between linked lists and vectors are an important side note, but should remain a side note and not distract from the main message, that when you do things through an ADT, it's easier to write your code generally and not have to change it later. --jyasskin 07:06, 27 Jan 2005 (UTC)

 * Side note: the array chapter needs to be simplified as well.
 * I think the arrays chapter covers the information it needs to, even if it's not in the best form. I'm going to treat its simplification as low priority until the rest of the chapters at least have an overview. --jyasskin 07:06, 27 Jan 2005 (UTC)

WikiBook pseudocode
When writing Data_Structures/Introduction I noticed that in Data_Structures/Introduction you use   ...   and here    ...    - Would be nice if you could make your mind up and which should I use for above article?

--Krischik 19:16, 14 Feb 2005 (UTC)


text:
Cookbook:Texas Easy Chili

| Texas cuisine

Texas easy chili is a chili powder and tomato juice based sauce combined with cubed or ground beef. Chili originated in Texas in the 1800s. There are many variations of chili. This version does not contain beans.

Ingredients

 * 3 pounds chuck roast or ground beef, cubed or formed into small meatballs
 * 2 tablespoons oil
 * 2 cloves of garlic, minced
 * 6 tablespoons chili powder
 * 5 tablespoons flour
 * 1 tablespoon dried oregano
 * 1 teaspoon ground cumin
 * 3 cups tomato juice or V8
 * 3 beef bouillon cubes
 * Salt to taste
 * Black pepper to taste
 * Lime wedges
 * Sour cream

Procedure

 * 1) Cut chuck roast into bite-size pieces or form ground beef into small meatballs (1 inch / 25 mm in size).
 * 2) Fry beef in cooking oil until outside is browned.
 * 3) Add minced garlic and cook for 2 minutes.
 * 4) Combine chili powder, flour, oregano and cumin in bowl and mix well. Sprinkle mixture over cooking beef and stir until beef is well coated with spice mixture. Cook for 1 minute.
 * 5) Add tomato juice and bullion cubes. Stir for about 15 seconds.
 * 6) Simmer for 45 minutes, stirring occasionally.
 * 7) Remove from heat and add salt and black pepper to taste.

Notes, tips, and variations

 * Cool and refrigerate overnight to develop flavors (if you can wait; if not, enjoy).
 * Heat and serve in bowls with 1 tablespoon of lime juice and 1 tablespoon of sour cream added to top.
 * Serve with cornbread or sourdough bread.
 * For a cool treat, spoon a tablespoon of ranch dressing on top of your chili, along with some cheese!

title: Cookbook:Texas Easy Chili


text:
Radiation Oncology/Breast/NSABP trials

The National Surgical Adjuvant Breast and Bowel Project (NSABP):

See other NSABP trials (on Wikibooks). See the NSABP web page and list of NSABP publications.

"B" trials

 * B-01 - Thiotepa vs placebo. Short course perioperative. (1958-61)
 * PMID 14062942 (1963, no abstract), PMID 4970947 Full text (1967), 10-year results: PMID 805475 (1975)
 * B-02 - Post-mastectomy RT. Radical mastectomy. Randomized to post-op RT, placebo, or TSPA.(1961-68)
 * PMID 4989839 Full text (1970)
 * B-03 - Ovarian ablation vs control (1961)

 * B-04 - invasive breast (1971-74)
 * axillary dissection vs radiotherapy
 * Chest wall irradiation
 * Original: PMID 326381 Full text (1977), 10-year results: PMID 3883168 (1985), 25-year results: PMID 12192016 Full text (2002)
 * Radiation compliance: PMID 6992972 Full text (1980), "The clinical and biologic significance of medial-central breast cancers": PMID 7284980 Full text (1981)
 * Other:
 * PMID 18029105 (2008) - arm edema
 * 2nd malignancy: PMID 14508821 (2003) - lung ca. PMID 17551308 (2007) - pleural mesothelioma

 * B-05 - L-PAM (L-phenylalanine mustard, Melphalan) for node-positive (1972-75)
 * 10-year results: PMID 3519883 (1986)

 * B-06 - invasive breast (1976-84)
 * partial mastectomy + XRT vs. mastectomy
 * 5-year results: PMID 3883167 (1985), 8-year results: PMID 2927449 (1989), 12-year results: PMID 7477145 Full text (1995), 20-year results: PMID 12393820 Full text (2002)

 * B-07 - L-PAM vs L-PAM + 5-FU for node-positive (1975-76)

 * B-08 - L-PAM + 5-FU vs L-PAM + MTX (1976-77)

 * B-09 - Combination chemotherapy (L-PAM + 5-FU) +/- tamoxifen (1977-81)
 * PMID 7015139 (1981), PMID 2856857 (1986), PMID 3551710 (1987)

 * B-10 - Combination chemotherapy +/- C.parvum and hydrocortisone (1977-81)

 * B-11 - L-PAM + 5-FU +/- Adriamycin for node-positive and ER-negative tumors (1981-84)

 * B-12 - Same as B-11 but Tamoxifen used in both arms; ER-positive tumors (1981-84)

 * B-13 - chemotherapy (sequential MTX and 5-FU) for node-negative, ER-negative tumors (1981-88)
 * PMID 2644531 (1989), PMID 1627417 (1992), PMID 8683228 (1996)

 * B-14 - tamoxifen for ER+, node-negative tumors (1982-88)
 * Initial results: PMID 2644532 (1989)
 * 2nd randomization (5 yrs vs 10 yrs): PMID 1627417 (1992), PMID 8901851 Full Text (1996), PMID 11333290 (2002)

 * B-15 - short-intensive AC chemotherapy with or without reinduction CMF vs conventional CMF; node-positive; age < 50, or age 50-59 and PR negative (1984-88)
 * PMID 2202791 (1990)

 * B-16 - tamoxifen alone vs chemo+tam (L-PAM + 5-FU + Adriamycin) vs short-intensive AC + Tamoxifen; node-positive; age 50-59 and PR positive, or age 60-70 (1984-89)
 * PMID 2189950 (1990)

 * B-17 - DCIS. Lumpectomy + RT (1985-90)
 * Randomized. 818 women with DCIS, SM-. Treated with lumpectomy or lumpectomy + RT 50Gy (no boost)
 * 5-years; 1993 PMID 8292119
 * 12-years; 2005 PMID 15752884

 * B-18 - neoadjuvant vs adjuvant chemotherapy (1988-93)
 * original 5 year results (1998): PMID 9704717
 * locoregional disease (1997): PMID 9215816
 * 9 year results (2001): PMID 11773300
 * pathologic examination (2002): PMID 12209710

 * B-19 - sequential MF vs CMF; node-negative, ER-negative (1988-90)
 * PMID 8683228 (1996)

 * B-20 - chemo + tamoxifen vs tamoxifen alone for node-negative, ER+ tumors (1988-93)
 * 1997: PMID 9390536 Full text

 * B-21 - Tamoxifen vs RT vs Tamoxifen/RT for node-negative <=1cm tumors (1989-98)
 * 2002: PMID 12377957
 * Pathobiology: PMID 17896781 (2007)

 * B-22 - AC dose intensification; node-positive (1989-91)

 * B-23 - Two-by-two randomization: CMF chemo, CMF + tamoxifen, AC chemo, AC + tamoxifen for node-negative, ER-negative (1991-98)
 * PMID 11181655 (2001)

 * B-24 - Tamoxifen for DCIS (1991-94)
 * PMID 10376613 (1999)
 * No PMID (Abstract) "Estrogen receptor expression as a predictive marker of the effectiveness of tamoxifen in the treatment of DCIS: findings from NSABP Protocol B-24." Allred DC et al. Breast Cancer Res Treat 2002;76(suppl):S36.

 * B-25 - Dose intensification with AC chemotherapy + G-CSF; node-positive (1992-94)

 * B-26 - Taxol 3 hour infusion vs 24 hour infusion; metastatic or locally advanced (1994-96)

 * B-27 - taxane (Taxotere either before or after surgery) or no taxane after neoadjuvant AC (1995-2000)
 * Protocol design and very early preliminary results: PMID 9213327
 * Preliminary results: PMID 14559892 (2003)
 * Results (2006): PMID 16606972
 * Sentinel node biopsy: PMID 15837984 (2005)

 * B-28 - Chemotherapy. AC x 4, Randomized +/- Taxol x 4; node-positive. (1995-98)
 * 2005: PMID 15897552

 * B-29 - Tamoxifen +/- Octreotide, or Tamoxifen + Chemo +/- Octreotide; node-negative, ER-positive (1997-99)

 * B-30 - AC followed by Taxol, vs AT, vs ATC; node-positive (1999-2004)

 * B-31 - AC-T +/- Trastuzumab; node-positive, overexpress her-2 (2000-2005)
 * PMID 16236738 Full text (2005) (Combined results with NCCTG N9831 trial)
 * Cardiac dysfunction: PMID 16258083 (2005)

 * B-32 - sentinal node biopsy vs axillary dissection for clinically node negative (1999-2004)
 * Technical Outcomes: PMID 17851130 (2007)
 * Morbidity: PMID 20648579 (2010)
 * Survival: PMID 20863759 (2010)

 * B-33 - after 5 years of Tamoxifen, randomize to +/- Exemestane (2001-2003)
 * stopped early due to benefit seen in concurrent MA.17 trial, which was also stopped early

 * B-34 - Clondronate vs placebo in pts receiving chemo and/or hormones or no adjuvant therapy (2000-2004)

 * B-35 - DCIS, Tamoxifen vs Arimidex (2003-)
 * open trial

 * B-36 - FEC x 6 cycles vs AC x 4 cycles; node-negative (2004-)
 * open trial

 * B-37 - IBCSG trial 27-02 - adjuvant chemotherapy following resection for locoregional relapse (2005-)
 * open trial

 * B-38 - TAC (docetaxel, doxorubicin, cyclophosphamide) vs dose-dense AC/T (taxol) vs dose-dense AC/T+Gemzar in node-positive. (2004-)
 * open trial

 * B-39 / RTOG 04-13 - randomized trial of partial-breast vs whole-breast irradiation for Stage 0, I, or II (2005-)
 * open trial

 * B-40 - Neoadjuvant. Randomized to 1 of 6 arms: (Group 1-3: docetaxel, docetaxel + capecitabine, docetaxel + gemcitabine) followed by AC. Randomized to +/- bevacizumab (1A=docetaxel w/o bev, 1B=docetaxel w/ bev, etc.)

NSABP publications based on findings from 2 or more trials:
 * Tumors <= 1 cm, Node Negative
 * 2001 PMID 11208880 -- "Prognosis and treatment of patients with breast tumors of one centimeter or less and negative axillary lymph nodes." (Fisher B, J Natl Cancer Inst. 2001 Jan 17;93(2):112-20.)
 * From NSABP B-06, B-13, B-14, B-19, and B-20. N=1259 (1024, ER+; 235, ER-). Treatments were randomized according to the trial.
 * ER(-): Overall 8-yr RFS 81% vs 90%(+Chemo). Survival 93% vs 91% (NS).
 * ER(+): RFS 86% vs 93%(+Tam) vs 95% (+Tam+Chemo). Survival 90% vs 92% vs 97%.
 * Overall mortality 8% (one-half of all deaths were attributed to breast cancer)
 * Conclusion: Adjuvant therapy should be considered in this population

 * The Incidence of Lung Carcinoma After Surgery for Breast Carcinoma With and Without Postoperative Radiotherapy
 * PMID 14508821 (2003)
 * From B-04 and B-06

 * Pleural Mesothelioma
 * PMID 17551308 (2007)
 * From 11 NSABP trials

"P" trials

 * P-1 - Breast Cancer Prevention Trial (1992-7) - Tamoxifen
 * PMID 9747868 (1998), PMID 16288118 (2005)
 * Ancillary: PMID 16418513, 2006 (hormone levels)
 * P-2 - STAR (Study of Tamoxifen and Raloxifene) - prevention trial, post menopausal only, 19,000 women
 * PMID 16754727 (2006), Quality of life: PMID 16754728 (2006)

Other NSABP publications

 * 1991: PMID 1847652 Full text (PDF) — "A biological perspective of breast cancer: contributions of the National Surgical Adjuvant Breast and Bowel Project clinical trials." Fisher B. CA Cancer J Clin. 1991 Mar-Apr;41(2):97-111.
 * Summary of 22 NSABP breast trials to date.
 * 1999: PMID 10445015 Full text — "Highlights from recent National Surgical Adjuvant Breast and Bowel Project studies in the treatment and prevention of breast cancer." Fisher B et al. CA Cancer J Clin. 1999 May-Jun;49(3):159-77.

title: Radiation Oncology/Breast/NSABP trials


text:
Talk:Canadian Criminal Law

If you are interested in writing about Canadian criminal law it may be better to put in with the other Canadian law books at Canadian law. Cheers. - PullUpYourSocks 03:52, 25 Jan 2005 (UTC)

title: Talk:Canadian Criminal Law


text:
Radiation Oncology/ACOSOG

American College of Surgeons Oncology Group (ACOSOG)

See the ACOSOG webpage

 * Z-0010: Breast. Not randomized. Study of patients with negative sentinal lymph node biopsy. Does bone marrow biopsy to rule out micrometastatic disease.
 * Z-0011: Breast. Randomized to lymph node dissection vs no further surgery for clinical T1-2N0 with positive sentinal lymph node biopsy after lumpectomy.

 * Breast trials: https://www.acosog.org/studies/breast-cancer-studies
 * Gastrointestinal trials: https://www.acosog.org/studies/gastrointestinal-cancer-studies-pancreas-rectum
 * Thoracic trials: https://www.acosog.org/studies/thoracic-cancer-studies-lung-esophagus

title: Radiation Oncology/ACOSOG


text:
Radiation Oncology/EORTC

European Organisation for Research and Treatment of Cancer (EORTC)

See EORTC Groups Webpage for a list of trials for each cancer site

title: Radiation Oncology/EORTC


text: Template:SA NC Doing Investigations

title: Template:SA NC Doing Investigations


text: Template:SAASTE Technology

title: Template:SAASTE Technology


text: Template:SAASTE Science

title: Template:SAASTE Science


text: Category:Book:LaTeX

title: Category:Book:LaTeX


text:
Computer Science Design Patterns

The term Design Patterns can confuse you at first, or it can seem like something incredibly difficult. In fact it is nothing more than convenient ways of identifying, labelling and coding general solutions to recurring design problems.

So design patterns are nothing more than commonly occurring patterns in design that are repeatable and generalist enough to be written down and named as software design constructs that all can commonly identify and apply. Note however that a design pattern refers to the logical structure of the code, what it does and how it addresses the issues, not on direct code portability across projects, but in the portability of the way design issues can be addressed.

Imagine yourself working in a project team and someone just wrote a class and is trying to explain to you that only one instance is allowed. Instead the person could simply say "The class I just wrote is a Singleton".

Patterns can be classified in different categories, of which the main categories are: Creational Patterns, Structural Patterns and Behavioral Patterns.

 * /Development stages/

title: Computer Science Design Patterns


text:
Ada Programming/Ada 2005

This is an overview of the major features that are available in Ada 2005, the version of the Ada standard that was accepted by ISO in January 2007 (to differentiate it from its predecessors Ada 83 and Ada 95, the informal name Ada 2005 is generally agreed on). For the rationale and a more detailed (and very technical) description, see the Amendment to the Ada Reference Manual following the links to the last version of every Ada Issue document (AI).

Although the standard is now published, not all compilers will be able to handle it. Many of these additions are already implemented by the following Free Software compilers: After downloading and installing any of them, remember to use the  switch when compiling Ada 2005 code. Note that Ada 2005 is the default mode in GNAT GPL 2007 Edition.
 * GNAT GPL Edition
 * GCC 4.1
 * GNAT Pro 6.0.2 (the AdaCore supported version) is a complete implementation.

Character set
Not only does Ada 2005 now support a new 32-bit character type — called Wide_Wide_Character — but the source code itself may be of this extended character set as well. Thus Russians and Indians, for example, will be able to use their native language in identifiers and comments. And mathematicians will rejoice: The whole Greek and fractur character sets are available for identifiers. For example, Ada.Numerics will be extended with a new constant:

π : := Pi;

This is not a new idea — GNAT always had the -gnatic compiler option to specify the character set. But now this idea has become standard, so all Ada compilers will need to support Unicode 4.0 for identifiers — as the new standard requires.

See also:

Interfaces
Interfaces allow for a limited form of multiple inheritance similar to Java and C#.

You find a full description here: Ada Programming/OO.

See also:

Union
In addition to Ada's safe variant record an unchecked C style union is now available.

You can find a full description here: Ada Programming/Types/record.

See also:

With
The with statement got a massive upgrade. First there is the new limited with which allows two packages to with each other. Then there is private with to make a package only visible inside the private part of the specification.

See also:

Not null access
An access type definition can specify that the access type can never be null.

See Ada Programming/Types/access.

See also:

Anonymous access
The possible uses of anonymous access types are extended. They are allowed virtually in every type or object definition, including access to subprogram parameters. Anonymous access types may point to constant objects as well. Also, they could be declared to be not null.

With the addition of the following operations in package, it is possible to test the equality of anonymous access types.

"=" (Left, Right : universal_access) Boolean; "/="(Left, Right : universal_access) Boolean;

See Ada Programming/Types/access.

See also:

Containers
A major addition to the language library is the generic packages for containers. If you are familiar with the C++ STL, you will likely feel very much at home using. One thing, though: Ada is a block structured language. Many ideas of how to use the STL employ this feature of the language. For example, local subprograms can be supplied to iteration schemes.

The original Ada Issue text has now been transformed into .

If you know how to write Ada programs, and have a need for vectors, lists, sets, or maps (tables), please have a look at the mentioned above. There is an !example section in the text explaining the use of the containers in some detail. Matthew Heaney provides a number of demonstration programs with his reference implementation of AI-302 which you can find at tigris.

In Ada Programming/Containers you will find a demo using containers.

Historical side note: The C++ STL draws upon the work of David R. Musser and Alexander A. Stepanov. For some of their studies of generic programming, they had been using Ada 83. The Stepanov Papers Collection has a few publications available.

Scan Filesystem Directories and Environment Variables
See also:

Numerics
Besides the new constant of package (see Character Set above), the most important addition are the packages to operate with vectors and matrices.

See also:

(Related note on Ada programming tools: AI-388 contains an interesting assessment of how compiler writers are bound to perpetuate the lack of handling of international characters in programming support tools for now. As an author of Ada programs, be aware that your tools provider or Ada consultant could recommend that the program text be 7bit ASCII only.)

Real-Time and High Integrity Systems
See also:

Ravenscar profile
See also:

New scheduling policies
See also:

Dynamic priorities for protected objects
See also:

New keywords
Added 3 keywords (72 total)

New pragmas
Added 11 pragmas:

New attributes
Added 7 attributes:

New packages

 * Assertions:

 * Container library:
 * (generic procedure)
 * (generic procedure)
 * (generic procedure)
 * (generic procedure)
 * (generic procedure)

 * Vector and matrix manipulation:

 * General OS facilities:

 * String hashing:
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)
 * (generic function)

 * Time operations:

 * Tagged types:
 * (generic function)

 * Text packages:

 * Wide_Wide_Character packages:

 * Execution-time clocks:

 * Dispatching:

 * Timing events:

 * Task termination procedures:

Wikibook

 * Ada Programming/Ada 83
 * Ada Programming/Ada 95
 * Ada Programming/Ada 2012
 * Ada Programming/Object Orientation
 * Ada Programming/Types/access
 * Ada Programming/Keywords
 * Ada Programming/Keywords/and
 * Ada Programming/Keywords/interface
 * Ada Programming/Attributes
 * Ada Programming/Pragmas
 * Ada Programming/Pragmas/Restrictions
 * Ada Programming/Libraries/Ada.Containers
 * Ada Programming/Libraries/Ada.Directories

Pages in the category Ada 2005

 * /Ada 2005 feature

Papers and presentations

 * Ada 2005: Putting it all together (SIGAda 2004 presentation)
 * GNAT and Ada 2005 (SIGAda 2004 paper)
 * An invitation to Ada 2005, and the presentation of this paper at Ada-Europe 2004

Rationale

 * Rationale for Ada 2005 by John Barnes:
 * Introduction
 * Object Oriented Model
 * Access Types
 * Structure and Visibility
 * Tasking and Real-Time
 * Exceptions, Generics, Etc.
 * Predefined Library
 * Containers
 * Epilogue
 * References
 * Index

Available as a single document for printing.

Language Requirements

 * Instructions to the Ada Rapporteur Group from SC22/WG9 for Preparation of the Amendment to ISO/IEC 8652 (10 October 2002), and a presentation of this document at SIGAda 2002

Ada Reference Manual

 * Ada Reference Manual, ISO/IEC 8652:1995(E) with COR.1:2001 and AMD.1:2007
 * Annotated Ada Reference Manual, ISO/IEC 8652:1995(E) with COR.1:2001 and AMD.1:2007 (colored diffs)
 * List of Ada Amendment drafts

Ada Issues

 * Amendment 200Y

|Ada 2005 *Ada 2005 *Ada 2005

title: Ada Programming/Ada 2005


text:
Blender 3D: Noob to Pro/Quickie Material

In this module, you will create a new material called "Green Ooze". Along the way, you will learn how to alter the diffuse, specular, and mirror colors of a material.

Your First Material

The cube in the default scene (which you get from File → Load Factory Settings) has a simple grey color. Now click on the Materials context in the Properties  window.

The materials context contains various menus, but for now you only need diffuse, specular and mirror. The material is named and linked in the panel above the preview window. ( is a feature that allows materials to be shared between multiple objects (or datablocks). Changing a material affects the appearance of everything it is linked to.)

The first row of the window above the preview window indicates that:
 * there is one material assigned to this object and its name is "Material".

The second row of controls indicates that:
 * The current selected material's name is "Material".
 * This material will only be saved if it's in use.
 * It is not a "Nodes" material.
 * Instead of being linked directly to an object, the current material is linked to a datablock.

To rename the material, click on the name and enter the name you want.

To unlink the material, click on the X button to the right of the material name ("Material"). Do this now. This deletes the link to the datablock, removing the material from the mesh. As a side-effect, most of the panels in the Material context disappear. You will see in a moment, however, that the material still exists. It hasn't been deleted; it is simply no longer in use.

At this point, you could click the "New" button to create a new material, but instead we are going to reapply the old material:
 * 1) Click  on the [[File:Next new button.png]] button to the left of the "New" button.
 * 2) You'll see a nifty drop-down list containing all materials you've created so far. Choose 0 Material.

Materials whose names are preceded by "0" in this list are not in use. By default, Blender doesn't save such materials when it saves the scene. Thus, you can delete a material from the list by saving the scene and then reopening it. You can override this behavior by toggling the "F" button "on" for unused materials you want saved.

Your materials will be much easier to find and manage if you give them brief, descriptive names you can recognize at a glance. Change this one's name to "Green Ooze". In addition, naming of your materials and other objects in your scene is useful when such components of your scene will be appended in another scene of a different Blender file. Naming your materials and other stuff in the scene will enable you to choose the right objects and materials you need whenever you wish to append just a portion of a whole bunch of work you did. For instance, you're working on a new Blender project, but felt the material you used in this Blender file is worth it. Instead of going through the pain of creating a new material (of course you guessed in the initial one in getting the right material appearance), you just append the material to your new work. Pretty simple! Make naming a habit, as it's much used in a production environment.

Specifying Colors
Simple materials are specified by three colors: diffuse, specular and mirror. Rectangular patches (swatches) of the colour in their own panel in the Material context allow you to see and change each of these. Diffuse color is the basic underlying color of the material, rendered by the. Specular color is for highlights (small bright spots on a shiny surface) as rendered by the. Mirror color is for true reflections rendered using ray-tracing.

There are many ways to define colours. Blender supports three:

 * RGB: By specifying relative amounts of red, green and blue primary colours, by giving a number from 0.0 to 1.0 for each component. For example, (R, G, B) = (0, 0, 0) specifies black (no colour at all); (0, 1, 0) is full green; (1, 1, 0) (full red + full green) is yellow; (0.5, 0.5, 0.5) is 50% grey, and (1, 1, 1) is full white (maximum intensity of all components). Note that this is additive mixing of colours, which is what happens when you shine lights of different colours onto a white screen, not the subtractive mixing that takes place when you mix different-coloured paints or inks on paper or canvas.
 * HSV: By specifying a hue (colour position on the rainbow) together with a saturation (strength of colour, from garish down to pastel, with zero giving shades of grey) and value (brightness). This is generally considered to be easier to use than RGB notation when you are trying to create new colours (as opposed to copying a colour spec from somewhere else), since it is easier to predict what the likely result will be. HSV is commonly represented on a colour wheel, where the hue is the angle around the circle, saturation the distance from the centre, and value controlled by a separate brightness slider (as shown below).
 * By specifying a 6-digit hexadecimal number. This is just an alternative form of RGB notation, commonly used for colour specifications in Web pages.

If you click on any colour swatch, the colour picker will pop up, allowing you to change the values. This is the most intuitive way. The window that appears will look like this and will include the following (Figure 2):
 * 1) A color wheel to change the color as you want. In HSV mode, H corresponds to angle around this wheel, while S corresponds to distance from the centre.
 * 2) Three color sliders that will change if you change the color in the colorwheel. You can also change the values with the sliders.
 * 3) A slider that controls the intensity of the color. This corresponds to the V in HSV.
 * 4) A pipette capable of sampling colors from any Blender window or render window.
 * 5) Buttons that can change it to "HSV" or "HEX" mode.

 * Alternatively you can specify hue, saturation and value components by clicking on the "HSV" button and pushing the sliders around accordingly.

 * You can also press the last button and enter the hexadecimal (or HEX) code. This is simply a different representation for RGB, where the hex digits represent rrggbb.

HSV is probably the most easily understandable way of specifying and experimenting with colours. However, as is common with most computer systems, all colours in Blender are represented internally as RGB.

If you want to get rid of the window just click anywhere else.

The most used method of creating a color of your own is using the color wheel, but because we want to be sure you will get the exact same color as us we will use the sliders. Use the above methods to set the diffuse color to R=0.149, G=1.000, B=0.446 (or use the HEX code: 6CFFB2). If you look in the "Preview" panel, you will see that the material is now bright green.

Most real-life materials (other than metals) don't alter the color of specular light. For this reason, Specular and Mirror are usually left at their default values (white). For green ooze, however, you'll disregard this rule-of-thumb:

 * 1) Click  the sample rectangle below the Specular window.
 * 2) Use the color selection dialog to adjust the specular color and watch the Preview panel to see how this color affects the sample sphere's highlight.
 * 3) Set the specular color to R=0.640, G=0.990, B=0.566 (or use the HEX code: D1FEC6).

With these values for Color and Specular, you should be able to get a good ooze later on. The Preview, Diffuse and Specular panel should now look like this:

As you can see, there are many other material buttons. Many of these will be explained in later modules. Suggestions for creating specific materials may be found in.

Save this scene before proceeding. You will need it for, in which you will perfect your ooze.


text:
SA NC Doing Investigations/Chapter 1

What is a resource book and why a resource book for investigations?
It may be useful first to start by considering what a resource book is not. You can't open a resource book and expect to find the answers to every question on every topic covered in the resource book because it is not an encyclopaedia. You can't open a resource book and expect to find every definition of every term and concept because a resource book is not a dictionary. You can't unfold a resource book and find the exact route between this idea and that one because it is not an atlas. You can't open a resource book and expect to find an exhaustive list of quick and easy methods for performing every activity on every topic because a resource book is not a recipe book. And you can't expect to find a detailed explanation of every important concept and how to grasp and understand it because a resource book is not a textbook. So if a resource book is none of these things it begs two questions: what exactly is it? And, if it is to be of any use at all, what must it do? Â· feature mentioned above and could look like an encyclopaedia, or a dictionary, or an atlas, or a recipe book, or a textbook. But it won't contain enough of any one feature to call it that thing alone. Â· we may have taken for granted. They also contain:
 * A resource book might be called a "starter pack". It could contain elements of each
 * What resource books do contain are: ideas that start us on a critical re-think of areas
 * hints, suggestions and ideas that start us thinking in new directions;
 * leads that start us developing completely new ideas;
 * some useful information on specific topics;
 * directions to other sources containing yet more useful information;
 * examples that illustrate ideas or plans e.g. lesson worksheets;
 * suggestions for actions that we can take to achieve certain goals.

This resource book is about investigations, mainly in science, somewhat in mathematics, to a small degree in technology and occasionally a combination of all three. Examples show how the investigation of some science topics involve a lot of good mathematics learning, and vice versa. When we do an investigation we make use of whatever tools and methods we can to find answers and increase our knowledge on a topic. We may even invent methods that help us, as Sir Isaac Newton did to help him develop his theory of gravity, discussed in the next section.

Some resource books are more comprehensive than others, but none is ever complete. The primary aim of this resource book is to put you on the right road and get you started on a journey. The journey is one of discovery therefore it cannot be mapped out perfectly ahead of time It may not give you all the answers to your every question but it will give you enough support and encouragement to get you going again Â in this case on how to use investigations in your science and mathematics teaching.

Why a resource book for investigations?
South Africa and South Africans have performed a social and political miracle over the past decade. But no society or nation prospers on warm, fuzzy feelings of political self- satisfaction. To perform the next stage of our miracle, South Africa's economy must grow. Economies need raw materials like minerals and agricultural products to do so. But as we say, while raw materials are necessary, they are not sufficient. Real economic growth only comes about when we have people with the skills to make our natural resources work for us. It's a simple equation, really:

Raw materials +  well-educated, skilled people = high quality products  +  economic growth.

A growing economy means more people with jobs, better prospects and more fulfilling lives. That is the payoff for anyone backing either of the terms in the left hand side of our equation! The prospector for raw materials and those who promote good education in important areas of the curriculum are performing similar services for the country. As we peel away the layers of the growth equation, we find that certain disciplines are critically important in growing a modern economy, notably mathematics, language and science. Close on their heels are technology and entrepreneurship.

This resource book aims, through investigations in science, mathematics and technology, to teach the following skills critical to economic growth:

 * Learning to look rather than just seeing

relevant, practical situations, not merely studying them theoretically.
 * Understanding concepts in science and mathematics by working with them in

make sense of it.
 * Collecting evidence (data) from real-life situations and using mathematical tools to

making measurements) during the investigation.
 * Designing and making devices and apparatus to help in the collection of data (e.g.

 * Developing and using creativity, ingenuity and insight in investigations.

 * Taking initiative in the solving of problems.

Our hope is that by encouraging learner independence in the new curriculum, we will aid the development of critical, economic skills. The connection may seem slight but those skills are absolutely necessary to set South Africa on its economic renaissance. Although it is a cliche, it really is true that every journey begins with the first step! This resource book on investigations is intended to be that first step, or at least to help it.

title: SA NC Doing Investigations/Chapter 1


text:
SA NC Doing Investigations

DOING INVESTIGATIONS: A RESOURCE BOOK FOR GET & FET MATHEMATICS & SCIENCE EDUCATORS

A project of the Shuttleworth Foundation.

EDITOR: Peter Glover,

B.Sc. (Hons), N.H.E.D. (Rhodes), M.Litt. (Cantab), Ph.D. (Oregon)

SHUTTLEWORTH FOUNDATION P O BOX 4163 DURBANVILLE 7551

TEL: 021 970 1200 &Acirc &middot FAX: 021 970 1201

[Shutteworth Foundation Home page]

This resource book is licenced under the Gnu Free Documentation Licence [1] (FDL). This licence entitles anyone to print, copy or distribute the books without penalties from the copyright holders. The licence maintains the integrity of the authors while promoting free distribution.

[1][Gnu Free Documentation Licence]

MESSAGE FROM MARK SHUTTLEWORTH
It has been an honour to meet educators around South Africa who create, in their pupils, a sense of wonder about the worlds of science, technology and entrepreneurship. South Africa, sitting as it does at the intersection of cultures and economies, is an unexpectedly good place to think about technology and science. We have a track record of achieving remarkable results in science and engineering, much of that thanks to the educators who have inspired children to take an interest in the world in which they live. I hope this resource book helps to spread that sense of wonder while also recognising the work of a few out of the many who make such a difference.

PREFACE BY SIPHO DLAMINI
It is a little surprising that only now, after more than a decade of curriculum innovation in South Africa and with increasing emphasis on Curriculum 2005, we are starting to provide resource books for GET and FET mathematics and science teachers. The Shuttleworth Foundation is taking the initiative in producing a series of resource books that encourage teachers and curriculum developers to rethink and re-engineer how we should teach science and mathematics in schools. We cannot forget that teachers must also be curriculum developers for the process of curriculum innovation to prosper.

Mathematics and science curriculum development has three domains: the cognitive, the so-called conative and the affective. Cognitive development is concerned with knowledge and understanding. In mathematics and science this means key concepts and factual knowledge and these are identified and described in the Revise National Curriculum Statements as Learning Outcomes. Conative development is concerned with the practical and procedural knowledge found in science process skills and mathematical problem solving abilities, also described in the RNCS. Affective development is concerned with emotional, social, cultural and moral development. This is an important, although often forgotten, aspect of learning - and hence teaching. Its importance is recognized by the learning outcomes in various Department of Education policy documents and, importantly, the critical and developmental outcomes that underpin our whole education effort.

What, in the new curriculum, should be taught and learnt in school mathematics and science? Here are some answers to the question, in one possible direction. The kind of mathematics and science that needs to be taught in schools must give learners a confident grasp of content knowledge and understanding the procedural skills to know how mathematicians and scientists work  and appropriate attitudes to mathematics and science and their value and use in society and economy. This resource book illustrates the curricular relevance of independent investigation in achieving these teaching and learning goals.

Peter Glover has been active mainly in the science education world. He has taught, lectured and researched curriculum development. He has been director of an innovative curriculum organization, the Primary Science Programme, and has managed reform projects such as the Thlatloga Project, from which much material in this book emanates. He has developed and written science, technology and mathematics materials for Tlhatloga and elsewhere, including textbooks. Through his work he has always insisted on learner-directed, activity based approaches on the total immersion of teachers in their professional development activities  and in the creation of communities of professionals, especially through the formation of effective, mutual-support clusters of schools. In this resource book, he gives a sense of the best practice with which educators could enthuse learners to genuinely participate in mathematics and science, even in our many schools which still have the barest minimum of basic resources. It is therefore heart-warming to note that some of the materials in the book have been developed and used by the successful educators who were selected in the Maths and Science Teacher of the Year (MSTotY) competition. They share with us some very useful ideas on assessment practice and implementation.

I hope that this resource book and the series that will follow will help many educators to develop themselves into innovative mathematics and science educators in ways that are both satisfying to them and stimulating to their learners.

Sipho Dlamini MST Senior Project Manager Gauteng Institute for Educational Development

ACKNOWLEDGEMENT OF SOURCES OF MATERIALS
Some of the material in this book is the work of individual winners or runners up in the Maths and Science Teacher of the Year (MSTotY) 2003 competition e.g. materials they developed and presented as part of their portfolios for adjudication in Chapter 7. Individuals whose work is reproduced here are acknowledged in the book. The contents of Chapter 3, The wisdom of the winners: hints and ideas for science and mathematics educators  Chapter 4, Ideas for investigations and Chapter 8, Clusters, support networks and communities of practice is largely the product of a workshop held over three days when the MSTotY 2003 winners came together in Johannesburg in March 2004. The examples in Chapter 6 were written for the Tlhatloga Project, a development project for Intermediate Phase educators by the University of Montana Western from 2000 2003. Chapter 5 is based on material developed by Maryna de Lange, winner of the 2002 MSTotY award. Many of the ideas for investigation topics in Chapter 4 also came from Maryna whose classes at Saldanha Bay Primary are doing regular investigations. Finally, Chapters 1, 2, 9 and 10 were either written or compiled by the editor, sometimes with re-formatting. Other materials written or edited by the editor appear in Chapter 6. The investigation into numbers in Chapter 6 was developed by Professor Otis Thompson, formerly of the University of Montana Western. Three hundred teachers who took part in the Tlhatloga Project know the pleasure of his stimulating mathematical company.

There are many references in Chapter 10 to material from the web, a rich resource for educators with internet access. One hopes that in the not too distant future all educators will be able to use information from the web to the benefit of their teaching. The Shuttleworth Foundation s efforts should speed this process.

The names and contact details of the MSTotY 2003 winners and runners up are recorded here. Experienced colleagues are still an educator's best resource and the MSTotY finalists are, almost by definition, more committed to this than most. Every one, in his or her own way, is willing to help with the establishment of science and mathematics support networks and clusters. Most have already done so.

title: SA NC Doing Investigations


text:
SA NC Doing Investigations/Chapter 2

Introduction to the book and its theme: investigations
The theme of this resource book is investigations. Investigation is important to science, mathematics, engineering and technology educators because investigation lies at the heart of those disciplines. In the natural sciences, we investigate phenomena in our physical and biological environments, both the seen and unseen and both the very large and very small. In mathematics we investigate abstract ideas that arise from our chosen axioms. We look for mathematical relationships between variables that we study and we seek mathematical models in the quest to find the "best fit" between physical reality or human activities and the data we collect about them. In technology we investigate problems arising out of human "needs and wants" and we seek the best or optimal solutions to those problems. We are homo sapiens not so much because we are wise but because we are forever trying to become wiser and to know and understand more and better than we did before.

How do we know this? Well, just start by looking at children and the way young, pre- school children will probe, examine, try out, explore and inquire if they are left to themselves in an unfamiliar but friendly environment. What children do is natural to the type of being we are. Unfortunately the way we teach children - more than the actual content of our teaching - often removes the natural spirit of inquiry more than encourages it.

We can also look at the lives of any of the great scientists, mathematicians, engineers and technologists who could also be regarded as inventors. Some of them may have been motivated by their pride, their competitive nature, a desire to "be the first" or the desire to claim authorship of an idea and be recognized by their peers and by history. Others may have been driven by commercial motives and what they stood to make from their discoveries and inventions. But the deepest and most common motivation of all scientists, mathematicians, engineers and technologists finds expression in three, simple, human needs:

1. the need to know more;

2. the need to understand better; and

3. the need to find solutions to problems (and the need to make a device work well).

Six great mathematical and scientific investigators
"Science and mathematics are not everything but they are beautiful." (J. Robert Oppenheimer)

We can speculate about what drives someone to wrestle doggedly with a problem for years and years, even when no obvious solution is in sight. Take someone like Andrew Wiles, the young mathematician who found the solution to perhaps the most famous mathematical problem of the past thousand years: Fermat's Last Theorem. Despite having got it wrong when he first announced that he had solved the problem (and despite the scorn of some other mathematicians at the time) he returned to the problem (with encouragement from his friends, it must be said) and found the correct solution.

Why did he do it? Why did he sit for years in a small study and forego beautiful spring and summer days, the company of friends, the laughter of children and the excitement of great world events? What drives humankind to such extraordinary and single-minded feats of the intellect? [A very readable account of Fermat's Last Theorem and the quest to prove it can be found at [www.prometheus.demon.co.uk/01/01/fermat.htm]. An interview with Wiles is reproduced at [www.pbs.org/wgbh/nova/proof/wiles.html].

Johannes Kepler studied data about the planets for over 20 years, (1596 to 1619) before he was able to formulate his three laws of planetary motion. What Kepler found was a set mathematical formulae or a mathematical model that could fit the available data. However, he only explained that planets moved on the orbits they did and not why. It took one of the greatest scientific investigators of all time, Sir Isaac Newton, to give an explanation for the planets' elliptical orbits through his invention of the calculus as a mathematical tool to help him solve the problem.

Newton did not think to publish his results until he was urged to do so by the astronomer Edmund Halley, after whom the comet was named. Why? Probably, for Newton, his reward was the thrill of discovery after years of investigation and the simple satisfaction of knowing that he knew. Newton investigated many things as he fed his insatiable curiosity about the phenomena in his universe. He is rumoured, during his investigations of light and sight, to have inserted a probe into his eye socket to discover how his eye was fixed in it. His eye took several weeks to recover and one hopes that satisfying his curiosity compensated for his discomfort! He also tasted enough heavy metal compounds to give himself mercury poisoning, a fact which probably explains his legendary bad temper, paranoia and erratic behaviour at certain times of his life.

Michael Faraday was a man of little formal schooling and was self-taught in the ways of scientific investigation. Yet he discovered how to generate electricity using a moving magnet inside a coil of wire. Magnetic induction, as the effect is known, is still one of the most important, practical discoveries ever made in physics. "But what's the use of it?" asked Mr. Gladstone, then Chancellor of the Exchequer (Finance Minister) and later Prime Minister of England. "Why, sir," replied Faraday in a flash, "there's every probability that you'll soon be able to tax it." But taxes and commercial interests were furthest from Faraday's mind during his years of investigation which led to his discovery. He consistently refused the honours and riches that would have been lavished on him had he chosen to accept them. In 1875, six years after Faraday's death, the German scientist A.W. Hoffman, wrote

"...Faraday belonged, from the universality of the benefits conferred by his genius on the human race, not merely to the island of his birth, but to all the civilized countries of the globe ..."

Perhaps the greatest investigator of the modern, western world in the past millennium was an Italian painter, sculptor, anatomist, engineer and inventor called Leonardo da Vinci. Some have called him "the Renaissance Man". (The word "renaissance" means "rebirth".) For many centuries in Europe a tight lid had been kept on the spirit of investigation. It was as though the authorities, both religious and secular, believed that if people were allowed to investigate and question freely it would result in chaos and anarchy. The same authorities brutally discouraged people from asking awkward questions or from investigating the unknown. What was known was known, they seemed to say, and everyone should be satisfied with that state of affairs. But someone forgot to tell da Vinci and he studied and investigated everything that caught his interest. And that was just about everything. He dissected dead animals. He dissected dead humans. He made such accurate and detailed sketches of the muscles in these bodies that they have never really been improved on. He drew plans for a winged flying machine after studying birds in flight, parachutes after watching falling leaves and a type of helicopter after studying seeds falling from pods. He never built them because the light, strong materials he would have needed did not exist as they do today. But he imagined and designed them nonetheless. And Leonardo da Vinci lived from 1452 to 1519!

Albert Einstein's particular genius was to investigate crazy questions in his mind. "What," asked Einstein, "would I see if I traveled on a beam of light?" By using his imagination, he found an answer to his question, which surprised even him. But his belief in his conclusion, even though it contradicted what every other theoretical physicist believed at the time, led him to state "imagination is more important than knowledge." Another great scientist of his day, Max Planck, explained his observations of heat radiating from an object by cautiously suggesting that energy might occur as tiny, separate "packets" rather than a steady, unbroken stream. He was so disturbed by his own conclusion that he immediately began looking for ways to disprove it. Again, Einstein used his amazing imagination to prove Planck's theory.

Investigations in the curriculum
So how do we justify investigation in the curriculum? Easy. Investigations develop important skills e.g. identifying interesting questions; systematically seeking answers to puzzling questions; and solving intellectual and practical problems. Too many of us spend our lives seeing our environments fleetingly through unquestioning eyes. We see , but we don't really look. Educators have the responsibility to develop learners' spirit of open-minded and active looking instead of just passively seeing. Today's learner, who is tomorrow's citizen, must learn to look at and investigate the world, not as a school activity, but because it is a life habit. "LOOK at that!" "Wow, that's interesting!" "I wonder why it does that? I would have expected it to ... ." "Isn't that pattern amazing? Is it perfectly symmetrical?" "Look how this has changed." "I wonder when ...?" and "what if ...?" and "how would ...?" and "why does ...?" and "why can ...?" and "why should ...?" And ultimately: "Aha! I have found it!"

In our science, mathematics and technology classes we cannot afford seeing without looking. We must nurture curiosity and we must turn curiosity into investigate-able questions. Learners must be taught how to ask meaningful questions and educators must make opportunities for their learners to answer them. Above all, we must encourage learners to dream. When you make the investigation of meaningful things a part of your curriculum, you will find it unlocking something powerful in your learners: a genuine enthusiasm for learning.

title: SA NC Doing Investigations/Chapter 2