text:
Talk:C++ Programming/Content/Archive 1

About forking
Why can't we use it? (it's in the naming proposal for books isn't it ?) Content being reproduced = if similar works or a divergence of, herr complexity of the book is created/implemented parts of the topics that are included in one version or another or even if it creates the need to introduce specific chapter lets say removing the STL to a dif. book and by doing so create the necessity of in a few lines try to give an introduction to the "topic", this is duplication of efforts and probably even content, more, such "derivations" are considered forks (fork is an split of effort, by creating a derivative work, this is why it's protected by the GFDL. Vision or topic, goal or even implementation may be the reason of the fork, but never the less a fork is equal to creating a derived work), this is part of the reason I state the fork policy is badly written, as it is it prohibits the split of chapters of a book into new books, if they become hosted in the wikibooks server even translations can be put in check they are forks/derived (some) form a book that is already on the server, any debate of this are only based on POV, as stated it's what we now have (see Fork (software development)...--Panic

Headers Reference Tables
moved from orphaned talkpage

i think every standard header deserves its own article, so i made them all link to articles which doesn't exist yet. --213.209.71.238 16:11, 20 July 2005 (UTC)

I do agree with you, for a newcomer to the language the use of external headers can be very confusing...--Panic 01:13, 10 September 2005 (UTC)

Needs to be easier to understand
In my opinion, this book needs to be dumbed down. People who come here to read about C++ probably have minimal programming experience, and are looking to get their feet wet. I am half way through studying to be an Electrical and Computer Engineer with a 3.2 gpa, I currently work as a Software Engineer, and I find myself having to read paragraphs 2 or 3 times before I understand what it is saying.

Yup technical books can be hard to fallow, can you give an example of how one should go about it (to dumb down the book) ? I did start to provide links to wikipedia on the introduction of some concepts that go beyond the scope of the book. Some parts can probably benefit from some more examples or can be extended to clarify some points, you and other contributors are free to edit as they see fit ...--Panic 02:20, 23 December 2005 (UTC)

Request: where do I put binary logical operations
There's a section on logical operations, but what goes in there? Is this for conditional operations only or are binary logical operations to be included as well? Also, I have written some text that explain how shifting works on a very basic level. This text follows from the discussion on binary boolean operations. Should I split it up? Where would I put it? Appendix? --Cleo

Can you put a link/page in the section

Items needing work * Merge...

are you building it from the ground up, adapting it from a prev. work ?

Try to see if parts can be used in: C++ Programming/Variables C++ Programming/Operators

or other sections... if not you can build it as a complete module and add it as an Appendix--Panic 04:08, 16 October 2005 (UTC)

I'm adapting from a previous work that I wrote but never released. I have binary boolean operations and shifting. Actually, I do have a section on boolean operators for conditional expressions as well. My main concern was the already existing but empty Logical operations section. hmmm... this is more an organizational issue than anything else. No disrespect to anyone... and how do I say diplomatically?.. Me personally, I find that the topics are arranged in a way that lacks flow to the content. As a purely reference book, this is fine... so it may be a moot point. Maybe I can explain myself better... I have content I wish to contribute, but I find myself frustrated as to where I should put it as it relates to other content in the book to give it continuity. And I'm not gonna go in and muck things around just because it suits me.

I think following the "if statement" section, it should follow with all things relating to conditional statements such as boolean or logical operators, early exit topics, else and else if topics etc. (in the correct order mind you). Single statements vs. block statement should be explained here or before. Then there should be another place where they talk about operators that work on integral types such as math operators, shifting, binary logical operators, etc. Then go on about floating point maybe. I like how all the loop topics follow each other. That's nice. But I find that variables and operators is rather vague. On the whole, to me right now it seems like the city planning of Paris. Great city, but I need a map for the map. I'm not mentioning this to be mean. I'm mentioning it because I have no idea where to contribute. And if I'm frustrated, I'm betting others don't even bother.

All right, I got it figured out. But it's gonna require a bit of reorganisation. I'll give it some more thought first. This post is more to sort my thoughts out. But if you have ideas/comments/disagree, I'd like to hear about it. --Cleo (frustrated)

You can copy-paste to the merge section as I said or you can find the right places to put them into, take a look into the single page of the book (it's easier to find what is where), you can move stuff around if someone (inc. me) disagrees they will move it back or ask you about the changes, this is a fluid work, you can also do a demo of your ideal structure and ask for agreement, even votes to make changes static (in a given lenght of time)...

After the merge of the 2 books most chapters are under heavy changes and reorganization, I think up to "Namespaces" things are in the right place, I've been keeping the monolithic version up-to-date with the changes I've been making...--Panic 05:12, 17 October 2005 (UTC)

Absolutely right! I'll reorganise things on my end text-wise. And try and make it fit. I can always move it later as you've said. I think I'll wait until after the merge and see how everything goes. Even now, the format is changing... Ok, this section before you (discussion) can be removed I suppose. I don't need it anymore. --Cleo 00:43, 18 October 2005 (UTC)

I also think that the organization could use a bit of improvement. The page titled "A statically-typed free-form multi-paradigm language" really doesn't need to be one of the first parts of the language that is introduced. Also, the next section "the preprocessor" also doesn't need to be learned (in my option) until after the reader types out and compiles their first hello-world program. I think that if this book is intended to teach then it should have a logical, flowing order. However if it is purely a reference book then the order is fine. If it is a suppose to be a reference book, then I think a seperate book intended to teach (which would, for the most part, be a collection of links to the reference book, and have a bit of instruction/explanation included) would also be beneficial. Because of the previous fork issue, I am not creating a seperate book, just suggesting that the scope of this book be clarified.--Athgorn 04:15, 22 December 2005 (UTC)

The chapters organization is not fixed it's a virtual arrangement one can always provide a dif. structure and/or add/remove chapters from that given display as for the content, yes, it's always evolving, contributors should take into account that the overall structure is not fixed and abstract from it as much as they can. As for presenting on the actual "structure" the part that refers to "A statically-typed free-form multi-paradigm language" at the beginning of the book (or near it), I think it must be present for the future reader to comprehend that the language does not fallow a single paradigm and this concept is needed to provide a description to what the C++ language is... The "the preprocessor" bit is needed to introduce the concept of #include for example, this is a somewhat technical book technical books are not to be read from cover to cover they are structure in a order that introduces concepts and tries to explain them as stepping stone to an overall objective in this case the C++ language, in dead trees books one find himself going back and forth reading some details that seemed unimportant at the time they were introduced in this digital format that is even easier to do... but as I said a reformulated structures can be created but this is more a possible costumization than a  real need... The scope of the book is defined on the book charter... --Panic 02:16, 23 December 2005 (UTC)

 * Oh, uh, ok. I stand corrected. Oh, and I'll try not to make edits that break things from now on. Athgorn 15:46, 23 December 2005 (UTC)

title: Talk:C++ Programming/Content/Archive 1


text:
XForms/Binds to many instances

Motivation
You often want to be able to bind to different instances in different models. This sample program shows you how to do this. Creating separated models is critical to allow clean submissions. You should always structure so that your submission data is in a single model. But this creates problems when referencing data elements without specifying what model the instance is part of.

Note in the example below the group element encloses the output for each model.

Sample Program
              Model 1   <xf:label>ref="instance('instance-1-1')/Message":</xf:label> </xf:output> <xf:output bind="bind-1-1"> <xf:label>bind="bind-1-1":</xf:label> </xf:output> <xf:output ref="instance('instance-1-2')/Message"> <xf:label>ref="instance('instance-1-2')/Message":</xf:label> </xf:output> <xf:output bind="bind-1-2"> <xf:label>bind="bind-1-2":</xf:label> </xf:output> </xf:group> Model 2 <xf:group model="model-2"> <xf:output ref="instance('instance-2-1')/Message"> <xf:label>ref="instance('instance-2-1')/Message":</xf:label> </xf:output> <xf:output bind="bind-2-1"> <xf:label>bind="bind-2-1":</xf:label> </xf:output> <xf:output ref="instance('instance-2-2')/Message"> <xf:label>ref="instance('instance-2-2')/Message":</xf:label> </xf:output> <xf:output bind="bind-2-2"> <xf:label>bind="bind-2-2":</xf:label> </xf:output> </xf:group>

Discussion
Note that you can not bind across models. This implies that complex calculations that need to access instance data in multiple models need to copy them into a single model before calculations are done.

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

title: XForms/Binds to many instances


text: Physics Study Guide/Print version/Section One


text:
Physics Study Guide/Print version/Section Preamble

If you have saved this file to your computer, click on a link in the contents to go to that section. = About this guide =


text: Physics Study Guide/Print version/Section Two


text: Physics Study Guide/Print version/Section Three


text: Physics Study Guide/Print version/Section Appendices


text:
Linux Guide/Security

Linux, compared to some other popular systems, is very secure, thanks to its UNIX heritage. However, while infecting one's system is difficult, it is not impossible. A mindset of paranoia is usually the most appropriate one with regard to security. In addition, viruses are far from the only part of security. Proper configuration and special care in multi-user systems with many clients are also to be considered.

Keeping Up-to-Date
No software is perfect. One will almost always find security holes in any sufficiently complicated piece of software. Thus, it is important to stay on top of all security updates provided by your distribution. Many distributions provide update tools to automatically check for updates. Your system may be able to update many packages automatically. Setting up automatic updates is normally a very good idea. Check if your distribution provides a security announcement mailing list, which will inform you of important updates.

Anti-Virus
Viruses are very uncommon on Linux and in general, you should not have to worry much about your system being compromised by one. However, your Linux system may act as a file-server for Windows clients or as an email-server that delivers email to Windows clients. In that case, one should ensure that files and emails are clean to prevent infection to your clients.

Samba has ability to plug into the popular free Linux anti-virus system, ClamAV. Your distribution likely has tools to configure this for you. Consult your distribution's documentation for more information.

Simple Firewall
At minimum you should employ a simple firewall. Below you will find a sample script to provide a simple firewall. I have used this script as a base for more complex firewall schemes on slackware and debian systems. It is a very simple script, perhaps others will feel compelled to contribute more advanced and specific use scripts as well.

 * 1) !/bin/bash
 * 2) Basic script to keep the server secured

iptables -F
 * 1) Flush the current tables.

iptables -P INPUT DROP iptables -P FORWARD DROP
 * 1) Default policy to drop 'everything'uyuy
 * 1) iptables -P OUTPUT DROP #BLOCKS ALL 'OUTBOUND' TRAFFIC

iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
 * 1) Allow local loopback communications (localhost).

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 * 1) Allow established connections with stateful connection tracking

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
 * 1) Drop packets of unknown origin which are not TCP/SYN related.

 * 1) Allow offered service clients to connect to ethernet interface.
 * 2) You may need to change your interface from eth1.
 * 3) HTTPd & SSL
 * 4) iptables -A INPUT -p tcp --dport 80 -i eth1 -j ACCEPT
 * 5) iptables -A INPUT -p tcp --dport 443 -i eth1 -j ACCEPT

 * 1) end script

First we flush the current tables, which basically means that your rule-set is about to change. We then establish 2 rules to drop (not reject) all traffic coming into or being forwarded through our computer. We would like to access the Internet so we create 2 more rules the first which allows traffic into our computer which is distinctly associated with our self initiated outbound requests. The second rule takes care of our localhost... our computer can access our computer and can make use of the network loopback interface. The final 2 rules allow port 80 http and 443 https, they are commented so the ports are not opened by default.

If you decide to utilize this simple script as a base reference please contribute to this page and topic. I have housed this script in several locations each has it's organizational pros and cons. I have placed this file in /root/ and in /root/bin/ and /etc/firewall/.

title: Linux Guide/Security


text:
Adventist Youth Honors Answer Book/First aid/Poison

With poison container in hand, call the local poison control center and do NOT try to make the patient vomit. Only induce vomiting if a poison center worker or a doctor advises you to do so. If the poison is on the skin or clothes, remove the clothing and wash with a large amount of water. If poison gets in the eyes, flush the eyes with clean water for 10 minutes.

Get the victim to a hospital as soon as possible, and if possible, bring the poison container with you.

|


text:
Cookbook:Momo

Momos are a kind of dumpling popular in Nepal, Sikkim and Tibet, and are similar to Chinese potstickers.

Momo are made of a simple flour and water dough. White flour is generally preferred, and sometimes a little yeast or baking soda is added to give a more 'doughy' texture to the finished product. The filling may be one of several mixtures, described below:

These fillings are then enclosed in a round of the above dough, which is sealed in a circular fashion, resembling a pinwheel, though it's also not uncommon for them to be folded in half and sealed.
 * Minced beef, or beef and pork, combined with any or all of the following: onions, shallots, garlic, and cilantro (coriander leaves). The mixture is usually spiced with salt, pepper, and often ground cumin. Some people also add finely puréed tomatoes, though many variations are possible.
 * Vegetarian, predominantly made from onions and cabbage, and frequently curried. Finely diced vegetables are also added, as well as various spices.
 * Potato, somewhat similar to Indian samosas, with small dice of firm potato in a tomato based sauce.
 * Cheese, usually a fresh cheese, this variety is common in Sikkim.

The resulting dumplings are then cooked by steaming over a soup (either a stock based on bones or tomato-based), which is served with the dumplings, as well as chilli sauce.

title: Cookbook:Momo


text:
Cookbook talk:Momo

I do it in a different way:

for the filling: I fry the meat first, before I put it in the momo.

Cooking the momos: I arrange them in a pan with oil, and fry them a little bit, until they get some color on both sides. then I add water to the hot pan, so 1/3 of each momo is in the water. This has the effect of steaming and boiling at the same time.

title: Cookbook talk:Momo


text:
Wikijunior talk:The Elements/What's a molecule?

It seems to me that it can't be quite right to 'tell' 8- to 12-year olds what molecules are. It would be a mistake to reduce science to a formulaic procedure. To teach science as a merely a series of facts seems to me rather more like indoctrination than the encouragement of critical and incisive thinking with which science at its best entails.

A more appropriate approach for young people might be more strongly empirical with the inclusion of historical details where appropriate. This would put science in a somewhat broader context than that of technical problem-solving or mere 'factual' knowledge. It would also allow the young readers the opportunity to think for themselves and encourage critical thinking, without totally destroying the sense of mystery which is where discovery comes from.

Does a ground level explanation of molecules really need the wowee 'cool' detail that sodium and chlorine are explosive in combination? Even as an unreconstructed male this seems to me to be an unnecessarily 'masculine' approach.

Why, other than for contemporary dogma, do we think that molecules exist? What simple experiments/onservations would confirm that molecules do represent reslity? In what framework would an 8-year old imagine this? It's very difficult to do this well.

David Pollard 00:34, 21 October 2006 (UTC)

Sodium chloride is not a molecule
Ionic compounds are described by empirical formulae, and should not be referred to as molecules.


text:
Wikijunior talk:The Elements/Gold

Value
Doesn't this need some mention of the reason why gold originally came to be valuable?

It could be found, in the right places, in lumps and it was malleable. It was presumably the first metal that could be worked. Not only does it shine, it can also be formed into different shapes with simple tools.

David Pollard 00:33, 21 October 2006 (UTC)

Stage
What is left to mark this a complete? Klingoncowboy4 21:01, 20 November 2006 (UTC)

 * I thought it was pretty much complete when I saved my edits last night, but didn't want to move it over myself. --xixtas 04:18, 21 November 2006 (UTC)

 * That's what I figured, I just wanted to be sure. Klingoncowboy4 22:55, 21 November 2006 (UTC)

 * I just cleaned up a bunch of typos, (and added a couple of factoids). I would recommend not marking something complete until a few eyeballs have looked for typos, punctuation errors, and the like. --Eliyahu 05:43, 28 November 2006 (UTC)

 * Yes, there were a few in there. My fault. There aren't that many eyeballs looking at (or at least editing) these books. I should have been more careful. I'm not sure we need to mention that thin sheets of gold are called gold leaf twice in the article. I thought it was better to include that information in "how is it used?" rather than "what does it look like?" Thanks for contributing, your edits have really improved the article overall. --xixtas 04:32, 29 November 2006 (UTC)

Gold teeth
Yes, gold is used in dentistry, but that is not a very good argument for its safety (which I do not dispute). Mercury is also used in fillings, and it is decidedly not safe to ingest.

title: Wikijunior talk:The Elements/Gold


text:
Adventist Youth Honors Answer Book/First aid/Choking

Coughing is the body's natural defense against choking, and it is generally very effective. If the victim is coughing, do not interfere. If the victim stops coughing (or was never coughing in the first place), ask her "are you choking?" If the victim indicates that she is choking, tell her you are going to help her. To do this, you will need to perform the Heimlich Maneuver.

Briefly, a person performing the Heimlich Maneuver uses their hands to exert pressure on the bottom of the diaphragm. This compresses the lungs and exerts pressure on any object lodged in the trachea, hopefully expelling it. This amounts to an artificial cough. (The victim of an obstructed airway, having lost the ability to draw air into the lungs, has lost the ability to cough on their own.)

Even when performed correctly, the Heimlich Maneuver can injure the person it is performed on. The Heimlich Maneuver should never be performed on someone who can still cough, breathe, or speak. It should not be demonstrated or practiced on a healthy, non-choking person.

|


text:
Adventist Youth Honors Answer Book/First aid/Shock

Shock is a medical condition where the delivery of oxygen and nutrients is insufficient to meet the body's needs. The main carrier of oxygen and nutrients in the body is the blood, so anytime there is a loss of blood, there is a risk of shock. First aid treatment of shock includes:
 * Immediate reassurance and comforting the victim if conscious.
 * If alone, go for help. If not, send someone to go for help and someone stay with the victim.
 * Ensure that the airway is clear and check for breathing. Place the victim in the recovery position if possible.
 * Attempt to stop any obvious bleeding.
 * Cover the victim with a blanket or jacket, but not too thick or it may cause a dangerous drop in blood pressure.
 * Do not give a drink. Moisten lips if requested.
 * Prepare for cardiopulmonary resuscitation (CPR).

|


text:
Adventist Youth Honors Answer Book/First aid/Rescue breathing

 * If the patient is breathing, do not administer rescue breathing. Rescue breathing is an emergency treatment that may help the victim regain the ability to breathe on his own.
 * Tilt the victim's head back, and lift their chin (head-tilt chin-lift). The head will not remain in this position by itself, you must maintain the head-tilt chin-lift throughout.
 * In certain cases, you may not be able to give rescue breaths through the mouth - blow into the nose and seal the mouth instead.
 * Pinch the victim's nose
 * Put your mouth on the mouth of the victim, maintaining a good seal, and blow into the mouth. These breaths should be gentle and last no longer than 2 seconds to prevent air from entering the stomach.

When you have given two rescue breaths, begin chest compressions if you are trained to do so. Otherwise, continue with rescue breathing: 2 breaths every 5 seconds.

If the victim has recovered spontaneous respiration, put him in the recovery position, cover him, and monitor his breathing on a regular basis until an ambulance arrives.

|


text:
Adventist Youth Honors Answer Book/First aid/Bleeding

If you see a person who is bleeding heavily, you can do the following:
 * 1) Press hard onto the wound to stop the bleeding.
 * 2) If an arm or leg is cut, elevate the limb.
 * 3) Cover with a clean pad and apply a bandage.
 * 4) Check that the bleeding has stopped. If it has not, add another pad, and bandage, do not remove previous bandage.
 * 5) If you have bandaged a limb, check frequently that the fingers and toes remain warm. If fingers and toes are getting cold, loosen the bandage to let the blood circulate.
 * 6) For severe bleeding (5 cups of blood or more), get the person to a hospital for stitches (and possibly immunization against Tetanus) keeping the limb raised.

/Overlapping requirements


text:
Genealogy/Poland

Here are listed a group of external links originally deposited by users in the Wikipedia article on Genealogy.

 * Polish Genealogical Society of America

title: Genealogy/Poland


text:
Adventist Youth Honors Answer Book/Health and Science/First Aid, Standard

Instructor for Skills Required

If residing in the United States or another country in which Red Cross instruction is given, satisfactorily pass the Red Cross Examination in Standard First Aid and receive your certificate.

In British countries pass the examination in St. John Ambulance and receive certificate for the same.

Or complete the following requirements:

5. Know the proper method of applying a tourniquet and when to apply one.
A tourniquet is a tightly tied band applied around a body part (an arm or a leg) sometimes used in an attempt to stop severe traumatic bleeding. Severe bleeding means the loss of more than 1,000 ml (1 litre) of blood. This flow of blood can soak a paper or cloth handkerchief in a few seconds. In such a situation, the bleeding will cause the death of the casualty in seconds to minutes.

A tourniquet is a last resort method of bleeding control. Other methods that should be applied first and in conjunction, if possible, include:

 * direct pressure
 * elevation of the limb or wound above the heart
 * the use of a pressure point to slow the artery above the injury(s)
 * blood-clotting agents or bandages

Even in cases of amputation, most bleeding can be controlled through these alternative methods. The rare exception is when a limb is shattered by massive trauma or when a major blood vessel is torn along its length. Even in these cases, the use of a pressure point above the wound is strongly preferred.

As the tourniquet stops blood flow to the limb, it can cause the death of the limb, forcing the later surgical amputation of the limb just below the level the tourniquet is applied. This is likely to occur when the tourniquet stays in place several hours. In any event, once a tourniquet has been applied, advanced medical care from a doctor or hospital will be required to salvage the limb if not save the life of the patient.

The decision to employ a tourniquet should be made by an emergency medical technician or preferably a doctor if at all possible. But when severe external bleeding cannot be controlled by other means, a tourniquet may be the only way for a first-aider to save the casualty.

Most civilian first aid instruction in the United States no longer teaches the use of the tourniquet for the following reasons:
 * the effectiveness of direct pressure, elevation and pressure points (controlling severe bleeding in up to 90% of cases as estimated by US medical sources)
 * the increased difficulty of reattaching an amputated limb when a tourniquet has been applied to the victim
 * unnecessary use by poorly trained bystanders
 * the unavoidable risks to both limb and life even when properly employed
 * the rare nature of injuries that require tourniquets, which typically occur in unusual settings such as working with agricultural or industrial machinery and the battlefield

The use of a tourniquet by a layperson in countries where it is considered outside the scope of practice of first aid may result in civil lawsuits and/or criminal charges, especially if the application was later found to have been unnecessary.

a. Open and closed spiral
Start by laying a strip of roller bandage along the length of the limb, from the larger portion to the smaller (for example, from the elbow to the wrist, or from the knee to the ankle). Then make two or three turns around the smaller part of the limb, and then wind upward in a spiral fashion, covering the first part of the bandage that was laid down. For an open spiral, leave gaps between successive windings. This is useful for holding dressings in place over a large area, as needed in the case of a burn. For a closed spiral, overlap each winding. Secure at the top by tying the two ends of the bandage together with a square knot.

b. Figure-eight
The figure-eight bandage can also be used on the hand, wrist, elbow, and knee.

c. Fingertip
Begin by laying the bandage along the length of the injured finger, leaving the end extending a couple of inches to the center of the palm. Then take the bandage over the fingertip, and going back down again on the other side to the base of the finger. Twist the bandage, and begin spiraling towards the fingertip. When the top joint of the finger is reached, spiral downwards again towards the base of the finger. Tie the two ends together with a square knot to secure the bandage.

c. Gunshot wounds
A gunshot wound is a medical emergency and will require treatment at a medical facility. First, control any bleeding by using the pressure points and by elevating the injured area. Do not try to remove the bullet, it may help a doctor to determine the extent of the injury, and its removal may increase the bleeding. Cut or tear away any clothing covering the wound. Do not pour any liquids into the wound. Wipe any debris away from the wound, but be careful not to wipe it towards the wound - always wipe away from the wound. Cover the wound with a bandage and fasten it securely so that it will not hang on anything during transport or slip off. Reassure the victim and get him to a hospital as soon as possible.

d. Injuries to the eye
Wounds that involve the eyelids or the soft tissue around the eye must be handled carefully to avoid further damage. If the injury does not involve the eyeball, apply a sterile compress and hold it in place with a firm bandage. If the eyeball appears to be injured, use a loose  bandage. (Remember that you must NEVER attempt to remove any object that is embedded in the eyeball or that has penetrated it; just apply a dry, sterile compress to cover both eyes, and hold the compress in place with a loose bandage). Any person who has suffered a facial wound that involves the eye, the eyelids, or the tissues around the eye must receive medical attention as soon as possible. Be sure to keep the victim lying down. Use a stretcher for transport.

Many eye wounds contain foreign objects. Dirt, coal, cinders, eyelashes, bits of metal, and a variety of other objects may become lodged in the eye. Since even a small piece of dirt is intensely irritating to the eye, the removal of such objects is important. However, the eye is easily damaged. Impairment of vision (or even total loss of vision) can result from fumbling, inexpert attempts to remove foreign objects from the eye. The following precautions must be observed:
 * DO NOT allow the victim to rub the eye.
 * DO NOT press against the eye or manipulate it in any way that might cause the object to become embedded in the tissues of the eye. Be very gentle; roughness is almost sure to cause injury to the eye.
 * DO NOT use such things as knives, toothpicks, matchsticks, or wires to remove the object.
 * DO NOT UNDER ANY CIRCUMSTANCES ATTEMPT TO  REMOVE  AN  OBJECT THAT IS EMBEDDED IN THE EYEBALL OR THAT HAS PENETRATED THE EYE! If you see a splinter or other object sticking out from the eyeball, leave it alone!   Only specially trained medical personnel can hope to save the victim’s sight if an object has actually penetrated the eyeball.

Small objects that are lodged on the surface of the eye or on the membrane lining the eyelids can usually be removed by the following procedures:
 * 1) Try  to  wash  the  eye  gently  with  lukewarm, sterile water.    A sterile medicine dropper or a sterile  syringe  can  be  used  for  this  purpose. Have the victim lie down, with the head turned slightly  to  one  side. Hold the eyelids apart.  Direct the flow of water to  the  inside  corner  of  the  eye,  and  let  it  run down to the outside corner.  Do not let the water fall directly onto the eyeball.
 * 2) Gently pull the lower lid down, and instruct the victim to look up. If you can see the object, try to remove it with the corner of a clean handkerchief or with a small moist cotton swab. You can make the swab by twisting cotton around a wooden applicator, not too tightly, and moistening it with sterile water. CAUTION: Never use dry cotton anywhere near the eye.  It will stick to the eyeball or to the inside of the lids, and you will have the problem of removing it as well as the original object.
 * 3) If you cannot see the object when the lower lid is pulled  down, turn the upper lid back  over a smooth wooden applicator.  Tell the victim to look down. Place the applicator  lengthwise across the center of the upper lid.  Grasp  the lashes of the upper lid gently but firmly.   Press gently   with   the   applicator. Pull   up   on   the eyelashes,   turning   the   lid   back   over   the applicator.     If  you  can  see  the  object,  try  to remove it with a moist cotton swab or with the corner of a clean handkerchief.
 * 4) If the foreign object cannot be removed by any of the above methods,  DO NOT MAKE ANY FURTHER ATTEMPTS TO REMOVE IT. Instead, place a small, thick gauze dressing over both  eyes  and  hold  it  in  place  with  a   loose bandage.   This limits movement of the injured eye.
 * 5) Get medical help for the victim at the earliest opportunity.

e. Animal and insect bites
Animal Bites

Insect Bites

f. Fainting and epilepsy
Fainting

Epilepsy

g. Effects of heat and cold
Heat Exhaustion

Heat Stroke

Hypothermia

Frostbite

12. Know the proper procedure to assist a radiation-exposure victim.
In the case of a nuclear accident or terrorist plot, a person might be exposed to radiation. First aid is to
 * Remove all the victims clothing and discard it.
 * Vigorously wash the victim with soap and water for an extended period of time in a shower.
 * Get the victim to a medical care facility.
 * Report the incident to authorities.

15. Know how to obtain help in an emergency
With the advent of the cell phone, the most effective way of obtaining help in an emergency is by calling 911. Most cell phones are equipped with a GPS module which allows their location to be pin-pointed by a satellite. The cell phone automatically relays this information to the 911 operator.

However, sometimes a cell phone is either not available, or it is not within range of a cell phone antenna tower. If you find yourself facing an emergency in the wilderness, you may have to attempt to signal aircraft. Three ways of doing that are presented here:


text:
Adventist Youth Honors Answer Book/First aid/Pressure points

The usual way to control bleeding is to put pressure directly onto the wound, either with the hand directly or with a dressing of some sort (bandage, handkerchief, tea towel etc.). Do not forget that any wound which is not controlled within a minute or two is a medical emergency; and any deep or large wound must receive medical attention as soon as possible.

It is sometimes not possible to press directly on a wound: for example, there may be a foreign object inside the wound, or a broken bone protruding outside, or the wound may be too large or be inaccessible (e.g. if the limb is trapped by some immovable object). In this case, the only way to control the bleeding is to compress blood vessels over particular pressure points (usually where arteries cross over bones near to the surface of the skin). This technique can be used to control external bleeding from arm wounds and leg wounds.

The correct point is determined by finding a pulse on a victim similar to that felt in the wrist when taking one's own pulse. This point could be located in the wrist, the arm (on the soft underside of the elbow), the groin, or behind the knee. This is the position where a rhythmical pulsation can be felt. Pressure can then be applied over this point—the artery—to control bleeding.

Once an artery is compressed over a pressure point, it must not be compressed for more than 10 minutes: any longer in one go can cause irreversible damage to the limb. Typically pressure would be applied for 10 minutes, then released for a couple, then reapplied and so on.

|


text:
Adventist Youth Honors Answer Book/Health and Science/Basic Rescue

1. What is the definition of an emergency rescue?
A rescue is the act of removing someone from danger. An Emergency Rescue is a technical term for a rescue taking place under hazardous circumstances and with high risk to the rescue personnel, but must be done immediately to save a person's life. In this type of scenario to say a person is in immediate danger may be understated, normally if not removed from their circumstance as quickly as possible the victim will die quite soon. Technical rescues and rescue are descriptive of many types of circumstances, in all cases the victim is in danger. A cat up a tree or an otherwise uninjured person stuck in a crashed car are not likely to die in moments but will need to be rescued from their circumstance by someone with the means and skill to do so.

4. Know seven indications for the need of an immediate rescue.

 * 1) The victim has stopped breathing
 * 2) The victim has severe bleeding
 * 3) The victim is being electrically shocked
 * 4) The victim has a heart attack
 * 5) The victim is on fire
 * 6) The victim is drowning
 * 7) The victim has been poisoned

5. Know six procedures to follow before moving a victim from a life-threatening situation.
Though the requirement is for only six principles, we present seven. This allows the student to forget one of the principles and still meet the requirement.
 * 1) The first task is to assess the whole situation and to plan the rescue.
 * 2) Be sure you can perform the rescue without injuring yourself.
 * 3) Make sure that moving the victim will not cause additional injury.
 * 4) Know where you intend to move the victim before lifting him.
 * 5) If bystanders must be used, it is essential that they be briefed in thorough detail on what you want them to do.
 * 6) Unless the danger is immediate, any first aid should be given before moving the victim.
 * 7) If you suspect a spinal injury, do not move the victim.

6. Know five principles involved in moving a victim from a life-threatening situation
Though the requirement is for only five principles, we present six. This allows the student to forget one of the principles and still meet the requirement.
 * 1) Be sure that it is necessary to move the victim. If it is not, do not move the victim.
 * 2) Know how you will move the victim before trying to move him.
 * 3) Know where you will move the victim before trying to move him.
 * 4) Be sure that you are able to lift the victim before lifting him. If the victim is too heavy, drag him instead.
 * 5) Maintain your balance. Do not start the move from an unbalanced position.
 * 6) Keep your footing throughout the move.

a. Chair carry

Two rescuers can also remove a victim by seating him or her on a chair:
 * Rescuer 1: Facing the back of the chair, grasp the back uprights.
 * Rescuer 2: Facing away from the victim, reach back and grasp the two front legs of the chair.
 * Both rescuers: Tilt the chair back, lift, and walk out.

c. Two-handed and four-handed seats
The two-hand seat carry is used in carrying a casualty for a short distance and in placing him on a litter.

Only a conscious casualty can be transported with the four-hand seat carry because he must help support himself by placing his arms around the bearers' shoulders. This carry is especially useful in transporting the casualty with a head or foot injury and is used when the distance to be traveled is moderate. It is also useful for placing a casualty on a litter.

d. Blanket carry

The casualty is placed in the middle of the blanket lying on his back. Three or four people kneel on each side and roll the edges of the blanket toward the casualty, as shown in part A of the figure. When the rolled edges are tight and large enough to grasp securely, the casualty should be lifted and carried as shown in part B of the figure.

e. Three-man hammock carry with victim in supine and prone position
The three-man hammock carry is very similar to the two-person carry, except that three people are involved: One positioned at the victim's calves, one at the hips, and the third person at the shoulders. The carriers kneel on their knee nearest the victim's feet. The person at the victim's head gives the command, and all three lift the victim to their knees simultaneously. The victim is then turned so that he faces the rescuers. The person at the head then gives the command and the three rescuers stand.

d. Coil and accurately throw a light and a heavy 50-foot (15.2 m) rope.
Separate the rope into two equal sized coils, with a little less than half the rope in each coil. Choose one end that you will hang on to, and grasp it firmly in the palm of one hand, using the three smallest fingers to hold it securely. Hold the rest of that coil between the index finger and thumb, and hold the other coil in the other hand. Take aim, and throw both coils toward the victim at the same time while retaining your grip on the end. If you have difficulty with this, try standing on the end of the rope you wish to keep with you. Using this method, you can throw the rope quite a bit farther than if you had thrown a single coil. This is because the second coil will not begin to unravel until the first one uncoils. Practice until you can hit a target with the rope from the 50-foot (15 meter) mark.

11. What steps should be taken before reporting a lost person? What information will be needed when reporting a lost person? How is a search for a lost person conducted in a wilderness area?
Before reporting:

If at home check your home carefully, contact your child's friends house and your neighbors house quickly to see if your child is with one of them. If at a store or mall contact management or security and have the child paged, if needed many stores today will "lock down" until all people and places are checked. If in a public place, do not panic. Try a high spot such as a chair or table to get a better vantage, and contact the facility management if there is one.
 * Children:

Gather yourself and be prepared to provide information to the police that will be relevant to the search for your child.

Adults do not have to be missing for a certain amount of time before you can report them missing, however police might not look into it for 24 hours. Contact known friends, work, and hang outs before reporting an adult missing. Adults who are mentally unstable for any reason or in need of medication for survival can normally be reported immediately as missing.
 * Adult:

According to Missingpersons.gov(https://www.missingpersons.gov.au/find-out-more-about-missing-persons/faqs) "You do not have to wait 24 hours to report someone as missing. If you have serious concerns for the safety and welfare of a person, and their whereabouts are unknown, then you may immediately report them missing (link) to your local police. Police will take a report where there are concerns for safety and welfare and their whereabouts are unknown."

If you are expecting loved ones to return from an outing and they are overdue be sure to contact their various phones and their home before calling authorities. If this is travel, some delays may be caused by weather and other circumstances that can be checked by calling the airport or travel authority for their means of travel. Road conditions can normally be checked through the state's department of transportation or the department of public safety (Highway Patrol). For those who were camping, hiking, or the like you will contact the forest/park authority for weather and road issues.
 * Those on outings:

Be sure to have information on planned hiking routes and camping locations left behind by your loved ones so they can be used in a search if needed.

 * What will be needed:

The more detailed your physical description to police can be the better. The color of eyes, hair and skin are needed but are not truly distinctive. Pictures are best and any identifying marks such as scars will help to identify a particular person quite well. The clothes the missing or lost person was wearing when last seen are very helpful too, as well as details on the vehicle(s) any adults may have been driving when last seen.

Age, date of birth, and other personal details such as family nicknames and family known information are helpful in child abduction cases. This information can not only be used to identify a child but to retrieve the child and gain trust with police. The person's doctor and dentist will also be helpful so have those names ready if possible.

 * Searches:


text:
Tagalog/Lesson 8

Aralin 8 — Mga Hayop

Insects – Mgá Kulisap
Ant – Langgám or Guyam Bee – Bubuyog Butterfly – Paruparó Cockroach – Ipis Cricket – Kuliglíg Dragonfly – Tutubí Flea – Pulgás Fly – Langaw Insect – Kulisap, Insekto Mosquito – Lamók Tick – Garapatá

Mammals – Mgá Mamalya
Bat – Panikì Bear – Oso (from Spanish "oso") Carabao/Water buffalo - Kalabáw Cat – Pusà Civet Cat – Musang Cow – Baka (from Spanish “vaca”) Deer – Usá Dog – Aso Goat – Kambíng Horse – Kabayo (from Spanish "caballo") Monkey – Unggóy, Matsíng Pig – Baboy Rabbit – Kuneho (from Spanish “conejo”) Rat – Dagâ Wolf – Lobo (from Spanish "lobo") Whale – Balyena

Other animals – Mgá ibáng hayop
Centipede - Alupihan Crab - Alimango Fish - Isdâ Frog - Palakâ Goat - Kambíng Horse - Kabayo (from Spanish "caballo") Lizard - Butikî Scorpion - Alakdán (from Spanish “alacrán”) Shrimp - Hipon Snail - Kuhól Snake - Ahas Spider - Gagambá or Anlalawà Tortoise/Turtle – Pagóng Sea turtle - Pawikan Worm - Bulate, Uod

title: Tagalog/Lesson 8


text:
User:Elistir

 My User page on Wikipedia

Quenya

title: User:Elistir


text:
Cookbook talk:Bizcochito (Cinnamon Anise Cookies) I

Best
The best ones to "buy" are at T.L.C. bakery on Osuna in ABQ. 69.92.37.138 27 02:20, 27 February 2006 (UTC) I think that the key to a good bizcochito is lard. Snowcap is the best. 68.54.3.97 (talk) 16:10, 23 December 2010 (UTC)

Spelling > Bizcochito or Biscochito?

 * Bizcochito on Yahoo! = 19,900
 * Bizcochito on Google = 54,900

4.240.201.15 16:18, 19 March 2006 (UTC)
 * Biscochito on Yahoo! = 1,070
 * Biscochito on Google = 9,550


text:
Horticulture/Cardamine hirsuta

Hairy bittercress, Cardamine hirsuta, is a winter annual plant native to Europe and Asia, but also present in North America as an invasive weed. The plant is a member of the mustard family (../Brassicaceae/), and is edible as a bitter herb. Other common or country names include bittercress, land-cress and lamb's cress.

Description
Hairy bittercress germinates in autumn, and is present through the winter as a basal rosette of pinnately compound leaves. It flowers sporadically in autumn, and then from late winter through spring. The small white flowers are borne in a corymb on wiry green stems, soon followed by the seeds and often continuing to flower as the first seeds ripen. The seed are borne in siliquae which, as with many Brassica species, will burst explosively, often when touched, sending the seeds flying far from the parent plant. Seeds germinate in the Autumn, and the plants are green throughout the winter months.

Ecology
Hairy bittercress can be very invasive and often arises when seeds are introduced unintentionally in the soil of plants that have been brought home from a nursery or garden center. This plant grows best in consistently damp, recently disturbed soil. These are conditions that are prevalent in nursery-grown plants, and hairy bittercress may "hitch a ride" in the containers.

Uses
Can be eaten as a bitter herb.

During the winter months, this plant can be left in place as a cover crop on bare soil, though it should generally be flamed or tilled in before it sets seed unless one intends to use it as a winter cover the next year.

title: Horticulture/Cardamine hirsuta


text:
Animal Care/Snail shells with round or oval openings

Hermit crabs that usually prefer shells with circular or oval openings are:
 * Indonesian hermit crabs or "Indos" (Coenobita brevimanus)
 * Caribbean hermit crab or "Purple Pinchers" (Coenobita clypeatus)
 * Strawberry hermit crabs "Strawberries" (Coenobita perlatus)
 * Rugosus hermit crabs or "Rugs" (Coenobita rugosus)

As pets they tend to give preference to particular snail (class Gastropoda, phylum Mollusca) shells (bold if known to be within the Purple Pincher's normal range; Picture2 links may contain pictures of shells that have been misidentified; not all shells at the "common names" links may be appropriate for hermit crabs):

 * Superorder Vetigastropoda - Order under revision
 * turban shells (common names ; family Turbinidae - Family pictures ) - Examples:
 * Silvermouth Turban (Turbo argyrostomus ) - Region: Indo-W.Pacific - ZipCodeZoo entry - Picture - Picture2
 * Filose Turban (Turbo cailletii ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Channeled Turban (Turbo canaliculatus ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Chestnut or Knobby Turban (Turbo castanea ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Goldmouth Turban (Turbo chrysostomus ) - Region: SE Africa-W.Pacific - ZipCodeZoo entry - Picture - Picture2
 * Smooth Moon Turban (Turbo cinereus ) - Regions: Indo-Australia area, China - ZipCodeZoo entry - Picture - Picture2
 * Fluctuating Turban, Pacific Turban or Mexican Turbo (Turbo fluctuosus ) - Region: Baja California,Mexico-Peru; Galápagos - ZipCodeZoo entry - Picture - Picture2
 * Green Turban (Turbo marmoratus ) - Regions: Indo-Australia area, Japan, Africa - ZipCodeZoo entry - Picture - Picture2
 * Tapestry Turban (Turbo petholatus ) - Regions: India, Philippines, South Africa - ZipCodeZoo entry - Picture - Picture2
 * South African Turban (Turbo sarmaticus ) - Region: South Africa - ZipCodeZoo entry - Picture - Picture2
 * Stenogyrus Turban (Turbo stenogyrum ) - Region: SW Pacific, Japan-Indonesia - ZipCodeZoo entry - Picture - Picture2
 * Wavy Turban or Common Warrener (Turbo undulata ) - Region: New Zealand - ZipCodeZoo entry - Picture - Picture2
 * West Indian Topshell shells (Cittarium pica - was Turbo pica ; family Trochidae - - Family Pictures ) - also called the Magpie, the West Indian Topsnail, or erroneously the West Indian Whelk. Over fishing of this snail (Bermuda) has been known to negatively effect the Purple Pincher population. - Region: C.Americas-Bahamas  - ZipCodeZoo entry - Picture - Picture2

 * Superorder Caenogastropoda - Order Sorbeoconcha
 * murex shells (common names; family Muricidae - Family pictures ) - Examples:
 * Ramose Murex (Chicoreus ramosus ) - Region: Indo-W.Pacific; Red Sea - ZipCodeZoo entry - Picture - Picture2
 * Virgin Murex (Chicoreus virgineus ) - Region: Red Sea-Bay of Bengal - Picture - Picture2
 * Endive Murex (Hexaplex endivia ) - ZipCodeZoo entry - Picture - Picture2
 * Pink Mouthed Murex (Hexaplex/Phyllonotus erythrostomus ) - Region: Sea of Cortèz, Mexico-Peru - ZipCodeZoo entry - Picture - Picture2
 * Black Murex (Hexaplex nigritus ) - Region: Sea of Cortèz, Mexico - ZipCodeZoo entry - Picture - Picture2
 * Apple Murex (Phyllonotus pomum ) - ZipCodeZoo entry - - Picture - Picture2
 * "rock shell" shells (common names ; family Muricidae - Family pictures ) - Examples:
 * Belligerent Rock Shell (Thais armigera ) - Region: SW Pacific-Japan; Réunion - ZipcodeZoo entry - Picture - Picture2
 * Chestnut Rock Shell (Thais bitubercularis ) - Region: E.Africa-Philippines & Australia - ZipcodeZoo entry - Picture - Picture2
 * Blanford's Rock Shell (Thais blanfordi ) - Region: Durban,RSA-Arabian Gulf - Picture - Picture2
 * Coronate Rock Shell (Thais coronata ) - Region: Mauritania-Angola; Colombia-NE Brazil - ZipcodeZoo entry - Picture - Picture2
 * Deltoid Rock Shell (Thais deltoidea ) - Region: Bermuda; Florida, USA; W.Indies; Brazil - ZipcodeZoo entry - Picture - Picture2
 * Kiosque Rock Shell (Thais kiosquiformis ) - Region: Baja California, Mexico-Peru - ZipcodeZoo entry - Picture - Picture2
 * Carinate Rock Shell (Thais lacera/mutabilis ) - Region: Durban Bay, RSA-Red Sea-SE Asia; E.Mediterranean - ZipcodeZoo entry - Picture - Picture2
 * Gourd Rock Shell (Thais melones ) - Region: Pacific Mexico- Peru; Galápagos - ZipcodeZoo entry - Picture - Picture2
 * White Rock Shell (Thais orbita ) - Region: N.New Zealand; S.-E.Australia - ZipcodeZoo entry - Picture - Picture2
 * Orb Rock Shell (Thais orbita aegrota ) - Region: W.Australia - Picture - Picture2
 * Orb Rock Shell (Thais orbita textilosa ) - Region: Victoria; S.Australia - Picture - Picture2
 * Rugose Rock Shell (Thais sacellum ) - Region: Bermuda; Florida, USA; W.Indies; Brazil - Picture - Picture2
 * Tissot's Rock Shell (Thais tissoti ) - Region: KwaZuluNatal,RSA-Red Sea & E.Africa-Sri Lanka - Picture - Picture2
 * "tulip shell" shells (common names ; family Fasciolariidae - Family pictures ) - Examples:
 * Yellow Tulip Shell (Fasciolaria bullisi ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture
 * Mediterranean Tulip Shell (Fasciolaria lignaria ) - ZipCodeZoo entry - Picture - Picture2
 * Hunter's Tulip Shell (Fasciolaria lilium hunteria ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Banded Tulip Shell (Fasciolaria lilium tortugana ) - Region: the Americas - ZipCodeZoo entry - Picture - Picture2
 * True Tulip Shell (Fasciolaria tulipa ) - Regions: Americas, India, etc. - ZipCodeZoo entry - Picture - Picture2
 * Atlantic Striped Fox shells (Fasciolaria trapezium audouini ; family Fasciolariidae) - Regions: E Africa, Indo-W.Pacific - ZipCodeZoo entry - Picture - Picture2
 * periwinkle shells (common names ; family Littorinidae - Family Pictures ) - Examples:
 * Slender Periwinkle (Echinolittorina/Nodilittorina angustior ) - Regions: N.America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Lineolate Periwinkle (Echinolittorina/Nodilittorina lineolata ) - Region: Florida,USA-Mexico-Uruguay - ZipCodeZoo entry - Picture - Picture2
 * White-Spotted Periwinkle (Echinolittorina/Nodilittorina meleagris ) - Regions: N.America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Dwarf Brown Periwinkle (Echinolittorina/Nodilittorina mespillum ) - Regions: N.America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Zebra Periwinkle (Echinolittorina/Nodilittorina ziczac ) - Regions: E.Pacific, N.America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Mangrove Periwinkle (Littoraria angulifera ) - Regions: North America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Marsh Periwinkle (Littoraria irrorata ) - Regions: North America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Cloudy Periwinkle (Littoraria nebulosa ) - Regions: North America, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Common Periwinkle (Littorina littorea ) - Regions: North America, Caribbean, Europe, India, etc. - ZipCodeZoo entry - Picture - Picture2
 * Checkered Periwinkle (Littorina scutulata ) - Regions: the Americas, Australia - ZipCodeZoo entry - Picture - Picture2
 * frog shells (common names ; family Bursidae - Family pictures ) - Examples:
 * Spiny Frogsnail (Bufonaria echinata/Bursa Spinosa ) - Regions: Philippines; Indian Ocean; China - Picture - Picture2
 * Common Frogsnail (Bufonaria/Bursa rana ) - Regions: Japan-E. & W. Australia - Picture - Picture2
 * Granular Frogsnail (Bursa granularis cubaniana ) - Regions: SE Florida,USA-Colombia; Jamaica-NE.Brazil - ZipCodeZoo entry - Picture - Picture2
 * Elegant/Pacamon Frogsnail (Bursa grayana ) - Regions: Florida Keys; Cuba; Curaçao-NE.Brazil - ZipCodeZoo entry - Picture - Picture2
 * California Frogsnail (Crossata californica ) - Regions: C.California,USA-Sea of Cortèz, Mexico - ZipCodeZoo entry - Picture - Picture2
 * Red-ringed/Red-mouth Frogsnail (Tutufa bufo ) - Region: Indo-W.Pacific - ZipCodeZoo entry - Picture - Picture2
 * Ruddy/Red-mouthed Frogsnail (Tutufa rubeta ) - Region: Indo-W.Pacific - ZipCodeZoo entry - Picture - Picture2

<!-- :*tun shells (common names ; family Tonnidae - Family pictures ) - Examples:
 * Costate/Ribbed Tun (Tonna allium ) - Region: Indo-W Pacific - ZipCodeZoo entry - Picture - Picture2
 * Channeled Tun (Tonna cepa or Tonna canaliculata ) - Region: Indo-Pacific - ZipCodeZoo entry - Picture - Picture2
 * China Tun (Tonna chinensis ) - Region: SW Pacific - ZipCodeZoo entry - Picture - Picture2
 * Cuming's Tun (Tonna cumingii ) - Region: Indo-SW Pacific - ZipCodeZoo entry - Picture - Picture2
 * Atlantic Spotted Tun (Tonna maculosa ) - Regions: the Americas, Africa - ZipCodeZoo entry - Picture - Picture2
 * Oil Lamp Tun (Tonna olearium ) - Regions: S.Japan; South China Sea-Philippines - ZipCodeZoo entry - Picture - Picture2
 * Atlantic Partridge Tun (Tonna pennata ) - Regions: the Americas, Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2
 * Pacific Partridge Tun (Tonna perdix ) - Region: Indo-W Pacific - ZipCodeZoo entry - Picture - Picture2
 * Banded Tun (Tonna sulcosa ) - Region: Indo-W Pacific - ZipCode Zoo entry - Picture - Picture2
 * Tessellate Tun (Tonna tessellata ) - Region: S.Africa-W Pacific - ZipCodeZoo entry - Picture - Picture2
 * Hedley's/Deep Water Tun (Tonna tetracotula ) - Regions: SE Australia; New Zealand - Picture - Picture2
 * Variegated Tun (Tonna variegata/cerevisina ) - Regions: Australia; New Zealand; S & SE Africa - Picture - Picture2 -->
 * nutmeg shells (common names ; family Cancellariidae - - Family pictures ) - Examples:
 * Basket Nutmeg (Gerdiella crobicula ) - Region: E.Pacific - ZipCodeZoo
 * Rugosa Nutmeg (Trigonostoma rugosum ) - Regions: Florida, E.Pacific, Western Atlantic - ZipCodeZoo entry - Picture - Picture2
 * King's Crown Conch shells (Melongena corona ; family Melongenidae - Family pictures ) - Region: Western Atlantic Ocean - ZipCodeZoo entry - Picture - Picture2

 * order Pulmonata - have lungs rather than gills
 * Haitian Tree Snail shells [also called "Candy Striped" or "Rainbow" shells] (Liguus virgineus|Liguus virgineus ; family Orthalicidae) - Region: Cuba - ZipCodeZoo entry - Picture - Picture2
 * Japanese Land Snail shells [also called "Land Fairy" shells] (Euhadra peliomphala hickonis, family Bradybaenidae) - Region: Japan - ZipCodeZoo entry - Picture - Picture2
 * Giant African Snail or Ghana Tiger Snail shells (Achatina achatina ; family Achatinidae) - Regions: Asia, Pacific and Indian Oceans islands, West Indies - Picture - Picture2


text:
Animal Care/Snail shells with D shaped openings

Hermit crabs that usually prefer shells with "D" shaped openings:
 * Equadorian/Pacific hermit crabs or "Es" (coenobita compressus)
 * Cavipe hermit crabs or "Cavs" (coenobita )

As pets they tend to give preference to particular snail (class Gastropoda, phylum Mollusca) shells (Picture2 links may contain pictures of shells that have been misidentified; not all shells at the "common names" links may be appropriate for hermit crabs):

 * Superorder Caenogastropoda - Order Sorbeoconcha
 * babylon shells (common names; family Babyloniidae - Family pictures) - Examples:
 * Spotted Babylon (Babylonia areolata) - Regions: SE Asia, Philippines, Formosa, China - Picture - Picture2
 * Formosan Ivory Babylon (Babylonia formosae) - Regions: Formosa, Taiwan - Picture - Picture2
 * Japanese Babylon (Babylonia japonica) - Regions: Korea, Japan, Taiwan - Picture - Picture2
 * Lutose Babylon (Babylonia lutosa) - Regions: Japan, Sri Lanka - Picture - Picture2
 * Spiral Babylon (Babylonia spirata) - Regions: Pakistan, Sri Lanka, Taiwan - Picture - Picture2
 * moon shells (common names; family Naticidae - Family pictures) - Examples:
 * Spider Moon (Natica arachnoidea) - Regions: Mozambique-Andamans; W.Pacific; Australia - ZipCodeZoo entry - Picture - Picture2
 * Calf/(Red) Banded/Yolk Moon Snail (Natica vitellus) - Regions: W.Pacific; Indian Ocean - ZipCodeZoo entry - Picture - Picture2
 * Fly-specked Moon Snail (Naticarius stercusmuscarum) - Regions: Mediterranean; NW Africa - ZipCodeZoo entry - Picture - Picture2
 * Shark's Eye or Atlantic/Double Moon (Neverita duplicata) - Regions: Massachusetts,USA-Yucatán, Mexico; Bahamas - ZipCodeZoo entry - Picture - Picture2
 * Lewis'/Western Moon (Polinices lewisii) - Regions: Vancouver Island,Canada-N.Baja California, Mexico - ZipCodeZoo entry - Picture - Picture2
 * White Moon Snail (Polinices porcellanus) - Regions: Cape Verdes; St Helena; Florida,USA-C.Brazil; Mid-Atlantic Ridge - ZipCodeZoo entry -  Picture - Picture2
 * Lined Moon Snail (Tanea lineata) - Regions: N.Indian Ocean-Japan & W.Australia - ZipCodeZoo entry -Picture - Picture2
 * Tiger Moon (Tectonatica tigrina) - Regions: E.Africa-SE Asia & SE Australia - Picture - Picture2
 * David Harp shells (Harpa davidis ; family Harpidae - Family picture) - Region: Andaman Sea - ZipCodeZoo entry -  Picture - Picture2

 * Superorder under revision - Order Cycloneritimorpha
 * nerite shells (common names; family Neritopsidae - Family pictures) - Examples:
 * Black Nerite (Nerita atramentosa) - Regions: S.Queensland-W.Australia; New Zealand - Picture - Picture2
 * Lined Nerite (Nerita balteata) - Region: Vietnam-N.Australia - Picture - Picture2
 * Polished/Polite Nerite (Nerita polita) - Regions: Indo-W.Pacific; Red Sea - ZipCodeZoo entry - Picture - Picture2
 * Ornate/Rough-ribbed Nerite (Nerita scabricosta) - Regions: Baja California, Mexico-Peru; Galápagos - ZipCodeZoo entry - Picture - Picture2
 * Red Nerite (Neritina communis) - Regions: W.Pacific; Philippines - ZipCodeZoo entry - Picture - Picture2
 * Olive Nerite (Neritina usnea) - Regions: Florida,USA-Colombia; Greater Antilles; Trinidad; Mid-Atlantic Ridge - ZipCodeZoo entry - Picture - Picture2
 * Violet Nerite (Neritina violacea) - Regions: Philippines-India & Australia - ZipCodeZoo entry - Picture - Picture2
 * Zebra Nerite (Neritina zebra) - Region: Honduras-E.Brazil - ZipCodeZoo entry - Picture - Picture2


text:
Linear Algebra/Addition, Multiplication, and Transpose

Addition and subtraction
Two matrices can only be added or subtracted if they have the same size. Matrix addition and subtraction are done entry-wise, which means that each entry in A+B is the sum of the corresponding entries in A and B.

 * $$A=\begin{bmatrix}7&&5&&3\\4&&0&&5\end{bmatrix}\qquad B=\begin{bmatrix}1&&1&&1\\-1&&3&&2\end{bmatrix}$$

Here is an example of matrix addition
 * $$A+B=\begin{bmatrix}7+1&&5+1&&3+1\\4-1&&0+3&&5+2\end{bmatrix}=\begin{bmatrix}8&&6&&4\\3&&3&&7\end{bmatrix}$$

And an example of subtraction
 * $$A-B=\begin{bmatrix}7-1&&5-1&&3-1\\4+1&&0-3&&5-2\end{bmatrix}=\begin{bmatrix}6&&4&&2\\5&&-3&&3\end{bmatrix}$$

Remember you can not add or subtract two matrices of different sizes.

The following rules applies to sums and scalar multiples of matrices. Let $$A,B,C$$ be matrices of the same size, and let $$r,s$$ be scalars.
 * $$A+B=B+A$$
 * $$(A+B)+C=A+(B+C)$$
 * $$A+0=A$$
 * $$r(A+B)=rA+rB$$
 * $$(r+s)A=rA+sA$$
 * $$r(sA)=(rs)A$$

Multiplication
What is matrix multiplication? You can multiply two matrices if, and only if, the number of columns in the first matrix equals the number of rows in the second matrix.

Otherwise, the product of two matrices is undefined. The product matrix's dimensions are
 * $$\to(\text{rows of first matrix})\times(\text{columns of the second matrix})$$

In above multiplication, the matrices cannot be multiplied since the number of columns in the 1st one, matrix $$A$$ is not equals the number of rows in the 2nd, matrix $$B$$. The Dimensions of the product matrix. Rows of 1st matrix × Columns of 2nd

Powers
If $$A$$ is an $$n \times n$$ matrix and if $$k$$ is a positive integer, then $$A^k$$ denotes the product of $$k$$ copies of $$A$$
 * $$A^k=\begin{matrix}\underbrace{A \cdots A} \\ k\end{matrix}$$

If $$A$$ is non-zero and if $$\rm x$$ is in $$\R^n$$, then $$A^k\rm x$$ is the result of left-multiplying $$\rm x$$ by $$A$$ repeatedly $$k$$ times. If $$k=0$$, then $$A^0\rm x$$ should be $$\rm x$$ itself. Thus $$A^0$$ is interpreted as the identity matrix.

Transpose
Given the $$m\times n$$ matrix $$A$$, the transpose of $$A$$ is the $$n\times m$$ , denoted $$A^T$$ , whose columns are formed from the corresponding rows of $$A$$.

For example
 * $$A=\begin{bmatrix}a&&b\\c&&d\end{bmatrix}\qquad B=\begin{bmatrix}3&&5\\2&&7\\6&&9\\1&&0\\5&&2\end{bmatrix}$$
 * $$A^T=\begin{bmatrix}a&&c\\b&&d\end{bmatrix}\qquad B^T=\begin{bmatrix}3&&2&&6&&1&&5\\5&&7&&9&&0&&2\end{bmatrix}$$

The following rules applied when working with transposing
 * 1) $$(A^T)^T=A$$
 * 2) $$(A+B)^T=A^T+B^T$$
 * 3) For any scalar $$r$$, $$(rA)^T=rA^T$$
 * 4) $$(AB)^T=B^TA^T$$

The 4th rule can be generalize to products of more than two factors, as "The transpose of a product of matrices equals the product of their transposes in the reverse order." Meaning
 * $$(a_1,a_2,a_3,\dots,a_n)^T=a_n^T,\dots,a_3^T,a_2^T,a_1^T$$


text:
Linear Algebra/OLD/Matrix Operations

Zero Matrix
A zero matrix is a matrix with all its entries being zero. An example of a zero matrix is

$$M = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$$

Scalars
A scalar is a nonzero constant, which are used to scale the matrix.

If r is a scalar and A is matrix, then the scalar multiple rA is the matrix whose columns are r times the corresponding columns in A.

Here is an example,
 * $$r=4 \qquad A=\begin{bmatrix}2 && 3 \\ 7 && 1\end{bmatrix}$$
 * $$rA=\begin{bmatrix}4*2 && 4*3 \\ 4*7 && 4*1\end{bmatrix}=\begin{bmatrix}8 && 12 \\ 28 && 4\end{bmatrix}$$

A scalar is indirectly used when we subtract two matrices, because -B can be defined as (-1)B. This means when we subtract the matrix B from the matrix A, A-B is the same as A+(-1)B.

Addition and subtraction
Two matrices can only be added or subtracted if they have the same size. Matrix addition and subtraction are done entry-wise, which means that each entry in A+B is the sum of the corresponding entries in A and B.

Here is an example of matrix addition
 * $$A=\begin{bmatrix}7 && 5 && 3 \\ 4 && 0 && 5\end{bmatrix} \qquad B=\begin{bmatrix}1 && 1 && 1 \\ -1 && 3 && 2\end{bmatrix}$$
 * $$A+B=\begin{bmatrix}7+1 && 5+1 && 3+1 \\ 4-1 && 0+3 && 5+2\end{bmatrix}=\begin{bmatrix}8 && 6 && 4 \\ 3 && 3 && 7\end{bmatrix}$$

And an example of subtraction
 * $$A=\begin{bmatrix}7 && 5 && 3 \\ 4 && 0 && 5\end{bmatrix} \qquad B=\begin{bmatrix}1 && 1 && 1 \\ -1 && 3 && 2\end{bmatrix}$$
 * $$A-B=\begin{bmatrix}7-1 && 5-1 && 3-1 \\ 4+1 && 0-3 && 5-2\end{bmatrix}=\begin{bmatrix}6 && 4 && 2 \\ 5 && -3 &&

4\end{bmatrix}$$

Remember you can not add or subtract two matrices of different sizes.

The following rules applies to sums and scalar multiples of matrices. Let A, B, and C be matrices of the same size, and let r and s be scalars.
 * A + B = B + A
 * (A + B) + C = A + (B + C)
 * A + 0 = A
 * r(A + B) = rA + rB
 * (r + s)A = rA + sA
 * r(sA) = (rs)A

Matrix Multiplication
Matrix multiplication is slightly less intuitive for the beginning student of linear algebra than is scalar multiplication. It is, however, no more difficult.

Definition

If A is a 1 by m matrix and B is an m by 1 matrix, then the product AB is given as

$$ \begin{bmatrix} a_{11} & a_{12} & \ldots & a_{1m}\\ \end{bmatrix} \begin{bmatrix} b_{11} \\ b_{21} \\ \vdots \\ b_{m1} \end{bmatrix} = \begin{bmatrix} a_{11}b_{11} + a_{12}b_{21} + \cdots + a_{1m}b_{m1}\\ \end{bmatrix} $$

This summation of terms can be expressed as a Riemann sum

$$ \begin{bmatrix} \sum_{k=1}^m a_{1m}b_{m1} \\ \end{bmatrix}_{(1,1)} $$

We can use this knowledge to determine if matrix multiplication can occur. For example, a $$ 3 \times 2$$ multiplied by a $$ 2 \times 3$$ matrix will yield a $$ 3 \times 3$$ matrix. If the number of columns of the first matrix is equal to the number of rows of the second matrix, multiplication can occur (as seen in the example mentioned).

Matrix multiplication is noncommutative, meaning a * b does not equal b * a. This is easy to see by looking at the example above.

Powers
If A is an $$n \times n$$ matrix and if k is a positive integer, then $$A^k$$ denotes the product of k copies of A
 * $$A^k=\begin{matrix}\underbrace{A \cdots A} \\ k\end{matrix}$$

If A is nonzero and if x is in $$\mathbb{R}^n$$, then $$A^k\mathbf{x}$$ is the result of left-multiplying x by A repeatedly k times. If k = 0, then $$A^0\mathbf{x}$$ should be x itself. Thus $$A^0$$ is interpreted as the identity matrix.

Transpose
Given the $$m \times n$$ matrix A, the transpose of A is the $$n \times m$$, denoted $$A^T$$, whose columns are formed from the corresponding rows of A.

For example
 * $$A=\begin{bmatrix}a && b \\ c && d\end{bmatrix} \qquad B=\begin{bmatrix}3 && 5 \\ 2 && 7 \\ 6 && 9 \\ 1 && 0 \\ 5 && 2\end{bmatrix}$$
 * $$A^T=\begin{bmatrix}a && c \\ b && d\end{bmatrix} \qquad B^T=\begin{bmatrix}3 && 2 && 6 && 1 && 5 \\ 5 && 7 && 9 && 0 && 2\end{bmatrix}$$

The following rules applied when working with transposing
 * 1) $$\left (A^T\right )^T=A\,$$
 * 2) $$(A+B)^T=A^T+B^T\,$$
 * 3) For any scalar r, $$(rA)^T=rA^T\,$$
 * 4) $$(AB)^T=B^TA^T\,$$

The 4th rule can be generalize to products of more than two factors, as "The transpose of a product of matrices equals the product of their transposes in the reverse order." Meaning
 * $$(a_1, a_2, a_3, ..., a_n)^T=a_n^T, ..., a_3^T, a_2^T, a_1^T$$

title: Linear Algebra/OLD/Matrix Operations


text:
User talk:61.1.210.254

Transwiki?
The module Ayyavazhi/Ayya_Vaikunda_Avataram appears to be a transwiki from wikipedia. If so, this shouls be imported, not copies, in compliance with our coprights. Please request an import at WB:RFI.-- SB_Johnny | talk 12:52, 21 October 2006 (UTC)

title: User talk:61.1.210.254


text:
English in Use/Phrasal Verbs

Phrasal verbs are usually verbs + prepositions or verbs + particles. Phrasal verbs are used frequently in English, mostly in informal language but increasingly also in formal situations. Most phrasal verbs have an equivalent formal word which could replace them (i.e. put out a fire - extinguish a fire). Phrasal verbs are a problem for many learners of English because most languages don't have anything similar and the meaning of many phrasal verbs is often not obvious.

Examples
Here are some examples of phrasal verbs (on the left hand side) and a rough meaning for them (on the right). The phrasal verb in each sentence is written in bold text.

 * Charlie will look after the children - Charlie will take care of the children.
 * The plane took off at 17:30 - The plane left the ground at 17:30.
 * Police are looking into the crime - Police are investigating the crime.
 * The man picked up the rubbish from the ground - The man took and collected the rubbish.

As you can see from the above list the meaning is not always obvious - look after could be interpreted as looking at something after it's happened but the meaning is non literal. Only pick up has an obvious meaning in the above list.

Separable & Non Separable Phrasal Verbs
Phrasal verbs are either separable or non-separable. A separable phrasal verb can be have the object of the phrasal verb either in the middle of the phrasal verb or after it (e.g. pick rubbish up - or - pick up rubbish). With non separable phrasal verbs, the object must come after the phrasal verb only (e.g. Police are looking into the crime NOT Police are looking the crime into)

title: English in Use/Phrasal Verbs


text:
Wikibooks talk:Guidelines for class projects

Shouldn't this be a help page, rtather than a policy or guideline? -- SB_Johnny | talk 13:44, 21 October 2006 (UTC)

 * We could try to change it to be a help page if you want. I am not dead-set on having it be a policy/guideline. I do think that we should have some kind of registry where class projects are listed, however. --Whiteknight (talk) (projects) 19:56, 23 October 2006 (UTC)

Preparing students
I found with our (Human physiology) book that the students were very uncomfortable at first in the wiki environment. None of us (including myself) had ever edited a wiki in any way. Even when students became comfortable with the basic process, they were shy about making changes to each others' work. Most reviews of other chapters were vague encouragements ("good job") rather than specific recommendations (but I think reviewing each others work did give them good ideas on things to add to their chapters). It was hard to convey the idea of editing boldly. I think if I had prepared a basic "tip sheet" with an overview of the project, basic editing techniques, sources for additional information, etc. that we would have had a stronger start. It also would have been easier for my students if I had given a basic outline to follow for each chapter (e.g., Introduction, Main Concepts, Glossary, References) and if I had set specific criteria that needed to be met at specific time periods (I'm not sure what those criteria would be--I'm not an English teacher, and grading writing was very difficult for me).

One thing that did work well is that the students helped each other out a lot. When one person figured out how to add images, that information spread quite quickly through the class.

These were just a few random thoughts I wanted to include. Provophys 02:16, 14 November 2006 (UTC)

I suggest having students complete a mini wiki assignment, making some minor edits to an existing book early in the term so that they get introduced to what wikimarkup looks like, the my contributions, talk and discussion pages, user pages, and peer feedback. This makes them much more comfortable when returning with their main ideas that they need to organize in the wikibook, and makes them more proficient at editing the work of peers without causing accidental damage. --Paul James (talk) 20:07, 14 June 2009 (UTC)

Move to enforce
I would like to make this page an official guideline. Once this page is made official, I would like to include mention of it in the welcome template. --Whiteknight (talk) (projects) 19:35, 11 December 2006 (UTC)

 * I agree --Paul James (talk) 20:07, 14 June 2009 (UTC)

Grading
I added some content to Guidelines_for_class_projects on how to grade individual work. It could use some fancy markup italics/bold etc, maybe even a link to what a contributions page looks like...? If anyone wants to take a shot. --Paul James (talk) 20:07, 14 June 2009 (UTC)


text:
Template:Body note

 Note

title: Template:Body note


text:
Linear Algebra/Matrices and Vectors/

Matrices
A matrix is an array of numbers arranged into rows and columns. Some examples of matrices are,

$$A= \begin{bmatrix} 2 & 4 & 6 \\ 0 & -5 & 7.105\\ 1 & -3 & 2 \end{bmatrix} ,\quad B= \begin{bmatrix} -3 & -4 \\ \pi & \sqrt{2} \end{bmatrix} ,\mbox{ and }\,\,\, C= \begin{bmatrix} -3 & -5 & 0 & 0 \\ -1 & 4.56 & 3.28 & 19 \end{bmatrix} .$$

When describing matrices we indicate the number of rows first, then the number of columns. For example, the matrix $$C$$ with two rows and four columns is said to be a $$2\times 4$$ matrix.

It is standard notation to name matrices with capital letters and to use lower case letters with subscripts to identify particular entries in a matrix.

For example, to identify the entry in row 1 and column 3 of matrix $$A$$ we would write $$a_{13}$$. To indicate that this entry is a six we would write the equation $$a_{13}=6$$.

Two matrices are considered to be equal only if they are the same size and every pair of corresponding elements are equal.

A column matrix is a matrix with only one column. Similarly, a row matrix has only one row.

Vectors
A vector is an object often defined by a long list of properties. However, for now we will avoid the more complicated definition, and just say that a vector is an ordered list of numbers. Later we will see that vectors can really be much more.

An ordered pair, $$(x, y)$$, that is used to identify a point in the plane can be considered to be a vector.

Similarly, an ordered triple, $$(x, y, z)$$ is a vector.

Obviously, row and column matrices can also be considered to be a vector.

It is common to name vectors using variables with arrows above.

For example, we might write $$\vec{v}=(2, 3, 5, -4),\mbox{ or } \vec{w}= \begin{bmatrix} 4 \\ 5 \\ 0 \end{bmatrix}$$.

For the most part, it will convenient to think of vectors as column matrices.

title: Linear Algebra/Matrices and Vectors/


text:
User:Ripper234~enwikibooks

See My Wikipedia user page.

title: User:Ripper234~enwikibooks


text:
User talk:Dismalscience32

Your document is here:. You need to copy the text and paste it into a module if you want to be able to edit it. SB_Johnny | talk 17:31, 21 October 2006 (UTC)

Follow this link to the page name (Macroeconomics Made Simple) and copy it there (copy the text from the PDF, then paste it). -- SB_Johnny | talk 17:34, 21 October 2006 (UTC)

Dear dismalscience32,

Welcome to Wikibooks. Thank you for choosing Wikibooks to host your book on economics. Since Wikibooks is dedicated to collaboratively developing textbooks, we prefer to hold information in a format that is easy to improve. I hope you understand. (If you don't want us to improve your work, then other sites such as WikiSource or a static web site might be a better place for it).

Is there anything I could do to improve your book or make it easier for other people to improve? (Do you have your book in a different format, one that would make it easier for me to copy-and-paste the plain text into "wiki format"?) --DavidCary 19:07, 2 November 2006 (UTC)

title: User talk:Dismalscience32


text:
C++ Programming/Programming Languages/Paradigms/Inheritance

Inheritance
Inheritance describes a relationship between two (or more) types, or classes, of objects in which one is said to be a "subtype" or "child" of the other; as a result, the "child" object is said to inherit features of the parent, allowing for shared functionality. This lets programmers re-use or reduce code and simplifies the development and maintenance of software. Inheritance is also commonly held to include subtyping, whereby one type of object is defined to be a more specialized version of another type (see Liskov substitution principle), though non sub-typing inheritance is also possible.

Inheritance is typically expressed by describing classes of objects arranged in an inheritance hierarchy (also referred to as inheritance chain), a tree-like structure created by their inheritance relationships.

For example, one might create a variable class "Mammal" with features such as eating, reproducing, etc.; then define a subtype "Cat" that inherits those features without having to explicitly program them, while adding new features like "chasing mice". This allows commonalities among different kinds of objects to be expressed once and reused multiple times.

In C++ we can then have classes that are related to other classes (a class can be defined by means of an older, pre-existing,  ). This leads to a situation in which a new class has all the functionality of the older class, and additionally introduces its own specific functionality. Instead of composition, where a given class contains another class, we mean here derivation, where a given class is another class.

This OOP property will be explained further when we talk about Classes (and Structures) inheritance in the Classes Inheritance Section of the book.

If one wants to use more than one totally orthogonal hierarchy simultaneously, such as allowing "Cat" to inherit from "Cartoon character" and "Pet" as well as "Mammal" we are using multiple inheritance.


text:
C++ Programming/Programming Languages/Paradigms/Polymorphism

Polymorphism
Polymorphism allows a single name to be reused for several related but different purposes. The purpose of polymorphism is to allow one name to be used for a general class. Depending on the type of data, a specific instance of the general case is executed.

The concept of polymorphism is wider. Polymorphism exists every time we use two functions that have the same name, but differ in the implementation. They may also differ in their interface, e.g., by taking different arguments. In that case the choice of which function to make is via overload resolution, and is performed at compile time, so we refer to this as static polymorphism.

Dynamic polymorphism will be covered deeply in the Classes Section where we will address its use on redefining the method in the derived class.


text:
Yet Another Haskell Tutorial

The book
A  PDF version of YAHT is available offsite.

There is also a darcs repository for YAHT (LaTeX): darcs get http://darcs.haskell.org/yaht

Errata
List of errata in the PDF version of YAHT.

title: Yet Another Haskell Tutorial


text:
Yet Another Haskell Tutorial/Preamble

The goal of Yet Another Haskell Tutorial is to provide a complete introduction to the Haskell programming language. It assumes no knowledge of the Haskell language or familiarity with functional programming in general. However, general familiarity with programming concepts (such as algorithms) will be helpful. This is not intended to be an introduction to programming in general; rather, to programming in Haskell. Sufficient familiarity with your operating system and a text editor is also necessary (this report only discusses installation and configuration on Windows and *Nix system; other operating systems may be supported -- consult the documentation of your chosen compiler for more information on installing on other platforms).

What is Haskell?
Haskell is called a lazy, pure functional programming language. It is called lazy because expressions which are not needed to determine the answer to a problem are not evaluated. The opposite of lazy is strict, which is the evaluation strategy of most common programming languages (C, C++, Java, even ML). A strict language is one in which every expression is evaluated, whether the result of its computation is important or not. (This is probably not entirely true as optimizing compilers for strict languages often do what's called "dead code elimination" -- this removes unused expressions from the program.) Haskell is called pure because it does not allow side effects (A side effect is something that affects the "state" of the world. For instance, a function that prints something to the screen is said to be side-effecting, as is a function which affects the value of a global variable.) -- of course, a programming language without side effects would be horribly useless; Haskell uses a system of monads to isolate all impure computations from the rest of the program and perform them in the safe way (see the chapter Monads for a discussion of monads proper or the chapter Io for how to do input/output in a pure language).

Haskell is called a functional language because the evaluation of a program is equivalent to evaluating a function in the pure mathematical sense. This also differs from standard languages (like C and Java) which evaluate a sequence of statements, one after the other (this is termed an imperative language).

The History of Haskell
The history of Haskell is best described using the words of the authors. The following text is quoted from the published version of the Haskell 98 Report:

In September 1987 a meeting was held at the conference on Functional Programming Languages and Computer Architecture (FPCA '87) in Portland, Oregon, to discuss an unfortunate situation in the functional programming community: there had come into being more than a dozen non-strict, purely functional programming languages, all similar in expressive power and semantic underpinnings. There was a strong consensus at this meeting that more widespread use of this class of functional languages was being hampered by the lack of a common language. It was decided that a committee should be formed to design such a language, providing faster communication of new ideas, a stable foundation for real applications development, and a vehicle through which others would be encouraged to use functional languages. This document describes the result of that committee's efforts: a purely functional programming language called Haskell, named after the logician Haskell B. Curry whose work provides the logical basis for much of ours.

The committee's primary goal was to design a language that satisfied these constraints:

 * 1) It should be suitable for teaching, research, and applications, including building large systems.
 * 2) It should be completely described via the publication of a formal syntax and semantics.
 * 3) It should be freely available. Anyone should be permitted to implement the language and distribute it to whomever they please.
 * 4) It should be based on ideas that enjoy a wide consensus.
 * 5) It should reduce unnecessary diversity in functional programming languages.

The committee intended that Haskell would serve as a basis for future research in language design, and hoped that extensions or variants of the language would appear, incorporating experimental features.

Haskell has indeed evolved continuously since its original publication. By the middle of 1997, there had been four iterations of the language design (the latest at that point being Haskell 1.4). At the 1997 Haskell Workshop in Amsterdam, it was decided that a stable variant of Haskell was needed; this stable language is the subject of this Report, and is called "Haskell 98".

Haskell 98 was conceived as a relatively minor tidy-up of Haskell 1.4, making some simplifications, and removing some pitfalls for the unwary. It is intended to be a "stable" language in the sense that the implementors are committed to supporting Haskell 98 exactly as specified, for the foreseeable future.

The original Haskell Report covered only the language, together with a standard library called the Prelude. By the time Haskell 98 was stabilized, it had become clear that many programs need access to a larger set of library functions (notably concerning input/output and simple interaction with the operating system). If these programs were to be portable, a set of libraries would have to be standardized too. A separate effort was therefore begun by a distinct (but overlapping) committee to fix the Haskell 98 Libraries.

Why Use Haskell?
Clearly you're interested in Haskell since you're reading this tutorial. There are many motivations for using Haskell. My personal reason for using Haskell is that I have found that I write more bug-free code in less time using Haskell than any other language. I also find it very readable and extensible.

Perhaps most importantly, however, I have consistently found the Haskell community to be incredibly helpful. The language is constantly evolving (that's not to say it's unstable; rather that there are numerous extensions that have been added to some compilers which I find very useful) and user suggestions are often heeded when new extensions are to be implemented.

Why Not Use Haskell?
My two biggest complaints, and the complaints of most Haskellers I know, are: (1) the generated code tends to be slower than equivalent programs written in a language like C; and (2) it tends to be difficult to debug.

The second problem tends not to be a very big issue: most of the code I've written is not buggy, as most of the common sources of bugs in other languages simply don't exist in Haskell. The first issue certainly has come up a few times in my experience; however, CPU time is almost always cheaper than programmer time and if I have to wait a little longer for my results after having saved a few days programming and debugging, that is okay.

Of course, this isn't the case of all applications. Some people may find that the speed hit taken for using Haskell is unbearable. However, Haskell has a standardized foreign-function interface which allow you to link in code written in other languages, for when you need to get the most speed out of your code. If you don't find this sufficient, I would suggest taking a look at the language OCaml, which often out-performs even C++, yet also has many of the benefits of Haskell.

Target Audience
There have been many books and tutorials written about Haskell; for a (nearly) complete list, visit the Haskell documentation at the Haskell homepage. A brief survey of the tutorials available yields:

 * A Gentle Introduction to Haskell is an introduction to Haskell, given that the reader is familiar with functional programming en large.
 * Haskell Companion is a short reference of common concepts and definitions.
 * Online Haskell Course is a short course (in German) for beginning with Haskell.
 * Two Dozen Short Lessons in Haskell is the draft of an excellent textbook that emphasizes user involvement.
 * Haskell Tutorial is based on a course given at the 3rd International Summer School on Advanced Functional Programming.
 * Haskell for Miranda Programmers assumes knowledge of the language Miranda.

Though all of these tutorials are excellent, they are on their own incomplete: The "Gentle Introduction" is far too advanced for beginning Haskellers and the others tend to end too early, or not cover everything. Haskell is full of pitfalls for new programmers and experienced non-functional programmers alike, as can be witnessed by reading through the archives of the Haskell mailing list.

It became clear that there is a strong need for a tutorial which is introductory in the sense that it does not assume knowledge of functional programming, but which is advanced in the sense that it does assume some background in programming. Moreover, none of the known tutorials introduce input/output and interactivity soon enough (Paul Hudak's book is an exception in that it does introduce IO by page 35, though the focus and aim of that book and this tutorial are very different). This tutorial is not for beginning programmers; some experience and knowledge of programming and computers is assumed (though the appendix does contain some background information).

The Haskell language underwent a standardization process and the result is called Haskell 98. The majority of this book will cover the Haskell 98 standard. Any deviations from the standard will be noted (for instance, many compilers offer certain extensions to the standard which are useful; some of these may be discussed).

The goals of this tutorial are:
 * to be practical above all else
 * to provide a comprehensive, free introduction to the Haskell language
 * to point out common pitfalls and their solutions
 * to provide a good sense of how Haskell can be used in the real world

Additional Online Sources of Information

 * A Short Introduction to Haskell: http://haskell.org/aboutHaskell.html
 * Haskell Wiki: http://haskell.org/
 * Haskell-Tutorial: ftp://ftp.geoinfo.tuwien.ac.at/navratil/HaskellTutorial.pdf
 * Tour of the Haskell Prelude: http://undergraduate.csse.uwa.edu.au/units/CITS3211/lectureNotes/tourofprelude.html
 * Courses in Haskell: http://haskell.org/classes/

Acknowledgments
It would be inappropriate not to give credit also to the original designers of Haskell. Those are: Arvind, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Jon Fairbairn, Joseph Fasel, Andy Gordon, Maria Guzman, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, Dick Kieburtz, John Launchbury, Erik Meijer, Rishiyur Nikhil, John Peterson, Simon Peyton Jones, Mike Reeve, Alastair Reid, Colin Runciman, Philip Wadler, David Wise, Jonathan Young.

Finally, I would like to specifically thank Simon Peyton Jones, Simon Marlow, John Hughes, Alastair Reid, Koen Classen, Manuel Chakravarty, Sigbjorn Finne and Sven Panne, all of whom have made my life learning Haskell all the more enjoyable by always being supportive. There were doubtless others who helped and are not listed, but these are those who come to mind.

Also thanks to the many people who have reported "bugs" in the first edition.

- Hal Daumé III

title: Yet Another Haskell Tutorial/Preamble


text:
Yet Another Haskell Tutorial/Introduction

This tutorial contains a whole host of example code, all of which should have been included in its distribution. If not, please refer to the links on the Haskell web site haskell.org to get it. This book is formatted to make example code stand out from the rest of the text.

Occasionally, we will refer to interaction between you and the operating system and/or the interactive shell (more on this in Section Getting started).

Strewn throughout the tutorial, we will often make additional notes to something written. These are often for making comparisons to other programming languages or adding helpful information.

If we're covering a difficult or confusing topic and there is something you should watch out for, we will place a warning.

Finally, we will sometimes make reference to built-in functions (so-called Prelude-functions). This will look something like this:

Within the body text, Haskell keywords will appear like this:, identifiers as  , types as   and classes as.