text:
Horticulture/Viola

Violets (Viola) are a genus of plants in the family Violaceae, with around 400-500 species throughout the world, mainly in the temperate Northern Hemisphere but also in Hawaii, Australasia, and the Andes in South America. They are typically found in moist and slightly shaded conditions such as hedgerows.

Generic Characteristics
Most violets are small perennial plants, but a few are annual plants and some are small shrubs. They typically have heart-shaped leaves, and asymmetrical flowers with four upswept or fan-shaped petals, two each side, and one broad, lobed lower petal pointing downward. The shape of the petals defines many species, for example, some violets have a "spur" on the end of each petal. Flower colours vary in the genus; many are violet, some are blue, some yellow, some white, some cream; some are bicolored, often blue and yellow. Flowering is often profuse, and may last for much of the spring and summer depending on the species.

One quirk of some violets is the elusive scent of their flowers; along with terpenes, a major component of the scent is a ketone compound called ionone, which temporarily desensitises the receptors in the nose; this prevents any further scent from being detected from the flower.

Species
See List of Viola species for a more complete list.
 * ../Viola arvensis/ - Field Pansy
 * ../Viola banksii/ - (Australian) Native Violet
 * ../Viola biflora/ - Yellow Wood Violet or Twoflower Violet
 * ../Viola canina/ - Heath Dog Violet
 * ../Viola hirta/ - Hairy Violet
 * ../Viola odorata/ - Sweet Violet
 * ../Viola pedunculata/ - Yellow Pansy
 * ../Viola pubescens/ - Downy yellow violet
 * ../Viola riviniana/ - Common Dog Violet
 * ../Viola stagnina/ - Fen Violet
 * ../Viola tricolor/ - Wild Pansy or Heartsease
 * (Note: Neither ../Saintpaulia/ ("African violets") nor ../Erythronium dens-canis/ ("Dogtooth violet") are related to the true violets.)

The genus includes the Dog Violets, a group of scentless species which are the most common violets in many areas, the Sweet Violet Viola odorata (named from its sweet scent), and many other species whose common name includes the word "violet". Several species are known as pansies, including the Yellow Pansy of the Pacific coast.

The Common Blue Violet ../Viola sororia/ is the state flower of Rhode Island, Illinois, and New Jersey.

Australia is home to a number of violets, including ../Viola hederacea/, ../Viola betonicifolia/ and ../Viola banksii/, first collected by Joseph Banks and Daniel Solander on the Cook voyage to Botany Bay.

The modern Garden Pansy (V. × wittrockiana) is a plant of complex hybrid origin involving at least three species, ../Viola tricolor/ (Wild Pansy or Heartsease), ../Viola altaica/ and ../Viola lutea/ (Mountain Pansy).

Arthropod pests
../Aphids/: ../Leafhoppers/: ../Whiteflies/: ../Mealybugs/: ../Maggots/: ../Caterpillars/: ../Sawflies/: ../Mites/:
 * Foxglove Aphid: ../Acyrthosiphon solani/
 * Melon Aphid: ../Aphis gossypii/
 * Buckthorn Aphid: ../Aphis nasturtii/
 * Violet Aphid: ../Aphis violae/
 * Green Peach Aphid: ../Myzus persicae/
 * Crescent-marked Lily Aphid: ../Neomyzus circumflexus/
 * Violet Aphid: ../Neotoxoptera violae/
 * Aster Leafhopper: ../Macrosteles facifrons/
 * Iris Whitefly: ../Aleyrodes spiroeoides/
 * Silverleaf Whitefly: ../Bemisia argentifolii/
 * ../Planococcus citri/
 * ../Pseudococcus solani/
 * Violet Leafgall Midge: ../Phytophaga violicola/
 * Snailcase Bagworm: ../Apterona helix/
 * Corn Earworm: ../Heliothis zea/
 * Greenhouse Leaf Tier: ../Udea rubigalis/
 * Variegated Fritillary
 * Giant Leopard Moth
 * Large Yellow Underwing
 * Lesser Broad-bordered Yellow Underwing
 * Setaceous Hebrew Character
 * Violet Sawfly: ../Ametastegia pallipes/
 * Twospotted Spider Mite: ../Tetranychus urticae/

Other Pests
../Slugs and Snails/ ../White-tailed Deer/

Uses
When newly opened, violet flowers may be used to decorate salads or in stuffings for poultry or fish. Soufflés, cream and similar desserts can be flavoured with essence of violet flowers. The young leaves are edible raw or cooked as a somewhat bland leaf vegetable. Flowers, leaves and roots are also used for medical purposes, being rich in vitamins A and C.

A candied violet or crystallized violet is a violet flower preserved by a coating of sugar syrup. Hot syrup is poured over the fresh flower (or the flower is immersed in the syrup), and stirred until the sugar recrystallizes, and is dried. This method is still used for rose petals, was applied for orange flowers in the past (when almonds or orange peel are treated this way they are called as pralines). Candied violets are still made commercially at Toulouse, France, where they are known as violettes de Toulouse. They are used as decorating or included in aromatic desserts.

Violets are used to flavour the liqueurs Creme Yvette, Creme de Violette, and Parfait d'Amour.

Medicinal use
Violet flowers are also used to make an herbal tea that is used in Chinese herbal medicine.

title: Horticulture/Viola


text:
User:Ranger2006

I am an academic psychologist, with a special interest in the philosophy of mind in general, and the mind/body problem in particular.

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

title: User:Ranger2006


text:
Card and Magic Tricks/Coins

Coin Magic is popular among magicians. Coins are small and can be easily transported. Some performers use special coins (often referred to as "gaffed" coins) to execute certain effects.

title: Card and Magic Tricks/Coins


text:
Talk:Book of Magic/Psychology and Theory

I dropped some of the "magic gives hope to a dying world" schtick........a little too metaphysical. Buddpaul 15:39, 8 January 2007 (UTC)

Copyright
I can spot copyright theft from across the street.....the intro paragraph on this module reeks of it.....hmmmmmmm. Buddpaul (talk) 05:09, 19 April 2009 (UTC)

I want some spells and how they do it with there hand Kelly Quinn (discuss • contribs) 21:28, 10 February 2018 (UTC)


text:
User talk:61.68.109.236

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. -- Herby talk thyme 16:22, 8 January 2007 (UTC)

title: User talk:61.68.109.236


text:
User talk:88.230.176.90

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. -- Herby talk thyme 16:25, 8 January 2007 (UTC)

title: User talk:88.230.176.90


text:
User talk:81.106.34.34

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. -- Herby talk thyme 16:35, 8 January 2007 (UTC)

title: User talk:81.106.34.34


text:
Talk:High School Mathematics Extensions/Matrices

Introducing Terms
In "Matrix multiplication", 2nd paragraph, the term vector is introduced. This might cause confusion to readers new to matrices, as the definition follows after the exaples ("A matrix with just one row is called a row vector [...]"). Probably a better place to introduce the term is above, in "Introduction", where you have an example of a 1 x 6 matrix. In this context I'd also suggest the addition of an m x 1 vector to point out, that vectors are not just of the form 1 x n.

After the examples in "Multiplication of non-vector matrices" you add the note: "Multiplication of matrices is generally not commutative, i.e. generally AB ≠ BA.". I consider this to be too late; already the first two examples in "Matrix Multiplication, Exercices" have tho multiplications with reversed factors.

I didn't edit right away, as you maybe followed your approach intentionally for didactic reasons.

Gulliveig 17:05, 8 January 2007 (UTC)

Square matrix required
should mention that a matrix must be square to have be inverted and compute a determinant....--Billymac00 (talk) 01:04, 13 March 2008 (UTC)

Newton-Leibniz
Maybe the comment introducing Leibniz as Newton's greatest rival should be removed as historically imprecise and because it put these two great mathematicians in a questionable light. It is not mentioned in Wikipedia pages, and I have no source available at the moment, but my understanding is that Nweton and Leibnitz were not (at least initially) personally very active in the "Newton-Leibniz rivalry", which was mainly a rivalry between their countrymates.

Matrix Multiplication
At Matrix Multiplication The first example is a 2x1 matrix being multiplied by a 1x2 matrix which yielded a 1x1 matrix [as indicated in the Note]. Further down at Multiplying non-vector matrices it is indicated at Ex.No.4 a 2x1 matrix multiplied by a 1x2 matrix is a 2x2 matrix. There appears to be some confusion or conflict that requires explanation.


text:
Chess Opening Theory/1. d4/1...Nf6/2. c4/2...c5/3. d5

= Benoni Defence = Here the most popular opening is the Modern Benoni: /3...e6/. This will surrender some space to White, and invariably create a weakness on d6, but in return Black gets excellent play on central dark squares, a queenside majority, and use of e5. The Modern Benoni was a favorite of counterattacking players in the 1970s and 1980s, and World Champions Tal, Fischer, and Kasparov used it in their repertoire. Black's main ideas are to advance the queenside majority, create a support point on e5, and to pressure the queenside in general. White, meanwhile, is trying to effect e4-e5, target d6, kingside attack, and sometimes simply squashing Black with his extra space. The Modern Benoni, however, suffered a large defeat with the arrival of the Taimanov Variation, 4.Nc3 exd5 5.cxd5 d6 6.e4 g6 7.f4 Bg7 8.Bb5+!, which rendered the Benoni all but unplayable. Thus, most players will choose to play a different move-order to reach the Benoni, by going to the Nimzo-Indian first, 1.d4 Nf6 2.c4 e6, and if White plays 3.Nc3, then Black satisfies himself with 3...Bb4, but if White avoids this with 3.Nf3, then 3...c5 4.d5 exd5 5.cxd5 d6 6.Nc3 g6, and White will have to satisfy himself with either the old main line, 7.e4 Bg7 8.Be2, the current main line, 7.h3 Bg7 8.e4 O-O 9.Bd3, or the Fianchetto Variation, 7.g3 Bg7 8.Bg2.

The Benko or Volga Gambit was revived by Hungarian-American GM Pal Benko in the early 1970s (it enjoyed a brief period of popularity in the mid-1950s). This usually runs 3...b5 4.cxb5 a6. Black's development speeds up and obtains a more compact pawn structure: one pawn island vs. two. They also gain strong queenside pressure using a kingside fianchetto and his two open files on the queenside. This pressure may last into the endgame. However, today it is judged as +/= because Black has no tactical chances, and practice has shown that White can weather the storm, keeping his extra pawn. Alternatively, the Zaitsev line is very sharp and complicated, when White plays 5.Nc3 axb5 6.e4 b4 7.Nb5.

Alternatively, ...e5 and ...d6 are played together in order to close the center and keep it solid. The idea is to build up a solid wall that both players will have trouble breaking. The problem is that White has a huge space advantage and can play for pawn breaks on either side of the board.

Theory table
.

'''1. d4 Nf6 2. c4 c5 3. d5'''


text:
Horticulture/Whiteflies

The whiteflies, comprising only the family Aleyrodidae, are small hemipterans which typically feed on the underside of plant leaves. While feeding damage can cause economic losses, it is the ability of whiteflies to transmit or spread viruses that has had the widest impact on global food production. In the tropics and subtropics, whiteflies (Hemiptera: Aleyrodidae)have become one of the most serious crop protection problems. Economic losses are estimated in the hundreds of millions of dollars. While several species of whitefly cause crop losses through direct feeding, a species complex, or group of whiteflies in the genus Bemisia are important in the transmission of plant diseases. Bemisia tabaci and B. argentifolii, transmit African cassava mosaic, bean golden mosaic, bean dwarf mosaic, bean calico mosaic, tomato yellow leaf-curl, tomato mottle, and other Begomoviruses, in the Family: Geminiviridae. The world-wide spread of emerging biotypes, such as B. tabaci biotype B, also known as, 'B. argentifolii', and a new biotype Q, continue to cause severe crop losses which will likely continue to increase, resulting in higher pesticide use on many crops (tomatoes, beans, cassava, cotton, cucurbits, potatoes, sweet potatoes). Efforts to develop integrated pest management, IPM, systems aimed at environmentally friendly strategies to also reduce insecticide use will help re-establish the ecological equilibrium of predators, parasitoids, and microbial controls that were once in place. New crop varieties are also being developed with increased tolerance to the whiteflies, and to the whitefly-transmitted plant diseases. A major problem is the fact that the whiteflies and the viruses they carry can infect many different host plants, including agricultural crops and weeds. This is complicated by the difficulty in classifying and detecting new whitefly biotypes and Begomoviruses. Proper diagnosis of plant diseases depends on using sophisticated molecular techniques to detect and characterize the viruses and whiteflies which are present in a crop. A team of researchers, extension agents and growers working together are needed to follow disease development, using dynamic modeling, to understand the incidence of disease spread.

Symptoms and Signs
Whiteflies feed by tapping into the phloem of plants, which carries food down the plant to the roots. Plants have vascular tissues that carry water Xylem up the plant, where it combines with photosynthesis to produce the needed food for plant growth. The plants lose turgor and wilt, and may react to the whiteflies' toxic saliva. As whiteflies congregate in large numbers, they overwhelm plants quickly. It can get so bad that when you tap a leaf, a swarm of whiteflies will go airborne before re-settling under the leaf. They also excrete honeydew, which promotes ../Sooty Mold/ growth and can ruin a cotton crop with its stickiness.

In 1997 ../Tomato Yellow Leaf-Curl Begomovirus/, (TYLCV) was discovered in the USA, in Florida. This plant disease is the worst viral disease of tomato. The disease is transmitted by the whitefly, Bemisia argentifolii. The whitefly is also been shown to transmit almost all of the 60 known whitefly transmitted plant viral diseases.

Ecology
They have an unusually modified form of metamorphosis, in that the immature stages begin life as mobile individuals, but soon attach to the plant, and the stage before the adult is called a pupa (though it is not a true pupa in the sense of insects that undergo complete metamorphosis).

Control
Whitefly control is difficult. The greenhouse whitefly has developed resistance to many pesticides. The USDA recommends "an integrated program that focuses on prevention and relies on cultural and biological control methods when possible." They advise use of yellow sticky traps to monitor infestations and only selective use of insecticides.

title: Horticulture/Whiteflies


text:
User talk:70.160.30.94

Please stop signing pages - thanks -- Herby talk thyme 19:04, 8 January 2007 (UTC)

title: User talk:70.160.30.94


text:
User talk:Ranger2006

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 19:12, 8 January 2007 (UTC)

Your link posting
Hi - I noticed that you posted a link to an adobe file on Statistics:Testing Data/Chi-SquaredTest. In practice Wikibooks is intended to be "read" like a book and as such links are usually not necessary. Some content from you knowledge would be great. Thanks -- Herby talk thyme 19:12, 8 January 2007 (UTC)

title: User talk:Ranger2006


text:
WebObjects/Web Services/Controlling WSDL Service Location

This documentation was written by Andrew Lindesay (http://www.lindesay.co.nz) in 2006 as part of supported code in the LEWOStuff framework, but this material has been transcribed here. It was written around the time of WebObjects 5.2 and 5.3 on the 1.4 JVM.

AXIS provides a number of handlers for ultimately executing the WS. This generally works in the WebObjects environment out of the box. However, in the case of a servlet deployment, the URLs are manipulated by the servlet container so they look something like this.

...ects/FOO.woa/ws/FooService ;jsessionid=abc.i1 ?wsdl

If a client starts a session on a WS invocation then you want all subsequent requests to return to this same servlet container (Here we assume a redundant deployment where there are a number of servlet containers.) where the session resides. However the servlet-container's HTTP adaptor typically only knows this by looking at the modified URL. Unfortunately, the default WSDL generated by AXIS would have a section like this.

...      ...

A WSDL like this does not contain the modified URL caused by the context having a session in the location for the service. The example handler LEWOWebServicesWSDLLocationHandler below which is supplied in LEWOStuff will correct the location supplied in the WSDL to contain the session information. To install this handler for use in WebObjects, locate the server.wsdd file within your project and modify the following section so that it appears as follows.

...

You then need to put the following class into your project.

package nz.co.lindesay.common.webobjects;

/*

LICENSE

Copyright (c) 2006, Andrew Lindesay All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

copyright notice, this list of conditions and the following disclaimer.
 * Redistributions of source code must retain the above

copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 * Redistributions in binary form must reproduce the above

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import com.webobjects.foundation.*; import com.webobjects.appserver.*;

import org.apache.axis.*;

/** * This class is an AXIS request handler that is designed to * manipulate the outbound WSDL that is generated for a * request. The manipulation undertaken here is to modify the * location of the actual service. The reason for doing this is * that if you have a web service deployed into a servlet * container as a WO application, the session'ed URLs can look * a bit like this. * * http://foo.co.nz/FOO/WebObjects/FOO.woa/ws/FooService;jsessionid=abc.i1?wsdl * *
However, once the URL is returned as a location for a service * from AXIS, the session part at the end is removed and if you are * using a multi-container deployment, the subsequent requests will * not arrive at the correct servlet container.
 * *
By installing this AXIS handler, this problem is resolved. * To install it, locate the "<TT>server.wsdd</TT>" file in your * WO project and add the following line to the "requestFlow" * handler list as the last item in the list. This should be the * request flow in the HTTP transport section.
 * *
<TT><handler type="java:nz.co.lindesay.common.webobjects.LEWOWebServicesWSDLLocationHandler"/></TT>
 * *
This should also work with the "wotaskd" deployment * style as well.
 */

public class LEWOWebServicesWSDLLocationHandler extends org.apache.axis.handlers.BasicHandler {

// --

public LEWOWebServicesWSDLLocationHandler { super; }

// --

/** *
This is the AXIS hook where we can manipulate the outbound * WSDL.
 */

public void generateWSDL(MessageContext msgContext) throws AxisFault {		WOContext context = WOWebServiceUtilities.currentWOContext; WORequest request = context.request; String host = LEWOHelper.getExternalHostnameFromInboundRequest(request); int port = LEWOHelper.getExternalPortFromInboundRequest(request); int appi = request.applicationNumber; if((null==host)||(0==host.length)) throw new IllegalStateException("the host cannot be determined from the inbound request."); if(context.hasSession) context.session; StringBuffer sb = new StringBuffer; sb.append("http://"); sb.append(host); if(-1!=port) {			sb.append(":"); sb.append(Integer.toString(port)); }		String path = context.urlWithRequestHandlerKey(			request.requestHandlerKey,			request.requestHandlerPath,			null); // Unless the context has a session, we can't get it to come back // to a specific instance, but in the case of a 'wotaskd' deploy, // there is no way to specify the session for a WSDL request, so // we'll do a nasty hack to make this work. if((-1!=appi)&&(!context.hasSession)) {			String webServiceRequestHandlerKey = WOApplication.application.webServiceRequestHandlerKey; String startPath = request.adaptorPrefix+"/"+request.applicationName+".woa"; // /cgi-bin/WebObjects/Foo.woa if(!path.startsWith(startPath)) throw new IllegalStateException("The path '"+path+"' should have started with '"+startPath+"'");

if(path.startsWith(startPath+"/"+webServiceRequestHandlerKey)) {				StringBuffer pathSB = new StringBuffer; pathSB.append(startPath); pathSB.append("/"); pathSB.append(Integer.toString(appi)); pathSB.append(path.substring(startPath.length)); path = pathSB.toString; }		}		sb.append(path); msgContext.setProperty(MessageContext.WSDLGEN_SERV_LOC_URL,sb.toString); }

// --

/** *
Basically there is nothing to do here because we are not * interested in messing with the request/response cycle - rather * we want only to manipulate the WSDL.
 */

public void invoke(MessageContext msgContext) throws AxisFault {	}

// --

}

Although this is slightly crude, it should produce the correct result in the WSDL.


text:
Cookbook:Buckeyes

| Confections

Buckeyes are an easy snack named from their resemblance to the nut of the Buckeye tree.

Ingredients

 * 1 cup (320 g/11 oz) peanut butter
 * 2 tablespoons melted butter
 * 1 teaspoon vanilla
 * 3 cups (375 g) powdered sugar
 * 1 small bag (100 g) semi-sweet chocolate chips
 * 25 toothpicks

Procedure

 * 1) Mix peanut butter, melted butter, vanilla, and powdered sugar in a bowl.
 * 2) Form the mixture into 1-inch balls.
 * 3) Place a toothpick into each ball.
 * 4) Refrigerate or freeze for an hour.
 * 5) Melt the semi-sweet chocolate chips in a double boiler.
 * 6) Dip the balls in the melted chocolate, leaving a small exposed circle at the top.
 * 7) Place on wax paper and remove toothpick.
 * 8) Refrigerate or freeze.

Related recipes

 * Chocolate balls

title: Cookbook:Buckeyes


text:
User talk:84.66.56.203

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. -- Herby talk thyme 19:26, 8 January 2007 (UTC)

title: User talk:84.66.56.203


text:
User:Hauller~enwikibooks

I like pie

title: User:Hauller~enwikibooks


text:
User talk:Hauller~enwikibooks

I like pie and another pie

Your account will be renamed
Hello,

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

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

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

Sorry for the inconvenience.

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

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

title: User talk:Hauller~enwikibooks


text:
User talk:216.90.252.12

Xania talk 21:09, 8 January 2007 (UTC)

title: User talk:216.90.252.12


text:
Talk:FHSST Physics/Waves/Electromagnetic Applications

Is the first pharagraph wholly correct? I was under the impression that the formula E = hf was postulated by Max Planck, not Einstein. Thus the name of the constant (Planck's constant).


text:
User talk:67.189.141.17

--Everlong 22:54, 8 January 2007 (UTC)

title: User talk:67.189.141.17


text:
Cookbook:Homemade Cider Vinegar

| Index of Ingredients | Fermentation

Cider vinegar, also called apple cider vinegar or ACV, is a type of vinegar made from apples. Cider vinegar has a unique flavour, coming from the apples used to make it. Some recipes require cider vinegar, although other vinegars may be substituted.

Being made totally from apples, cider vinegar is gluten free unlike, say, malt vinegar. However, some commercial brands add wheat-derived substances such as caramel (as colouring), so it is important to read the labels when purchasing.

Cider vinegar isn't hard to make; in fact, it's easier to make cider vinegar than it is to make cider! The basic procedure is to make cider from fresh apples, but use no preservatives and keep the lid open to let oxygen in. A recipe follows.

Ingredients

 * 4 kg (8.8 lb) fresh s

Equipment

 * Two 3-liter (0.8 US gallon) fermenters (can be large bottles or food-grade plastic buckets)
 * Apple crusher or juice maker
 * Food-grade siphon hose (from hardware store or homebrew shop)

Procedure

 * 1) Wash the apples to remove obvious dirt, and cut out any bruised or bird-struck bits.
 * 2) Crush the apples, or put them through a juice maker, and collect the juice in one of the fermenters.
 * 3) Cover the fermenter with a cloth, or plug the opening with cotton wool if narrow, to keep out dust and insects. Don't worry that the fermenter isn't full, as it should be for making hard cider. With vinegar, air space is good, as it brings oxygen to the bacteria.
 * 4) Set aside somewhere to ferment not too warm or too cool (about 18–22 °C / 64–72 °F). It should start getting bubbly within a couple of days. Note the progress, so that you can tell when fermentation has peaked and is slowing down.
 * 5) When the fermentation is slowing down and not bubbling so vigorously, siphon into the other fermenter carefully. Try not to get too much of the gunk that has settled to the bottom, or the froth on top—the aim is to get a clear cider without too many floating chunks!
 * 6) Set the second fermenter aside to ferment for two to three months. After a while, you should see a white film forming on top. Don't despair—this is the vinegar mother, a structure built by the vinegar-making bacteria (acetobacter).
 * 7) After a couple of months, you can draw off two thirds of the vinegar for use, and top up with fresh, clear cider made in the first fermenter.

Notes, tips, and variations

 * Use only glass, stainless steel, or food-grade plastic when making cider vinegar. The acids in apple juice, and further created by fermenting to vinegar, will leach chemicals from other plastics and corrode some metals.
 * Cider vinegar is better when made with a blend of apples including cider varieties—e.g. sharps and bitters, not just sweets—but pretty much any apples will do.
 * Apple juice that is free of preservatives can be used instead of crushing fresh apples. Just add to get the initial fermentation going, and stir occasionally for the first two weeks to help encourage the acetic bacteria.

title: Cookbook:Homemade Cider Vinegar


text:
Cookbook talk:Potato Meat Loaf

1 can cheddar cheese soup... what is this for? It dosn't say! 63.80.111.2 23:33, 8 January 2007 (UTC)

title: Cookbook talk:Potato Meat Loaf


text:
Samba/What is Samba

Samba is a free software re-implementation of SMB/CIFS networking protocol released under the GNU General Public License. As of version 3, Samba not only provides file and print services for various Microsoft Windows clients but can also integrate with a Windows NT Server Domain, either as a Primary Domain Controller (PDC) or as a Domain Member. It can also be part of an Active Directory domain.

Samba runs on most Unix and Unix-like systems, such as Linux, Solaris, and the BSD variants, including Apple's Mac OS X Server (it was added to the Mac OS X client edition with version 10.2). It is standard on nearly all distributions of Linux and is commonly included as a basic system service on other Unix-based systems as well.

Samba has a 10-year development history, and as a result Samba-3 is both a robust and mature Enterprise Class project. It has been deployed in organizations small and large as a stand-in replacement for more expensive Microsoft™ Windows® based solutions. Because Samba is freely available under the GPL, it can scale with network environment it was deployed to function in without the need to worry about restrictive per-seat, or per-user licenses.

title: Samba/What is Samba


text:
Samba/Installing Samba

Samba Source Code is available online or through services such as Portage or Apt-get. Visit Samba.org to obtatin a list of ftp/http mirrors.

Command-line Installation on APT based Systems Such as Debian and Ubuntu
sudo apt-get install samba

title: Samba/Installing Samba


text:
Talk:The Ten Commandments

NPOV Guidelines
This book seems a bit POV. Please make sure that you adhere to WB:NPOV. The Ten Commandments can be studied from an objective, comparative perspective, but I'm not sure this book is there yet. --Munchkinguy 03:11, 9 January 2007 (UTC)

title: Talk:The Ten Commandments


text:
Samba/Compiling Samba from Source

Cross compile Samba
If you want to compile Samba e.g. for an embedded system you need to cross compile Samba on your host PC.

After you have downloaded the Samba sources from Samba.org, unpack these sources and enter the samba- /source/ directory. Then you need to set the CC environment:

 * 1) export LD_LIBRARY_PATH=//lib
 * 2) export LDFLAGS=-L//lib
 * 3) export CPPFLAGS=-I//include
 * 4) export CC=/bin/

as an example see the following for a mips compiler:

 * 1) export LD_LIBRARY_PATH=~/home/me/my_prj/linux/mips_compiler/lib
 * 2) export LDFLAGS=-L/~/home/me/my_prj/linux/mips_compiler/lib
 * 3) export CPPFLAGS=-I/~/home/me/my_prj/linux/mips_compiler/include
 * 4) export CC=~/home/me/my_prj/linux/mips_compiler/bin/mips-linux-uclib-gcc

Note: CPPFLAGS are not flags for a C++ compiler! CPPFLAGS means C-PreProcessor, thus CPPFLAGS are the options for the C-preprocessor.

Now entering the samba- /source/ directory and run 'configure':

 * 1) ./configure --host=i686 --target=mips-linux-uclibc

After the configure script has ended, run make in samba- /source/

 * 1) make

title: Samba/Compiling Samba from Source


text:
Samba/Configuring a Workgroup from the Shell with Samba

Configuring Samba
After you have installed Samba, you need to configure it:

Samba is configured by editing the smb.conf file, which is generally located in /etc/samba/. There is usually a smb.conf.example file that is well commented and will help you on your way to configuring the server. Just edit it and save it as smb.conf for an easy way get the server running.

Using Samba
To start samba, start its two daemons, smbd and nmbd.

Your computer's shared directories and files should now also be viewable on your windows network (My Network Places).

To view windows shares in the Linux environment run the smbtree command.

Decide before what you really want
This topic forks in two branches:

- Server (File, print, etc.)

- Domain Controller

Of course it is an oversimplification. You can combine these approaches, but for now keep it simple to avoid unnecessary trouble.

Server
- A file server consists in computer shares - files, printers, devices, queues, etc. - in a network controlled by smbd daemon.

It's a role of smbd take care of grant or deny controlled access to these parts.

Server KISS
There are many forms to configure and install samba. Better is to keep it simple, focusing your needs. To a hurry sysadmin, or even poorman, I recommend some basic approach, delaying complexities and security tuning for future iterations.

Shortly, it is a Standalone Server for centralized tasks: file and print serving.

Backup your original in smb.conf:

 * 1) cd /etc/samba
 * 2) mv smb.conf smb.conf.orig
 * 3) touch smb.conf

and insert these lines in the new one:

[global] workgroup = SAMBAGRP netbios name = SAMBAKISS security = SHARE passdb backend = guest [data] comment = Public Data path = /srv/myshares read only = no

This approach requires just one account - guest - to connect. To add guest account, follow script:

adduser script fits well
 * 1) Create guest account on Unix system
 * 2) Block local access changing shell to false
 * 3) Eliminate password from guest account

 * 1) adduser --home /dev/null --shell /bin/false --no-create-home --uid 65533 --disabled-password guest

New SMB password: (type ENTER) Retype new SMB password: (type ENTER) Added user guest.
 * 1) Create or map samba account
 * 2) smbpasswd -a guest

Domain Controller
[TODO]

Basic Check
It's a good idea to check samba running parts in a host machine, before start:

$ ps ax ¦ grep .*mbd

Usually there are two process, nmbd and smbd, (number of smbd instances and path of daemon may vary). It indicate that samba is running.

$ ps ax ¦ grep mbd 29402 ?       Ss     0:03 /usr/sbin/nmbd -D 29404 ?       Ss     0:00 /usr/sbin/smbd -D

Another way (more sophisticated) requires root privileges:

$ sudo smbcontrol nmbd ping PONG from pid 29402 $ sudo smbcontrol smbd ping PONG from pid 29407 (number of smbd daemons may vary)

Samba main parts are daemons named smbd and nmbd.

 * smbd: take care of files, logons, shares, etc
 * nmbd: deal with names

When you are using samba suite, you are sending requests to these daemons, mostly to smbd.

Database moves
Samba uses files to keep its controls. There are two types of files in focus: flat files and trivial database files.

User database have to be created and initialized and the main configuration file prepared with shares and system parameters. It's better to get a nice reading on existent documentation before try to implement a real production site, identify and possibly write down instructions.

Its is common to start a samba server based on a fire-up and forget philosophy, and later (at an year basis) have to recover in a hurry the same server and find out you can't remember how to add users, tune, etc.

Tasks to Write Down
After configure or change smb.conf, it is recommended test modifications before start. You can do it running and reading possibly error messages or abnormalities
 * Check smb.conf

$mybox:~$ sudo testparm

 * Start/Stop samba

Actually, depending on your distribution, you will start samba running a previous prepared batch file, that resides on startup script set.

Debian based distributions use:

$mybox:~$ sudo /etc/init.d/samba start     # starts samba

$mybox:~$ sudo /etc/init.d/samba stop      # stops samba

 * Restart and check in one step

 * 1) /etc/init.d/samba restart && ps ax | grep mbd

[TODO] Using smbpasswd to - add user - change password
 * Add/Remove users

[TODO]
 * Check log files

[TODO]
 * Backup smb.conf and tdb databases


text:
Samba/Links

 * Samba.org
 * smb.conf guide

title: Samba/Links


text:
User talk:Marz

Marz, I have reorganized the existing content at the Samba Wikibook. You had one page with new content tacked on to the old with a ever lengthening Table of Contents. I have taken the existing material and placed it in individual chapters. I hope this will allow the page to Wikibook to scale better. I've added some content--mostly things I've imported from Wikipedia and WikiMedia Commons to improve the 'look and feel' of the Wikibook. All of your existing content is still present, unless it was a simple [TO DO] placeholder. I will be adding new content shortly, especially as it relates to using Web-Based GUI's to perform operations in Samba. I hope to make the Wikibook a practical guide to Samba administration, not just a re-hash of the Samba HOWTO. I hope you approve of the measures I have taken, and intend to take, with the Samba Wikibook. —Wikijeff 04:00, 9 January 2007 (UTC)

title: User talk:Marz


text:
Becoming a Medical Doctor

Becoming a Medical Doctor will be an informative guide to starting a career as a medical professional. It will eventually cover the process of prerequisite study, applications, admissions, medical education, registration and progression towards the medical specialities, for all countries.

Table of contents

 * /Overview/
 * /What Being a Doctor Involves/
 * Country-specific guides
 * /Australia/

title: Becoming a Medical Doctor


text:
User:Wikijeff

 * Sandbox

title: User:Wikijeff


text:
User:Wikijeff/Sandbox

blah.

title: User:Wikijeff/Sandbox


text:
Talk:American Literature

Suggested Guidelines
Welcome to any and all co-authors for this Wikibook on American Literature. In order to make this book consistent, I propose the following guidelines and structure. Please see the modules on Robert Frost and Langston Hughes which are practically complete.

Of course, it should be associated with other Wikimedia projects, too.Logophile 06:24, 9 January 2007 (UTC)
 * 1) At ths stage of the game, I am not numbering any of the modules, because I want to leave room for inserting others easily.
 * 2) As you can see from the Contents, I have arranged the book chronologically. Unless another writer is willing to re-do the entire order, I suggest we keep it that way.  I would hate to see the organization get muddled.
 * 3) Each chapter should begin with
 * 4) a discussion of the various movements and styles of that century and
 * 5) a list of the major literary figures and works of that century.
 * 6) Each module within the chapter should be about a particular writer. It should include:
 * 7) an introduction on the significance of the writer,
 * 8) a brief biography of the writer,
 * 9) a brief critical discussion of the writer's works,
 * 10) a list of the writer's awards and honors (especially literary ones),
 * 11) a list of some or all of the writer's works, and
 * 12) a list of external links to high-quality sources, especially for the writer's works.

Section Headings
Updated subject headings to conform more with standard divisions of American Literature anthologists.DanQuigley (talk) 05:35, 15 November 2008 (UTC)

Orphaned pages
The following are pages that do not have links to them from the main book page but are currently within the American Literature hierarchy. Their location is not consistent with the table of contents listed at American Literature. Their location indicates they are 20th century writers but there are three periods in the table of contents dealing with the 20th century. I note them here so a future contributor to this book will be aware of their existence for incorporation.
 * American Literature/20th Century/Carl Sandburg
 * American Literature/20th Century/Jack London
 * American Literature/20th Century/Langston Hughes
 * American Literature/20th Century/Robert Frost
 * American Literature/20th Century/Theodore Dreiser
 * American Literature/20th Century/Willa Cather

Adrignola (talk) 04:31, 25 April 2009 (UTC)

Some authors, though, span time periods, literary movements, and even centuries. Robert Frost is an excellent example of this; his work was not entirely modernist work, but it wasn't exactly romantic, either. He exhibited the feeling of much modernist work (for instance, "The Woodpile"), but he also held a more rigid poetic structure than a typical modernist poet. Furthermore, his life lasted from the 1870's to the 1960's. Unless I have completely misunderstood what is being asserted here, perhaps we can find another way of categorizing these authors. One option is to simply link to them in every category where they fit. Cqbarton (talk) 16:29, 29 June 2010 (UTC)

title: Talk:American Literature


text:
Becoming a Medical Doctor/Australia

Overview
There are 19 medical schools in Australia, typically offering the Bachelor of Medicine/Bachelor of Surgery (MBBS) degree, though some may offer a Bachelor of Medicine (BMed) instead. There is the opportunity to pursue research towards a higher Doctor of Medicine (MD) degree, but this degree is higher than and not equivalent to the standard qualification in the United States.

Australia's medical programs are divided into two types, Undergraduate Entry and Graduate Entry. Undergraduate entry degrees are typically 6 years in duration and are commonly entered directly from high school, while Graduate entry degrees are typically 4 years in length, and a current Bachelor's degree is required for entry. Note however that the Graduate entry programs still confer a Bachelor degree in Medicine, they are graduate entry, not postgraduate degrees themselves.

The undergraduate-entry programs tend to draw more from school-leavers, while the graduate-entry programs draw a wider age range of entrants, from diverse academic backgrounds.

Universities with undergraduate-entry medical programs only * UNSW offers a limited number of places for graduates of its Bachelor of Medical Science program only.
 * Bond University
 * James Cook University
 * University of Adelaide
 * University of Newcastle
 * University of New South Wales*
 * University of Tasmania
 * University of Western Sydney

University with both undergraduate and graduate-entry
 * Monash University

Universities with graduate-entry medical programs only
 * Australian National University
 * Deakin University
 * Flinders University
 * Griffith University
 * Notre Dame University, Fremantle
 * Notre Dame University, Sydney
 * University of Melbourne
 * University of Queensland
 * University of Sydney
 * University of Wollongong
 * University of Western Australia

Undergraduate entry process
The processes involved in gaining entry into an undergraduate medical course in Australia vary between universities and states. Typically an application must be made to the relevant state tertiary admission centre.

Whether an applicant is successful or not depends upon their performance

UMAT
Most universities require applicants to sit an aptitude test called the Undergraduate Medicine and Health Sciences Admission Test (UMAT). The Australian Council of Educational Research (ACER) developed UMAT The UMAT is divided into three sections:
 * 1) Section 1 tests problem solving, logical reasoning
 * 2) Section 2 tests empathy
 * 3) Section 3 tests visual spatial skills.

Applicants are then ranked according to their score. The

Several training courses have been created in response to the competitiveness of the UMAT.

Universities which require applicants to sit the UMAT for entry into their course:
 * Monash University
 * University of Queensland
 * University of New South Wales
 * University of Tasmania
 * Bond University
 * University of Adelaide
 * University of Western Sydney

Interview
Many universities require applicants to sit an interview for the purpose of ascertaining their suitability to medical school

Graduate entry process
All the graduate entry programs share a similar application process at this time. Candidates are first required to sit the GAMSAT (Graduate Australian Medical Schools Admission Test), which is held yearly in March. Candidates typically sit the test in the year prior to the one they wish to start their medical degree, and the cutoff for the exam is typically in January. The GAMSAT is conducted by ACER (the Australian Council for Educational Research), which also handles the subsequent admissions process. When candidates receive their GAMSAT scores (typically in June), they apply centrally through ACER, listing their preferences for courses, and ACER forwards their applications to the relevant universities. If the applicants meet the requirements set by individual universities they are offered interviews. The interviews typically take place in September or October. Universities notify candidates of their success in October or November, and the programs start in the new year.

GAMSAT
The GAMSAT is divided into three sections:

 * Section 1: Reasoning in Humanities and Social Sciences (100 minutes)
 * Section 2: Written Communication (60 minutes)
 * Section 3: Reasoning in Biological and Physical Sciences (170 minutes)

Sections 1 and 3 are multiple choice exams, while Section 2 involves the production of two essays. The GAMSAT is about 6 hrs in total duration, and is held on one day in a central location. Testing centres are limited to the capital cities and Townsville (and a few overseas locations), so some travel may be involved.

Choosing a program
Though they share the same application process, the individual universities set varying criteria for selecting candidates. Most take into account three factors: GAMSAT score, GPA (Grade Point Average) and performance in the interview. A few of the programs require additional material, such as a portfolio of extracurricular activities or a personal statement. Candidates should make their preferences based on which combination of factors will best help in their individual case, but should also take into account the location of the school (particularly the challenges of relocation) and their personal preference for a particular university's program, university life, campus or reputation. Visiting a number of schools before choosing preferences is a good idea.

Internship & residency
All Australian medical graduates are required to complete 1 year of internship in a public hospital in order to obtain full medical registration. Choice of hospital to complete internship depends on individuals preferences during their final year of medical school. The exact mechanism varies by state and territory. Most recent medical graduates complete internship in the state of their medical school, though individuals can apply for internship in any state or territory.

Prior to 1997, medical graduates received a provider number entitlement at the completion of internship. A provider number is required in Australia for medical practitioners to be able to access Medicare, the universal health system in Australia. Patients are able to see medical practitioners with a provider and use medicare to cover the cost of the consultation. Legislative changes in 1997 resulted in cessation of access such that graduates are now only able to gain provider number entitlements after completion of vocational post graduate medical training, a further 4 - 6 years of study after internship. The heads of Australia's biggest medical schools say a lack of hospital internships for their student doctors has huge implications for the country.

According to the Sydney Medical School web site, in Australia, State Health Departments are responsible for the funding of, and placement of students for, internships. Internships are therefore determined by the relevant State Health Departments, not universities. These Departments have made it clear that no student is guaranteed an internship upon graduation from a medical program. http://sydney.edu.au/medicine/current-students/essential-information/medical-program/internships.php

Medical internship in Australia is NOT guaranteed Each state, such as New South Wales (NSW), sets its own priority categories for allocating the limited # of internship positions.

NSW Health Priority List for 2015 Intern Recruitment http://www.heti.nsw.gov.au/Global/HETI-Resources/internships/Applicant%20Guide%20to%202015%20Medical%20Graduate%20Recruitment%20in%20NSW_v1%2021%20May%202014.PDF

GUARANTEED Priority category 1	Medical graduates of NSW universities who are Australian/New Zealand citizens or Australian permanent residents (Commonwealth Supported Place and Domestic Full Fee paying. This priority category is guaranteed an intern position in NSW.

NOT GUARANTEED Priority category 2	Medical graduates of interstate or New Zealand universities who completed Year 12 studies in NSW who are Australian/New Zealand citizens or Australian permanent residents (Commonwealth Supported Place, Domestic Full Fee paying or NZ equivalent). Priority category 3	Medical graduates of interstate or New Zealand universities who completed Year 12 studies outside of NSW who are Australian/New Zealand citizens or Australian permanent residents (Commonwealth Supported Place, Domestic Full Fee paying or NZ equivalent). Priority category 4	Medical graduates of NSW universities who are not Australian/New Zealand citizens or Australian permanent residents and who hold a visa that allows them to work or are able to obtain a visa to work. Priority category 5	Medical graduates of interstate or New Zealand universities who are not Australian/New Zealand citizens or Australian permanent residents and who hold a visa that allows them to work or are able to obtain a visa to work. Priority category 6	Medical graduates of Australian Medical Council accredited campuses that are located outside of Australia or New Zealand who are not Australian/New Zealand citizens or Australian permanent residents and who hold a visa that allows them to work or are able to obtain a visa to work. http://www.heti.nsw.gov.au/programs/m/nsw-health-priority-list-for-2015-intern-recruitment/

An article by Bronwyn Herbert Updated 25 Aug 2010, 9:52am on ABC News had the following to say: Hundreds of overseas students studying medicine in Australia have missed out on internships in already stretched public hospitals.Medical deans say it is not only a disaster for financially strained universities, but a missed opportunity for Australia's health workforce.Over the past decade, the number of students studying to become a doctor has more than doubled.But Queensland University's dean of medicine Professor David Wilkinson says a key element of the training - a hospital internship - is missing. "The [Queensland] Government guarantees intern places for Australian students, but doesn't make those guarantees for international students," he said."We are coming to the crunch now, we're expecting this year there will be graduates from our medical school who will not be able to get an internship. "And that's a tragedy for them personally and it's also a dreadful waste for our health system. "http://www.abc.net.au/news/2010-08-25/lack-of-medical-internships-a-dreadful-waste/956996

Specialist training
Medical specialist training in Australia is conducted by the various professional colleges. Registered medical practitioners must generally complete at least two years of postgraduate residency before they can enter a training program with one of the colleges. After completing training, and passing examinations they become eligible for fellowship as a medical specialist. A fellowship is the last year before you become a fully fledged doctor.

The professional colleges include:

 * Royal Australasian College of Surgeons
 * Royal Australasian College of Physicians
 * Australian and New Zealand College of Anesthetists
 * Royal College of Pathologists of Australia
 * Royal Australian College of General Practice

title: Becoming a Medical Doctor/Australia


text:
Muggles' Guide to Harry Potter/Magic/Reducio

Overview
Reducio is a charm that makes things small.

Extended Description
This spell seems to reverse the action of the engorgement charm Engorgio. The first time we see this charm used, it is used by Professor Moody to reduce a tailless whip scorpion back to its normal size after it has been used in a classroom demonstration.

Analysis
Like many spells, there must be a mental component to this spell; it is necessary to control the size that you want the object to shrink to, so that size must be controlled mentally.


text:
User talk:Meded

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 08:17, 9 January 2007 (UTC)

title: User talk:Meded


text:
User talk:Alan.ca~enwikibooks

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 08:18, 9 January 2007 (UTC)

Your account will be renamed
Hello,

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

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

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

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 22:56, 17 March 2015 (UTC)

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

title: User talk:Alan.ca~enwikibooks


text:
User talk:Conrose

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 08:18, 9 January 2007 (UTC)

Naming pages
Hi - can you take a look at the changes I've made to Ancient Warfare as far as the subpages go (I've moved the pages you created to link with the change. The policy is for pages of books to be named as subpages (ie "Ancient Warfare/Subpage") in this way.  If I can help let me know - thanks -- Herby  talk thyme 12:45, 10 January 2007 (UTC)

title: User talk:Conrose


text:
User talk:SFGiants

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 08:19, 9 January 2007 (UTC)

title: User talk:SFGiants


text:
User talk:195.224.86.18

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. -- Herby talk thyme 08:49, 9 January 2007 (UTC)

title: User talk:195.224.86.18


text:
Karrigell/Home page

Home page
For the moment we'll ignore the CDs and begin writing the home page

Create a new folder mycds in your Karrigell distribution, under the www folder. With your favorite text editor, save this text in a file called index.ks

def index: print "
My CD collection
"

In your browser ask localhost/mycds/index.ks/index

The extension "ks" (Karrigell Service) means that the script is a Python script where functions match urls : here, index.ks/index means that the function index will send the data back to the browser

In fact
 * if you don't specify a function name, the index function in the script will be run, so you could have asked localhost/mycds/index.ks
 * and if you don't even specify a script name in a folder, the script called <tt>index</tt> will be run. So all you have to type really is <tt>localhost/mycds</tt>

Notice the <tt>print</tt> statement in the <tt>index</tt> function. In Karrigell scripts, the <tt>print</tt> statement sends the content to the browser ; by default, this content is supposed to be HTML code

Adding a page counter
The page counter will print the number of times that the page has been seen. We'll use a file, <tt>counter.txt</tt>, to store the number of visits and increment it for each visit

def index: print "
My CD collection
" try: visits = int(open('counter.txt').read) except IOError: # first visit : the file does not exist visits = 0 visits += 1 out = open('counter.txt','w') out.write(str(visits)) out.close print "%s visits" %visits

Each time the page is reloaded, you will see the number of visits incremented by 1

Notice that the file is opened by the usual <tt>open</tt> function ; relative paths are converted to absolute paths relatively to the script directory

A better page counter
A page counter should not increment if the same user repeatedly reloads the same page. This requires a way to identify the browser which is sending the request. For this task, web programming provides session management, and Karrigell has a very simple implementation of this concept

Use the built-in <tt style="color:blue">Session</tt> function

Karrigell scripts are run in a namespace prepared by the framework : among the names available in scripts, you have this <tt style="color:blue">Session</tt> function, which returns an object specific to each individual client (it uses cookies). This object is an ordinary Python object, to which you can set any attribute you like

Here, for a new client, we will create an attribute user to the session object. If a client requests the home page and his session object already has this attribute, the counter will not be incremented

def index: print "
My CD collection
" try: visits = int(open('counter.txt').read) except IOError: # first visit : the file does not exist visits = 0 if not hasattr(Session,"user"): visits += 1 out = open('counter.txt','w') out.write(str(visits)) out.close Session.user = None   # create attribute user print "%s visits" %visits

Including scripts
This page counter could be used in other parts of the application, so it's better to put it in a separate file : save this part of the script in <tt>counter.py</tt>

try: visits = int(open('counter.txt').read) except IOError: # first visit : the file does not exist visits = 0 if not hasattr(Session,"user"): visits += 1 out = open('counter.txt','w') out.write(str(visits)) out.close Session.user = None  # create attribute user print "%s visits" %visits

To include this script in the home page, change the script <tt>index.ks</tt> to this :

def index: print "
My CD collection>/h1>" Include('counter.py')

<tt style="color:blue">Include</tt> is another Karrigell built-in function : it takes a script url as argument, an inserts the result of this script's execution in the page

To make <tt>counter.py</tt> even more modular, the file name could be passed as argument to <tt style="color:blue">Include</tt> :

def index: print "
My CD collection>/h1>" Include('counter.py',counter_file='counter.txt')

The keyword argument to <tt style="color:blue">Include</tt> will be in the execution namespace when <tt>counter.py</tt> is run. Rewrite <tt>counter.py</tt> with this parameter :

try: visits = int(open(counter_file).read) except IOError: # first visit : the file does not exist visits = 0 if not hasattr(Session,"user"): visits += 1 out = open(counter_file,'w') out.write(str(visits)) out.close Session.user = None  # create attribute user print "%s visits" %visits

Logging in/out
Let's add the link for users to log in to the application

def index: print "
My CD collection
" print 'Login
' Include('../counter.py',counter_file='counter.txt')

The link leads to the reference <tt>"login"</tt>. It is a relative url to the base url, <tt>host/records/index.ks/index</tt>, so it resolves to <tt>host/records/index.ks/login</tt>, meaning that the link will invoke the execution of the function <tt>login</tt> in the script <tt>index.ks</tt>

This function will generate an HTML form asking the user's login and password, and submitting these values to an authentication test

def login: print '
Login
' print '<form action="check_login" method="post">' print 'Login <input name="login">
' print 'Password <input type="password" name="passwd">
' print '<input type="submit" value="Ok">' print '</form>'

The attribute <tt>"action"</tt> for the form is <tt>check_login</tt>. Again, this means that the function <tt>check_login</tt> in <tt>index.ks</tt> will be run

Unlike <tt>index</tt> and <tt>login</tt>, this function will take arguments : the submitted login and password. The arguments must be called like the names used in the input fields of the form : <tt>login</tt> and <tt>passwd</tt>. For the moment we'll use a very simple test to see if the user is allowed to log in

def check_login(login,passwd): if login=="john" and passwd=="doe": Session.user = login print "logged in" else: print "try again"

Inside this function, if the test succeeds, the attribute <tt>user</tt> of the session object is set to the user's login

For the moment, all we have is the result of the test. After the test, we should be automatically sent back to the home page. The HTTP protocol provides a redirection feature, and Karrigell implementation is once again very straightforward : a built-in exception called <tt style="color:blue">HTTP_REDIRECTION</tt>

Change the function <tt>check_login</tt> like this :

def check_login(login,passwd): if login=="john" and passwd=="doe": Session.user = login raise HTTP_REDIRECTION,"index"

This means that after the function is run, the browser redirects to the specified url, here the one that matches the function <tt>index</tt> in the script

We can now change the home page to welcome the authenticated user with his name, and allow him to logout :

def index: print "
My CD collection
" logged = hasattr(Session,"user") and Session.user is not None if logged: print 'Logged in as %s
' %Session.user print 'Logout
' else: print 'Login
' Include('../counter.py',counter_file='counter.txt')

The logout function will only set <tt>Session.user</tt> to <tt>None</tt> and redirect to the home page :

def logout: del Session.user raise HTTP_REDIRECTION,"index"

Summary
The programming style used by Karrigell is based on namespace : in the scripts, instead of importing modules or using environment variables, a number of built-in names are available for the most common tasks. So far we have covered session management with the built-in name <tt style="color:blue">Session</tt>, inclusion of scripts with <tt style="color:blue">Include</tt> and HTTP redirection with the built-in exception <tt style="color:blue">HTTP_REDIRECTION</tt>

This makes programming with Karrigell extremely straightforward, thus easy to code and to maintain

While other formats are available (see the documentation for pure-Python scripts, CGI, Python Inside HTML, HTML Inside Python) I suggest to use "Karrigell Services" to group most of the application logic in one script ; peripheric modules can be imported or included

In the next section we will write the code to manage the CD database

title: Karrigell/Home page


text:
A-level Applied Science/Planning and Carrying out a Scientific Investigation

=About this Unit= From the AQA Specification:

 You need to produce a portfolio of evidence which shows that you can plan and conduct an investigation and present your findings in a suitable way for a chosen client.

Your portfolio of evidence should... demonstrate knowledge of the following: • how to plan an investigation; •  how to carry out the investigation; •  recording and processing the data obtained; •  evaluating and drawing conclusions from the investigation; •  presenting the outcomes of the investigation.

=How you will be assessed=

This unit is assessed through the work you complete for your portfolio.

The marking criteria are found in the AQA specification.

'''Most suggestions below have suggestions for a client's problem which needs to be addressed. This is an important aspect of the Unit 7 task - the investigation must meet a realistic requirement. Changes to the suggestions below, or additional suggestions, are welcome - this is a wiki after all!'''

=Suggestions=

Here is a list of suggestions for Science Investigations. Please add/amend/extend the list as you see fit. This is essentially a brainstorm...

Non-coalescing drops
Client: Some industries will mix liquids by cascading one liquid into another, assuming mixing will be complete. These drops may prevent complete mixing and need to be investigated.

Recent research has shed light on this phenomenon: The fast-moving shiny drops that skid across the surface of soapy water. Detergents play a crucial role – but how does the concentration of detergent affect the drops? What about ‘non-ionic’ detergents? What about a surface of anionic detergents and drops of cationic ones?

Challenges: Making drop-producing apparatus, Researching the chemistry of detergents, Assessing the numbers of drops

Viscosity kinetics
Client: Chemical producers who rely on reactions in solution will need to know how viscosity might affect rates of the reaction.

Many chemical reactions depend on molecules colliding, so slowing the rate of collisions will slow the rate of the reaction. In solution, the viscosity of the solvent can affect the reaction by slowing the collision rate, but it does not work for every reaction. The reaction between calcium carbonate and acids is highly dependent on viscosity, but when acids react with thiosulphate the viscosity seems not to be a factor.

Challenges: Assessing the viscosity of solutions, Researching and investigating the kinetics of reactions.

Marble chip reaction with acid
Client: Chemical industries using heterogeneous reactions will need to know how the rate of reaction can be altered.

How is the rate affected by various factors (e.g. surface area, temperature, concentration, stirring, viscosity, ionic strength). Estimation of surface area of marble chips.

Sodium Thiosulphate and Hydrochloric acid reaction (‘disappearing cross’)
Client: Chemical engineers wishing to check if turbidity is a useful surrogate measurement for whether a reaction has reached completion.

How does the reaction respond to changes in acid concentration (it is first order for thiosulphate concentration but varies from first to zero order with acid).

How can we assess the amount of oil contamination on beaches?
Client: Various groups will want to assess oil contamination, and a simple quick method would be appreciated.

The method used solvent extraction. Sand samples were laced with oil and the efficiency of recovery was measured. The sensitivity of the method was also estimated.

Synthesis and isolation of propanoic acid from propan-1-ol.
Client: Chemical suppliers who want to investigate production of this chemical.

Trialling different methods.

Making biodiesel from waste vegetable oil.
Client: Motoring enthusiasts who want to make their own environmentally-friendly and cheap fuel.

Using methanol and sodium hydroxide it is possible to make diesel fuel from old chip fat.

Analysing the gases remaining after burning a candle in a gas jar.
Client: Motor vehicle engineers who want to check the composition of exhaust gases.

CO2 is easy; it is readily absorbed with NaOH.

O2 is harder; an oxygen probe is very useful but otherwise oxygen could be absorbed by, for example, the slow reaction of steel wool.

CO is challenging; it will be absorbed by CuCl solution but it is in very low concentrations.

Extraction of caffeine from tea.
Client: Suppliers or independent analysts who want to assess the caffeine content of tea products. Chemical suppliers who want to provide pure caffeine to clients.

This method usually involves solvent extraction with a chlorinated alkane (e.g. dichloromethane or 1,1,1,-trichloroethane). With care it is possible to recycle the solvent and avoid health and environmental damage.

Other suggestions

 * Investigation of weak acid strengths/synthesis of new acids
 * Rate expression for tin/iodine reaction – kinetics of a reaction
 * Nobili’s rings – strange colours seen during electrolysis.
 * A transient red colour – the chemistry of iron/sulphate complexes.
 * Liesegang rings – stripey effects in gels.
 * Polarimetry to investigate concentrations of sugars. Client: Suppliers of sugar syrups who want to assess their products.
 * Flame photometry to determine concentrations of aqueous ions. Client: Analysis of mineral water samples to check manufacturers' claims.
 * Is there a connection between aluminium and Alzheimer's disease?
 * Is the level of chloramines found in swimming pool water affected by temperature? Client: Swimming pool operators concerned about eye irritation amongst their customers.
 * Effectiveness of two major washing powders on five common household stains. Client: Consumer testing organisation who wants to test commercial claims.
 * Factors affecting the decomposition of biodegradable plastics. Client: Environmental agencies testing claims of environmental-friendliness from plastics manufacturers.
 * Studies of infrared spectroscopy: nature and applications. Client: Applications include breath-testing for alcohol and testing vehicle exhaust emissions.
 * NaCl and potential alternatives to NaCl as a roadway de-icer. Client: Highways agency investigating de-icers which cause less environmental damage - but at what cost?
 * Synthesis and analysis of hexane-3,4-diol.
 * Calcium carbonate content of seashells.
 * Characterisation of New Polyethylenes Prepared by Single-Site Catalysis.
 * An Investigation Into The Uses Of Environmentally Friendly Additives/Alternatives To Petrol.
 * Protein Purification.
 * Water Pollution in Hong Kong.
 * A study into the colour of ketchup.
 * An investigation into the effects of heat, pH and long term UV radiation on sunscreens.
 * Comparison By Spectral Characterisation Of Myoglobin In Beef, Pork and Turkey.
 * Spectrophotometric Determination of Trace Amounts of Iron in Plant Samples.
 * The effect of disulphide reduction on the structure, and activity of Yeast Alcohol Dehydrogenase.
 * Investigation into the effect of pH on the mechanism of glycation of phenylalanine as a model of the glycation of the B chain of insulin.
 * Analysis of Vitamin C in Orange Juice through a Chemiluminescent Clock Reaction.
 * Investigating the Effect of Different Halide Ions on the Stem Volmer Constant.
 * Developing and Validating an Assay for Tissue Thiols and the Analysis of the Effects of Aging and Taurine on Tissue Thiols.
 * Relation between the Slow Relaxation Time and Foaming of Selected ICI Surfactants.
 * Purification of ibuprofen from commercial tablets.
 * Building a breathalyser.
 * Titration of various commercial vinegar samples.
 * Titration of vitamin C content of commercial fruit juices.
 * Investigation in the synthesis of acetylsalicylic acid (aspirin).

Shear-thickening fluids
Client: Manufacturers of military flak jackets are investigating if jackets can be made flexible at low strain but rigid at high strain by incorporating shear-thickening fluids.

Corn starch mixed with water has bizarre properties - under low strain it behaves as a liquid but if hit with a hammer it solidifies and shatters. What composition achieves the best transition from fluid to solid? What force is required to achieve the transition?

Mpemba effect
Client: Ice-cream manufacturers who want to reduce time by freezing their product from warm samples instead of cooling to room temperature before freezing.

Strangely, under the right conditions, warm water will freeze faster than cooler water. Various reasons for this have been proposed, but it is still a prime example of an experiment that defies intuition.

Challenges: Research the literature on the phenomenon. Establish conditions under which the effect is observed. Monitor the experiment closely to discover what causes the effect. Use the information discovered to design a change the conditions so that the effect is no longer observed.

Studying the impact of air rifle pellets in gelatin.
Client: Forensic laboratories investigating wounding incidents. Air rifle manufacturers concerned about safety.

The student made ballistic-concentration gelatin and assessed the velocity of the air rifle pellet and its subsequent penetration into the gelatin target.

Making a vee-notch flowmeter from a plastic milk bottle and calibrating it.
Client: People who might require a cheap method to assess flow rates of running water e.g. environmental surveyors, central heating engineers.

This is a very simple experiment, but challenging to do well. The student will need to measure the water level exactly as well as measuring the flow rate by collecting water over a measured period of time.

Thermal death point of cell membranes.
Client: Farmers who would like to predict which crops would fare better in conditions of increased summer temperatures.

Using a colorimeter, it is easy to assess damage to the cell membranes of beetroot samples by the amount of pigment they release to the medium. This correlates to the temperature at which the beetroot is incubated. Red cabbage seems to require a higher temperature which may reflect the mediterranean origins of brassicas. Non-pigments plants could be assessed by measuring the amount of protein/salts/carbohydrate/etc they release.

Peroxidase activity.
Client: Health food suppliers who wish to promote the anti-oxidant properties of various foods.

The peroxidase activity of various organisms can be assessed by measuring the rate of oxygen production (either collecting the gas and measuring its volume, timing how long an enzyme-impregnated circle of paper takes to rise to the surface, or datalogging the decrease in mass of the sample as gas is released). Organisms compared could be: animal/fungus/plant or different varieties of pepper. The effect of temperature or other conditions on the enzyme could also be studied. Lead cations and nitrate anions are both inhibitors, although the latter is not well known as an inhibitor.

Investigating the colour perception of a range of subjects.
Client: Paint and dye manufacturers who would like to identify if different client groups would use different names for the same colour.

There are interesting gender differences in identifying greens and pink.


text:
Talk:A-level Applied Science/Planning and Carrying out a Scientific Investigation

=Chemistry bias=

Sorry about the chemistry bias - I'm a chemist! Ewen 09:17, 9 January 2007 (UTC)

=Beaker=

To 'Beaker' from the TES forum: I hope this helps! Ewen 09:17, 9 January 2007 (UTC)


text:
Talk:Serial Programming/Modems and AT Commands/Commands A - M

It would be good to have a section explaining where these commands should be entered - they don't work in a command line shell....?

Where's G? After F comes H in this article, if G is not a supported char it should say so in the article.


text:
Karrigell/Managing The Database

Database engine
Karrigell can use any database engine (MySQL, SQLite, etc) using the appropriate module. For this example we will use a very simple module that stores the data we need : for each CD in the collection, the artist name and the title of the album

Copy this in a module called simpledb.py :

def read(filename): records = [] try: for line in open(filename): records.append(line.strip.split("#")) except IOError: pass return records def save(records,filename): out = open(filename,'w') for items in records: out.write('#'.join(items)+'\n') out.close

When you import the module in a script you simply use its functions read and save. The information is stored in a list of tuples

For our CD collection application, the information will consist in only 2 values : the artist name and the CD title. If we call the database file mycds.db the code to print all the CDs in an HTML table will simply be :

simpledb = Import('simpledb') cds = simpledb.read('mycds.db') for (artist,title) in cds: print artist,title

Notice the way you import the module simpledb.py : you can't use the usual import statement, because in a shared environment like a web server, there are issues with the resolution of module names to files in the file system. Karrigell uses a built-in function Import(module_url) for user-defined modules ; for the modules in the standard Python distribution, you can safely use import

Home page with the CD list
We can now modify the <tt>index</tt> function to print the list of CDs:

simpledb = Import('simpledb') def index: print "<h1>My record collection</h1>" # login / logout logged = hasattr(Session,"user") and Session.user is not None if logged: print 'Logged in as %s<br>' %Session.user print '<a href="logout">Logout</a><p>' else: print '<a href="login">Login</a><p>' # print existing records cds = simpledb.read('mycds.db') if cds: print '<table border="1">' print '<tr><th>Artist</th><th>Title</th></tr>' for (artist,title) in cds: print '<tr><td>%s</td><td>%s</td></tr>' %(artist, title) print '</table><p>' else: print "No CD in the collection<p>" # prompt logged in users to enter a new record if logged: print '<a href="new_cd">Enter new CD</a><p>' # page counter Include('../counter.py',counter_file='counter.txt')

Notice that <tt>simpledb</tt> is imported at the module level, not inside the function <tt>index</tt> : the names defined at module level are available in the functions, exactly like in ordinary Python scripts

Adding new CDs
For logged-in users there is a link to enter new CDs in the database. The href attribute of this link is <tt>new_cd</tt>, so we must write a function <tt>new_cd</tt>

This function will print a form to enter the CD artist and title, and submit the data to another function which will actually write the information in the database, then return to the home page

At this stage you shouldn't have problems to understand the code below :

def new_cd: print '<h1>New CD</h1>' print '<form action="insert_new_cd" method="post">' print 'Artist <input name="artist"><br>' print 'Title <input name="title"><br>' print '<input type="submit" value="Ok">' print '</form>' def insert_new_cd(artist,title): cds = simpledb.read('mycds.db') cds.append((artist,title)) simpledb.save(cds,'mycds.db') raise HTTP_REDIRECTION,"index"

Add these functions to <tt>index.ks</tt> and enter a couple of CDs in the database. Each time you are back to the home page you should see the collection growing

Editing records
Logged-in users should be able to edit the information about a CD : on the list they should see a link "Edit" sending them to a page where the information will be available for editing

This requires that the information about the CD is carried from the home page to the edition page. For this we could append the information about the CD (artist + title) to the link, for instance : <tt>href = edit?artist=Beatles&title=Revolver</tt> ; but database engines usually provide record identifiers, that is, integers which identify the record

In our simple database we can use the index of the item in the list as identifier, so that we can rewrite the code to print the CD collection this way :

# print existing records simple db = Import('simpledb') cds = simpledb.read('mycds.db') if cds: print '<table border="1">' print '<tr><th>Artist</th><th>Title</th></tr>' for num,(artist,title) in enumerate(cds): print '<tr><td>%s</td><td>%s</td>' %(artist, title) if logged: print '<td><a href="edit?num=%s">Edit</a></td>' %num print '</tr>' print '</table><p>' else: print "No CD in the collection<p>"

The function <tt>edit</tt> will receive one argument called <tt>num</tt>. All arguments passed to functions in Karrigell Services are bytestrings, so before using this argument <tt>num</tt> as the index in a list don't forget to convert it to an integer

def edit(num): cds = simpledb.read('mycds.db') artist,title = cds[int(num)] print '<h1>New CD</h1>' print '<form action="update_cd" method="post">' print '<input name="num" type="hidden" value="%s">' %num print 'Artist <input name="artist" value="%s"><br>' %artist print 'Title <input name="title" value="%s"><br>' %title print '<input type="submit" value="Ok">' print '</form>' def update_cd(num,artist,title): cds = simpledb.read('mycds.db') cds[int(num)] = (artist,title) simpledb.save(cds,'mycds.db') raise HTTP_REDIRECTION,"index"

Removing records
The final step is to enable deletion of CDs from the base : once again, edit the function <tt>index</tt> like this

# print existing records simpledb = Import('simpledb') cds = simpledb.read('mycds.db') if cds: print '<table border="1">' print '<tr><th>Artist</th><th>Title</th>' if logged: print '<th> </th>'*2 print '</tr>' for num,(artist,title) in enumerate(cds): print '<tr><td>%s</td><td>%s</td>' %(artist, title) if logged: print '<td><a href="edit?num=%s">Edit</a></td>' %num print '<td><a href="remove?num=%s">Remove</a></td>' %num print '</tr>' print '</table><p>' else: print "No CD in the collection<p>"

and add a new function, <tt>remove</tt>:

def remove(num): cds = simpledb.read('mycds.db') del cds[int(num)] simpledb.save(cds,'mycds.db') raise HTTP_REDIRECTION,"index"

Summary
We now have a complete application to manage our CD collection. The structure of the application in the script index.ks is as clear as in any Python module :

simpledb = Import('simpledb') def index: ...    # login / logout ...    # print existing records ...    # prompt logged in users to enter a new record ...    # page counter ... def login: ... def check_login(login,passwd): ... def logout: ... def new_cd: ... def insert_new_cd(artist,title): ... def edit(num): ... def update_cd(num,artist,title): ... def remove(num): ...

Each function matches a page of the application. For the pages that receive user input, the fields are the arguments to the function (always as strings)

Throughout this short presentation you see that all you need to know is Python and HTML. The package doesn't require any configuration, and for programmers Karrigell only provides a small set of additional built-in names

title: Karrigell/Managing The Database


text:
A Beginner's Guide to D/Templates and Generic Programming/Mixins

D's classes only support single inheritance and interfaces. While interfaces are sufficient to reproduce many of the uses of multiple inheritance, there are some things they don't suffice for. Mixins were originally added to the language to fill in many of these other cases.

Regular Templates
Before discussing mixins, it is necessary to discuss the normal syntax for templates. The class and function template syntax discussed in the previous two chapters is actually a shorthand for the regular syntax. A "normal" template looks like this:

template Foo(A, B, C) { A a;    B b;     C c; }

A template consists of a name (Foo), a parameter list (A, B, C), and a series of declarations (a, b, c). When a template is instantiated, the parameters are replaced with the arguments provided by the instantiation. The declarations are placed at the same scope as the template.

alias Foo!( int, real , char []) F; F.a = 10; F.b = 5.8; F.c = "hello!" ;

Since the above example is not very useful, here's what the long form of the "min" function from the previous section looks like.

template min(T) {    T min(T t1, T t2) {        if (t1 < t2) return t1; else return t2; } }

This also shows another interesting feature of D's templates. If a template contains a single declaration, and that declaration has the same name as the template, then one can refer to that single member implicitly. Combined with implicit function template instantiation (discussed in the previous section), the following are all equivalent:

min!( int ).min(1, 2); // long form min!( int )(1, 2); // with the single-element rule min(1, 2); // with IFTI

Mixins
Normally, when a template is instantiated, its declarations are inserted into whatever scope the template exists in. With a mixin, the declarations may be inserted into the current scope. A trivial example looks like this:

template Foo {    int i;     char [] s; }

struct S { mixin Foo; }

(Note that if the template's parameter list is empty, then the mixin may elide the !.) The result is that the struct S has two members:  int i and  char [] s.

Mixins may also be named, allowing the same mixin to be mixed-in to the current scope more than once. Here's a more complex example.

template Writer(T) {    void write(T t)     { writefln(t); } }

struct S { mixin Writer!( int ) IntWriter; mixin Writer!( char []) StrWriter; }

S s; s.IntWriter.write(12); s.StrWriter.write( "hello!" );


text:
Wikibooks:Wikibooks as an aid to teaching

Wikibooks is an excellent way of getting a class to work together and produce in-depth articles in their field of study.

There are books for every level of student on the Wikibooks' bookshelves and, being a young project, many of these books need much more content. Several universities and schools have already produced excellent books by working together:
 * Engineering Acoustics (Purdue University)
 * Foundations of Education and Instructional Assessment (Old Dominion University)
 * Social and Cultural Foundations of American Education (Old Dominion University)

Evaluation tools
Students can register their own accounts, which hides the IP address, increasing the level of privacy. This also gives each student a user page to let other Wikibookians know what they're working on, and a talk page for communication with other users of the wiki.

Ideas for assignments
Why not organize your homework around Wikibooks? Ask each student to contribute a paragraph, a page, or a chapter. You can easily track the progression of a particular page with the history tab, and Special:Contributions lets you see what each user has written.

This is an age where low-income students frequently have access to the internet but lack the funds to buy textbooks. The aim of Wikibooks is to supply textbooks to the world free of charge so that anyone, from the Congo to Detroit, can have open access to knowledge. Your gift of knowledge in these formative years of Wikibooks may become one of the most valuable things that you do in your life.

Getting started

 * Read Guidelines for class projects.
 * Add your project to List of class projects.
 * Start a new book or edit an old one.
 * Ask for help if you need it.

Вики в образовании


text:
User talk:Shadowtactics44

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 12:21, 9 January 2007 (UTC)

title: User talk:Shadowtactics44


text:
User talk:BeHE

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 12:21, 9 January 2007 (UTC)

title: User talk:BeHE


text:
User talk:Filip Dominec

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * If you're a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

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

Good luck! -- Herby talk thyme 12:21, 9 January 2007 (UTC)

Thank you, Filip Dominec, for helping translate Practical Electronics. --DavidCary 17:38, 25 May 2007 (UTC)

 * Please, if you have time, review my CZ-english and make it correct. Thanks, --Filip Dominec 08:38, 1 June 2007 (UTC)

title: User talk:Filip Dominec