text:
Guitar/Buying an Amplifier

Amplifiers come in a wide variety of designs and your choice of amplifier should be based on the type of music you wish to play. Your local guitar dealer will let you test the different amplifiers they stock though they may only offer a limited range due to space restrictions. Its always a good idea to visit many dealers including pro-audio outlets to test amplifiers across the entire price range before committing yourself. This chapter will explain the difference between a tube amplifier and a solid state amplifier as well as exploring the variations on these two basic designs.

Tube
Tube amplifiers produce a warm and fat tone that is popular with guitarists. New models are available from Marshall, Fender and Vox as well as other manufacturers which range in quality and price. Vintage tube amplifiers from the 1960s and 1970s are available to buy, though maintaining them can be expensive especially with regards to the cost of replacement parts. The continuing popularity of vintage amplifiers from earlier decades has resulted in a market for reissues.

There are three operating modes for tube technology: Class A, Class B and Class AB.

 * Pure Class A operates by having a full continuous current flowing through the tubes. The tubes are still fully powered even when there is no signal to divert to the speaker. This makes Pure Class A tubes expensive to run; similar to a car idling in neutral with the throttle pedal right down. Pure Class A responds very fast to an input signal with a tube saturation (distortion) that many guitarists find appealing. Many Pure Class A amplifiers use tubes with a low wattage to offset their inefficient operating mode thereby increasing the tubes lifespan and reducing running costs.

 * Class A refers to an output design that doesn't use a Pure Class A single-ended output stage. Class A uses a pair of tubes or multiples terminating in a push-pull output stage.

 * Class B is rarely used in guitar amplifiers due to crossover distortion issues so manufacturers instead use a combination of Class A and Class B known as Class AB.
 * Class AB operates by using a pair of tubes. Whereas Pure Class A produces the entire waveform, positive and negative, with a single-ended output, Class AB produces the entire waveform using two tubes with one handling the positive voltage and the other the negative voltage. In comparison to Pure Class A, which uses a full continuous current to achieve a three hundred and sixty degree waveform and is always on at full power even when there is no signal present, Class AB uses a smaller amount of constant current to achieve the same always on state for the two tubes. Class AB is thereby more efficient with regards to power consumption and heat dissipation and the operating life of the tubes are greatly extended.

Tube amplifiers:

 * A tube is based on vacuum technology and requires more energy than a solid state amplifier with the same wattage.
 * Vacuum tubes are expensive and require replacement every one to four years depending on use.
 * Amplifiers with tubes are generally heavier than solid state amplifiers due to the need for an output transformer.
 * Tube amplifiers are usually more expensive than a solid state amplifier.
 * Tubes require a warm-up period before they reach optimum performance.
 * Tube amps are more fragile and repair-prone than solid state amps.

Solid state

Solid state amplifiers use transistors instead of tubes. They are popular with beginners due to their affordability and lower weight. Solid state amplifiers have a fast attack time and are immediately available for use when switched on. Solid state circuitry allows more volume to be applied to the output signal before clipping occurs which makes the amplifiers appealing to amateur and professional jazz or acoustic guitarists who may wish to retain a clean sound at high volumes. A solid state amplifier matched with good quality speakers can produce a wide frequency response. Some solid state amplifiers use field effect transistors (FET) on the preamp stage which at high gain produces a distortion similar to a tube amplifier.

Solid state amplifiers retain a tight low end while producing a full harmonic distortion at high gain which is desirable for the metal genre. This has resulted in a range of solid state amplifiers specifically designed for metal guitarists. Solid state amplifiers tend to be smaller and lighter than their equivalent tube amplifiers and these design factors allows manufacturers to build amplifiers weighing less than 10lbs which are capable of 150w clean RMS sound. Root Mean Square refers to continuous output as opposed to Peak measurement which is the wattage of an amplifier measured in a short burst.

Solid state amplifiers:

 * A solid state amplifier requires less energy to power than an equivalent tube amplifier.
 * Solid state circuitry needs minimum maintenance and there are no tubes to replace.
 * Solid state amplifiers are more robust than tube amplifiers.
 * Solid state amplifiers are available in an affordable price range.
 * A solid state amplifier requires no warm-up.

Hybrid
All amplifiers have a preamp stage which boosts the signal from the guitar before it is sent to the power amplifier stage. Hybrid amplifiers are designed to utilize both tube and solid state technology and are available in the following configurations:

 * tube preamp coupled with a solid state power amplifier
 * solid state preamp coupled with a tube power amplifier

A tube preamp coupled with a solid state power amplifier outputs a tube tone with a fast attack. A solid state preamp coupled with a tube output provides solid state high gain with the warmth of tubes.

Design variations may include digital modeling, integrated tube/solid state stages or further additional tube or solid state stages in the signal path:

 * The Vox Valvetronix signal path starts with solid state effects and preamp which sends the signal to a tube/solid state integrated output stage.
 * The Line 6 Spider Valve signal path starts with digital tone processing followed by a tube preamp which sends the signal to a tube power amplifier.

Standard

 * Input - accepts a quarter inch mono jack cable
 * Power - off and on
 * Volume - adjusts the volume
 * Speaker - built-in or separate cabinet

Additional

 * Gain - the amount of boost applied at the preamp stage
 * Overdrive or distortion
 * Reverb
 * Tone/equalizer - treble and bass tone knobs, sometimes three or more (mid, or low mid and high mid may be added), or graphic equalizer
 * Headphone socket - headphones can be used for private practice
 * Channel selection - switch between clean and high gain/overdrive (often with a footswitch)

Extra

 * Additional inputs - high sensitivity input for use with a low-output pickup and low sensitivity input for use with a high-output pickup
 * Modeling - digital emulations of popular amplifiers, speakers and effects
 * Onboard effects - built in proprietary effects such as chorus, delay, echo and compression.
 * Effect loop - external effects can be plugged into the amplifier
 * Line in - the audio signal bypasses the preamp stage and is sent directly to the power amplifier
 * Line out - the output from the amplifier can be sent to another power amplifier or mixing desk
 * Speaker out - standard on a separate amplifier "head" and when found on a combo amplifier allows a different speaker to be used, or a second speaker. Adding a second speaker can increase the wattage output and volume.
 * Foot-switch plug input - an external foot-switch can be plugged in to control overdrive, reverb, solo boost, or another feature.
 * Impedance switch (on tube amplifiers only) - change the resistance, measured in ohms, of the amplifier to match speaker impedance
 * Standby switch (on tube amplifiers only) - the standby switch has exactly the same function as the standby mode of a computer which removes the need to cold boot when taking a short break. Any technology that requires a time period to reach optimum working state benefits from this idea. Components are powered down while remaining in a ready state which saves energy and extends their operating life.

Amplifiers
The wattage rating is the maximum volume that an amplifier is designed to output. A 10 watt amp is typically the first purchase for a beginner. An amplifier in the 30 to 50 watt range is loud enough for band use and home band rehearsals and is a common first performing amp. If you are intending to buy a 100 watt amplifier you will need to consider using a rehearsal studio for practice, as this will be too loud for a home. The list below outlines possible uses based on the amplifier's wattage rating.

The ratings below need to be interpreted differently for some genres of music. A 30W amp that would only suffice for a rehearsal amp in a death metal band might be entirely appropriate as a large-venue amp in a jazz quartet, where all the other instrumrnts are acoustic.

Solid state amplifiers:
 * 10-30W: home practice
 * 30-50W: band practice, small club
 * 50-100W: large venue

Tube amplifiers:
 * 10-20W: home and band practice
 * 20-30W: band practice, small to medium club
 * 30-50W: small to medium club
 * 50-100W: extremely loud in confined spaces or small clubs, though diffuse in large halls

Speakers
The function of a speaker is to convert an electrical signal into sound waves. This is achieved using an electromagnet called the voice coil which is attached to the speaker cone by a spring called the spider. The vibrations from the voice coil are transferred via the spider to the speaker cone.

A speaker cabinet will house either a single speaker or multiples. A two speaker configuration may utilize smaller speakers than a single speaker model e.g. 2x10″ instead of 1x12″. The main benefit of having multiple speakers is an increase in volume and bass response without sacrificing the higher frequencies. By having more speaker cones the speakers will move more air. For example, two 10″ speakers have a combined surface area of 157 sq.in. while one 12″ speaker has a surface area of 113 sq.in. A 4x10″ cab is often used for large combo amplifiers as it provides most of the bass response you would get from a 1x15″, but retains the high frequency that the 1x15″ cannot produce. Also, it will have increased power-handling capability, or more precisely, they split the amplifier output. Thus, given the same amplification head, a two speaker configuration will have a louder volume but only half the power to each speaker.

A low power speaker is louder at the same power than a high power speaker. This is known as speaker efficiency or sensitivity. A 25 watt speaker with a 10 watt amplifier will generally be louder than a 100 watt speaker with the same 10 watt amplifier. A cabinet with multiple speakers allows the use of low power speakers with a high power amplifier.

To avoid damaging speakers it is recommended that the speaker wattage should exceed the amplifier wattage. Damaging transient peaks or spikes that are the result of an amplifier outputting more wattage than the stated rating are negated by the higher headroom. It is not unusual to find a 150 watt speaker matched to a 100 watt amplifier or a 75 watt speaker matched to a 50 watt amplifier. Multiple speakers achieve the same effect by sharing the amplifier load between speakers which allows low wattage speakers to be used with a high wattage amplifier. If you are buying a combo amplifier the issue does not arise as the manufacturer has ensured that the amplifier and speaker are matched.

Impedance
The speaker-out socket of an amplifier will have an impedance rating. You should only plug in speakers with the same impedance rating. Some amplifiers are equipped with a switch or dial which allows the impedance to be set at 4 ohm, 8 ohm or 16 ohm. Plugging in a speaker with a too low impedance rating may cause damage to the amplifier.

Tube amplifiers are much more sensitive to speaker impedance. Any mismatch between the speaker impedance and the impedance set on the amplifier will cause a strain on the transformer and tubes. Never turn on a tube amplifier with no speakers connected. This might cause severe damage to the output transformer. Always turn off your tube amplifier before disconnecting the speaker. Some amplifiers have shorting jacks, e.g. Hiwatts, these may allow you to change speakers on the fly, but always at the amplifier side of the cable, never at the speaker side.

Micro/Headphone amplifiers
Micro amplifiers are small portable amplifiers that generally do not exceed 10 watts. These low wattage solid state amplifiers do not utilize FET circuitry so they tend to distort very quickly. The Danelectro Honeytone and Vox amPlug respectively illustrates the differences between a micro amplifier and a headphone amplifier. The Danelectro Honeytone has a speaker and pots and resembles a miniature amplifier. The matchbox shape Vox amPlug is a headphone amplifier with rotary dials instead of pots and offers four model emulations including the Vox AC30.

Busking amplifiers
These small portable battery powered amplifiers are designed for outdoor use where no mains power is available. The battery will normally provide up to six to ten hours use on one charge though buying a spare battery or ensuring that the amplifier can also be used with AC power will offset this limitation. Examples include the Pignose Hog 30 which has an 8″ speaker and a rating of 30 watts and the Vox DA5 which has a 6.5″ speaker and a rating of 5 watts.

Practice amplifiers
Practice amplifiers are designed to be used at home and are not suitable for concerts or band rehearsals. The Vox DA5 and Epiphone Valve Junior are small practice amplifiers designed for home use and are easily transported and stored.

Small venue/recording amplifiers
Combo amplifiers are suitable for small venues. The standard combo consists of a 50 watt amplifier combined with one 12″ speaker with both components enclosed in a single cabinet. Some manufactures combine a 30 or 40 watt amplifier with two or four speakers. A tube or solid state amplifier with a minimum of 30 watts and good tone would be acceptable for professional use. Combo amplifiers are favored by many guitarists because of their compact form and matched amplifier and speakers. The Vox AC30 and Fender Twin are examples of combo amplifiers.

These combo amps are also used in the recording studio, as they are easier to transport and one does not need high volume in a recording setting. As well, a very loud stack may need too high a volume to get a guitarist's preferred tone, to the point that there may be sound leakage into other booths or microphones. A smaller combo can reach desired overdrive levels at lower volumes.

Large Venue amplifiers
Amplifiers that range from 50 to 100 watts are suitable for a large venue. A half stack consists of a separate amplifier head connected to one 4x12″ speaker cabinet and is a very common guitar rig. A full stack consists of a separate amplifier head with two speaker outs and two 4x12″ cabinets stacked vertically. A Marshall head and full-size cabinet are bulky and heavy items to transport. A full-sized Marshall cabinet has two handles, one on either side, and requires two people to lift and move it safely. Large 8x10" cabinets are hard to transport, if you are moving them yourself (touring rock bands have a road crew to move gear like this from vehicles to the stage). Storage and transportation must be considered when buying a large guitar rig.

Heads, cabinets, and stacks
A half-stack consists of two components:

 * head - amplifier
 * cabinet - speakers

When purchasing the two components check that the impedance of the cabinet matches the impedance of the head. Make sure the cabs RMS rating is about the same as the head's power output at the impedance of the cab. Generally a single guitar cabinet would have 4x12″ speakers though 1x12″ and 4x10″ cabinets are also available. Some players use 1x12" speakers for small clubs or 1x15" for deeper bass response.

What format to buy
Most beginners start by buying a small, lightweight practice amp. Then, when they start jamming, they buy a more powerful, larger amp capable of being used at a pub or nightclub show. As they progress, an amateur guitarist may buy a bigger, more powerful stack for large venue shows and one or more higher-quality, expensive combo amps for recording.

title: Guitar/Buying an Amplifier


text:
Ecology/Energy in ecosystems

<< Chapter 13 | Chapter 14 | Chapter 15 >>

Chapter 14. Energy in Ecosystems

There are several different factors that control the primary productivity of energy and biomass flow. Energy flow is the amount of energy that moves through a food chain. The energy input, or energy that enters the ecosystem, is measured in Joules or calories. Accordingly, the energy flow is also called calorific flow. In the study of energy flow, ecologists try to quantify the importance of different species and feeding relationships.

The largest source of energy for an ecosystem is the sun. Energy that is not used in an ecosystem is eventually lost as heat. Energy and nutrients are passed around through the food chain, when one organism eats another organism. Any energy remaining in a dead organism is consumed by decomposers. Nutrients can be cycled through an ecosystem but energy is simply lost over time.

An example of energy flow in an ecosystem would begin with the autotrophs that take energy from the sun. Herbivores then feed on the autotrophs and change the energy from the plant into energy that they can use. Carnivores subsequently feed on the herbivores and, finally, other carnivores prey on the carnivores.

In each case, energy is passed on from one trophic level to the next trophic level and each time some energy is lost as heat into the environment. This is due to the fact that each organism must use some energy that they received from other organisms in order to survive. The top consumer of a food chain will be the organism that receives the least amount of energy.

Hairston and Hairston (1993), believe that there is a cause and effect relationship that results in any given trophic structure. Specifically, they state that it is trophic structure, rather than energetics that controls the amount of energy consumed at each trophic level and that "ecological efficiencies" are the product of a trophic structure, not a determining factor. Further, they state that trophic structure is instead the result of competition and predator-prey interactions. It is important to remember that many species may occupy each trophic level and are so subject to interspecific competition. This is especially true for producers, carnivores, and decomposers (Hairston, Smith, and Slobodkin, 1960). Lastly it is not lost it is just consumed by its consumers.

Energy
Energy is the ability to do work. Life manifests itself in energy changes, subject to the laws of thermodynamics. Ecosystems exist and operate by virtue of a flow of energy through the components of the system and thermodynamics (the movement of energy) forms the very basis of the biosphere organizing principles introduced in Chapter 2. Before proceeding into the relationship between ecology and thermodynamics, it is necessary to build a basic understanding of the physics of energetics, simply a further demonstration of the fact that ecology is multidisciplinary, requiring of its students a broad knowledge in all sciences.

 * Read Energy - Follow links and cover details only as necessary to gain a basic understanding
 * Read Laws of Thermodynamics - Read the expanded articles as needed to understand these basic principles of energy changes
 * Read Principles of Energetics - You will find a constellation of related articles, including several with an ecological focus. You may wish to visit all of these to foster a deeper understanding

Although several sources of energy are available for exploitation on earth (e.g., geothermal, nuclear decay), the most significant is solar energy. Light and other radiation streaming out from the sun strikes the earth 93 million miles distant, providing energy to the atmosphere, the seas, and the land, warming objects that absorb this energy; that is, radiant energy is converted to heat energy (molecular motion). Differential heating causes winds and currents in the air and water, the heat energy becoming kinetic energy of motion. Warming results in evaporation of water into the atmosphere, setting up the hydrologic cycle (Chapter 4), the lifting of water into the atmosphere becoming potential energy that will convert to kinetic energy when the water begins to flow back downhill. However, the most significant solar energy driven process with respect to living systems is that of photosynthesis. Light energy is converted by photosynthesizing cells into a form of potential energy held in the chemical bonds of organic compounds. Organisms require both the substance and the stored energy of chemical compounds to function and grow, and eventually reproduce. Substance to provide the building blocks of cellular (and extracellular) components that comprise structure, and energy to move substances around, affect chemical reactions, and carry out all manner of intracellular and organismal processes.

Solar Constant
The Solar Constant is the average amount of radiant energy from the sun that reaches the Earth's atmosphere. This value is calculated at 2 calories per minute on each square centimeter of the Earth's upper atmosphere. This value can change because of Earth's elliptical path effecting seasonal changes and differences in the northern or southern slope which effect magnitude. The net radiation is what is left after some of the energy is reflected by the Earth's surface. Calculations for the solar constant are done by using the astronomical unit (AU) which is the mean distance between the Earth and Sun; One (AU) is equivalent to 92,960,000 miles (149,604,970 km).

Movement of the air and evaporation are important factors that regulate the temperature of the Earth from the sun's energy. The movements of air allow energy to be given off into space and without this reflection of energy the Earth would rapidly overheat and life would extinguish. This interaction is also a very important to the maintenance of the Earth's polar ice caps. A decrease in the solar constant of 2-5% would be enough to create a second ice age. Of course, as has been shown, the increasing use of industry by man, can increase earths temperature. If it were enough to cause the ice caps to melt, there would be an increase of approximately 7 degrees C. This is due to the fact that the polar ice caps help in reflecting back the Earth's radiation. This reflection of the solar radiation is an essential part of the maintenance of the current climate that the Earth maintains.

Organisms' Role in the Flow of Energy
When it comes to the flow of energy in ecosystems there are two types of organisms: producers and consumers. Plants are a common example of producers in all populations. They are able to convert carbon dioxide into oxygen and glucose, a common sugar consumed by most organisms. They do this through a process called photosynthesis which allows the plants to use sunlight as a source of energy. Producers convert energy from the environment into chemical energy in the form of carbon to carbon bonds. A classic example is the one previously mentioned where the plants convert CO2 to O2 and glucose.

The second type of organism is the consumer. Consumers are unable to make chemical energy the way plants do and have to use metabolic processes to get energy from carbon to carbon bonds, which is called respiration. Respiration breaks the carbon to carbon bonds and combines them with oxygen to make carbon dioxide. The energy released is used to help organisms move their muscles or as heat. Energy cannot be reused once it has been lost.

Read:
 * Energy Flow Through the Ecosystem
 * Ecosystems Background Information
 * Ecology

Measuring Energy Flow
Flow diagrams are a visual way to understand how energy is transferred and/or transformed. A simple flow diagram usually starts with a primary producer[c]==> herbivore[c]==> predator[c]==> and so on. They can be as simple as that or as complex as the complete CO2 cycle. The symbol [c] is the consumption rate of that species. The consumption rate between forcing functions is denoted by r, (r=[c]/t). The forcing function, which is the flow of energy between species, is usually measured in kcalmol-1year-1. The primary producer efficiency is measured by (NPP/Total consumed)x 100. Secondary production efficiency is measured by (NSP/Total consumed)x 100. For more detailed examples visit: Energy Flow of Organisms

Primary and Secondary Production
The Net Primary Production(NPP) is the amount of carbon fixed per unit time (usually per day). Measures of net primary production include:
 * 1) change in dry biomass per unit time
 * 2) calorimetry
 * 3) carbon dioxide uptake over time
 * 4) oxygen uptake over time (comparison of the plant's light cycle to its dark cycle)
 * 5) change in chlorophyll-a concentration, which equals the concentration of carbon dioxide fixed per day.

Ecologists look at dry mass because the high variability of water content makes accurate measurements difficult. Essentially about 95% of the dry mass is carbon and about 99.9% of the global biomass is plants (which includes algae, cyanobacteria, and other organisms that contain chlorophyll).

There are several different things that can limit NPP Terresterial limiting factors include: (1) water/precipitation, (2) sunligh/temperature, and (3) nutrients.

Aquatic limiting factors include: (1) sunlight/temperature, and (2) nutrients.

The NPP of aquatic ecosystems has been vastly affected by global warming. Global warming is the primary issue due to human impacts and gas emissions. Projected increases in carbon dioxide and temperature for the next 50 years exceed the amounts in which great coral reefs have flourished over the past half-million years. Coral reefs are at a serious decline due to temperature increases and coral bleaching. ..An estimated 30% of coral reefs are severely damaged and about 60% of coral reefs may be lost by 2030. Coral bleaching not only affects the coral reefs, but the diverse collection of species that interact with each other within the coral reef ecosystem. An example of this is the increased consuming of corallivorous fish on recently bleached coral (Pratchett et al. 2009). Corallivorous fish were found to increase stress on recently bleached coral due to increased feeding. The increased feeding on already stressed corals may have contributed to the mortality of bleached coral. The Corallivorous fish however, only increased consuming for the early stages of coral bleaching, and may be a good indication of coral mortality. Coral bleaching affects reefs at a regional and global scale, and has a huge impact on the NPP of coral reef ecosystems.

The net primary production is the main factor that limits the amount of net secondary production. Net secondary Production (NSP) determines the amount of biomass consumed and calculates the energy content of the consumed biomass. It also determines the amount of biomass and/or energy assimulated that is equivalent to an increase in the biomass of the consumer. In this case, a growth in biomass can be defined as a growth in individuals or growth in populations that includes reproduction. Most of the energy lost in secondary production comes from maintenance respiration. Secondary producers will consume oxygen and produce heat, which results in fairly inefficient production. Endotherms have a mean efficiency of about 2% and ectotherms have a mean efficiency of about 10%. There is a loss of energy due to respiration of 98% and 90%, respectively. All other organisms have a 30%-40% efficiency rate. All animals that live off plants(herbivores) are included in this group of secondary producers.

Limiting Nutrients
As mentioned above nutrients can play a role in limiting the production of a community. Other than sunlight, primary productivity is limited by nutrient availability. A limiting nutrient is a nutrient which is found in the lowest relative concentrations such that an increase in this nutrient will increase primary productivity, while a decrease in this nutrient will decrease primary productivity. Typically, either phosphorus or nitrogen serves as a limiting nutrient within a given ecosystem, though water availability can also serve to limit the primary productivity of an ecosystem. Trace nutrients such as molybdenum and zinc are necessary for the growth of plants and can act as limiting agents even though they are in very small quantities. Aquatic communities can also have limiting nutrients that control how much production takes place. In freshwater ecosystems net primary production is limited by phosphorus, and in the ocean the limiting nutrient is iron.

Read: Limiting Nutrients Too much of a nutrient can also have a limiting impact on a community. Recent studies have shown that excess nitrogen from human activities such as agriculture, energy production, and transport have begun to overwhelm the natural nitrogen cycle. The effects of the extra nutrients reach every environmental domain, threatening air and water quality and disrupting the health of terrestrial and aquatic ecosystems. In terrestrial ecosystems, nitrogen saturation can disrupt soil chemistry, leading to loss of other soil nutrients such as calcium, magnesium, and potassium. This means that while the nitrogen is not a limiting factor, it causes other nutrients in the soil to become limiting factors.

Read: Nutrient Overload

The Laws of Thermodynamics as they relate to Ecology
The laws of thermodynamics are fundamental concepts to chemical processes of the universe. They are extremely important in chemistry and physics, but are the basis for many biological concepts as well. The laws dictate how energy can be transported, which of course can be applied to ecology because energy transfer is what drives metabolism and, on a larger scale, food chains and food webs.

Zeroth Law of Thermodynamics
Zeroth Law of Thermodynamics is the most obvious of all three laws, simply stating that if the temperature of object A is equal to the temperature of object B, and the temperature of object C is equal to the temperature of object B then the temperature of object C equals the temperature of object A.  Although this transitive property seems almost unnecessary to mention, it is of crucial importance to the subject of energy transfer in the form of heat energy, since temperature is a measure of heat. Its implications in ecology are obvious as well. Organisms require the means to survive in a climate of a certain range of temperatures, and evolution has created organisms with extremely different tolerances to temperature according to where they are located.

First Law of Thermodynamics
The First Law of Thermodynamics states that the total inflow of energy into a system must equal the total outflow of energy from the system, plus the change in the energy contained within the system. That is, energy is neither created nor destroyed, but may transform from one type to another. This is relevant to food webs in that the amount of energy being transferred through the food web cannot be larger than the amount of energy initially supplied by the primary producer (which was supplied by the sun's energy).

Second Law of Thermodynamics
The Second Law of Thermodynamics states that "energy of all kinds in our material world disperses or spreads out if it is not hindered from doing so." In other words, the randomness (entropy) of the universe is always increasing. This is quoted from a site devoted to demonstrating how the second law is involved in our open system of the earth and sun: http://www.entropysimple.com.

The second law of thermodynamics is definitely the most applicable of the four laws to ecology. It is consistent with Elton's Pyramid of foodwebs that states that although sometimes total size or number of organisms can either increase or decrease with increasing trophic levels, the total biomass ALWAYS decreases with increasing trophic levels, as energy is constantly being lost to the atmosphere (usually as CO2. The energy from the sun allows living organisms on earth to temporarily decrease entropy, but our organized systems require an overall input of energy (provided by the sun). The second law of thermodynamics suggests a dire "heat death of the universe"  will occur when all the energy of the universe is evenly distributed, and no life or concentrated matter (stars, galaxies) can exist, although this won't occur for at least 10100 years.

Ecosystems are far from thermodynamic equilibrium, which used to be an argument against the second law of thermodynamics. Galucci (1973) performed a literature review of the physical theory of thermodynamics in relation to mechanisms of energy transfer in the environment (passive and active) and ecosystem productivity. He also studied how community structure and diversity related to entropy. As a result of his research, he claimed that the earth is a "receiver, reflector, and degrader of energy." The movement of energy through a community structure is necessary for its maintenance. External energy from the sun provides primary producers with energy and with a range of temperature in which life in the community is possible. Internal energy that travels from primary producers to organisms higher in the food chain is in the form of metabolism (mass, bonds) which provides transferrable energy. Galucci claimed that diversity is a form of entropy and improves the stability of a community. His conclusion was that the hypothesis of the second law of thermodynamics being applicable to ecosystems is supported.

Hedin et al. (1998) studied biogeochemical processes involving nitrogen at soil to stream interfaces from a thermodynamic point of view. More than 1400 subsurface water samples from Michigan wetlands draining from a mixed forested-agricultural landscape were observed in this study. Thermodynamic principles could predict what form of nitrogen would be available to microbes if the number of electron donors and acceptors (water pH) is known. Microbes will transform nitrogen from NO3- to ammonia in acidic conditions present in shallow water, but covert NO3 to N2O gas in basic conditions present in deeper water. The findings agreed with this theory and were helpful because oxidizable carbon can be added to the shallow portions of the water that are not sufficient at denitrification. These findings would not have been possible (or understandable) if a thermodynamic approach to the metabolism of microorganisms had not been considered.

Third Law of Thermodynamics
The Third Law of Thermodynamics simply states that as temperature of a system reaches absolute zero (0 K), the entropy of the system decreases. Technically, it states that a system at absolute zero is at zero entropy, but this is theoretically not possible as it has been established that absolute zero is not able to be experimentally reached. This is why substances become gases (molecules spread out, entropy increased) at high temperatures, and freeze (become ordered crystalline structures, entropy decreased) at low temperatures. Decomposition also has a higher rate at higher temperatures for this reason.

Ecological Pyramids
An Ecological Pyramid (or Trophic pyramid) is a graphical representation designed to show the relationship between energy and trophic levels of a given ecosystem. Most commonly, this relationship is demonstrated through the number of individuals at a given trophic level, the amount of biomass at a given trophic level, or the amount of energy at a given trophic level. It is worth noting that all Ecological Pyramids begin with producers on the bottom and proceed through the various trophic levels, the highest of which is on top.

Pyramid of Biomass
An Ecological Pyramid of Biomass shows the relationship between energy and trophic level by quantifying the amount of biomass present at each trophic level (dry mass per trophic level). As such, is assumed that there is a direct relationship between biomass and energy. By doing this, the earlier discrepancy is avoided because even though there is only one tree, it is much more massive than the next trophic level.

The main problem with this type of Ecological Pyramid is that it can make a trophic level look like it contains more energy than it actually does. For example, all birds have a beak and skeleton, which despite taking up mass are not eaten by the next trophic level. In a Pyramid of Biomass, the skeleton and beak would still be quantified even though it does not contribute to the overall flow of energy into the next trophic level.

Pyramid of Energy (Ecology)
An Ecological Pyramid of Energy is the most useful of the three types, showing the direct relationship between energy and trophic level. It measures the number of calories per trophic level. As with the others, this graph begins with producers and ends with a higher trophic level. When an ecosystem is healthy, this graph will always look like the standard Ecological Pyramid shown at the top of the page. This is because in order for the ecosystem to sustain itself, there must be more energy at lower trophic levels than there is at higher trophic levels. This allows for organisms on the lower levels to maintain a stable population, but to also feed the organisms on higher trophic levels, thus transferring energy up the pyramid. When energy is transferred to the next trophic level, only 10% of it is used to build bodymass, becoming stored energy (the rest going to metabolic processes). As such, in a Pyramid of Energy, each step will be 10% the size of the previous step (100, 10, 1, 0.1, 0.01, 0.001 etc.).

The advantages of the Pyramid of Energy: The disadvantages of the Pyramid of Energy: The best way of showing what is happening in the feeding relationships of a community is to use Energy Pyramids.
 * It takes account of the rate of production over a period of time because each rectangle represents energy per unit area / volume per unit time. An example of units might be - kJ/m2/yr.
 * Two species weight for weight may not have the same energy content therefore the biomass is misleading but energy is directly comparable.
 * The relative energy flow within an ecosystem can be compared using pyramids of energy; also different ecosystems can be compared.
 * There are no inverted pyramids.
 * The input of solar energy can be added.
 * The energy value for a given mass of organism is required, which involves complete combustion of a sample.
 * There is still the difficulty of assigning the organisms to a specific trophic level. As well as the organism in the food chains there is the problem of assigning the decomposers and detritivores to a particular trophic level.

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

title: Ecology/Energy in ecosystems


text:
First Aid/Chest & Abdominal Injuries

Injuries to the chest and abdomen can be difficult to recognize and treat, and many injuries can go unnoticed until they become very serious. The muscle and bones that serve to protect vital organs can also mask their injuries – or at worst contribute to them. It is important for the rescuer to consider injuries that lie beneath the skin.

In addition, the different organs react in different ways when subjected to trauma. Hollow organs (such as the bladder) tend to rupture, releasing their contents into the surrounding space. Solid organs (such as the liver) tend to tear instead, often bleeding at a slow enough rate to be overlooked.

Closed Chest Injuries
Closed Chest injuries can be inherently serious, as this area of the body houses many critical organs, such as the heart, lungs, and many blood vessels. Most chest trauma injuries should receive professional medical attention. Always call for an ambulance for any potentially serious chest injury.

Rib Injuries
A common result of trauma to the chest is damage to the victim's rib cage. The curved shape of the rib cage helps to deflect the force of some injuries, but damage to cartilage or the ribs themselves can still result. While a single broken rib can be very painful for the patient, a number of broken ribs can lead to other complications. A victim with broken ribs may take very shallow breaths without even noticing it, as their body tries to prevent the pain with taking a full breath.

When many adjoining ribs are broken in different places, a portion of the rib cage can move in the opposite direction the chest should. This is known as a "flail" segment, and can make breathing very painful and less effective.

Recognition

 * Trouble breathing
 * Shallow breathing
 * Tenderness at site of injury
 * Deformity & bruising of chest
 * Pain upon movement/deep breathing/coughing
 * Dusky or blue lips or nail beds
 * May cough up blood
 * Crackling feeling upon touching victim's skin (sounds and feels like "Rice Crispies")

Treatment

 * Assess ABCs and intervene as necessary
 * Call for an ambulance
 * Assist the victim into a position of comfort (typically seated upright, to avoid fighting gravity)
 * Conduct a secondary survey
 * Monitor patient's condition carefully
 * Be vigilant, keep alert for any changes
 * If a flail segment is suspected, tightly secure a bulky dressing (such as a tightly folded hand towel) to help stabilize the injury

Open Chest Wounds
An open pneumothorax or sucking chest wound – the chest wall has been penetrated (by knife, bullet, falling onto a sharp object...)

Recognition

 * An open chest wound – escaping air
 * Entrance and possible exit wound (exit wounds are more severe)
 * Trouble breathing
 * Sucking sound as air passes through opening in chest wall
 * Blood or blood-stained bubbles may be expelled with each exhalation
 * Coughing up blood

Treatment

 * Assess ABCs and intervene as necessary
 * Do not remove any embedded objects
 * Call for an ambulance
 * Flutter valve over wound, as described below
 * Lateral positioning: victim's injured side down
 * Treat for shock
 * Conduct a secondary survey
 * Monitor vitals carefully

Making a flutter valve
Get some sort of plastic that is bigger than the wound. Ideas: credit card or similar, Ziploc bag, some first aid kits will have a ready-to-use valve. Tape the plastic patch over the wound on only 3 sides. The 4th side is left open, allowing blood to drain and air to escape. This opening should be at the bottom (as determined by the victim’s position). When the casualty inhales, the bag will be sucked in, but when the casualty exhales, the air will exit through the untaped side.

Protruding organs
If a trauma injury has caused the victim's internal organs to protrude outside the abdominal wall, do not push them back in. Doing so will only cause greater complications - remember that preventing further injury is one of the aims of first aid.

Instead, have the person lie flat with their knees bent and cover the organs with a moist, sterile dressing composed of material that will not stick to the affected organs. Normally a special dressing, ABD Pad (Army Battle Dressing) or trauma dressing is used, though large Telfa dressing will work well. Gauze can stick if it is dry – be careful to keep normal gauze moist if you do use it. Paper products like paper towel or toilet paper must never be used, as they will turn to pulp, causing major complications. Do not allow the victim to eat or drink, though they may complain of extreme hunger or thirst. Call an ambulance, treat for shock, and monitor ABCs until the emergency medical team arrives.

Internal Bleeding
If the abdominal injury does not cause an open wound, have the person lie flat with their knees bent and treat for shock until EMS arrives.

title: First Aid/Chest & Abdominal Injuries


text:
User talk:Webaware/Archive 4

 * Archives May 2007 - June 2007

Dear sir, please help a fool with titles
Hello there! I figured I'd pester you since you seem to know what you're doing. How does one go about requesting a title be changed? Cookbook:Lime and Marscapone Cheesecake ought to be "mascarpone." I've looked in the style guide, etc., but am missing it. Help? Jessicapierce 23:36, 2 May 2007 (UTC)
 * To change the title of a page, you need to move it. Click the "move" link at the top of its page, and change the title as appropriate. You can also move recipes from the "main" namespace into the Cookbook namespace by doing the same thing.
 * NB: when you move a page, a redirect is created at the old page name so that any links to that page will still find the page at its new name. If there were already redirects to the old name, they won't be updated, and they won't work (because double redirects are not supported in the software.) You need to then update the sources to point at the new page - luckily the page move tool gives you a link to help you track them down.
 * As for "seem to know what you're doing", well, appearance is everything, isn't it? :-) Webaware talk 23:46, 2 May 2007 (UTC)
 * It's done. Webaware talk 14:45, 22 May 2007 (UTC)

Aah
Missed you! Hope all is well? A friend of yours has returned! Cheers -- Herby talk thyme 15:32, 19 May 2007 (UTC)

 * And it all makes work for the working man to do... Webaware talk 15:37, 19 May 2007 (UTC)

Jet Database Wikibook
Thank you for your work in this regard. While I don't like having to deal with JetSQL, your reference is useful. If I have anything to contribute I will gladly do so.

Please check out my Open Source project PlaneDisaster.NET for dealing with Microsoft Access databases. DO you think that this and other projects such as JetSQLConsole should be bentioned in the WikiBook?

--Zippy1981 17:44, 20 May 2007 (UTC)

 * G'day, and thanks! The book has stalled, but I'll get back to it soon - and I would certainly appreciate any help you can offer. I also don't like having to deal with JET SQL, which is why I want to have a decent reference to the bugger somewhere handy. The little bugger just won't die!
 * As for PlaneDisaster.NET and JetSQLConsole, yes, by all means. Perhaps we could have a page dedicated to tools useful for manipulating JET. I've currently spec'd a page for "Integration and migration", but there's really more to it than that - the two tools you've mentioned, and others of a similar nature, should have a "Utilities" page or something, and there should also be a page on working with design tools like Visio and MySQL Workbench (just from the JET perspective).
 * Whatever you think, just be bold and jump in, or if you'd prefer, run it past me first if you're unsure about something. Webaware talk 23:51, 20 May 2007 (UTC)

Great job fixing my translation job on the Kibbah
people like you make me want to help contribute my knowledge and skills to wikipedia. keep up the good work.

Barak.

 * No problem, and thanks for the great recipe! I really love kibbe, and look forward to trying to make it. Somehow, I'll have to try to make a gluten-free one though - maybe with brown rice, or buckwheat? Webaware talk 15:23, 24 May 2007 (UTC)

Potential cookbook page?
Hey webaware, I was messing with random books and stumbled across this module, I'm not sure if this fits in any of the current modules but do you think it'd be interesting to put stuff like that in there, or is it better just to leave the organization as it is? Regards, Mattb112885 (talk) 15:36, 24 May 2007 (UTC)

 * G'day, looks more like a How-To than a Cookbook recipe or technique, and not really Bar Tending either. I'd leave it where it is - although, I did stumble across a food-related category the other day, so perhaps it ought to be listed in that too. If I remember where I saw it, I'll add it to that cat. Webaware talk 15:42, 24 May 2007 (UTC)

 * Sounds good, BTW you guys are doing great, googling cookbook here brings up the wikibooks cookbook as the second choice (even above the wikipedia entry for "cookbook"!), keep up the good work! Mattb112885 (talk) 15:47, 24 May 2007 (UTC)

 * Thanks, mate. When I looked just now, it came up as first result :-) (google.com.au). Webaware talk 23:27, 24 May 2007 (UTC)

The usual
No glory, no stars - just thanks for the help, hope all is good -- Herby talk thyme 12:15, 30 May 2007 (UTC)
 * And thanks for yours, also sans-stars. At least it's a distraction from shitty bugs and stupid requirements... :) Webaware talk 12:49, 30 May 2007 (UTC)

hei there..
could you help me out fixing up the latest recpie I translate? Cookbook:Roasted eggplant. thanks in advance. --Barak4wiki 22:13, 30 May 2007 (UTC)

 * G'day Barak, I had a crack at it - see if it still matches what you intended. I wasn't sure what you meant by "chopper" - a chopping board, or a chopping knife (like a cleaver, perhaps?) Webaware talk 01:09, 31 May 2007 (UTC)

Images
Hi, I am pretty sure the images in question were from the source given on Cell Biology. Unfortunately, the pages do not seem to be accessible anymore, so I cannot prove this. The Wayback Machine apparently has no copy of these pages either. I am trying to find Mark Dalton, who apparently put that page up in the first place. I'll keep you informed. --Magnus Manske 18:09, 18 June 2007 (UTC)
 * Good news : I found Mark, and he mailed me permission to "une them under any license I like". So, I'll put them under GFDL and CC-BY-SA. I know there's a mail-permission-to system somewhere, but where? --Magnus Manske 19:53, 18 June 2007 (UTC)

 * G'day Magnus, that's good news. Just post a copy of that email as a sub-page to your user page (e.g. User:Magnus Manske/Mark Dalton images) and link to it from those image pages. cheers, Webaware talk 00:56, 19 June 2007 (UTC)

Thanks
Hey Webaware. Thanks for being my guardian angel with these recipes I put up. Still havent learned really where to put them and how, and so am grateful someone does it for me. Its such fun putting them up ! I'm under no illusion that anyone actually tries them, but you never know. Are you a good cook ? What are your favourite recipes ? Peter

 * G'day Peter, always happy to help. To start a new recipe page, just type the name into the search box (on the left) but prefix it with "Cookbook:", e.g. "Cookbook:My New Recipe". If you miss, I'll watch out for them anyway and move them to the right place :-)
 * Does anyone actually try your recipes? Or mine? Who knows! But they're up there in case someone wants to. I see a lot of comments left on recipe talk pages, as well as minor corrections / additions left by anonymous users as they try a recipe out and just have to add their little tweaks, so yes, I'd say that someone is sure to try your recipes!
 * Am I a good cook? Observational bias suggests that I am, but also that I'm an above-average driver just like the other 70% of drivers who think they are! I'm good at throwing together a meal out of what's in the fridge and cupboards, and making it taste good. It's often not "authentic", and I often take shortcuts that would have restaurant chefs shaking their heads, but I'm cooking for me and mine, so it doesn't matter. I have the added challenge of making it taste good and keeping it safe for my wife, who has food intolerances and is very demanding. We have a wide range of spices and herbs to suit a wide variety of cooking styles, as a substitute for the frequent restaurant visits we had been used to before her diagnosis.
 * Favourite recipe? Hard to pick. I very much like mapo doufu, either with tofu or black-eyed peas; chole is a regular favourite; we usually fit our own slap-dash version of paella into a fortnight somewhere (although our style might be closer to a chicken/seafood risotto); roast whatever is going with lots of roots and tubers, which inevitably leads to a hearty soup made from the leftover roast veges, perhaps a bone broth from the bone pressure-cooked with some beans; stir-fry whatever, especially chicken, tofu, or tempeh; ratatouille, very nice with lamb chops and mashed spud; oh, I could go on and on, but I won't. I must rush off now to make some dosa to go with boiled eggs for what is now a very late breakfast (late night last night!)
 * What are your favourites? Webaware talk 01:34, 19 June 2007 (UTC)

Hi There
I will be reading the wikibooks guidelines in scrutiny, especially for POV and original research. I will be re-editing the rough drafts I am currently placing as time goes bye. If there is any violation that requires my immediate attention, please let me know. thanks. --Ohadaloni 03:48, 19 June 2007 (UTC) []

 * Thanks, I will note this on the VfD page. Realise that listing your books for a vote for deletion doesn't mean that they will be deleted, just that I think they may need to be reviewed for such. cheers, Webaware talk 03:56, 19 June 2007 (UTC)

Reggy
Thanks. I have many questions with no definite answers you can probably give me, so I cluttered my own talk page with these thoughts. Please respond to anything you believe you can help me with. If it seems I am in some material breach of some guidlines, I prefer saving much effort by taking a break and re-visiting and re-organizing my wikibooks goals. More unhashed thoughts that are related can be found on my wikipedia [|talk page]. —The preceding unsigned comment was added by Ohadaloni (talk • contribs) 2007-06-19T21:12:23.

 * The best thing I can suggest is that you take a look at WB:WIW and WB:NPOV. Webaware talk 13:28, 19 June 2007 (UTC)

Category:License tags
Webaware, I know I originally created Category:License tags and then we both proceeded to migrate copyright tags into that category. In retrospect, I think that Category:Image copyright tags would be more appropriate (I know the latter category was used prior to the former category)); some of the templates in there (in particular, the non-free ones) do not denote that the image is used under a license, which the current category name implies. This is merely a difference of semantics, but I would like to change the categories (which I could do with a semi-automatic installation of AutoWikiBrowser).  Do you have comments?  Cheers, Iamunknown 19:47, 20 June 2007 (UTC)  Oh, and thanks for doing all those GFDL-presumed tags!  :)

 * Sounds reasonable. But should it be "Media copyright tags", or even just "Copyright tags"? We use them on sound bites, PDFs and various other media too, right? Then again, Commons just has "License tags", why should we be any different? Webaware talk 00:26, 21 June 2007 (UTC)

 * Hmm, more semantics. ;)  Well, the namespace where all media are stored is called the "image" namespace, Wikipedia uses "Image copyright tags" (as opposed to "License tags"), so who knows...  I'd be comfortable with "Image copyright tags".  --Iamunknown 23:33, 21 June 2007 (UTC)

 * I don't really see the need for the change, given that we currently shadow Commons (which I respect more than WP on these matters). If we do change, I'd prefer we went to "Copyright tags" so that someone with a PDF doesn't think they're looking in the wrong category. Webaware talk 23:53, 21 June 2007 (UTC)

 * "Copyright tags" sounds good to me. I'll see what I can do.  --Iamunknown 21:47, 22 June 2007 (UTC)

Kudos to you
I just wanted to say that i've seen alot of your edits recently on the RC feed: welcoming new users, tagging unlicensed images, etc. I just wanted to let you know that I think you are doing an awesome job. Keep up the good work. --Whiteknight (Page) (Talk) 03:14, 22 June 2007 (UTC)

 * Ta mate, and kudos to you too on your more estimable efforts! If it's worth doing, ... Webaware talk 04:10, 22 June 2007 (UTC)

Images
Webaware, make sure you put in the right image copyright tag; Image:UzbekPlov.jpg isn't CC-BY-SA-2.0, it is CC-BY-NC-SA-2.0 which is not free. Same with Image:Uzbekistan Architecture.jpg. --Iamunknown 23:26, 22 June 2007 (UTC)

That said, thanks for all the cleanup. :) --Iamunknown 23:33, 22 June 2007 (UTC)

 * Ack! Thanks for the catch, I honestly didn't notice. Must stop trying to do stuff like that after 1am! cheers, Webaware talk 01:48, 23 June 2007 (UTC)

Deep sorrow!
& Apologies - you tagged a spambot page & I hit the wrong button - early, need coffee. Gone to block the IP & will mail you later -- Herby talk thyme 07:56, 26 June 2007 (UTC)

 * Ta, and no worries - I figured it was a caffeine deficiency error. cheers, Webaware talk 08:13, 26 June 2007 (UTC)

Adminship
I've been lead to believe by an anonymous source that If you were nominated for adminship again, that you would accept the nomination? I sincerely hope this is so, I've been watching the RC feed the last few days and i see that you've done alot of  good work around here. On top of that, the work you have been doing, such as finding and marking spam, reverting vandalism, etc, is the kind of work that can really benefit from having the extra buttons.

Anyway, I want to nominate you because I really believe you are the most deserving non-admin right now, and because I think you are an asset to this project. What do you say? --Whiteknight (Page) (Talk) 01:26, 28 June 2007 (UTC)

 * G'day Whiteknight, yeah, I would accept if nominated again. I can see a use for those extra buttons now - if only to reduce the work for others cleaning up after my speedy delete tagging. I'm not sure about blocking, but I guess I'd pick it up as I went along. I declined last time because I didn't want to expend time learning new "sysop" stuff, but that isn't so much of an issue this time. Besides, my actual contributions are lagging regardless... Webaware talk 01:53, 28 June 2007 (UTC)

 * Done. --Whiteknight (Page) (Talk) 02:08, 28 June 2007 (UTC)

 * Thanks, have accepted. Webaware talk 02:33, 28 June 2007 (UTC)

title: User talk:Webaware/Archive 4


text:
A Beginner's Guide to D/Conditions and Loops/Complex Iteration: The for Loop

The most complicated loop statement that D provides is the for loop. The for loop is borrowed directly from C, and shares its syntax. It has the following form:

for(statements; conditional; statements) { body }

The first set of statements are separated by commas, and are executed before the loop begins. Variables can be declared in these statements. This is usually used to initialize an index variable. The conditional is a Boolean value, and is executed before each iteration of the loop. The body is only executed as long as the conditional remains true. The last set of statements are executed after the body, and usually increments an index variable.

The following is the typical use of the for loop:

However, more complicated for loops are possible. For example, a for loop can iterate over two arrays, in opposite directions, at the same time:


text:
Io Programming/Beginner's Guide/About

About Io
We cannot give a significantly better executive summary of what Io is than what's already on the Io language website :

 * Io is a small, prototype-based programming language. The ideas in Io are mostly inspired by Smalltalk (all values are objects), Self (prototype-based), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable).

Still, it hardly does much to capture the essence of what Io actually is, how to use it to solve problems, or to extend its functionality with new features. This wikibook aims to cover all of these aspects, in varying degrees of detail. We start with the basics, of course; we assume that you, the reader, have had relatively little programming experience in the past.

One thing you should know is that Io has not yet received its 1.0 badge of honor. The language and its libraries are, while becoming more and more stable every day, still maturing. This wikibook was written with Io 20070410. This means that I used a version of Io that was "released" on 2007 April 10. While it doesn't mean that the entirety of the book will be invalid in the next release, please be aware that Io is an extremely fluid language (and is so by design!), and is prone to change over time as developers and users require.

About This Book
This work is disjointly licensed under the GNU FDL, the CC BY SA, and Io's license.

The authors of this tutorial are:
 * Daniel Ehrenberg (LittleDan)
 * Samuel A. Falvo II
 * Olle Jonsson (just a note on String concatenation)

And many others who wish to remain anonymous.

Io Language Websites and Community

 * The Official Io Language Site : The quintessential root of it all, the Io homepage.
 * Todo : Stuff that needs to be done.
 * Examples : Paste your example code here.
 * Binding to C++ : Learn how to bind Io using C++.
 * CGI : Accessing Io through CGI
 * Style Guide : How to write good Io code.

To talk to people working with Io and/or to get help, visit irc.freenode.net #io.

title: Io Programming/Beginner's Guide/About


text:
Io Programming/Beginner's Guide/Getting Started

Posix Systems
Io is primarily developed on Unix-based systems, most notably MacOS X. As such it is easiest to build and use Io on these systems. Io has been successfully compiled on MacOS X, Linux, and various BSDs and should have no problem compiling on any system that complies to the Posix standard and has a C99 compliant compiler.

Download the source
First you need to download the source. It is recommended to get the code from the git repository:

$ git clone https://github.com/stevedekorte/io.git

Or, you can find the downloads at the following website: http://iobin.suspended-chord.info/

Compile
Now that you have Io downloaded, let's build it! To do that, change to the newly created directory and create a directory to perform the building in:

You will need cmake

$ cd io $ mkdir build && cd build

From this directory we want to run CMake which will feel out the environment the same way autotools does for other projects and generate the makefiles:

$ cmake ..

This will check which libraries you do and don't have and determines which addons can be built based on what dependencies you do have. If you have libraries installed in non-standard places (such as zlib in /opt/zlib or ~/zlib/) then you will need to run one of CMake's graphical configuration tools and tell it where those are, then configure it again. is almost always available,  is available for major platforms like OS X, Windows and some Linux distributions:

$ cmake-gui ..

To build the IoVM and any addons that can be built from the source and library files that you have on your computer, just run !

$ make

If you have problems with compilation you may not have all the dependencies you need. Ensure you have your operating system's compiler tools (this is often GCC) are installed, as some versions of Linux do not come this way unless you explicitly tell them to when you are setting up the system.

Install
Wait a while (on a MacBook it takes about one minute) and it should compile everything successfully; you may then install it to your system like so:

$ make install

or

$ sudo make install

And this will put the binaries  and   in to the install path (  for binaries usually,   for libraries; both may be changed with the CMake configuration tool by changing the install path) as well as ,  ,   and.

NOTE: The CMake scripts Io uses do not currently install the header files for use with embedding, that has to be done manually.

Linux
After installing you may need to configure ld on Linux. Add this line to /etc/ld.so.conf include /usr/local/lib

Then reconfigure ld(, or add current directory with the newly built Io environment to path): sudo ldconfig

Confirmed to have worked with Ubuntu 10.10. Please note that your user might not have rights to edit /etc/ld.so.conf - in that case sudo gedit /etc/ld.so.conf might work. More alternatives and discussion here.

Debian, non-default install directories, missing cmake
This recipe (written 20101018) covers installation on Debian 5.0.6, and guidelines for dealing with non-default install directories and what to do if your OS doesn't have an up-to-date version of cmake. is assumed to be the root of the install tree (for example, in your home directory — but with addition of appropriate  commands this will work for  and similar non-default system-wide install trees).

Debian 5.0.6 doesn't have a sufficiently recent version of cmake for the current version of Io (wants 2.8, Debian has 2.6). The following commands retrieve and install cmake-2.8.2 (the apt-get commands make sure that any build prerequisites are installed):

Tidy up:

Tidy up:

If you can't engage with the ldconfig incantations described above, non-standard install locations will need LD_LIBRARY_PATH to include the lib directory in which Io's libbasekit.so etc. are installed.

Start Up!
Io will now be installed and can be started using the command: io

If you type just, you will enter the interactive interpreter. To quit the interactive interpreter, press Ctrl-D or type exit.·

 * NOTE

If you type something after, it will be interpreted as a filename, even if it is something like   or   that should be interpreted as an option.

Finishing Touches
Now we can test the installation to see if everything works as expected.

$ make test

Optionally, you're free to clean up the build directory as well:

$ make clean

Windows Systems
Pre-compiled binaries for Io exist at the Io downloads page, and are presently the recommended way of using Io on this platform. Compiling it yourself is not particularly trivial at the time of writing and requires the use of unix emulation tools such as MSYS or Cygwin.


text:
Io Programming/Beginner's Guide/Your First Program

Your First Program
When learning to program, the first thing usually learned is how to write a program that prints "Hello, world!" to the console. It gives new programmers a feel of how simple programs are structured. Io has many ways to write programs which do basically the same thing, so at times it can be confusing about which one to use. Writing to the screen is no exception!

Enter the Io's interactive interpreter (by typing  at the console) and type the following:

writeln("Hello, world!\n")

With the interactive interpreter, this should look like:

$ io Io> writeln("Hello, world!\n") Hello, world! ==> nil

It looks like writeln is telling Io to write something to the console, specifically the stuff inside the parentheses. But, why parentheses? Nothing else is on the line, so it should be able to figure out what you mean by just printing the rest of the line, right?

Although they are convenient to use for inserting comments into prose, they're also convenient to use to group together all sorts of stuff (like grocery lists, things to do, algebraic expressions, and as this parenthetical expression clearly shows, lists of examples of parenthetical examples!). It is in this second common use that Io uses parentheses: in this case, to group together the stuff you want writeln to deal with. Each item you want to have writeln work with is separated by a comma, like so:

Io> writeln("Hello", " there!") Hello there! ==> nil

Notice that, in this case, we gave writeln two things to work with, separated by a comma. If we wanted to, we could have given writeln 50 things to write out, each separated by a comma.

So far, though, we haven't quite answered the question. Let's try a slightly different program, which should help illustrate the point. Just type the following in:

Io> greet := method-> writeln("What is your name?"); you := File standardInput readLine; )-> writeln("Hello ", you) )-> )

Io will respond with:

==> method(    writeln("What is your name?"); you := File standardInput readLine     writeln("Hello ", you) )

Don't worry about what all that gobbledyguk means. What we basically did was write a very simple Io program -- indeed it's your very first! Let's run it:

greet

It'll respond by asking you for your name. Go ahead and type it in:

What is your name? Sam Hello Sam ==> nil

The answer to the question of why write needs those parentheses is right there in the above program. If writeln just consumed the remainder of the line, then it would not be possible to string together multiple things for the computer to do. It probably would have printed out something like this instead:

Io> greet What is your name? you := File standardInput readLine Hello· Exception: Object does not respond to 'you' - Object you                           greet Line 3

Whoa! What is all this mess? We'll see what these things are later in this book. Fortunately, we have those parentheses to keep us on the right path.

Now, all this time I've been calling everything inside those parentheses things. Well, they are, but they have a more correct name for them. Instead of constantly calling these things things, we choose to call them arguments instead.

With all these parentheses and arguments flying around, this might start to sound like what you learned way back in Algebra class at Paleozoic High. You're right -- this notation comes from the concept of algebraic functions. writeln is said to be the function name, and both   and   are its arguments.··

 * NOTE

writeln is not a true function in the algebraic sense. It is more correctly described as a procedure, and you might hear this term used now and again. But, there is still a third term for it, called a method, for reasons that will be made clear later in this book. For now, we can ignore these differences.


text:
Io Programming/Beginner's Guide/Basic Components of Io Programs

Basic Components of Io Programs
There are a number of basic components you need to be familiar with to make effective Io programs.

Keywords
Strictly speaking, Io has no keywords. However, it does have a syntactic sugar layer that, for all intents and purposes, gives it a few keywords. There are only three of these keywords-that-aren't-really-keywords in the whole language. We've seen one already.

 * : The semicolon is used to separate different things the computer should do. You won't be using this often, but it sometimes can come in quite handy.
 * : The equals is used to update an already existing variable. But, what if we don't already have a variable declared?  Enter . ..
 * : This assignment operator (read, "becomes") is used to create a new variable (it also updates it if it happens to already exist).·

We won't get into how these not-exactly-keywords affect Io just yet. For now, let's just pretend that they're real keywords.

Strings
Strings are strings of characters, really. Those are chunks of text wrapped inside quotation marks, like this:

Io> "Hello world!" ==> "Hello world!"

Sometimes, it is awfully convenient to put line breaks, tabs, or even bells (but not whistles) into text too. We do this with escape sequences. Far and above, the #1 escape sequence you'll use the most is. This particular escape sequence signals a newline, the equivalent of pressing enter. If you just pressed enter in the middle of this kind of string, it would confuse Io.

I mentioned "this kind" of string, because this ended up being a big enough problem that a new kind (borrowed from Python) was eventually implemented. This is the now famous triple-quoted string. They look like this:

Io> """Hello world!""" ==> "Hello world!"

What's the difference? The triple-quoted string does allow you to type the ENTER key right in the middle:

Io> """Dear sir, "-> "-> I must admit, I really like your suggestion "-> to learn Io. Thank you for the kind words. "-> "-> Sincerely, "-> "-> "-> Robert. "-> """ ==> Dear sir, I must admit, I really like your suggestion to learn Io. Thank you for the kind words. Sincerely, Robert.

Return Values
You wouldn't normally see the results that functions and procedures produce listed as a language element in most books. But, Io is different -- it is a very real language element that you must deal with. This is pretty ominous, isn't it?

In Io, as with a lot of functional programming languages, everything you say or do in Io is an expression. This is "fancy computer science talk" for, everything you say or do produces some kind of result which can be used by some subsequent part of a program.  Now you know why we prefer the computer science way over the plain-English way of saying it!

Let's break this down a bit further. An expression is anything that produces a value of some kind. A value can be a string, a number, a boolean (true/false) thingy, whatever. Examples:

Io> 4+4 ==> 8 Io> 15 - 150 ==> -135 Io> "Hi!" ==> Hi!

OK, so we just demonstrated that Io is a glorified calculator. In and of itself, this is entirely uninteresting. But, what makes an expression useful is the fact that we can do stuff with the results before actually giving the final result.

Io> "There are " .. (8*10)+19 .. " bottles of beer on that very wall, over there." ==> There are 99 bottles of beer on that very wall, over there.

Here, we use the .. operator to concatenate things together into a single value. In this case, we're tacking the result of (8*10)+19 onto the string "There are ", giving us "There are 99". Then, " bottles of beer...." is appended onto that, giving us the result we see above.

If Io has nothing else to do with the result of an expression, it prints the  arrow, and the result, with the assumption that you care about it. Usually, of course, you do, otherwise, you wouldn't have let the result go without further processing to begin with!

nil
In the event that nothing useful is able to be returned from some computation or action, then nil is returned. As we saw earlier when playing around with writeln, we noticed that it returned the nil value. That's because it doesn't actually compute anything for us; it's a pure action.

Numbers
Numbers are, pretty much, as you expect them to be. Integers and real numbers are both treated equally (in fact, currently, they're always converted into double-precision floating point notation for uniformity). Here are a few examples of numbers:

Io> 45 ==> 45 Io> 4.5e+2 ==> 450 Io> 4.5e+38 ==> 4.500000e+38 Io> -15360.263823 ==> -15360.263823

Hexadecimal values are also permitted using the C-inspired syntax 0x and the hex digits:

Io> 0xDEAD ==> 57005 Io> 0xBEEF ==> 48879 Io> 0xDEADBEEF ==> 3.735929e+09 Io> 0xDEADBEEFFEEDFACE ==> 4.294967e+09

That last number shows us something interesting -- it's clearly too small a result for a hexadecimal number so big! It turns out that, when converting hexadecimal numbers into its internal representation, only 32-bits worth of precision is maintained. If a hexadecimal number is larger than this, then the largest 32-bit integer is used instead.

Some might say this is a bug in Io. Perhaps; but it is not for this book to judge. However, if you intend on manipulating hexadecimal values with greater than 32-bits of precision, you'll need to convert them manually into decimal notation first.

Some other languages support concepts like complex numbers, infinite precision numbers, etc. Io doesn't support these with the basic set of primitives provided by the language's interpreter. However, these can be added either by external add-ons, or through Io itself.

Objects
Surprise -- Io is an object oriented language, even though we never introduced them up until now.


text:
Io Programming/Beginner's Guide/Objects

Objects
Io is a dynamically-typed, dynamically-dispatched, object-oriented programming language, very much like Self and Smalltalk. Up until this point, we have only been dealing largely with the most primitive things in the language.

The time has come, however, for the reader to learn about objects and how they are used within the Io environment.

What are Objects?
An object, used in the context of computer programming, is an abstraction of a concept or tangible thing which, anthropomorphically, you can tell what to do. For example, this statement:

Io> writeln("Hello world!")

can be seen as telling the computer to write a line to the screen. An object oriented language allows us to embrace this concept and take it to a level where it is a bit more useful for our needs. If you refer back to your first Io program, there was one line in it which read this:

you := File standardInput readLine

The expression is evaluated in the following order:
 * First, File is evaluated. We're telling the computer to get us a File, whatever that is (we needn't be concerned with this just yet).
 * Next, we tell the File to give us the standard input.
 * Next, we tell that thing to read a line of text.
 * Finally, we assign that to you.

What happens if we ask the computer itself to give us a standard input object?

Io> standardInput ·  Exception: Object does not respond to 'standardInput' -  Object standardInput                 Command Line 1

What we're seeing is an error message. It's composed of several components, which you should familiarize yourself with. You'll be seeing a ton of these things as you start out.
 * The top line (Exception: Object does not...) is telling us that Object doesn't respond to the standardInput message.
 * The bottom part is a traceback, which tells us where the error occurred. This is invaluable when trying to figure out where something has gone wrong.

So far, we have seen how objects are used to partition some namespace into useful libraries. But, we really haven't seen anything yet; objects are substantially more than just a fancy name for libraries.

How do Objects Work?
In order to see how to employ objects to make our programs more modular, it is useful to know "how they work," so to speak.

It's useful to think of an object as this thing that can follow orders. What orders it can follow are determined by what appears in its slots.

For example, let's make a little object of our own. The object-oriented equivalent to the infamous hello world program is none other than:

Io> Account := Object clone Io> Account balance := 0 Io> Account withdraw := method(amount, self balance = self balance - amount) Io> Account deposit := method(amount, self balance = self balance + amount)

I've elided the outputs from the Io interpreter here for brevity. But what we've just done is:

 * 1) created an Account object.
 * 2) configured the object to have a balance of zero.
 * 3) taught the Account object how to withdraw something (presumably cash)
 * 4) taught the Account object how to deposit something

We can query this object for the current account balance easily enough:

Io> Account balance ==> 0

This works because executing Account is enough to tell the interpreter, "OK, I'm now running in the context of this Account thing." The next instruction is balance. The interpreter sees that Account clearly implements a balance, and so executes it. In this case, its value is zero. Hence, the  report.

Another way of looking at it, and indeed, the preferred way, is to think, "Hey! Account! You there!  Balance, now!". In other words, we're telling the Account object to give us the balance. As you can see, this is not really a whole lot different from File standardInput readLine -- the latter simply has more commands, but the mechanics is exactly the same.

Next, let's deposit some cash in our account.

Io> Account deposit(100) ==> 100

This produces an unexpected result -- why did it return 100, and not nil? It's because the last thing it computed was self balance + amount, which evaluates to 0+100 when you think about it.

Take a closer look -- when we execute deposit(100), the deposit slot is fetched in the Account object, just as balance was above. And as with balance, the interpreter executes this slot. However, instead of it just being an unadorned value, it is a method. Remember when I said we'd get to methods in a bit?

 * Observation

If you're trying to tell objects to do things, then you are obviously giving them messages, which these objects know how to interpret (somehow). In this case, both balance and deposit are messages. However, the method of interpreting these messages is entirely up to the object itself. Hence the name, method. Now that we've resolved one mystery, we've introduced another -- we will get to the significance of methods versus procedures in just a bit.

 * NOTE

Mathematically speaking, deposit is not a function, because it has what are called side-effects. This means that evaluating the message will cause some change in state that persists beyond the evaluation of the message. Pure mathematical functions never do this. And now you know why we don't refer to deposit as a function either!

When running inside deposit, we see that we need to reference our balance with self balance. Here, self is clearly referring to the object in which the method is running, thus granting us access to our object's data.

 * Observation

By default, all slots are local to the inner-most lexical scope. In other words, there are no global variables.

 * Exercise

Try to figure out how  works!

Inheritance
I promise, this will be the last diversion before we can see how objects truly become useful. We need to find out how inheritance works, because it is a corner-stone in Io.

Looking again at our Account object above, the creation of the object involved cloning Object. In Io, everything is ultimately a kind of Object, but if you're creating something truly new and unique, you clone Object directly.

What this is saying is, well, an Account is an Object. But, we go on to specialize this object, with a balance, and a few methods to adjust the balance appropriately.

But, as with all things in Io, there is more to this very simple example than meets the eye. Consider, if we're always bossing objects around by sending them messages, where, then, does self get sent?

If you answered Object, you are not quite correct. Remember when I made the observation that, by default, everything in Io is always local? Method variables are no exception. The order in which Io looks things up is as follows:

 * 1) Look first in the method itself first.  There is no local variable named self.
 * 2) Look next in the Account object.  Nope, nothing here either.
 * 3) Look next in Object.  AHA!

Each object implements a list of prototypes, which it uses as a source of inspiration, if you will, to determine how to handle messages. If you send an object a message that it doesn't know how to handle, then it'll consult with its prototypes to find out how. If, and only if, it fails in this task, do you get that infamous error message, Object does not respond to whatever.

Money, Money, Money!
Now that we've seen the basics of what objects are, and how they can inherit from other objects, let's see how we can put this to good use.

For starters, let's assume that you want multiple accounts. There are many different kinds of accounts, but we'll stick with a basic savings account. These accounts, over time, accrue interest. But, accounts from different banks accrue interest at different rates. How do we manage this additional bit of complexity?

First, we need a savings account:

Io> SavingsAccount := Account clone

As we have seen here, we've created a new object, which relies on Account as its inspiration for how to behave. We can verify it has no methods of its own:

Io> SavingsAccount slotNames foreach(println) type ==> type

Well, OK, it has one slot, type, which when invoked will return. But nothing besides that. And, yet, we can still use it like a normal account object:

Io> SavingsAccount balance ==> 0

A savings account will typically have some interest rate:

Io> SavingsAccount interestRate := 0.045

With this, we can estimate how much we'll have at the end of the year:

Io> SavingsAccount yearEndEstimate := method->  self balance * self interestRate + self balance )-> ) So when this executes, the order of search is to try to find balance first in the method itself, then in SavingsAccount, then in Account, where it'll actually be defined.

Suppose we need bank accounts for your family. We can now do something like this:

Io> MomsAccount := SavingsAccount clone Io> DadsAccount := SavingsAccount clone Io> WifesAccount := SavingsAccount clone

So, we should be able to keep track of different accounts independently:

''NOTE: this section describes behavior that does not happen with current Io version. See the Talk page for details.''

Io> MomsAccount deposit(450) Io> DadsAccount deposit(450) Io> WifesAccount balance ==> 900

WHOA, how'd that happen? It looks like depositing all happens into a single balance!

 * Exercise

Can you figure out why?

Regarding Classes, Prototypes, and Objects
You'll hear this term a lot in communities dedicated to object oriented programming, "instantiate an object of class x", where x is whatever class they happen to be talking about. For example, to create a new list, you might see mention of a certain kind of list class.

Io does not have any classes, and this is precisely why all the accounts of the preceeding section went into a single balance. Since none of the derived objects implements its own balance message, it assumes that the object's prototype knows how to handle it. It turns out, this assumption was a mistaken one.

How do we, then, instantiate an object such that it creates its own balance slot every time we need it? We do this with an init method:

Io> SavingsAccount init := method(self balance := 0)

In doing this, we have converted SavingsAccount from just any ol' object, into a class. We can now logically reason about SavingsAccount objects all day long, as if they were types of SavingsAccount. And, indeed, they are exactly that.

We can now re-instantiate our family's accounts:

Io> MomsAccount := SavingsAccount clone Io> DadsAccount := SavingsAccount clone Io> WifesAccount := SavingsAccount clone

What happens here is that, right after the cloning process, SavingsAccount init is sent to ensure the object is properly initialized.

Io> MomsAccount deposit(450) Io> DadsAccount deposit(450) Io> WifesAccount balance ==> 0

Note that we didn't have to manually implement, or re-implement, the withdraw or deposit methods. Our assumption that the basic Account object knows how to handle withdrawls and deposits do still hold. The only thing that was mistaken was where to withdraw from or deposit to. Therefore, by creating an account type that was aware of this confusion, we could take the opportunity to clarify before any further program code was executed.

It should be noted that all classes are prototypes -- templates for use by another object. But, not all prototypes are necessarily classes. As we've seen, Account is also a prototype, but strictly speaking, it is not a class. It took SavingsAccount and its init method to preserve the assumptions that allowed us to treat it as a type rather than a thing. Yet, we are able to freely define types in terms of things if we want to, as we've done in this example. In class-based object-oriented languages, this kind of flexibility is out of the question.

You Needn't Get Everything Right the First Time
One point to remember when writing OO programs is, you don't need to get it right the first time. Above, I said that we can have multiple kinds of accounts, each with different interest rates, but the way the software so far has evolved, it's not really easily done. So, let's fix things:

Io> Account init := method(self balance := 0) Io> SavingsAccount removeSlot("init") Io> AccountWithInterest := Account clone Io> AccountWithInterest yearEndEstimate := SavingsAccount getSlot("yearEndEstimate") Io> SavingsAccount removeSlot("yearEndEstimate") Io> SavingsAccount setProto(AccountWithInterest)

With a small handful of statements, we've just re-engineered the entire type hierarchy. Now, Account is the (so-called) base class, and SavingsAccount is now just a specialized kind of AccountWithInterest. Software which relied on SavingsAccount should still run, since we didn't change in any fundamental way what SavingsAccount objects do.

Now, we can go so far as to define what a CheckingAccount is:

Io> CheckingAccount := AccountWithInterest clone Io> CheckingAccount interestRate := 0.015

This is why folks rarely use checking accounts to save up money.

Io> MomsChecking := CheckingAccount clone ...etc...

Obviously, this is a very simplistic example, but it shows you that changes to the relationships between objects, prototypes, and classes can be changed, potentially even while a program is still running. They are not quite so static as they are with other languages.

That being said, I want to make it clear, that this kind of programming is great for exploratory work, but you should not depend on this for production code. If you "hot-fix" software like this, be sure to fix the program's source code accordingly, so that such hot-fixes aren't needed in the future.

One approach towards achieving this is test-driven development. However, this process is well beyond the scope of this book. Here, my task is to teach you how to write software in Io. It is not, however, how to design software. If you wish to know more about this, please see.

title: Io Programming/Beginner's Guide/Objects


text:
User talk:24.6.88.51

Webaware talk 03:15, 1 July 2007 (UTC)

title: User talk:24.6.88.51


text:
User talk:Cjmcguinness

Hello, welcome to Wikibooks!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! Webaware talk 07:17, 1 July 2007 (UTC)

Local links
G'day Cjmcguinness, I just made a minor change to your Paint.NET/Tutorials page, to simplify the links for local pages. See this diff for details of what I changed.

When linking to subsections within a page, you can refer just to the name of the section with a "#" prefix. For example, you can link to this section on your talk page as just.

When linking to subpages, you can just give the name of the subpage with a "/" prefix. See the diff above. Webaware talk 07:17, 1 July 2007 (UTC)

Image:Paint.NETlogo800.png
G'day, sorry but Wikibooks has a policy of not accepting images with a non-commercial license. This image will be removed when an administrator gets a change. You might want to sort out an alternative image for the page that currently uses it. Webaware talk 14:18, 2 July 2007 (UTC)

title: User talk:Cjmcguinness


text:
Cookbook talk:Half and Half

Half and Half expression
In what country is this known as "half and half"? Logictheo 11:17, 1 July 2007 (UTC)

 * The USA - see Wikipedia's Half and half page. I'll add more info to the Cookbook page to make that clearer. cheers, Webaware talk 12:57, 1 July 2007 (UTC)

title: Cookbook talk:Half and Half


text: User:StrikeTH~enwikibooks

title: User:StrikeTH~enwikibooks


text:
User talk:ElinorD

Welcome message
Hello, welcome to Wikibooks!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck!

You might also be interested to read our Cookbook policy page and talk to other Cookbook editors. Webaware talk 12:53, 1 July 2007 (UTC)
 * Thanks for the welcome, Webaware. I'm mostly at Wikipedia, but expect to drop in here from time to time, and will find the links you've given me very welcome. ElinorD 13:06, 1 July 2007 (UTC)
 * Oops! Sorry about the broken link, I previewed it but must be going blind(er). cheers, Webaware talk 13:10, 1 July 2007 (UTC)

title: User talk:ElinorD


text:
User talk:Sabhlok

Hello, welcome to Wikibooks!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! Mattb112885 (talk) 13:02, 1 July 2007 (UTC)

title: User talk:Sabhlok


text:
User talk:216.215.128.85

Mattb112885 (talk) 13:13, 1 July 2007 (UTC)

title: User talk:216.215.128.85


text:
User talk:72.82.93.147

Mattb112885 (talk) 13:13, 1 July 2007 (UTC)

title: User talk:72.82.93.147


text:
Lingua Franca Nova/Spele e Pronunsia

Disionario (LFN-Engles)

Alfabeta
Ave 22 leteras en la alfabeta de lfn:

 * {|width=100% border="0" style="text-align:left; border-collapse: collapse; background:#f8f8f8;" bordercolor="#f0f0f0" cellpadding="0" cellpadding="4"

 * latina|| a || b || c || d || e || f || g || h || i || j || l || m || n || o || p || r || s || t || u || v || x || z
 * cirilica|| а || б || к || д || е || ф || г || х || и || ж || л || м || н || о || п || р || с || т || у || в || ш || з
 * nomes|| a || be || ce || de || e || ef || ge || hax || i || je || el || em || en || o || pe || er || es || te || u || ve || ex || ze
 * pronunsia (IPA*)|| a || b || k || d || e || f || g || h || i, j || ʒ || l || m || n || o || p || r || s || t || u, w || v || ʃ || z
 * }
 * pronunsia (IPA*)|| a || b || k || d || e || f || g || h || i, j || ʒ || l || m || n || o || p || r || s || t || u, w || v || ʃ || z
 * }
 * }

Pronunsia
Clica per oia!

[[Media:A-acua.ogg|A (acua)]]

[[Media:Lfn-B-bebe.oga|B (bebe)]]

[[Media:C-cacatu.ogg|C (cacatu)]]

[[Media:D-dados.ogg|D (dados)]]

[[Media:E-elefante.ogg|E (elefante)]]

[[Media:F-fosfor.ogg|F (fosfor)]]

[[Media:G-garga.ogg|G (garga)]]

[[Media:H-haicu.ogg|H (haicu)]]

[[Media:I-ibis.ogg|I (ibis)]]

[[Media:J-jirafa.ogg|J (jirafa)]]

[[Media:L-lil.ogg|L (lil)]]

[[Media:M-mimo.ogg|M (mimo)]]

[[Media:N-neon.ogg|N (neon)]]

2en sinco, sangue

[[Media:O-obo.ogg|O (obo)]]

[[Media:P-papilio.ogg|P (papilio)]]

[[Media:R-rea.ogg|R (rea)]]

[[Media:S-sasofon.ogg|S (sasofon)]]

[[Media:T-tarte.ogg|T (tarte)]]

[[Media:U-uvula.ogg|U (uvula)]]

3 en uasabi, hauaii, acua, sangue

[[Media:V-vaso.ogg|V (vaso)]]

[[Media:X-xapo.ogg|X (xapo)]]

[[Media:Z-zebra.ogg|Z (zebra)]]

 * IPA = international phonetic alphabet, alphabet phonétique international, alfabeto fonético internacional, alfabeto fonetico internazionale, Internationales Phonetisches Alphabet, alfabeto fonético internacional, alfabet fonètic internacional, こくさいおんせいきごう, международный фонетический алфавит, Międzynarodowy Alfabet Fonetyczny, अन्तर्राष्ट्रिय ध्वन्यात्मक वर्णमाला ।

Asentua
La asentua es a la vocal ante la consonante final per la plu de parolas:

 * [[Media:Cosa-cafe.ogg|cOsa, cAfe, bAmbu, teAtro, fAlsa, fonetIca, psicolOjia, amAr, babuIn...]]

Parolas cual fini con la vocales duple EA, EO, OA, OE, o UI, o con la diftongos AI, AU, EU, e OI, ave la asentua a la vocal prima de la duple:

 * abEa, conEo, canOa, obOe, prodUi
 * bonsAi, cacAu, CernEu, caubOi

Ma nota ce U es un consonante pos C e G, e donce parolas cual fini con CUI o GUI ave la asentua a la vocal presedente:

 * Acui, sAngui

Si la regulas a supra no opera, la asentua es a la vocal prima:

 * [[Media:Te-no-tia.ogg|tE, nO, tIa, fIo, rUa...]]

< ../Introdui/

> Lingua_Franca_Nova/1

title: Lingua Franca Nova/Spele e Pronunsia


text:
User talk:122.2.146.151

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. -- Herby talk thyme 15:35, 1 July 2007 (UTC)

title: User talk:122.2.146.151