text:
Cryptography/Elliptic curve

Elliptic curve cryptography is a type of cryptography that relies on mathematical structures known as "elliptic curves" and "finite fields". An elliptic curve is a relation of the form $$y^2 = x^3 + ax + b$$, where $$a$$ and $$b$$ are preset parameters of the curve and $$x$$ and $$y$$ are the coordinates. Any $$(x,y)$$ pair that satisfies the relation is said to be a point on the elliptic curve. On elliptic curve points, it is possible to define an operation known as "addition" as follows:

To add two points $$P$$ and $$Q$$, draw a line through them, and locate the third point on the curve that the line passes through; call it $$R$$. If $$P$$ and $$Q$$ have the same x coordinate, the line joining them will be vertical and R will not exist, so in that case we call $$P + Q$$ the "point at infinity". The point at infinity added to any other point is that point itself, so this point at infinity can be thought of as the elliptic curve point analogue of the number zero. Otherwise, trace a vertical line from $$R$$ to the point at the same x coordinate on the opposite side of the curve. This point is defined as $$P+Q$$. To calculate $$P+P$$, instead take the tangent line to the curve at $$P$$, extend it to $$R$$ and take the vertically opposite point as the answer just like in the $$P+Q$$ case.

Because elliptic curves are mathematical functions, we can use the tools of high-school algebra and elementary calculus to derive formulas for $$P+Q$$ and $$P+P$$. For $$P+Q$$, for formula is: $$m = \frac{P_y-Q_y}{P_x-Q_x}$$ $$(P+Q)_x = m^2 - P_x - Q_x$$ $$(P+Q)_y = P_y + m(R_x - P_x)$$ For P+P: $$m = \frac{3P_x^2 + a}{2P_y}$$ $$(P+P)_x = m^2 - 2*P_x$$ $$(P+P)_y = P_y + m(R_x - P_x)$$ Notice that the algorithm in both cases is the same: first we find the slope at $$P$$, then we get the x-coordinate of the answer, and then we use the slope-point formula to get the y-coordinate. From these formulas, however, we get a very surprising result: $$(A+B)+C = A+(B+C)$$, regardless of whether $$A$$, $$B$$ and $$C$$ are different or the same. Additionally, from the visual definition it is obvious that $$A+B = B+A$$. These facts together mean that elliptic curve points form what is known as an _abelian group_ - a structure which supports addition, and therefore by extension multiplication by integers. For example, $$4A = (A+A) + (A+A) = (A+(A+A))+A = (A+(A+(A+A)))$$.

It's also quite easy to multiply an elliptic curve point by very large numbers. You might think multiplying a point by a billion requires you to add it to itself a billion times, but in reality there is a much simpler algorithm:

Basically, instead of repeatedly adding on the original point to zero many times, the algorithm repeatedly uses doubling, cutting the size of the problem in half at every step. For $$k=83$$, for example, the algorithm expands to:

83p add(p,double(41p)) add(p,double(add(p,double(20p)))) add(p,double(add(p,double(double(10p))))) add(p,double(add(p,double(double(double(5p)))))) add(p,double(add(p,double(double(double(add(p,double(2p)))))))) add(p,double(add(p,double(double(double(add(p,double(double(p)))))))))

For $$k = 1000000000$$, the algorithm takes a mere thirty steps. This makes it possible to multiply elliptic curve numbers by extremely large numbers - numbers so large, in fact, that there are not enough atoms in the universe to actually count to them.

Finite Fields
Now, we get into the more interesting part of elliptic curve mathematics. A while ago, mathematicians discovered that the forms of addition, subtraction, multiplication and division that we use today are not the only forms that are mathematically consistent. There are in fact many other structures, some using numbers and others using more complex forms like polynomials, over which we can define the basic operations in special ways and still have a working system of algebra. The most common is "modular arithmetic". Modular addition and multiplication are just like normal addition and multiplication, except after the calculation is done you divide the result by a preset value, called the "modulus", and take only the remainder. For example, in modulo 7: $$3 + 6 = 9 \equiv 2 \pmod{7}$$ and $$5 * 4 = 20 \equiv 6 \pmod{7}$$ Subtraction is similar, except if the result turns out to be negative you add the modulus to force it to be positive again. Thus: $$ 1 - 2 = -1 \equiv 6 \pmod{7}$$ Division is more complicated to implement, but is defined through multiplication - that is, $$a/b \pmod{7}$$ is defined to be a number $$c$$ such that $$bc \equiv a \pmod{7}$$. It can be proven that all modular divisions have an answer and no modular divisions have multiple possible answers if and only if the modulus is prime. Thus, we generally only care about "prime fields".

So what's the point of this spooky kind of arithmetic? Basically, it's a great kind of arithmetic to do elliptic curves over. No matter how much you add or multiply points together, the coordinates of the result will always be integers in the range $$[0...p-1]$$, where $$p$$ is the modulus. The "wrap around" property also makes the structure cryptographically secure; given a normal elliptic curve, given two points $$G$$ and $$Q = k*G$$, you can figure out the value of $$k$$ by looking at the size of the output and using that information to zero in on a small range of possibilities. With an elliptic curve over a prime field, all points look essentially the same; they're all numbers roughly evenly distributed within the range $$[0...p-1]$$. The hardness of this problem, figuring out $$k$$ given $$G$$ and $$k*G$$, is in fact the basis of elliptic curve cryptography's security.

The two most well-known algorithms over elliptic curves are the elliptic curve Diffie–Hellman protocol and the Elliptic Curve Digital Signature Algorithm, used for encrypting and signing messages, respectively.

title: Cryptography/Elliptic curve


text:
Radiation Oncology/Breast/LCIS

Risk of invasive cancer

 * SEER data, 2005 (1973-98) - PMID 16110014 — "Bilateral risk for subsequent breast cancer after lobular carcinoma-in-situ: analysis of surveillance, epidemiology, and end results data." Chuba PJ et al. J Clin Oncol. 2005 Aug 20;23(24):5534-41.
 * Incidence of invasive carcinoma 7.1% at 10 yrs, 18% at 25 yrs.
 * 46% ipsilateral / 54% contralateral. Higher proportion of cancers with ILC than in the general population (23.1% vs 6.5%).
 * Conclusion: LCIS is associated with increased risk of subsequent invasive breast cancer, which can occur with roughly equal probability in either breast.

Prevention of invasive cancer

 * P-1 prevention trial
 * See page at Prevention for detail.
 * 43% risk reduction with tamoxifen overall (46% for those with LCIS).

Surgery alone

 * NSABP - PMID 14716756 — "Pathologic findings from the National Surgical Adjuvant Breast and Bowel Project: twelve-year observations concerning lobular carcinoma in situ." Fisher ER et al. Cancer. 2004 Jan 15;100(2):238-44.
 * Analysis of previous NSABP trial. 12-year results of 180 pts treated with surgical excision only.
 * IBTR in 14.4% and CBTR in 7.8%. 9 of 26 IBTR and 10 of 14 CBTR were invasive, mostly invasive lobular carcinoma.
 * Conclusion: LCIS is an indolent disease and can be managed with conservative surgery

LCIS concurrent with breast carcinoma

 * U. Michigan; 2006 (1989-2003) PMID 16329136 -- "Is lobular carcinoma in situ as a component of breast carcinoma a risk factor for local failure after breast-conserving therapy? Results of a matched pair analysis." (Ben-David MA, Cancer. 2006 Jan 1;106(1):28-34.)
 * Retrospective. 64 pts with Stage 0-II (DCIS or invasive ca.) breast carcinoma with LCIS as a component of the primary tumor. Compared with matched controls (LCIS-).
 * Conclusion: The extent of LCIS and its presence at the margins did not reduce the excellent rates of local control after BCS+RT. The data suggest that LCIS in the tumor specimen, even when multifocal, should not affect selection of patients for BCS and whole-breast RT.

Pleomorphic LCIS
Uncommon (12% of LCIS cases). May be associated with invasive carcinoma (usually invasive lobular) 25% of the time. Biologically can behave similar to high grade DCIS.

Treatment is controversial. Some recommend complete excision with negative margins (see NCCN Guidelines 2011-1).

 * 2013: Review PMID 23357705 Full text -- "Challenges in the management of pleomorphic lobular carcinoma in situ of the breast." (Masannat YA, Breast. 2013 Apr;22(2):194-6.)

 * 2012: Case report - PMID 22037287 Full text -- "Pleomorphic lobular carcinoma in situ: treatment options for a new pathologic entity." (Murray L, Clin Breast Cancer. 2012 Feb;12(1):76-9.)

 * 2011: MDACC - PMID 21631266 -- "Clinical implications of margin involvement by pleomorphic lobular carcinoma in situ." (Downs-Kelly E, Arch Pathol Lab Med. 2011 Jun;135(6):737-43.)
 * Conclusion: "This is the first series, to our knowledge, that evaluates margin status in patients with PLCIS and documents recurrence. Recurrent PLCIS was identified at a rate similar to low- or intermediate-grade ductal carcinoma in situ. Therefore, known methods of local control, including surgical excision with negative margins (2 mm), may be the appropriate treatment in these patients."

Reviews

 * 2011 (MSKCC) No PMID yet Full text -- "Recommendations for Women With Lobular Carcinoma In Situ (LCIS)" (Oppong BA, Oncology. 2011 Oct 12;25(11)

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

title: Radiation Oncology/Breast/LCIS


text:
Cookbook talk:Shepherd's Pie I

Discussion outside shepherd's pie
I am thinking of taking Shepherd's Pie and  Pate Chinois and mucking with them as I have the  Brownies and  Candied Sweet Potatoes. And, since I have my own shepherd's pie recipe, I may just add a third while I am going through the trouble - as I did with the sweet potatoes. I would be turning the name pate chinois into the secondary name for it's entry, since it is a misnomer like french fries or indian corn. Nmontague 20:48, 28 August 2005 (UTC)

 * At least 2 of the 3 recipes on the Candied Sweet Potatoes page simply don't qualify because they involve mashing the sweet potatoes. The other recipe is mostly apples and raisins, so it really isn't standard, but it might just barely kind of squeak by as a Candied Sweet Potatoes recipe. Probably the disambigation page should just be deleted. The recipes came about because somebody put a link on the Cookbook:Requested_Recipes page. Somebody else then supplied the wrong thing. I tried to help the original requester (and myself, as I need the recipe too) by adding a Glazed Sweet Potatoes link, which is really the same thing under a different name. (it's still not there) Proper glazed/candied sweet potatoes are chunks about 1 inch in diameter, baked (while covered?) in a sugary sauce until soft. The sauce probably involves brown sugar, butter, cinnamon, nutmeg, etc. AlbertCahalan 07:05, 29 August 2005 (UTC)

 * Well, since I'd never eaten them myself and only had a recipe for it in the ol' family cookbook I split what to me was two good enough recipes and added one that I thought fit better. Since they were  submitted as Candied Sweet Potatoes, I figured the submitter would know better than I.  If you'd like, I could change Diana's to simply being the Candied Sweet Potatoes recipe, since I only added the name because she was the one who wrote in the recipe.  Nmontague 15:54, 29 August 2005 (UTC)

 * I'd prefer to reserve "Candied Sweet Potatoes" and "Glazed Sweet Potatoes" for the standard recipe. I guess that means deleting the disambiguation page until a proper recipe shows up. If we someday are lucky enough to have two normal recipes, then a disambiguation page would make sense. AlbertCahalan 01:38, 30 August 2005 (UTC)

 * "Diana's Candied Sweet Potatoes" could become "Candied Sweet Potatoes with Apples and Raisins", but the current name is fine. Aside from the extra fruit, the recipe doesn't seem to be all that abnormal. I'm not totally sure about the honey; I suspect molasses or brown sugar would be more typical. AlbertCahalan 01:38, 30 August 2005 (UTC)

 * Well, I'll ask some of the family for their cookbooks and see if they have a more plain jane version. Hell, considering I have like 8 I can probably find one myself.  Nmontague 01:51, 30 August 2005 (UTC)

Cottage pie or shepherd's pie
I can find no prime reference to support the use of cottage pie for beef and shepherd's pie for lamb/mutton - except to say that Merriam-Webster on-line implies that cottage pie especially is made with beef. However, Merriam-Webster is a USA source and this is a traditional British dish. Researching prime British reference sources, I find that the two terms are entirely synonymous.

Sources I have personally referred to are:

 * Mrs Beeton's Book of Household Management by Isabella Beeton, 1861.
 * Cassell's New Universal Cookery Book by Lizzie Heritage published by Cassell and Company, 1894
 * The Oxford English Dictionary, Second Edition, published by Oxford University Press, 1933
 * The Constance Spry Cookery Book by Constance Spry and Rosemary Hume, published by J M Dent & Sons, 1956
 * Webster's Ninth New Collegiate Dictionary, published by Merriam-Webster, 1983
 * The Glutton's Glossary: A Dictionary of Food and Drink Terms by John Ayto, published by Routledge, 1990
 * The Chambers Dictionary, Ninth Edition, published by Chambers Harrap Publishing Ltd, 2003
 * Concise Oxford English Dictionary, Eleventh Edition (Revised), published Oxford University Press, 2006

Of shepherd's pie, the 1983 Webster's does not specify the meat, and makes no mention of cottage pie. From this, it seems that the term "shepherd's pie" was the one favoured in the USA, and that the use of two terms for the same dish has very recently been rationalised by attributing "shepherd's pie" to mutton or lamb, for no reason other than shepherds being obviously concerned with sheep more than cattle.

Often Stranger Than Fiction (talk) 07:08, 20 January 2009 (UTC)

 * Aren't shepherds only concerned with sheep? Anyway regardless, the lamb/beef distinction certainly seems to be a modern consensus, and when this topic comes up in forums there are frequently people saying that they were taught this by a parent or grandparent. The cited recipe books are old, as are most of the dictionaries, and the distinction can also be found in more modern recipes. It may be a case that dictionaries are now in need of updating to reflect more popular usage. I must admit that I used not to draw a distinction myself, but with dishes nowadays typically made with the fresh meat of choice rather than one being confined to using whatever scraps could be salvaged from previous meals, it is definitely useful to have distinct terms.
 * Moggie2002 (talk) 14:40, 11 February 2009 (UTC)

Shepherd's pie or shepherds' pie?
This is what confuses me at the moment. If the wording is used in a context relating to the class of people known as shepherds as a whole rather than being attributed to a specific shepherd, shouldn't the correct usage be shepherds'? For example, "On our farm, the shepherd's pie of choice is shepherds' pie". Without a distinction, another example might be an unsolvable riddle: "The carpenter made a shepherd's pie and the shepherd made a leek pie. The best pie was the shepherd's pie. Did the best pie contain meat?".

Moggie2002 (talk) 15:18, 11 February 2009 (UTC)

Please change that picture, people
The current one is frightening.

Comments on the article
This article is confusing and incomplete. Peas, corn and carrots seem to be part of the recipe but it's not clear when they come into play and how they should be cooked. The temperature for the oven is not given so a wild guess would probably spoil the taste of the final product. At the bottom of the article, there is a link that points to "sheperds pie" which to me seems just a redundant copy of this article. Besides, the two versions vary in terms of spelling, quantity of meat and potatoes and use of oil. The two articles should definitely be merged. The article also lists "Pate Chinois" and "Pâté chinois". They both point to the same article so the first link is absolutely unnecessary, even more because the spelling is improper. The photograph that presents the shepherd's pie is truly frightening. It should really be changed. I do agree on the fact the shepherd's pie is made with lamb and the cottage pie is made with beef. Dictionaries don't have the last word. Cooking books are preferred when it comes to these things. Moreover, shepherds taking care of cattle don't make much sense.

ICE77 -- 67.164.28.103 (talk) 06:27, 2 March 2009 (UTC)

title: Cookbook talk:Shepherd's Pie I


text:
User talk:Spastic ducky

Theresa knott 22:15, 28 August 2005 (UTC)

title: User talk:Spastic ducky


text:
Talk:Blender 3D: Noob to Pro/Blender Interface

Time To Start Thinking About Blender 2.5x
I have put in a screenshot of the default workspace for Blender 2.54 as a taster. How should we go about reworking the following pages for the new Blender? Perhaps create a separate, parallel set of pages for the new version? Or have parallel info side by side on the existing pages? — Ldo (talk) 09:49, 23 October 2010 (UTC)
 * Maintaining two copies of everything strikes me a maintenance nightmare. Lets target the latest stable release (2.49b).  In the mean time, there's still plenty of work to be done adapting old tutorials to work with 2.49b. I feel you must add 2.5x tips to a module, please use  to avoid breaking the flow.--Stepheng3 (talk) 00:09, 24 October 2010 (UTC)

Yadda, Yadda...
I think the joke about the simplicity about the user interface is overdone here. Actually the page could be removed completely in my opinion.

 * Honestly, if all my programs looked and worked like Blender, I'd probably stop using computers. Unless you use it every day, you have to reread tutorials every time you want to use it, because it's so completely backwards and thoroughly unintuitive, and requires so much excessive memorization (because the devs insist on doing everything completely different from other apps, just to be different), that you retain almost no memory of what you learned the last time you tried to use it. On top of that, by the time you get through even just the basics of the interface that are covered in every tutorial, you've wasted so much time already that you're ready to give up and try a 2D solution instead.

 * It took me less than an hour to figure out how to get around in the GIMP when I first started using it. I've spent about fifty hours, spread out over the past two years, trying to figure out Blender, and I still haven't moved past having to relearn the interface basics every time I start it up. I can go months without using other programs, and never have this kind of trouble remembering the most basic elements of the interface, because their devs have the sense not to ignore every bit of research ever done on computer interface usability. The fact that every tutorial has to start with a long and involved introduction to the Blender interface is a clear indication that there's something seriously wrong with it. -- Rich333 23:40, 18 February 2007 (UTC)

I love the Blender user interface with all my heart, I really do. Blender has really spoiled me with such friendly and extensive interface, that it's really true when I use any other program like Word or Excel or play games I wish the controls were as fluid and extensive as Blender's. Once you learn it and use it for a while you will really appreciate it. Trust me.--Bullercruz1 (talk) 13:11, 4 March 2009 (UTC)

Delete this page
I think this page is unnecessary and serves no purpose, especially as there are screenshots of it on the very next page! I move we delete it. --JamesNZ (discuss • contribs) 05:41, 12 August 2011 (UTC)


text:
C++ Programming/STL

Standard Template Library (STL)
The Standard Template Library (STL), part of the C++ Standard Library, offers collections of algorithms, containers, iterators, and other fundamental components, implemented as templates, classes, and functions essential to extend functionality and standardization to C++. STL main focus is to provide improvements implementation standardization with  emphasis in performance and correctness.

Instead of wondering if your array would ever need to hold 257 records or having nightmares of string buffer overflows, you can enjoy vector and string that automatically extend to contain more records or characters. For example, vector is just like an array, except that vector's size can expand to hold more cells or shrink when fewer will suffice. One must keep in mind that the STL does not conflict with OOP but in itself is not object oriented; In particular it makes no use of runtime polymorphism (i.e., has no virtual functions).

The true power of the STL lies not in its container classes, but in the fact that it is a framework, combining algorithms with data structures using indirection through iterators to allow generic implementations of higher order algorithms to work efficiently on varied forms of data. To give a simple example, the same std::copy function can be used to copy elements from one array to another, or to copy the bytes of a file, or to copy the whitespace-separated words in "text like this" into a container such as std::vector.

History
The C++ Standard Library incorporated part of the STL (published as a software library by SGI/Hewlett-Packard Company). The primary implementer of the C++ Standard Template Library was Alexander Stepanov.

Today we call STL to what was adopted into the C++ Standard. The ISO C++ does not specify header content, and allows implementation of the STL either in the headers, or in a true library.

Compilers will already have one implementation included as part of the C++ Standard (i.e., MS Visual Studio uses the Dinkum STL). All implementations will have to comply to the standard's requirements regarding functionality and behavior, but consistency of programs across all major hardware implementations, operating systems, and compilers will also depends on the portability of the STL implementation. They may also offer extended features or be optimized to distinct setups.

There are many different implementations of the STL, all based on the language standard but nevertheless differing from each other, making it transparent for the programmer, enabling specialization and rapid evolution of the code base. Several open source implementations are available, which can be useful to consult.

 * List of STL implementations.
 * libstdc++ from gnu (was part of libg++)
 * SGI STL library (http://www.sgi.com/tech/stl/) free STL implementation.
 * Rogue Wave standard library (HP, SGI, SunSoft, Siemens-Nixdorf) / Apache C++ Standard Library (STDCXX)
 * Dinkum STL library by P.J. Plauger (http://www.dinkumware.com/) commercial STL implementation widely used, since it was licensed in is co-maintained by Microsoft and it is the STL implementation that ships with Visual Studio.
 * Apache C++ Standard Library ( http://stdcxx.apache.org/ ) (open source)
 * STLport STL library (http://www.stlport.com/) open source and highly cross-platform implementation based on the SGI implementation.

Containers
The containers we will discuss in this section of the book are part of the standard namespace (std::). They all originated in the original SGI implementation of the STL.

Sequence Containers
Sequences are similar to C arrays, but they are easier to use. Vector is usually the first sequence to be learned. Other sequences, list and double-ended queues, are similar to vector but more efficient in some special cases. (Their behavior is also different in important ways concerning validity of iterators when the container is changed; iterator validity is an important, though somewhat advanced, concept when using containers in C++.)
 * Sequences - easier than arrays :

 * vector - "an easy-to-use array"
 * list - in effect, a doubly-linked list
 * deque - double-ended queue (properly pronounced "deck", often mispronounced as "dee-queue")

vector
The vector is a template class in itself, it is a Sequence Container and allows you to easily create a dynamic array of elements (one type per instance) of almost any data-type or object within a programs when using it. The vector class handles most of the memory management for you.

Since a vector contain contiguous elements it is an ideal choice to replace the old C style array, in a situation where you need to store data, and ideal in a situation where you need to store dynamic data as an array that changes in size during the program's execution (old C style arrays can't do it). However, vectors do incur a very small overhead compared to static arrays (depending on the quality of your compiler), and cannot be initialized through an initialization list.

Accessing members of a vector or appending elements takes a fixed amount of time, no matter how large the vector is, whereas locating a specific value in a vector element or inserting elements into the vector takes an amount of time directly proportional to its location in it (size dependent).

 * Example

The  class models the Container concept, which means it has ,  ,  ,  ,  , and   methods.
 * Member Functions

 * informative
 * - Returns reference to first element of vector.
 * - Returns reference to last element of vector.
 * - Returns number of elements in the vector.
 * - Returns true if vector has no elements.
 * standard operations
 * - Inserts elements into a vector (single & range), shifts later elements up. Inefficient.
 * - Appends (inserts) an element to the end of a vector, allocating memory for it if necessary. Amortized O(1) time.
 * - Deletes elements from a vector (single & range), shifts later elements down. Inefficient.
 * - Erases the last element of the vector, (possibly reducing capacity - usually it isn't reduced, but this depends on particular STL implementation). Amortized O(1) time.
 * - Erases all of the elements. Note however that if the data elements are pointers to memory that was created dynamically (e.g., the new operator was used), the memory will not be freed.
 * allocation/size modification
 * - Used to delete a origin vector and copies the specified elements to an empty target vector.
 * - Changes capacity (allocates more memory) of vector, if needed. In many STL implementations capacity can only grow, and is never reduced.
 * - Returns current capacity (allocated memory) of vector.
 * - Changes the vector size.
 * iteration
 * - Returns an iterator to start traversal of the vector.
 * - Returns an iterator that points just beyond the end of the vector.
 * - Returns a reference to the data element at the specified location in the vector, with bounds checking.

vector::Iterators
std::vector provides Random Access Iterators; as with all containers, the primary access to iterators is via begin and end member functions. These are overloaded for const- and non-const containers, returning iterators of types std::vector::const_iterator and std::vector::iterator respectively.

vector examples
The call to sort above actually calls an instantiation of the function template std::sort, which will work on any half-open range specified by two random access iterators.

If you like to make the code above more "STLish" you can write this program in the following way:

Linked lists
The STL provides a class template called list (part of the standard namespace (std::)) which implements a non-intrusive doubly-linked list. Linked lists can insert or remove elements in the middle in constant time, but do not have random access. One useful feature of std::list is that references, pointers and iterators to items inserted into a list remain valid so long as that item remains in the list.

Associative Containers (key and value)
This type of container point to each element in the container with a key value, thus simplifying searching containers for the programmer. Instead of iterating through an array or vector element by element to find a specific one, you can simply ask for people["tero"]. Just like vectors and other containers, associative containers can expand to hold any number of elements.

Maps and Multimaps
map and multimap are associative containers that manage key/value pairs as elements as seen above. The elements of each container will sort automatically using the actual key for sorting criterion. The difference between the two is that maps do not allow duplicates, whereas, multimaps does.

 * map - unique keys
 * multimap - same key can be used many times
 * set - unique key is the value
 * multiset - key is the value, same key can be used many times

Container Adapters

 * stack - last in, first out (LIFO)
 * queue - first in, first out (FIFO)
 * priority queue

Iterators
C++'s iterators are one of the foundation of the STL. Iterators exist in languages other than C++, but C++ uses an unusual form of iterators, with pros and cons.

In C++, an iterator is a concept rather than a specific type, they are a generalization of the pointers as an abstraction for the use of containers. Iterators are further divided based on properties such as traversal properties.

The basic idea of an iterator is to provide a way to navigate over some collection of objects concept.

Some (overlapping) categories of iterators are:
 * Singular iterators
 * Invalid iterators
 * Random access iterators
 * Bidirectional iterators
 * Forward iterators
 * Input iterators
 * Output iterators
 * Mutable iterators

A pair of iterators [begin, end) is used to define a half open range, which includes the element identified from begin to end, except for the element identified by end. As a special case, the half open range [x, x) is empty, for any valid iterator x.

The most primitive examples of iterators in C++ (and likely the inspiration for their syntax) are the built-in pointers, which are commonly used to iterate over elements within arrays.

Iteration over a Container
Accessing (but not modifying) each element of a container group of type C using an iterator.

Note the usage of typename. It informs the compiler that 'const_iterator' is a type as opposed to a static member variable. (It is only necessary inside templated code, and indeed in C++98 is invalid in regular, non-template, code. This may change in the next revision of the C++ standard so that the typename above is always permitted.)

Modifying each element of a container group of type C<T></tt> using an iterator.

When modifying the container itself while iterating over it, some containers (such as vector) require care that the iterator doesn't become invalidated, and end up pointing to an invalid element. For example, instead of:

Do:

The <tt>erase</tt> member function returns the next valid iterator, or <tt>end</tt>, thus ending the loop. Note that <tt>++i</tt> is not executed when <tt>erase</tt> has been called on an element.

Functors
A functor or function object, is an object that has an. The importance of functors is that they can be used in many contexts in which C++ functions can be used, whilst also having the ability to maintain state information. Next to iterators, functors are one of the most fundamental ideas exploited by the STL.

The STL provides a number of pre-built functor classes; std::less, for example, is often used to specify a default comparison function for algorithms that need to determine which of two objects comes "before" the other.

Allocators
Allocators are used by the Standard C++ Library (and particularly by the STL) to allow parameterization of memory allocation strategies.

The subject of allocators is somewhat obscure, and can safely be ignored by most application software developers. All standard library constructs that allow for specification of an allocator have a default allocator which is used if none is given by the user.

Custom allocators can be useful if the memory use of a piece of code is unusual in a way that leads to performance problems if used with the general-purpose default allocator. There are also other cases in which the default allocator is inappropriate, such as when using standard containers within an implementation of replacements for global operators new and delete.

title: C++ Programming/STL


text:
General Securities Representative Exam/Options

An option is a contract between two parties which gives a right to the buyer and an obligation to the seller. For example, a call option gives the buyer the right to buy a security at a certain price if he chooses and the seller the obligation to sell it at that price if the buyer chooses. The terms of all option contracts are standardized by the Options Clearing Corporation (OCC) to allow them to be traded on an exchange. Options may be based on stock, indexes, foreign currencies, interest rates, or bonds.

The two type of option contracts are calls and puts. A buyer of a call has the right to buy a security at a certain price while the seller has an obligation to sell if the buyer chooses. A buyer of a put has a right to sell a security at a certain price to the seller of the put, who has an obligation to buy it if the buyer wants them to. A buyer of an option pays a premium to the seller in exchange for the sellers obligation. The seller of an option wants the contract to expire without the buyer exercising his rights. If this happens the seller gets to keep his premium without performing any obligation. The price where the buyer has the ability to exercise his rights to buy or sell is called the "strike price"

For example, John owns 100 shares of XYZ which is currently at 60 dollars a share. He sells a call to Lucy which says he will agree to sell the stock to Lucy if the price is above 70 dollars a share. Almost all options have 9 months before they expire. Lucy pays for example 3 dollars a share to John for the right to buy XYZ at 70 dollars a share. If the stock price of XYZ moves above 70 dollars a share, Lucy can force John to sell the stock to her at 70 dollars a share even if the current price is 80 dollars a share. John wants the price to never go above 70 so he won't lose money from the sale and will now have a profit due to the premium he charged, while Lucy wants the price to go up above that amount so she can buy the stock at a discount below the current market value.

A buyer of a call is called a "long call" while the seller is called a "short call". The same applies to puts. This terminology is not related to being "long or short" a stock, and should simply be memorized as long being option buyer and short being option seller.

Standard features of almost all options:
 * Options last 9 months, and expire on the Saturday following the third Friday of the last month at 11:59 PM Eastern time.
 * Options based on stock are based on 100 shares of a particular stock.

The standard format for describing an option contract is as follows:

Long XYZ Feb 50 call at 2

The word "long" refers to the fact that this is the buyer of an option contract. XYZ is the stock symbol for the shares the option is based on. Feb refers to the expiration month of the contract. 50 refers to the strike price of the contraact. Call specifies that it is a call, "at 2" shows the premium paid for the contract.

Option terminologies

In the money, an option is in the money if the market price of the security exceeds (in the case of calls), or is below (in the case of puts) the strike price. A buyer is able to exercise his rights when an option is in the money. Buyers want options to be in the money, sellers do not want this.

At the money, an option is at the money where the market price equals the strike price.

Finally, Out of the money is when the price of an optioned security is below (in the case of calls) or above (in the case of puts) the strike price.

Intrinsic Value is a somewhat confusing term. The intrinsic value is calculated based on the premium and takes into consideration the time value and/or volatility of the underlying security. It is calculated by examining the premium paid and subtracting the difference of the security in the money less the strike price less the option price, hence, if there is a value left over, this is considered the intrinsic value. It does not take into consideration the premium paid.

Option strategies

Straddle - Is when the investor is long a call and long a put or short a call and short a put in the same underlying security. The perceived thinking in entering into a straddle is based on volatility.

The buyer of the straddle is betting that the underlying security will move in large percentages within the expiration date of the options. The seller is betting that the security will not be volatile and aims to make a profit off of the premiums received from selling(shorting,writng) the option contracts.


text:
User talk:Nyarlathotep~enwikibooks

Welcome to wikiversity. --JWSurf 01:14, 29 August 2005 (UTC)

Manual of crime
If you change the heading of your comment to undelete it can be counted as a vote to undelete. As it is then it will probaly not be counted.

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 Nyarlathotep. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Nyarlathotep~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:34, 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:19, 19 April 2015 (UTC)

title: User talk:Nyarlathotep~enwikibooks


text:
C++ Programming/Code/API/Win32

The Windows 32 API
Win32 API is a set of functions defined in the Windows OS, in other words it is the Windows API, this is the name given by Microsoft to the core set of application programming interfaces available in the Microsoft Windows operating systems. It is designed for usage by C/C++ programs and is the most direct way to interact with a Windows system for software applications. Lower level access to a Windows system, mostly required for device drivers, is provided by the Windows Driver Model in current versions of Windows.

One can get more information about the API and support from Microsoft itself, using the MSDN Library ( http://msdn.microsoft.com/ ) essentially a resource for developers using Microsoft tools, products, and technologies. It contains a bounty of technical programming information, including sample code, documentation, technical articles, and reference guides. You can also check out Wikibooks Windows Programming book for some more detailed information that goes beyond the scope of this book.

A software development kit (SDK) is available for Windows, which provides documentation and tools to enable developers to create software using the Windows API and associated Windows technologies. ( http://www.microsoft.com/downloads/ )

The Windows API has always exposed a large part of the underlying structure of the various Windows systems for which it has been built to the programmer. This has had the advantage of giving Windows programmers a great deal of flexibility and power over their applications. However, it also has given Windows applications a great deal of responsibility in handling various low-level, sometimes tedious, operations that are associated with a Graphical user interface.
 * History

Charles Petzold, writer of various well read Windows API books, has said: "The original hello-world program in the Windows 1.0 SDK was a bit of a scandal. HELLO.C was about 150 lines long, and the HELLO.RC resource script had another 20 or so more lines. (...) Veteran C programmers often curled up in horror or laughter when encountering the Windows hello-world program.". A hello world program is a often used programming example, usually designed to show the easiest possible application on a system that can actually do something (i.e. print a line that says "Hello World").

Over the years, various changes and additions were made to the Windows Operating System, and the Windows API changed and grew to reflect this. The windows API for Windows 1.0 supported less than 450 function calls, where in modern versions of the Windows API there are thousands. In general, the interface has remained fairly consistent however, and a old Windows 1.0 application will still look familiar to a programmer who is used to the modern Windows API.

A large emphasis has been put by Microsoft on maintaining software backwards compatibility. To achieve this, Microsoft sometimes went as far as supporting software that was using the API in a undocumented or even (programmatically) illegal way. Raymond Chen, a Microsoft developer who works on the Windows API, has said that he "could probably write for months solely about bad things apps do and what we had to do to get them to work again (often in spite of themselves). Which is why I get particularly furious when people accuse Microsoft of maliciously breaking applications during OS upgrades. If any application failed to run on Windows 95, I took it as a personal failure."

Variables and Win32
Win32 uses an extended set of data types, using C's typedef mechanism These include:
 * BYTE - 8 bit integer.
 * DWORD -	32 bit integer.
 * LONG - 32 bit signed integer.
 * LPDWORD - 32 bit pointer to DWORD.
 * LPCSTR - 32 bit pointer to constant character string.
 * LPSTR -	32 bit pointer to character string.
 * UINT - 32 bit int.
 * WORD - 16 bit int.
 * HANDLE - opaque pointer to system data.

Of course standard data types are also available when programming with Win32 API.

Windows Libraries (DLLs)
In Windows, library code exists in a number of forms, and can be accessed in various ways.

Normally, the only thing that is needed is to include in the appropriate header file on the source code the information to the compiler, and linking to the .lib file will occur during the linking phase.

This .lib file either contains code which is to be statically linked into compiled object code or contains code to allow access to a dynamically link to a binary library(.DLL) on the system.

It is also possible to generate a binary library .DLL within C++ by including appropriate information such as an import/export table when compiling and linking.

DLLs stand for Dynamic Link Libraries, the basic file of functions that are used in some programs. Many newer C++ IDEs such as Dev-CPP support such libraries.

Common libraries on Windows include those provided by the Platform Software Development Kit, Microsoft Foundation Class and a C++ interface to .Net Framework assemblies.

Although not strictly use as library code, the Platform SDK and other libraries provide a set of standardized interfaces to objects accessible via the Component Object Model implemented as part of Windows.

Time
Time measurement has to come from the OS in relation to the hardware it is run, unfortunately most computers don't have a standard high-accuracy, high-precision time clock that is also quick to access.

MSDN Time Functions ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/time_functions.asp )

Timer Function Performance ( http://developer.nvidia.com/object/timer_function_performance.html )

GetTickCount has a precision (dependent on your timer tick rate) of one millisecond, its accuracy typically within a 10-55ms expected error, the best thing is that it increments at a constant rate. (WaitForSingleObject uses the same timer).

GetSystemTimeAsFileTime has a precision of 100-nanoseconds, its accuracy is similar to GetTickCount.

QueryPerformanceCounter can be slower to obtain but has higher accuracy, uses the HAL (with some help from ACPI) a problem with it is that it can travel back in time on over-clocked PCs due to garbage on the LSBs, note that the functions fail unless the supplied LARGE_INTEGER is DWORD aligned.

Performance counter value may unexpectedly leap forward ( http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q274323& )

timeGetTime (via winmm.dll) has a precision of ~5ms.

File System
MakeSureDirectoryPathExists (via Image Help Library - IMAGHLP.DLL, #pragma comment( lib, "imagehlp.lib" ), #include  ) creates directories, only useful to create/force the existence of a given dir tree or multiple directories, or if the linking is already present, note that it is single threaded.

Network
Network applications are often built in C++ on windows utilizing the WinSock API functions.

Resources
Resources files are perhaps one of the most useful elements included on the WIN32 API, they are how we program menu's, add icons, backgrounds, music and many more aesthetically pleasing elements to our programs. Sadly the use in compilation use of resource files is today to those using the MS Visual Studio IDE (resource editor, resource structure understanding).

The resources are defined in a .rc file (resource c) and are included at the linking phase of compile. Resource files work hand in hand with a header file (usually called resource.h) which carries the definitions of each ID.

For example a simple RC file might contain a menu:

////////////// IDR_MYMENU MENU BEGIN POPUP "&File" BEGIN MENUITEM "&About", ID_FILE_ABOUT MENUITEM "E&xit", ID_FILE_EXIT END

POPUP "&Edit" BEGIN // Insert menu here :p END POPUP "&Links" BEGIN MENUITEM "&Visit Lukem_95's Website", ID_LINK_WEBSITE MENUITEM "G&oogle.com", ID_LINK_GOOGLE END END //////////////

And the corresponding H file:
 * 1) define IDR_MYMENU 9000
 * 2) define ID_FILE_EXIT 9001
 * 3) define ID_LINK_WEBSITE 9002
 * 4) define ID_LINK_GOOGLE 9003 #define ID_FILE_ABOUT 9004

title: C++ Programming/Code/API/Win32


text:
Windows Programming/Classes Hierarchy

CObject
The root/base class for most of the MFC library. Some of the features it makes available to the programmer are serialization support, run-time class information, and object diagnostic output. Any derived class from CObject, can exploit these features.

Class CObject in AFX.H

Field Summary static const AFX_CORE_DATA CRuntimeClass classCObject Constructor Summary protected CObject private CObject( const CObject& objectSrc ) virtual ~CObject

Method Summary void PASCAL operator delete( void* p ) virtual CRuntimeClass* GetRuntimeClass const BOOL IsKindOf( const CRuntimeClass* pClass ) const BOOL IsSerializable const void* PASCAL operator new( size_t, void* p ) void* PASCAL operator new( size_t nSize ) virtual void Serialize( CArchive& ar )

CListCtrl
This class encapsulates the functionality of a list view control, which is a control that displays a collection of items, each consisting of an icon and a label.

Class CListCtrl in AFXCMN.H

CObject |  +--CCmdTarget |        +--CWnd |              +--CListCtrl

class CListCtrl extends CWnd

Fields inherited from class CWnd m_hWnd, wndTop, wndBottom, wndTopMost, wndNoTopMost, m_hWndOwner, m_nFlags, m_pfnSuper, m_nMsgDragList, m_nModalResult, m_pDropTarget, m_pCtrlCont, m_pCtrlSite, messageMap

Fields inherited from class CCmdTarget messageMap, commandMap, dispatchMap, connectionMap, interfaceMap, eventsinkMap, m_dwRef, m_pOuterUnknown, m_xInnerUnknown, m_xDispatch, m_bResultExpected, m_xConnPtContainer

Fields inherited from class CObject classCObject

CToolBar
This class encapsulates the functionality of a control bars that have a row of bitmapped buttons and/or separators. CToolBar objects are usually embedded members of frame-window objects derived from the class CFrameWnd or MDIFrameWnd.

Subclassing
standard technique for customizing the behavior of a class

Window message route
The mechanism by which MFC routes messages is also called the Message Map system that was created to wrap the old C API and reduce the level of complexity for programmers.

Message map
The message map macros:

 * ON_COMMAND and ON_BN_CLICKED : the ON_COMMAND and ON_BN_CLICKED are the same, MFC command and control macro is preset to handle the Windows message WM_COMMAND and the notification routing mechanism uses the command ID to decide where to route to. Notifications with control notification code of zero (BN_CLICKED) are interpreted as commands.

 * ON_UPDATE_COMMAND_UI : the ON_UPDATE_COMMAND_UI macro.

title: Windows Programming/Classes Hierarchy


text:
Cookbook:Kidney

| Basic foodstuffs | Meat and poultry | Organ Meat

Kidneys are organs that extract waste from blood to create urine. They are most commonly used in British pie recipes.

title: Cookbook:Kidney


text:
User:Gonzalsm

If anyone reads this before I get a chance to really fill it in I'll be surprised...

title: User:Gonzalsm


text:
Cookbook:Frog

| Basic foodstuffs | Meat and poultry

Frog legs taste like a cross between chicken wings and shark. They would go well baked with teriyaki sauce. They can be deep-fat fried like fish.

Frog Recipes

 * Frog's Legs à la Parisienne

title: Cookbook:Frog


text:
User:Gonzosm

Hello,

My name is Sean Moore Gonzalez and I am currently experimenting with Wikiversity. Currently I am attempting a startup project with my friend Jhouse on a study group course on relativity.

Any feedback would be greatly apprecieated.

Sincerely, Gonzo

title: User:Gonzosm


text:
Blender 3D: Noob to Pro/Advanced Tutorials/Python Scripting/Procedural object creation

Text Blocks
A Blender document can contain text blocks, which are not the same as text objects in a 3D scene (though the former can be converted to the latter). Besides generating text objects, a text block can serve any purpose you like; for example, use it to pass workflow instructions to a colleague along with the document; display a copyright or help message in the initial layout that a user sees on opening the document; or hold a Python script that can be run by the user to perform some useful action related to the document.

Text blocks are edited in the Text Editor window. The Text Editor also provides commands to load the contents of a text block from an external file, or save it to an external file. And also execute the text as a Python script.

Your First Script
Open a new, default Blender document. Split the 3D View in two vertically. Change the type of one side to a Text Editor window. In the header, you will see a small popup menu showing just a double-headed arrow; click on this, and it should show three items: “Text”, “ADD NEW” and “OPEN NEW”. “ADD NEW” creates a new, empty text block, while “OPEN NEW” creates a new text block by reading its contents from an external file. But “Text” is already the name of a default empty text block, so just use that; as soon as you select it, you should see a red insertion cursor appear at the top left, indicating that you can start typing.

Unlike the Interactive Python Console, nothing is automatically imported for you. So as in any other Python script, you need to mention every module you want to access.

Let us write a script that inserts a new mesh primitive into a Blender document, namely a tetrahedron. First we need to create a new mesh datablock, which we will name “Tetrahedron”:

Then we need to define the coordinates of the vertices; for a tetrahedron with edges of length 1 Blender unit, suitable values are $$(0, - \frac{1}{\sqrt{3}}, 0)$$, $$(\frac{1}{2}, \frac{1}{2\sqrt{3}}, 0)$$, $$(- \frac{1}{2}, \frac{1}{2\sqrt{3}}, 0)$$ and $$(0, 0, \sqrt{\frac{2}{3}})$$. Or in Python:

We also need to define the faces of the object; each face is defined by listing a sequence of indexes into the above array of vertices (you don’t need to bother about defining the edges; Blender will deduce them from the faces): That suffices for the mesh, now we create an actual object datablock that will appear in the scene (which we also name “Tetrahedron”): Link it to the mesh we just made: And to make the object appear in the scene, it has to be linked to it: And finally, tell Blender that the scene has changed: and to redraw the 3D view to show the updated scene:

Put It All Together
Your complete script should look like this, including the imports of the referenced math and Blender modules; note also the use of the directive to ensure that the “/” operator always returns a real, not an integer, result; this is good practice with Python 2.x, since it becomes mandatory behaviour beginning with Python 3.0. In your 3D View, get rid of any default cube to avoid it obscuring things. Now come back to the Text Editor window showing the above script, and press to execute it; you should see your new tetrahedron appear in the 3D view!

If You Hit An Error
If there is any error running the script, Blender will display a cryptic message to let you know. For example, the following simple one-line script displays this message: To get more details you will have to look in Standard Error; on Linux/Unix systems, the message will appear in the terminal session if you invoked Blender from the command line; otherwise it will be appended to your ~/.xsessionerrors file if you launched Blender from a GUI. On Windows the message appears in the console window. By hunting around in the appropriate place, you should be able to find the full Python traceback:


text:
Cookbook:Almond Fudge Brownies

| Dessert

Almond fudge brownies are any almond lover's prime recipe for fudge brownies.

Ingredients

 * ¾ cup (1.2 dl) butter or margarine
 * 1 cup (240 ml) white granulated sugar
 * 1 ½ tbsp oil
 * ⅓ cup (80 ml) milk
 * 2 eggs
 * 6 tbsp cocoa powder
 * ¾ cup (180 ml) flour, sifted
 * ½ tsp almond extract or ½ cup (120 ml) chopped almonds
 * 1 tsp vanilla extract

Procedure

 * 1) Preheat oven to 350°F (175°C).
 * 2) Cream butter and sugar.
 * 3) Beat in oil and milk.
 * 4) Blend in eggs, one at a time.
 * 5) Mix in vanilla and almond extract (or almonds).
 * 6) Mix in cocoa and flour.
 * 7) Spread into greased 10.5 x 7-inch cake pan.
 * 8) Bake for 28–30 minutes. A toothpick inserted into the center should come out with no more than moist crumbs.
 * 9) Allow to cool completely.

Notes, tips, and variations

 * Be cautious of overcooking; brownies may be dry if overcooked.
 * Use a toothpick to check the brownies after 28 minutes

title: Cookbook:Almond Fudge Brownies


text:
User:Antont~enwikibooks

added info about procedural modelling

title: User:Antont~enwikibooks


text:
Cookbook:Chinese Chews (Nut and Date Bars)

| Cuisine | Caribbean cuisines | Cuisine of Trinidad and Tobago

Chinese chews are a bar cookie containing nuts and dried fruit. They have a chewy consistency.

Ingredients

 * 2 eggs
 * ⅔ cup sugar
 * ⅔ cup self-raising flour
 * ⅓ tsp salt
 * 1 tsp vanilla
 * ½ cup chopped dates
 * ½ cup seedless raisins
 * ¾ cup chopped walnuts
 * Icing sugar to taste

Procedure

 * 1) Beat eggs until foamy. Add sugar and mix.
 * 2) Add flour and salt.
 * 3) Add vanilla, then the fruit and nuts. Mix well.
 * 4) Spread in greased 8-inch cake pan.
 * 5) Bake for about 30–35 minutes at 350°F (175°C) until golden brown.
 * 6) Cut into squares while still warm. Roll in icing sugar.

Notes, tips, and variations

 * Can be enjoyed on its own or with ice cream.
 * Cools to a firm consistency.


text:
Cookbook:Mg

The milligram, abbreviated mg, is a unit of weight. It is equal to one thousandth (0.001) of a g.

title: Cookbook:Mg


text:
Cookbook:Microgram

The microgram is a unit of weight. It is abbreviated µg, (or sometimes mcg but this is not approved by the Société Internationale (SI)). It is equal to one thousandth (0.001) of a milligram, and one millionth (0.000001) of a gram. It is included here for information purposes only as it has no use in cooking outside of scientific analysis of micronutrients in foodstuffs.

Note

 * mg is the symbol for milligram. It may NEVER be used as an abbreviation for microgram. If misused in this manner in a pharmaceutical or medical setting, it could cause serious injury or death.

title: Cookbook:Microgram


text:
Cookbook:Duck Confit

 * Duck

Ingredients

 * 4 ea. (about 2 pounds) duck leg portions with thighs attached, excess fat trimmed and reserved
 * 1 tablespoon plus ⅛ teaspoon salt
 * ½ teaspoon freshly-ground black pepper
 * 10 garlic cloves
 * 4 bay leaves
 * 4 sprigs fresh thyme
 * 1½ teaspoon black peppercorns
 * ½ teaspoon table salt
 * 4 cups olive oil

Procedure

 * 1) Lay the duck leg portions on a platter, skin side down. Sprinkle with 1 tablespoon of the salt and the black pepper.
 * 2) Place the garlic cloves, bay leaves, and sprigs of thyme on each of 2 leg portions. Lay the remaining 2 leg portions, flesh to flesh, on top.
 * 3) Put the fat from the ducks in the bottom of a glass or plastic container. Top with the sandwiched leg portions, and sprinkle with the remaining ⅛ teaspoon salt.
 * 4) Cover and refrigerate for 12 hours.
 * 5) Preheat the oven to 200°F (95°C).
 * 6) Remove the duck from the refrigerator. Remove the garlic, bay leaves, thyme, and duck fat and set aside.
 * 7) Rinse the duck with cool water, rubbing off some of the salt and pepper. Pat dry with paper towels.
 * 8) Put the garlic, bay leaves, thyme, and duck fat in the bottom of an enameled cast-iron pot. Sprinkle evenly with the peppercorns and table salt.
 * 9) Lay the duck on top, skin side down. Add the olive oil.
 * 10) Cover and bake for 12 to 14 hours, or until the meat pulls away from the bone.
 * 11) Remove the duck from the fat. Strain the fat and set aside.
 * 12) To store the duck confit, place the duck leg portions in a container, cover with the cooking fat, and store in the refrigerator. Alternately, pick the meat from the bones and place it in a stoneware container. Cover the meat with a thin layer of some of the strained fat.
 * 13) Store in the refrigerator for up to 1 month. The excess oil can be stored in an airtight container in the refrigerator and used like butter for cooking. The tinge of duck taste in the oil is wonderful.

title: Cookbook:Duck Confit


text:
Cookbook:Pork Aachi

| Cuisine of India

A pork recipe loosely based on kerala cooking.

Ingredients

 * 4 tablespoons coconut oil
 * 500 grams pork, diced
 * 4 teaspoons meat masala powder
 * ½ of a medium sized onion, finely sliced
 * 3 green chile peppers
 * 1 tablespoon vinegar
 * 1 teaspoon minced ginger (or ginger paste)
 * 1 teaspoon minced garlic (or garlic paste)
 * 1 pork stock cube
 * 3 tablespoons ready-to-mix potato mash

Procedure

 * 1) Brown the meat in half the coconut oil. Add half the meat masala powder and fry for a minute.
 * 2) Add the vinegar and fry for a minute more. Add 1 cup water and cook till the meat is about half done.
 * 3) Sauté the sliced onions and chopped chillies with the remaining coconut oil in a wok or a suitable vessel over medium heat.
 * 4) Add the ginger and garlic after about 4 minutes. Keep stir frying for about 3 more minutes.
 * 5) Mix in the remaining meat masala powder, and cook until the onions are translucent.
 * 6) Add the beef stock cube and ¼ glass of water, keeping on low heat for around 4 minutes. Keep adding a bit of water as necessary to make sure that the paste mix does not stick to the bottom of the vessel/wok.
 * 7) Add the half-cooked meat and mix well. Keep on medium heat until the meat is cooked thoroughly.
 * 8) Add ¼ cup of water and the potato flakes/powder and mixture. You can vary the amount of the water/potato mix to desired thickness of the dish.
 * 9) Remove from fire and hold for 3–5 minutes before serving.

Notes, tips, and variations

 * Keep adding water as necessary to prevent the mix from sticking to the bottom of the pan. The longer the onions are sautéed in oil in medium flame, the softer they become and the tastier they will be.
 * If you can not get the mashed potato mix, thoroughly boil potatoes in water and use a spoon or a ladle to mash them.
 * If you are using beef stock, there is no need to add more salt. Otherwise add salt to your taste.
 * The chillies used in the above preparation are mild green chillies around 5 inches long.
 * The onions used should be the size of a tennis ball.
 * You can also microwave the pork on full power (850W) for about 15 minutes, stirring at regular intervals of 5 minutes instead of cooking it.

title: Cookbook:Pork Aachi


text: Japanese/Vocabulary/Aviation

title: Japanese/Vocabulary/Aviation


text:
Cookbook:Callaloo (Caribbean Stewed Greens)

| Cuisine | Caribbean cuisines | Cuisine of Trinidad and Tobago

Serve as a soup or accompanied with rice and boiled ground provisions.

Ingredients

 * 12 taro (dasheen or callaloo) leaves
 * ¼ pound salted beef or salted pork (optional)
 * 8 okra (ochroe)
 * 4 stalks chives
 * 2 sprigs thyme
 * ½ cup chopped onion
 * 1 tsp minced garlic
 * 2 crabs, cleaned and broken in pieces
 * 2 cups coconut milk
 * 2 cups hot water
 * 1 tsp butter

Procedure

 * 1) Strip the stalks and midribs from the taro leaves.
 * 2) Wash and cut leaves and soft stalks, discarding remainder.
 * 3) Soak salted beef or salted pork, and cut into bite-sized pieces.
 * 4) Cut okra, chives and thyme into small pieces.
 * 5) In a large pot combine callaloo leaves, salted meat, okra, chive, thyme, onion, garlic, crab, coconut milk, and water.
 * 6) Bring to the boil; reduce heat, cover and simmer for 30 minutes or more until everything is soft and cooked.
 * 7) Swizzle or beat with a hand beater.
 * 8) Add butter and stir well.
 * 9) Add salt and pepper to taste.

Notes, tips, and variations

 * Use ½ pound seasoned chicken feet in lieu of salted beef or pork.
 * 1 whole hot pepper can be added before boiling; remember to remove it when done boiling. Do not burst the pepper.


text:
User talk:216.99.122.194

Laura Scudder | Talk 16:13, 29 August 2005 (UTC)

title: User talk:216.99.122.194


text:
User talk:69.42.4.139

Laura Scudder | Talk 16:18, 29 August 2005 (UTC)

title: User talk:69.42.4.139


text:
User talk:Josephsukhbir

Kellen T 16:33, 29 August 2005 (UTC)
 * Please also check out the Cookbook policy page and the Cookbook talk pages.

Josephsukhbir 17:12, 29 August 2005 (UTC) I have been reading the templates and using them.
 * I saw, thanks. Kellen T 17:17, 29 August 2005 (UTC)

Josephsukhbir 18:53, 29 August 2005 (UTC) Can you point me to a good template for the main page of the cookbook?
 * I'm not sure what you're asking for here.
 * If you're asking about recipes, there's the Cookbook:Policy/Recipe template for recipe formatting.
 * If you're asking about what to do to modify they front page; it's pretty open, just follow the normal conventions there. I'm not sure what you might add to it though, as the "National and Ethnic Cuisines" section is pretty high-level.
 * If you're asking about the featured recipe and ingredient, see the note at Talk:Cookbook, but these were changed not more than a day or two ago, so at least wait a while (the general rule is not more than once per week). Kellen T 20:07, 29 August 2005 (UTC)

Josephsukhbir 19:05, 29 August 2005 (UTC)Should I create two pages? One about the cuisine and the other with just the recipes? Or leave it as is?
 * If you're going to have a user-maintained list, then the preferred method is to have them on the same page. Category listings are better, so if you wanted to create Category:Trinidadian and Tobagonian recipes and categorize it under Category:Caribbean recipes, this would be better. There is also some discussion on Talk:Cookbook about doing away with the "normal" pages like this and making everything category-based. Kellen T 20:07, 29 August 2005 (UTC)

title: User talk:Josephsukhbir


text:
Category:Walnut recipes

Recipes involving walnuts.

title: Category:Walnut recipes


text:
Cookbook talk:Almond Fudge Brownies

Added by Lunar shadows 05:58, 29 August 2005 (UTC)

How about the flour, and how many eggs?

title: Cookbook talk:Almond Fudge Brownies


text:
User:Kompik

I hope new things will appear here later (if I have enogh time). So far I've created only my sandbox.

title: User:Kompik


text:
User:Kompik/sandbox

Orderings
Sometimes we will write, for a relation $$R$$, $$xRy$$ instead of $$(x,y)\in R$$. In this chapter we will deal with ordering -- relations with special properties and we will denote these relations usally $$\leq$$. In fact, the definition of ordering reminds properties of the usual relation $$\leq$$ on numbers.

A relation R on set A is called
 * reflexive iff aRa for any $$a\in A$$;
 * antisymmetric iff if aRb and bRa implies a = b for any $$a,b\in A$$;
 * transitive iff aRb and bRc implies aRc for any $$a,b\in A$$.

partial order

Note about weak < and strict partial order.

totally ordered set linearly ordered set (total order, linear order), chain

antichain

Examples: $$\subseteq$$, |

minimal element

smallest element

well-ordering

Previous topic:Introduction|Contents:Discrete mathematics|Next topic:Functions and relations

title: User:Kompik/sandbox


text:
User:SV Resolution/otherwatch

Here are some other places I like to check periodically:
 * http://en.wikipedia.org/wiki/Special:Watchlist
 * http://meta.wikimedia.org/wiki/Special:Watchlist
 * http://commons.wikimedia.org/wiki/Special:Watchlist
 * http://wikimediafoundation.org/wiki/Benefactors#October_2004

title: User:SV Resolution/otherwatch


text:
File:Zahlen 1 bis 12.ogg

Cardinal and ordinal numbers 1 to 12 in German.

/Audio

title: File:Zahlen 1 bis 12.ogg


text:
Blender 3D: Noob to Pro/Making Fire

We're going to create a camp fire with a simple particle system. This tutorial is based on the method described in the Blender Manual. The result of this tutorial is shown in Fig. 1, the Blend-File is included at the bottom of this page.

If you need more realistic looking fire, you should use the method described in BlenderArt Magazine No. 16, though that method is more advanced and uses Compositing Nodes heavily.

The starting point of the tutorial is how fire behaves physically. The flames are made of hot gases. These accelerate upwards due to their lower density in contrast to the cooler air in the environment. Flames are in the middle hot and bright, to the outside they are darker.

The particle system
I've created the usual scene with some stones and a few pieces of wood (the wood is by courtesy of Teeth). (Fig. 2a). This will become the particle emitter. If you use good names you will find it much easier to orientate yourself in your scene later. Having 100 objects named "Cube.something" will make it very difficult to quickly select a desired object.
 * Add a Plane in the middle of the stones.
 * Rename the Plane object to "Emitter".
 * Subdivide the plane once in Edit mode.
 * Change the shape of the plane, so that it's shape equals the base of the fire.
 * Change to object mode.

This creates particles with a random distribution on the faces of the emitter object.
 * Change to the Particle buttons of the Object buttons.
 * Create a particle systems (Add New in the Particle System panel - and make sure the plane is selected!).
 * Type: Emitter The plane emits the particles.
 * Amount: 9000 The total amount of particles.
 * Sta: -45 The simulation shall start before the rendering, to have a fully developed flame in the first frame.
 * End: 200 The simulation shall last 200 frames - here: the particles are emitted till frame 200.
 * Life: 16.6 I've adjusted the lifetime of the particles to their speed. Both parameters together regulate the height of the flame.
 * Rand: 0.5 The lifetime is changed randomly.
 * Emit from:
 * Random
 * Faces
 * Even
 * Random

The movement of the particles is controlled with particle physics. You set the Initial Velocity and let the physics do the rest. After you have given the particles an initial velocity they are moved by forces.
 * Normal: -0.099 The particles are emitted slightly against the direction of the face normal. This leads to a bit wider fire at the base.
 * Random: 0.014 This creates a random start velocity as well in speed as in direction (you could use a texture to randomize only the speed, see the discussion page for that).
 * AccZ: 2.57 A force in positive Z direction (upwards).

 * Drag: 0.1 Air drag decelerates the particles.
 * Brown: 1.99 Random movement simulates agitated air movement.

The particle system is finished. Until now is doesn't look like much (see the white Blob in Fig. 2c). Therefore the emitter will get a material, this material will be animated.

Material
To give the Halo a bit more structure, give it a texture:
 * Create a new material for the emitter, call the material Flames.
 * Activate the Halo button in the Links and Pipeline panel. Else we couldn't set the particle parameters. The particles would be rendered with the default Halo values.
 * Halo color: 1/0/0 (red)
 * Alpha: 0.8 The particles shall always be a bit transparent.
 * HaloSize: 0.132 I wanted many, but fairly small particles.
 * Hard: 45 The transition from fully transparent to fully opaque.
 * Add: 0.875 Several Halos over each other combine their power. This makes the fire in the center really bright.
 * HaloTex: A Halo can bear an individual texture, but only the texture in the first texture slot is evaluated.
 * Add a new texture in the first texture slot.
 * Map To:
 * Col
 * Color: Bright yellow (1/1/0.664)

 * Use an adjusted Clouds texture with a NoiseSize of 0.6.

Animation of the particle material
The particles "pop" into life and vanish suddenly. We should change that. Therefore we're going to animate the Alpha value of the particles.

 * Make sure the material buttons are visible in the buttons window.
 * Change to frame 21, move the mouse cursor over the button window and press I->Alpha. This is going to be the maximum visibility of the particles.
 * Change to frame 1. Change the Alpha value to 0 and insert the next key.
 * Change to frame 100. Change the Alpha value to 0 again and insert the third key.

If you want to see the IPO curve in the IPO Editor window you must change the IPO Type selector in the window header from Object to Material.

The Alpha value therefore changes during the individual lifetime of each particle from 0 to 0.8 and back to 0 (Fig. 3c).

Rendering
Our particle animation is finished. 'Note: If after rendering your particles are too small, such that the fire doesn't look realistic, try increasing the Halo size'' slightly. I used 0.300 instead of 0.132'''
 * Change the end frame in the Anim panel of the rendering Buttons to 200 and click on Anim.

To actually let the fire glow you have to use one or more lamps and animate them as well. But that would be part of another tutorial ...

title: Blender 3D: Noob to Pro/Making Fire


text:
User talk:64.53.19.241

Hi, please do your tests in the sandbox. Kellen T 22:49, 29 August 2005 (UTC)

title: User talk:64.53.19.241


text:
User talk:Ђорђе Д. Божовић~enwikibooks

images
Commons is in fact very convenient - you don't need to upload anything! Just search Commons - most of graphics from Wikipedias are there. I suggest you find these flags at Commons (just type "Montenegro" or "Serbia" in search box and you'll get a gallery of graphics connected with these countries, flag would be first of them) and use them instead of these you have uploaded. If you don't use graphics you have uploaded, insert delete or NowCommons to their description page and I will delete them.

Have fun working at Wikibooks! --Derbeth 19:48, 5 October 2005 (UTC)

 * The coolest thing in Commons is that every image there is seen as it was uploaded here. You just type [[Image:xyz.png|150px]] and it works! --Derbeth 19:54, 5 October 2005 (UTC)

 * If you just want to let everybody use the images for any reason, mark it   to put it into the public domain. (or, as near as possible for the laws of your country) This disclaims copyright. It's about the same as sharing copyright with everyone else in the world. AlbertCahalan 00:23, 6 October 2005 (UTC)

 * For future images uploaded to the Commons, you can just select a license or public domain from a list of choices. AlbertCahalan 00:23, 6 October 2005 (UTC)

Image:Magical Creatures.gif
Please remember about image copyrights. --Derbeth talk 21:02, 17 December 2005 (UTC)

 * That's strange. Which one have you selected: GFDL or GFDL-self? --Derbeth talk 19:37, 18 December 2005 (UTC)

 * I have just uploaded a test file, selected GFDL and everything was ok ;-) I think it might be a temporary error. --Derbeth talk 22:51, 18 December 2005 (UTC)

School of Magic
It seems that I have stumbled upon this school during the very inklings of its development. Any estimate on when materials might begin being submitted / when classes might be starting?

Also, if you are looking for help, I can't guarantee I can dedicate a lot of time, but I am a journeyman wizard, so I might be able to assist in some areas that I have found myself to be strong in...

Caspian talk

Classes
I'm interested in taking all the classes, actually. I'm currently working through Oberon Zell-Ravenheart's book "Grimoire for the Apprentice Wizard" which has contributions from other members of the Grey Council of Wizards (including such illustrious names as Ray Buckland, Raven Grimassi, Patricia Telesco, and Donald Michael Kraig among others). Although some of the information is below my level of understanding since I've been a student and practitioner of magic for about 10 years now, it's the first book I've found presented as a logical course-study that has allowed me to actually figure out what areas I'm really lacking in and which ones I've progressed strongly in.

I'm really new to Wiki so it may take me some time to get used to it all, but I would be more than happy to teach some courses in Ritual Magic, as that is one area I am quite knowledgable about.

Caspiantalk

Re: Tests and quizzes
Hi there, I don't know how to enable tests or quizzes - I think you would be better off asking technical people at either the developers' mailing list wikitech-l, or on IRC, channel #mediawiki. I would warn however that developers might not be so keen to help, as the official position on Wikiversity is still to "exclude online courses". Still, this remains in debate, so there's nothing stopping you from trying - good luck! Cormaggio 12:51, 4 January 2006 (UTC)

Cuius regio, eius religio... ;o} --Twinkling Wizard talk 00:05, 5 January 2006 (UTC)

Cuius regio, eius religio... ;o} --Twinkling Wizard talk 00:05, 5 January 2006 (UTC)

Thank you!
Thank you very much. Hodie mihi cras tibi. :) --Twinkling Wizard talk 22:51, 15 January 2006 (UTC)

Fly on Why
I hope I didn't place my name in the wrong area, I merely wish to visit your book from time to time, to read the sections on the magical creatures. I am not interested on taking the courses, I am just interested in the animal lore. If you wish to take me off the list go right ahead. I doubt that I would ever be a contributor or a participant. magicflytalk 15:47, 5 February 2006

proffessor pan?
"Since you're obviously interested in Magick, you are welcome to start it as a new optional subject. Actually, this is an official invitation to you from the Board to become one of the professors. If you are interested, contact me on my talk page and I'll give you some more instructions and help."

okay, well, that works fer me... Although i think i'd do better as a research assistant or a dean, my demeanor is too crusty for public relations...lol.

Prometheuspan 19:08, 6 February 2006 (UTC)

Serbian:Alphabet
I found some apparent vandalism to Serbian:Alphabet. The change is here. The same person also made this change one minute earlier. I have reverted the apparent vanadalism here. However, I know absolutely nothing about the Serbian language. These changes and my reversion need to be checked by someone who knows the lanuage. Could you check them for me? Thank you. --JMRyan T E C 18:51, 18 April 2006 (UTC)

General voting rules/Proposal
I want to call the attention of all wikibookians, especially active admins to the discussion about the new voting policy. Wikibooks currently does not have a concrete voting policy in effect, so the adaptation of this policy will potentially create immediate differences in the way business is conducted here. Due to large amounts of discussion, changes, and dissention, there are several versions of this policy being considered:

 * Version 1 Written by User:Whiteknight
 * Version 2 Written by User:Jguk
 * Version 3 User:RobinH's revision of Jguk's version
 * Version 4 Written by User:Kellen
 * Version 5 Whiteknight's Revision of Kellen's Version.

Also, there are additional issues being discussed, such as the inclusion of a "minimum contributions" clause, that will limit users with less then 20 votes from editing. Also, there is a proposed clause that would allow this 20 vote minimum to be raised in response to abuse.

I am sending this same message to all currently active admins. I hope you are able to come in and give your opinions on this matter. --Whiteknight (talk) (projects) 20:49, 11 August 2006 (UTC)

Serbian language wikibook
Hi,

Is the Serbian language wikibook likely to continue to expand ? It'd be great to have one. It has a solid and really interesting foundation. Please go on writing the wikibook. Kpjas 09:29, 16 May 2007 (UTC)

Lesson Topics
Đorđe, can you please tell me what are each of the lessons of the Serbian language wikibook going to focus on so I can help expand it. --MontenegroXD 20:53, 18 May 2007 (UTC)

 * My problem is that I always create a lessons plan first and then I suddenly stop developing it, but other users can't continue working on the textbook because of the silly plan that others can't follow. :( Please feel free to start the textbook on your own if you wish and don't mind about the lessons plan. --George D. Bozovic talk 19:26, 16 July 2007 (UTC)

Croatian Language wikibook
Please don't stop! It is really helpful!82.46.44.139 15:58, 12 June 2007 (UTC)

Your De-Adminship
Hello. I would like to inform you that you will have your sysop rights removed here on 7 Feb 2008 due to inactivity. If you would like to discuss the matter, please see WB:RFA. You can re-apply for adminship at a later date if you wish. Thanks. -within focus 23:09, 7 January 2008 (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 Ђорђе Д. Божовић. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Ђорђе Д. Божовић~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:55, 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:40, 19 April 2015 (UTC)

title: User talk:Ђорђе Д. Божовић~enwikibooks


text:
Cookbook:Three Ginger Soup

This recipe was found at Restaurant la Cascade in the Languedoc region of France.

Ingredients

 * 1 L fresh, unsweetened orange juice
 * 1 L fresh tomato juice
 * 150 g onions
 * 2 Tbsp olive oil
 * 1 tsp dried ginger powder
 * 3 tsp finely grated fresh ginger root
 * 3 tsp stem ginger in sugar syrup
 * 1 tsp chopped parsley
 * 1 tsp salt
 * 1 sprig thyme
 * 1 bay leaf
 * 1 large carrot

Procedure

 * 1) Peel, chop and fry the onions; do not brown.
 * 2) Peel and chop the carrot.
 * 3) Mix all except stem ginger together and simmer for 40 minutes.
 * 4) Finely chop the stem ginger. Liquidize, add 3 teaspoons of finely chopped stem ginger
 * 5) Reheat, check seasoning, and serve.

title: Cookbook:Three Ginger Soup