text:
Talk:Algorithm Implementation/Sorting/Quicksort

=Transwiki=

Untitled
This article was created from Transwiki:Quicksort implementations. This is the content of the talk page:

Quicksort implementations edit history

 * 05:15, 23 February 2006 Freakofnurture (transwiki-ing)
 * 22:55, 16 February 2006 198.135.203.9
 * 15:59, 16 February 2006 Mike Rosoft (Reverted edits by 216.79.182.236 (talk) to last version by Mike Rosoft)
 * 15:53, 16 February 2006 216.79.182.236
 * 15:47, 16 February 2006 Mike Rosoft (Reverted edits by 216.79.182.236 (talk) to last version by Donhalcon)
 * 15:43, 16 February 2006 216.79.182.236
 * 15:16, 15 February 2006 Donhalcon (Deletion)
 * 15:16, 15 February 2006 Donhalcon (Deletion)
 * 23:37, 12 February 2006 Rebooted ( →Ruby )
 * 23:37, 12 February 2006 Rebooted ( →Ruby )
 * 16:10, 10 February 2006 Allan McInnes (rv vandalism by User:216.79.174.154 to last version by User:61.213.69.15)
 * 15:58, 10 February 2006 216.79.174.154
 * 15:55, 10 February 2006 216.79.174.154
 * 15:49, 10 February 2006 216.79.174.154
 * 14:47, 8 February 2006 61.213.69.15 ( →C++ )
 * 06:22, 3 February 2006 Dcoetzee (Revert my own removal of stuff removed from core impls, vandalism (please contest copyvio on the talk page), and not terribly useful links)
 * 00:36, 3 February 2006 168.209.98.35 ( →C )
 * 00:34, 3 February 2006 168.209.98.35 ( →Zilog z80000 assembly language )
 * 00:33, 3 February 2006 168.209.98.35 ( →Ruby )
 * 00:29, 3 February 2006 168.209.98.35 ( →Ruby )
 * 12:17, 30 January 2006 213.228.191.42 ( →Python )
 * 12:16, 30 January 2006 213.228.191.42 ( →Ruby )
 * 09:09, 28 January 2006 Dcoetzee (Revert due to revert in core implementations; please discuss on Talk:Quicksort first)
 * 23:30, 27 January 2006 R.Koot ( →C++ - from core impementation)
 * 10:26, 26 January 2006 62.3.255.109
 * 06:51, 23 January 2006 Doug Bell (Formatting, wfy)
 * 07:14, 14 January 2006 151.37.145.68 ( →Ruby )
 * 22:16, 12 January 2006 24.7.222.105 ( →OCaml )
 * 23:49, 6 January 2006 196.202.27.161 ( →Ruby )
 * 23:48, 6 January 2006 196.202.27.161 ( →Ruby )
 * 23:46, 6 January 2006 196.202.27.161 ( →Ruby )
 * 23:42, 6 January 2006 196.202.27.161 ( →Ruby - Changed it because it doesn't work on the recent Ruby 1.8.2)
 * 19:26, 25 December 2005 Dcoetzee ( →Haskell - Yes, yes, we have an example using list comprehensions in the core implementations section)
 * 14:25, 25 December 2005 RAFPeterM ( →Haskell )
 * 15:45, 16 December 2005 Ahoerstemeier (Reverted edits by 65.125.82.250 (talk) to last version by 195.228.78.189)
 * 14:36, 16 December 2005 65.125.82.250 ( →Java )
 * 09:29, 14 December 2005 195.228.78.189 (Another Delphi implementation with comments)
 * 02:08, 6 December 2005 67.165.76.139 ( →Additional implementations )
 * 20:49, 30 November 2005 Dcoetzee (Delphi: Conventionally we put implementations in the same language in the same subsection)
 * 20:26, 30 November 2005 205.244.116.139
 * 20:25, 30 November 2005 205.244.116.139 (added another possible delphi quicksort)
 * 05:42, 29 November 2005 Dcoetzee ( →J - space)
 * 05:42, 29 November 2005 Dcoetzee (A less obtuse J example)
 * 03:25, 29 November 2005 Dcoetzee ( →Mathematica - A test driver)
 * 03:12, 29 November 2005 Jdh30 (Mathematica implementation)
 * 00:24, 29 November 2005 Dcoetzee ( →Core implementations - HTML comment on editing this section)
 * 00:23, 29 November 2005 Dcoetzee (Add core implementations (with template), additional implementations section, remove stuff covered in core implementations)
 * 18:27, 28 November 2005 Jdh30 (Tidied up the OCaml implementation.)
 * 23:29, 9 November 2005 Bluebot (Bringing "External links" and "See also" sections in line with the Manual of Style.)
 * 13:01, 25 October 2005 Mga ( →Prolog - _ is not necessary (links))
 * 15:18, 24 October 2005 Roland2 ( →Perl 6 - fixed visualisation of $_)
 * 15:17, 24 October 2005 Roland2 ( →Perl - fixed visualisation of @_)
 * 14:41, 24 October 2005 Jogloran ( →Perl )
 * 21:17, 23 October 2005 82.83.233.107 ( →Perl - fixed missing _)
 * 16:46, 21 October 2005 Roland2 ( →Perl - kuerzer)
 * 01:35, 21 October 2005 24.182.23.95 ( →Haskell - Moved the concise version before the optimized version to avoid confusion.)
 * 01:28, 21 October 2005 24.182.23.95 ( →Haskell - Added a concise version of the Haskell quicksort)
 * 19:38, 20 October 2005 Roland2 ( →Perl - Perl 6)
 * 07:09, 15 October 2005 Roger Hui (word fiddling)
 * 07:08, 15 October 2005 Roger Hui (list no longer sorted by no. of lines)
 * 11:24, 11 October 2005 T4bits (Changed the order of ARM assembly language with AppleScript)
 * 11:19, 11 October 2005 T4bits (Sorted the programming languages alphabetically.)
 * 20:55, 1 October 2005 NevilleDNZ (move to end)
 * 20:54, 1 October 2005 NevilleDNZ ( →Algol 68 )
 * 00:21, 22 September 2005 GarethM ( →Delphi )
 * 00:15, 22 September 2005 GarethM (Fixed bug)
 * 00:05, 22 September 2005 GarethM (Replaced Delphi sort with a more general example)
 * 23:48, 21 September 2005 GarethM
 * 16:31, 21 September 2005 Roger Hui (slightly shorter version)
 * 16:16, 21 September 2005 Roger Hui ( →J )
 * 16:14, 21 September 2005 Roger Hui (added one-line J solution)
 * 07:02, 31 July 2005 141.154.236.32 ( →Scheme )
 * 19:30, 8 July 2005 84.184.217.163
 * 19:06, 6 July 2005 Macrakis (remove NGL (non-notable))
 * 13:13, 19 June 2005 Jenblower (Spelling correction)
 * 15:55, 13 June 2005 66.63.147.21 ( →Matlab )
 * 15:08, 11 June 2005 66.27.115.141 ( →Matlab )
 * 14:54, 11 June 2005 66.27.115.141 ( →Matlab )
 * 14:52, 11 June 2005 66.27.115.141 ( →Matlab )
 * 14:52, 11 June 2005 66.27.115.141 ( →Matlab )
 * 21:14, 3 June 2005 Yfrank (added zilog z80 implementation)
 * 19:59, 24 May 2005 MattWright
 * 15:06, 17 May 2005 208.226.132.3 ( →Nuphanation )
 * 15:03, 17 May 2005 208.226.132.3 ( →J )
 * 05:39, 29 April 2005 69.81.62.118 (Added PHP code from quicksort page)
 * 04:07, 31 March 2005 Dcoetzee ( →C - Add updates from main quicksort article)
 * 07:42, 30 March 2005 ShadowLord ( →C - Fixed calling of sort function by qsort function for datatype implementation (cmp was in wrong place))
 * 09:49, 21 March 2005 Fredrik ( →C )
 * 20:09, 13 March 2005 Dcoetzee ( →C - Merged yet-another-C-quicksort from quicksort)
 * 20:08, 13 March 2005 Dcoetzee ( →C - Merged yet-another-C-quicksort from quicksort)
 * 23:10, 12 March 2005 Dcoetzee (Weaken intro wording a bit)
 * 22:26, 12 March 2005 Dcoetzee ( →Java - Merge Java 5 example from quicksort)
 * 18:30, 6 March 2005 Vexis (Fixed link to SML page.)
 * 23:56, 4 March 2005 4.26.108.34 ( →SML )
 * 23:28, 4 March 2005 4.26.108.34 ( →SML )
 * 23:25, 4 March 2005 4.26.108.34 ( →SML )
 * 23:24, 4 March 2005 4.26.108.34 ( →SML )
 * 23:20, 4 March 2005 4.26.108.34 ( →Prolog )
 * 23:14, 4 March 2005 4.26.108.34 ( →SML )
 * 20:53, 2 March 2005 128.151.142.9 (Add a C implementation that isn't int-specific.)
 * 22:01, 19 February 2005 Panzi (added Visual Basic source)
 * 20:42, 16 February 2005 66.54.249.44
 * 05:17, 4 January 2005 66.92.29.144 (Moved scheme immediately after Lisp, and C++ after C)
 * 14:50, 21 December 2004 213.65.121.68
 * 20:25, 9 December 2004 132.161.33.188 ( →Haskell )
 * 21:12, 27 November 2004 Solipsist ( →ARM assembly language - fixing ARM link after move)
 * 00:43, 21 November 2004 Dcoetzee (Moved all from quicksort, added intro)

Talk:Quicksort implementations edit history

 * 15:13, 15 February 2006 Donhalcon ( →Encyclopedic content? )
 * 06:44, 15 February 2006 Dcoetzee ( →Encyclopedic content? )
 * 05:17, 15 February 2006 Donhalcon (Encyclopedic content?)
 * 10:21, 28 January 2006 Allan McInnes ( →Wikisource - compromises are good)
 * 08:36, 28 January 2006 Dcoetzee ( →Bad History? )
 * 08:33, 28 January 2006 Dcoetzee ( →Wikisource )
 * 08:02, 28 January 2006 Roger Hui
 * 08:01, 28 January 2006 Roger Hui
 * 07:59, 28 January 2006 Roger Hui
 * 06:08, 28 January 2006 Allan McInnes ( →Wikisource - sample implementations)
 * 04:25, 28 January 2006 Dcoetzee ( →Wikisource )
 * 03:16, 28 January 2006 Allan McInnes (Wikisource)
 * 21:23, 9 January 2006 86.145.195.148 ( →I've discovered an optimization )
 * 03:17, 6 December 2005 128.2.164.232
 * 16:12, 29 November 2005 128.2.164.232
 * 15:15, 9 June 2005 CarlosHoyos ( →I've discovered an optimization )
 * 11:02, 9 June 2005 Comocomocomocomo ( →Comprehensible, iterative, stack-safe version (though longish) - O(N) -> O(n))
 * 10:56, 9 June 2005 Comocomocomocomo ( →Comprehensible, iterative, stack-safe version (though longish) )
 * 19:49, 8 June 2005 Dcoetzee ( →Comprehensible, iterative, stack-safe version (though longish) )
 * 16:37, 8 June 2005 Comocomocomocomo (Comprehensible, iterative, stack-safe version (though longish))
 * 16:15, 8 June 2005 Comocomocomocomo ( →I've discovered an optimization )
 * 21:06, 3 June 2005 Dcoetzee ( →I've discovered an optimization )
 * 12:41, 22 May 2005 CarlosHoyos ( →I've discovered an optimization )
 * 09:55, 22 May 2005 CarlosHoyos
 * 23:46, 21 May 2005 Dcoetzee ( →I've discovered an optimization )
 * 21:48, 20 May 2005 CarlosHoyos ( →I've discovered an optimization )
 * 13:10, 20 May 2005 CarlosHoyos ( →I've discovered an optimization )
 * 08:57, 19 May 2005 Dcoetzee ( →I've discovered an optimization )
 * 22:59, 16 May 2005 CarlosHoyos (I've discovered an optimization)
 * 02:39, 7 May 2005 Dcoetzee ( →C: Built-in Quicksort function )
 * 08:07, 4 May 2005 210.6.198.187 (C: Built-in Quicksort function)
 * 01:33, 12 April 2005 129.206.107.43
 * 01:06, 21 February 2005 Dcoetzee ( →Sorted? )
 * 22:04, 19 February 2005 Panzi (is code sorted?)
 * 05:09, 2 February 2005 64.168.148.158 (C example incorrect.)

Talk:Quicksort implementations text

 * The following text is from a Wikipedia talk page. Remember that Wikibooks is not Wikipedia, so the current module at Wikibooks does not necessarily need to be encyclopedia content.

Add? DualPivotQuickSort Sep.2009
Should the DualPivotQuicksort algorithm invented by Vladimir Yaroslavskiy (Jon Bentley, and Joshua Bloch) listed here too? It became part of oracles java SE 7 as the default sort algorithm of arrays

See

Sorted?
"... sorted by number of non-comment lines of code. ..." Is that true? Not for the last two i gues. -- Panzi 22:04, 19 Feb 2005 (UTC)
 * People add things without sorting them, as one might expect. Feel free to either reorder them or remove the statement about how they're sorted. Deco 01:06, 21 Feb 2005 (UTC)

Also, the C++ example won't work. It needs stable_partition or something. See

C: Built-in Quicksort function
In C (and thus also C++) there is a built-in Quicksort implementation called " ", as from. Should this be mentioned? --210.6.198.187 08:07, 4 May 2005 (UTC)
 * I don't think the qsort function is technically required by the standard to use quicksort, despite its name, but sure, maybe. Deco 02:39, 7 May 2005 (UTC)

I've discovered an optimization
I've discovered an optimization for the standard quicksort algorithm that could be useful in many of these implementations. I have tested it to be sure it works (other optimizations I thought about were in fact slower, because they added cache faults). I didn't got the idea from any other site, it's just my personal work, and I would want to release the information as GNU, appearing as a contributor.

It's very late at night, so I can't talk more about it. I'll recheck this page in a few days to see if there's someone interested. It's my first time here, so if someone could help me explaining what steps I should take, it would be great. I don't know HTML (yet), if that's important. If there's something I should learn first, please tell me so.

Thank you!
 * Well, this page is for discussing this article, but if you have a good idea that's great. I would be advised though that a lot of really smart people have put time into engineering fast quicksort implementations and you're quite possibly rediscovering something or missing something. You're also a little confused about software licenses. The GNU software license is called the GPL, and you can only release documents such as source code under it, not algorithms or ideas (these can be patented, but this isn't usually worthwhile). If you want to tell everybody about it, though, you could try a newsgroup like comp.programming. Deco 08:57, 19 May 2005 (UTC)

 * Maybe someone else discovered it before me, but the optimization doesn't appear on this article, so I'm free to post it as mine, and allow anyone to modify it. I'm aware of the GPL, and I was referring to the source code, and the text I posted on the other article explaining how it worked.

Here you have a simple C source code, which only sorts arrays of integers with the 'less than' comparison:

//Quicksort Implementation without swap by DrJones void quicksort(int *start, int *end) { if (start<end) { MEDIAN(*start, start[1], *end); register int pivot=start[1]; register int *i=start+1; register int *j=end; for { while (pivot<*--j) ; if (j<=i) break; //j may be lower than i                *i=*j; while (*++i<pivot) ; if (j<=i) { i=j; break; //i may be lower than j, as the test comparison comes after the 'while' }                *j=*i; }           *i=pivote; quicksort(start, i-1); quicksort(i+1, end); } //end of 'if(start<end)' } //end of method

Some points:

 * MEDIAN(a,b,c) is not described here, it's a function that put on position 'a' the lowest of the three elements, then put on position 'c' the highest of the elements, and the remaining element on position b.
 * This code can be improved, but I chose not to do it, so I could focus on the replacement for the swap method. Feel free to post a code which uses all optimizations available.
 * The code with the swap method could be as follows:

//Quicksort Implementation with swap by DrJones void quicksort(int *start, int *end) { if (start<end) { register int pivot=start[1]; //though it could be any, I suggest (start+end)/2 register int *i=start; register int *j=end; while (i<j) { while (pivot<*j) --j; while (*i<pivot) ++i; swap(i, j); i++; j--; }           quicksort(start, i-1); quicksort(i+1, end); } //end of if } //end of method

 * I'd say you have an infinite loop there. It will happen when the pivot value appears more than once. When i and j reach those elements, the conditions of the inner loops won't be met any more; i and j will not change, and the two pivots will be swapped once and again... forever --Comocomocomocomo 16:15, 8 Jun 2005 (UTC)

 * Yes, you are right. I made a quick fix, but I haven't tried if it works yet. DrJones 15:15, 9 Jun 2005 (UTC)

I wrote back the code. I hope you can understand it, I'm not used to write these things. DrJones 09:55, 22 May 2005 (UTC)

 * You don't have to remove anything from here if you don't want to. Most of our policies don't apply to talk pages. Deco 23:46, 21 May 2005 (UTC)

I finally found a webpage that could be interesting: http://linux.wku.edu/~lamonml/algor/sort/quick.html

At this time, it's down, so I had to read the page on Google's Cache. It uses the method I found instead of swapping, but it has to do a lot more comparisons in its inner loop than mine, to prevent one index surpassing the other.

It seems my code could be included on the main page, afterall.

Here you got a macro function for the MEDIAN function, if you want.

#define SWAP(x,y) register int temp = (x); (x) = (y); (y) = temp #define MEDIAN(a, b, c) \ if (c<b) { SWAP(b, c); } \ if (b<a) { SWAP(a, b); \ if (c<b) { SWAP(c, b); } \ }

This MEDIAN macro works exactly as the insertion algorithm for 3 elements. I wrote it using a SWAP macro for clarity, but I feel it's weird using the SWAP function here, when I'm not using it on the Inner loop. Other thing I don't know if would be an enhacement, is using for instead of while(1). I'm going to write it on the code anyways. DrJones 12:41, 22 May 2005 (UTC)
 * There are very no modern compilers which would compile for differently from while(1). Deco 21:06, 3 Jun 2005 (UTC)

 * That converging pointer method of partitioning was first invented by R Sedgewick, according to "The Art of Computer Programming". -BadJim

Comprehensible, iterative, stack-safe version (though longish)
What do you think about this one?

Most implementations use function recursion. In the worst case (where the chosen pivot value allways happens to be the minimum or the maximun) the maximun recursion level will be O(n). I propose using a stack array in order to apply tail recursion in the critical recursive call. --Comocomocomocomo 16:37, 8 Jun 2005 (UTC)
 * Explicit stacks are not necessary to implement the partially tail recursive variant. It suffices to use a loop and only make a recursive call on the smaller of the two sublists, as the pseudocode here shows. On the other hand, explicit stacks can save a significant amount of time/space overhead because of all the other junk that standard calling conventions tend to throw on the stack; it's a good idea to use one in an efficient implementation, but (no offense) not particularly innovative. Deco 19:49, 8 Jun 2005 (UTC)

 * Don't worry, I'm not trying to invent anything new. I just want to write a fast implementation (pivot taken from the middle or from a pos. at random, minimun number of swap operations...) and make it comprehensible. I intentionally discarded other refinements (general implementation with pointers to functions or C++ templates, saving push/pop operations...). So, my question is: do you find it easy to understand? (Not only for expert programmers, but for beginners too) If not, what would you change? --Como 10:56, 9 Jun 2005 (UTC)

Wikisource
Wouldn't this article be better placed at Wikisource? Wikipedia already has a Quicksort article, and unlike Wikipedia, Wikisource is intended to be a repository of things like sample implementations. They already have a Wikisource:Quicksort page - it could easily be expanded with the content of this article. --Allan McInnes 03:16, 28 January 2006 (UTC)
 * That's a possibility, but it would make it impossible to do the transclusion trick where we include a few of the implementations in both quicksort and this page. I've proposed elsewhere that there should be a project for code with a suitable license, but that got nowhere. Deco 04:25, 28 January 2006 (UTC)

 * Ah. Then maybe the question I should have asked was whether or not Wikipedia should include sample implementations of algorithms at all. IMHO it would be more appropriate to point to external sites that carry sample implementations, instead of having (unverified, potentially buggy) sample implementations of every algorithm, in every language. Unfortunately, I suspect that trying to achieve a consensus answer to the question of sample implementations is likely to lead into the same kind of interminable debate that the Wikipedia:Wikicode proposal provoked... --Allan McInnes 06:08, 28 January 2006 (UTC)

 * I moved these to here to provide a way of removing large amounts of content from the Quicksort article without upsetting the innumerable contributors who inexplicably enjoy adding sample implementations. I think it's alright as long as it's separated from the main content and its purpose is clear. It might be compared to lists of minor characters from a TV series or video game or Notable lines in the Star Wars series. Incidentally, I'm glad you're familiar with my ill-fated proposal. 08:33, 28 January 2006 (UTC)

 * Oh, I agree with your approach. It seems like a reasonable compromise, given the small likelihood that I could ever get consensus for my own personal views on the matter. And I certainly think it's better to have these things on a separate page from the main article. I just wanted to get my opinion "on record" so to speak :-)
 * Going slightly off on a tangent: I thought wikicode seemed like a reasonable proposal, and I may well have supported if I'd been a contributor when the debates were going on. Much like this article, it's not what I would consider ideal (the curly braces bug me a bit for starters), but after reading through some of the debate it seems like the best compromise between the various viewpoints. I applaud your ability to find workable solutions! I'll most likely end up using wikicode or some close derivative of it for any pseudocoding I need to do here. I may even see if I can get Wikipedia:WikiProject Computer science to adopt it as part of some kind of style guideline. --Allan McInnes 10:21, 28 January 2006 (UTC)

Bad History?
I am puzzled that the history of the Quicksort Implementations page seems to be corrupted. For example, compare the following two versions:

 * 2005-11-18 21.42.19 (PST) DCoetzee - A less obtuse J example
 * 2005-11-28 19.25.16 (PST) DCoetzee - Mathematica - a test driver

I am pretty sure that at that time the "Core implementations" contains a "obtuse J example". The comment in the J example (the comment is still there in the current revision) also indicates that at that time, there was a J example in the "Core implementations". Yet I can not find any revision of the page that has the J example in the Core implementations. Roger Hui 08:02, 28 January 2006 (UTC)
 * You're looking at the wrong page. Mere hours ago, editor R. Koot removed swathes of content from the core implementations template. Here's how it looked before. I'm reverting it. Deco 08:36, 28 January 2006 (UTC)

Encyclopedic content?
WP:WWIN#Wikipedia is not a mirror or a repository of links, images, or media files says, explicitly, that wikipedia is not:

 * "Mere collections of public domain or other source material such as entire books or source code..."

This page looks an awful lot like a mere collection of source code; is it really encyclopedic in nature? If so, what is its importance? It seems to me that quicksort implementations belong somewhere else, like the Great Compiler Shootout or Sourceforge. --bmills 05:17, 15 February 2006 (UTC)

 * Or Wikisource. The only problem is that it makes it harder to share the implementations at the top with the quicksort page if they're on another site. I created the article originally to get implementations out of the quicksort article, which people feel compelled to add implementations to. Deco 06:44, 15 February 2006 (UTC)

 * Isn't that the point? An encyclopedia article on Quicksort shouldn't contain any more implementations than required to describe the algorithm.  If people feel compelled to add them, they should add them to a code repository, not Wikipedia.  --bmills 15:13, 15 February 2006 (UTC)

Why is this here?
@The first C implementation above does not sort the list properly if the initial input is a reverse sorted list, or any time in which the pivot turns out be the largest element in the list:

If it's not a proper quicksort, then why is it here? It should be fixed or removed. 82.139.85.118 01:21, 8 May 2006 (UTC)

 * Agreed, if it is failed, why is it here? Rursus (discuss • contribs) 18:54, 3 December 2011 (UTC)

what on earth??
why do you choose really random pivot.. choose the first one.

Python 3K
I'm just wondering if the Python version runs under Py3K. I haven't got Py3K up and running on any boxes yet, and I haven't worked with Python for a while, so I was wondering if anyone knew? Tinned Tuna (talk)

Bug in C implementation
The above code from the first C implementation doesn't work. The rightmost element is (end-size), not end.

A simple fix is to change

sort((char*)array, size, cmp, 0, nitems*size); to sort((char*)array, size, cmp, 0, (nitems-1)*size);

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


text:
Circuit Theory/All Chapters

This wikibook is going to be an introductory text about electric circuits. It will cover some the basics of electric circuit theory, circuit analysis, and will touch on circuit design. This book will serve as a companion reference for a 1st year of an Electrical Engineering undergraduate curriculum. Topics covered include AC and DC circuits, passive circuit components, phasors, and RLC circuits. The focus is on students of an electrical engineering undergraduate program. Hobbyists would benefit more from reading Electronics instead.

''This book is not nearly completed, and could still be improved. People with knowledge of the subject are encouraged to contribute.''

The main editable text of this book is located at http://en.wikibooks.org/wiki/Circuit_Theory. The wikibooks version of this text is considered the most up-to-date version, and is the best place to edit this book and contribute to it.

title: Circuit Theory/All Chapters


text:
Suomen kieli ulkomaalaisille/Sisältö/Elatiivi

In process of translation from Finnish to English

The Elative case is one of the locative cases in Finnish that indicates movement away from an internal situation.

The case ending of the elative is either -sta or -stä according to vowel harmony rules.

For example

kissasta from the cat kissa cat koirasta from the dog koira dog lehmästä  from a cow  lehmä' cow keskuksesta from the centre keskus' centre/town centre''

The plural adds an -i- and the last vowel or consonant in the stem may change or disappear

kiss/o-ista from the cats koir/-ista from the dogs lehm/-istä from the cows keskuksista from the centre

Together with the inessive (or internal locative case) and the illative (or the internally directed locative case), the elative is one of the internal locative cases.

In its basic meaning the elative conveys a meaning which in English is rendered by the word from, or the words out of., meaning coming out of some place which has an internally locative case. So having been kaupassa in a shop one will eventually tule kaupasta' come out of the shop. Similarly we can say

koulusta out of school autosta out of the car sairaalasta 'out of hospital

, meaning in a concrete fashion, an exit from an internal situation. (siitä? from it?) is one abstract step usage

Perusmerkitykseltään elatiivi on erosija, tarkoittaa konkreettisesti poistumista jonkin sisältä: talosta. Siitä on askel abstraktimpaan käyttöön: Havahduin mietteistäni. Suomessa usein jossakin kiinni olemista ilmaistaan sisäpaikallissijalla, joten on loogista, että otamme hatun päästä ja harjaamme pölyt vaatteistamme. Myös ulosmenoaukkoa ilmaistaan elatiivilla: Hyppäsimme ikkunasta. Puhe meni toisesta korvasta sisään, toisesta ulos. Kuten monilla muillakin sijamuodoilla, myös elatiivilla on muitakin merkityksiä kuin perusmerkityksensä. Esimerkkejä:

Alkuperä: Tein takin vanhasta mekostani. Itku pitkästä ilosta. Lehdet alkavat tyvestä. Hänestä tuli opettaja. Puuttuminen: Takista puuttuu nappi. Estäminen tai estyminen (liittyy useimmiten verbin infinitiiviin): Estin häntä lähtemästä. Varoitin häntä putoamasta. Syy, aihe: Miestä epäillään murhasta. Sydämeni pakahtuu surusta. Puhuminen, tietäminen, tunteminen: Hän puhui sinusta. Mistä sen tiedät? Iloitsen menestyksestäsi. Pidätkö vihreästä teestä? Kiinni pitäminen: Pidä minua kädestä. Ota kiinni kaiteesta. Mielipide: Minusta tuo on ruma. Omasta mielestäni onnistuin. Maksaminen: Myin vanhan autoni tuhannesta eurosta. Tässä satanen vaivoistasi. Aika: alkuviikosta, heti aamusta Muita: Hän on sekaisin päästään, tiukka arvostaan. Sovimme asiasta. Sali täyttyi ihmisistä. Housut repesivät takapuolesta.


text:
Van Dwelling/Power Systems

Consult a marine store for advice on power systems. In general many problems applying to van dwelling are equally applicable to boating and vice versa.

Power will probably be hard to come by without some money. That said, you can try going to some place where old batteries are discharged. Supposedly, if a commercial grade computer UPS dies, sometimes it will be only be one of the batteries that have died, and the others are salvageable. Many products support to be able to restore batteries killed through misuse, and not the normal abrupt battery death.

Typical Power Needs
Depending on your needs you may or may not even need power. If you are in survival mode and without cash, you may not even need any power. My goal is to be able to study and learn and contribute back to the internet via programming. For this I need a permanent and cheap way of living. Hence my van is essentially a computing pod and therefore has moderate power needs.

Power Storage

Consult the Deep cycle battery FAQ (External link)

Purchase a deep cycle battery or (untested) dual cycle. A friend recommends purchasing 4 batteries, wiring them in parallel, and then setting up a diode from the alternator or generator to charge them whenever the engine is on.

Power Generation
Misc:  Park at an RV station once a week to recharge.

Generator
Generators are the most practical but they require gas. There are new efficient and quiet models which probably will help with discretion.

Microhydro Power
This is the most constraining in terms of location but can generate lots of sustainable power. Consult the standard references.

Solar Power

Solar power generation is expensive but recalcitrant.

The panels were more fragile then I expected.

Putting solar panels on top of the van blows cover and makes you are target of theft and vandalism. I put them in the passenger compartment right behind the seats, and there is an unquantified charge on the charge controller. The biggest problem is that they are detectable at point blank. If you have a cargo van with racks you can try hiding them in a ladder or something, and/or placing a tarp over them that you can control showing them. Another technique is to blend and mask them on the roof, maybe using wire or something that obscures visibility, to the detriment of efficiency.

If you are out camping then you can simply let them outside provided they don't exceed the scope of your security system.

Human Power
Setting up a magnetic resistance bicycle to generate power could work but would not generate usable amounts of power for larger applications.

title: Van Dwelling/Power Systems


text:
User talk:Witerhawk

Hey
Hey, people what's up?

Welcome to Wikibooks
Welcome to Wikibooks. I hope you enjoy your time here.

I see you have started a new Wikibook, Basketball, and thought it might be useful to set out the scope of Wikibooks so that you can make sure your new book falls within it. Essentially, our scope can be summed up in one word. Wikibooks is for "textbooks". Anything that is a textbook is within our scope, anything that is not a textbook is not. This can make it difficult for sports subjects. A book on coaching basketball, to help people learn how to play the game, including lots of useful coaching tips, for example, would fall within our scope. And such a book will probably include information about what basketball is and what its history, including the names of some great players - but by way of background information rather than as the main thrust of the book. A general book about the sport - saying who won what division when, a Who's Who guide of all current players in the NBA, and containing lots of latest basketball news stories - would not, however, be a textbook and would not fall within our scope. I hope that by outlining this early, you will avoid some of the pitfalls others have fallen into. If you have further queries, don't hesitate to ask. All the best, and happy writing! Jguk 08:08, 29 May 2006 (UTC)

Thanks
Thanks, I know what you mean. I was planning to include history, more rules, strategic tips, and skill tips. I wouldn't want to focus on current NBA players, anyone can look that up. I want to teach the game of basketball.

Life Situations
I just wanted to let you know that the Life Situations book was nominated for deletion at WB:VFD, and that the current concensus (by a vote of 4-0) is to delete that book. Some of the main problems cited are NPOV violations and Original Research material. I would like to give you an opportunity to save a copy of that book if you wish, but whether you keep a copy or not it is likely to be deleted in a week or so. --Whiteknight (talk) (projects) 14:18, 11 October 2006 (UTC)

title: User talk:Witerhawk


text:
User:Witerhawk

About Me:
I'm a writer, athlete, and programmer. I enjoy challenges and puzzles, making games, sports, and writing anything. I like writing fiction, or non-fiction. Since I can't write fiction here I might as well write non-fiction! I hope you enjoy my projects.

Current Projects or Contributions:
Basketball

First Time Forum(Message Board) User

Finding A Gym

School of Mathematics Print Version

title: User:Witerhawk


text:
Van Dwelling/Security

Heuristics for securing a van.

Buy

 * A locking gas cap to prevent contamination.

Have installed

 * Auto security system
 * Tinted windows
 * ?Taped? windows (to make it harder to break glass in)
 * Install a hidden switch between the ignition and fuel pump.

Tips

 * Always park in areas of high traffic and visibility to deter theft.
 * Disguise the van to be an old work van. Leave "evidence" of it being a work van, such as various trade tools in the front.  Keep it dirty.  (Although also keep in mind that if the van appears to be full of expensive tools, it can attract the attention of thieves.)
 * Van should pass point-blank review
 * Dress like a worker particular to that trade.
 * Put a for sale sign in the window to purchase cover (plus if someone is willing to pay 2X retail you are in luck!)
 * Buy an automotive security system. Wire it so that you are able to set it off.  That way, when someone comes near the van, and you assess that they mean it no good, you can set it off.
 * Hide your important items so that a thief that goes through your van without stealing it outright will not find much.

title: Van Dwelling/Security


text:
Van Dwelling/Equipment Checklists

Distilling various sources on the net:
 * swallow your pride and buy cheap
 * go to the salvage yard.
 * go to Goodwill
 * extreme cooler
 * alcohol anti-bacterial gels
 * cargo nets
 * solar water bag (in front)
 * safety pins
 * extra keys
 * camcorder
 * 5 Gallon Bucket
 * handiwipes
 * extra garbage bags
 * rechargeable batteries (Rayovac IC3)
 * Solar cooking/"Volcano Stove"
 * LED based flashlight
 * passport

title: Van Dwelling/Equipment Checklists


text:
User:Nnoakes

I'm Nick Noakes. I'm work in the area of faculty/educational/teacher development in higher education. Besides teacher education, my other areas of expertise are learner development, online facilitation, communities of practices and emerging practices for emerging technologies in education. If you want to find out more, please Google phrase search "Nick Noakes".

title: User:Nnoakes


text:
Wikijunior:Languages/Contributing

Why contribute?
When working on this project, remember that it's aimed at children. It's more important to be understood than to be precisely accurate on every detail. (Still, try not to "dumb down" things to the point that they are unnecessarily in accurate.) Use technical vocabulary when you have to, but don't use big words where simpler ones would work just as well. Whenever you need to use a hard word, list it in the glossary of basic terms, and define it. If you don't think you can give a good definition, note on the glossary page that the term needs to be defined so someone else can try to do that for you. Giving definitions in the article itself when such words are used is generally a good idea as well. You can view the source of the Introduction for the wiki syntax necessary to do this.

This book is intended to be a basic survey of different languages, not an in-depth study worthy of a foreign language course. Still, feel free to expand or even add sections if you feel further detail is needed. Remember, Wikijunior and Wikibooks "are not paper" — we don't have artificial limitations on article size (although keep in mind that the target audience might be turned off by extremely long articles). Unique cultural traits and circumstances of the societies in which these languages are used should be explored beyond just the basic set of questions listed below.

If you can contribute to this book, please do so. Many sections are in need of cleanup and complete rewrites. You can work on almost anything including this page, but if you want to make some significant changes please bring them up on the discussion page. Adding new languages is encouraged, but please try to add some substantial content if you do create a new article (i.e., don't just stop at a single-sentence description).

Beginning your article
The best way to create a new page is to link to the title from an existing page. If you're a registered user, you might want to start your article as a subpage of your user page and copy it into the Wikijunior namespace only when you're ready. If so, edit your user page and add a link like
 *  / New_language

somewhere on the page (you can use the name of the language you want to work on instead of the "dummy title" New_language). Save the page and then follow the link to start editing the article.

If you prefer to start the article in the Wikijunior namespace itself, you can edit any page (for example, this one) and add a link like
 *  Wikijunior:Languages/ New_language

somewhere on the page. Using this procedure, you must substitute the name of the language you want to create an article for in place of the text "New_language". Do not save the page, just "preview" it. This gives you a link you can follow to start editing the article (confirm that you want to navigate away from the page you're editing, if asked).

Once you're editing the article, copy and paste the following text into the editing window.

Major questions
As you can see, the questions (with answers) that must appear in every article are:
 * What writing system(s) does this language use?
 * How many people speak this language?
 * Where is this language spoken?
 * What is the history of this language?
 * Who are some famous authors or poets in this language?
 * What are some basic words in this language that I can learn?
 * What is a simple song/poem/story that I can learn in this language? (include translation if possible)

title: Wikijunior:Languages/Contributing


text:
Cookbook:Hasude (Albanian Cornstarch Pudding)

| Cuisine of Albania

Hasude is an Albanian dessert.

Ingredients

 * 1¼ cup (300 g) cornstarch
 * 6–7 tablespoons butter
 * 1 cup (240 g) white granulated sugar
 * 2 cups (480 ml) water

Procedure

 * 1) Melt butter in pot over medium-high heat. Gradually mix in the cornstarch.
 * 2) Once all the cornstarch is added, cook until the mass becomes yellow. Sweeten with some sugar.
 * 3) Separately prepare a syrup using the remaining sugar and water.
 * 4) After it is done cooking, shape the mass using a spoon or plastic shapes, and pour the syrup on top.


text:
Cookbook talk:Hasude (Albanian Cornstarch Pudding)

* (cur) (last) 14:56, 21 July 2005 Cmdrjameson m (sp) * (cur) (last) 12:09, 5 May 2005 SimonP m (Category:Albanian cuisine) * (cur) (last) 23:19, 11 November 2003 Dori (new, please edit)
 * (cur) (last) 09:12, 12 March 2006 Robchurch (Tag for transwiki to wikibooks' cookbook) [rollback] [proxycheck]


text:
Do-It-Yourself/Homemade hydroponics wick system

Water works/wick hydroponics systems are probably the most basic form of hydroponics kits available. The way they function is fairly simple to understand. The roots of the plants are constantly submerged under water and a pump is used with an airstone to provide aeration.

Water works systems do not provide proper aeration of the roots. To allow roots to breath, a pump must be used, usually an external one connected to an air line running into the reservoir. At the other end of the tube is an airstone that gently diffuses oxygen into the reservoir tank.

Water works usually utilize grow rocks, rockwool or a combination of both mediums to grow plants and keep them up-right and sturdy. Water works can be classified as a wick system because wick strips are generally placed in the planters (net pots) to pull nutrient from the reservoir to feed the upper root system. When you submerge the planter into the reservoir, the wick strip will transport water from the reservoir to feed the part of the roots that is not submerged under water or the roots growing at the top level of the root system.

Compartments

 * 1) Planters/Net Pots - The planters will house the base of the plants for structural support
 * 2) Reservoir - Contains the nutrient solution
 * 3) External pump - Facilitate aeration of root system
 * 4) Tubing - Connects to pump and airstone to aerate root system
 * 5) Airstones - Gently aerate the root system (Oxygen Diffuser)
 * 6) Wicks - Transport water from reservoir to feed upper root system that is not submerged under water using capillary action

Additional notes:
Water works hydroponics systems are not the most advanced, however, it will get the job done and the system is great for beginners and hobby gardeners. Water works may cause root rot and other problems because the roots are in water for longer than they need to be and is not recommended for large or long term plants.

Submerging plant roots into water for a long period of time will usually kill the plant or slows growth. Air stones will aerate the roots, but some plants may still die because of soaking up too much water.

One of the few crops that would be "perfect" for water works hydroponics systems is lettuce. Lettuce is a crop that loves water and plenty of it. Lettuce growers should have great results using this hydroponics technique.

Build your own
Building your own water works system is quite simple and can be fun, if you know how to follow instructions :-). This type of system would be best used for water loving plants such as lettuce.

Only a few items are required to get you up and running in no time. The things you will need to build a water works hydroponics system are listed below with illustrations for visual reference.

Required items

 * 1) External pump
 * 2) Airline/tubing
 * 3) Airstones
 * 4) Water proof bin, bucket, fish tank to use as a reservoir
 * 5) StyroFoam
 * 6) Mesh Pots
 * 7) Growing medium - Rockwool, Grow rocks, etc
 * 8) Hydroponics nutrients - (Grow fertilizers, Bloom fertilizers, Supplements, pH)

Required tools

 * 1) Black spray paint - * Only required if reservoir is transparent
 * 2) Sharp object - Knife, box cutter, scissors

Getting started
1. Find a container to use as a reservoir such as a fish tank or a bin/bucket of some sort. The reservoir should be painted black if it is not light proof. Allowing light to enter the reservoir will promote the growth of algae. It is a good idea to use a reservoir that is the same dimensions (length x width) from top to bottom (Example: Top: 36"x20" Bottom: 36"x20").

If possible, use a fish tank or similar container as your reservoir. Spray paint tank (if translucent) to black and let dry. Using a knife or other sharp object, score a vertical line on the side of the tank -- i.e. scratch off some paint in a straight line from top to bottom. This will be your water level meter; it will allow you to see how much water is in reservoir. Creating this line, however, is not necessary as you can determine how much water is in the reservoir simply by see how far down the floater (StyroFoam) has sunk. Adding the line gives a more accurate and convenient view of the nutrient solution level.

2. Use a tape measure to get the length and width of your reservoir. Measure from inside of the reservoir from one end to the other. Once you have the dimensions, cut the StyroFoam 1/4" (inch) smaller than the size of the reservoir. For example, if your dimensions are 36" in length and 20" in width you should cut the StyroFoam to 35 3/4" x 19 3/4". The StyroFoam should fix nicely, with just enough room to adjust to water level changes.

lf the reservoir tapers off at the bottom (the bottom is smaller in dimension than the top) the floater (StyroFoam) should be 2"-4" smaller than the reservoir, or more if necessary.

3. Do not place StyroFoam in reservoir yet! First, you need to cut the holes for the net pots. Put the net pots on the StyroFoam where you want to place each plant. Using a pen or pencil, trace around the bottom of the net pots. Use a sharp tool such as a knife or box cutter to follow the trace lines and cut the holes for pots. (KIDS!!! Get help from an adult). On one end of the StyroFoam (any end), cut a small hole for the air line to run into the reservoir.

4. The amount of plants you can grow will depend on the size of the garden you build and the types of crops you grow. Remember to space plants appropriately so the each receive ample amounts of light.

5. The pump you choose must be strong enough to provide enough oxygen to sustain plants. Ask for a help choosing a pump at your local hydroponics supply store. Telling them the size of your reservoir (In gallons - 2, 5, 10 gallons, etc) and they should be able to make a recommendation.

Connect the air line to the pump and attach the air stone to the free end. The air line should be long enough to travel from the pump into the bottom of the reservoir or at least float in the middle some where so the oxygen bubbles can get to the roots. It also must be the right size for the pump you choose. Most pumps will come with the correct size air line. To make your best guest, use a one gallon bucked/bottle or any container that you know the capacity and fill the reservoir. Remember to count how much it takes to fill the reservoir and you will know the capacity of your reservoir.

Setting it up
a. Fill reservoir with nutrient solution b. Place the StyroFoam in tank c. Run the air line through the designated hole/notch. d. Fill the net pots with growing medium and place one plant in each pot. e. Put the net pots into the designated holes in StyroFoam. f. Turn on/plug-in pump and start growing with your fully functional, homemade hydroponics system.

Artificial lighting
If your hydroponics system is for indoor use, you will need to provide artificial lighting for plants to thrive. The size of your garden will determine how much light fixtures and watts you will need for proper coverage. Lighting stores can provide more information on selecting lights. When plants are in growth phase, they benefit more from HID (High Intensity Discharge) lamps. In Bloom, HPS (High Pressure Sodium) increases yield and grow denser, heavier flowers.

Fluorescent light is also an option. However, fluorescent lamps does not offer the same amount of lumens as HID's or HPS lamps. Fluorescent are good for starters and seedlings and for growers with ventilation problems. Fluorescent also burns much cooler than HID's and HPS lamps allowing you to place plants closer to the light source without burning tender foliage.

Footnotes:
A homemade hydroponics system like this is not ideal for a large scale production or commercial usage. This particular system plan does not offer a way to conveniently change nutrient solution. An extra container would be required to hold the floater while you change the solution.

Internal links

 * Hydroponics for orchid cultivation
 * Hydroculture


text:
Talk:Do-It-Yourself/Homemade hydroponics wick system

* (cur) (last) 17:41, 23 April 2006 CmdrObot m (sp: a air→an air) * (cur) (last) 11:32, 15 March 2006 Kirk7880 * (cur) (last) 11:30, 14 March 2006 RHaworth * (cur) (last) 11:29, 14 March 2006 RHaworth m (moved Homemade Hydroponics - Wick System to Homemade hydroponics - wick system) * (cur) (last) 08:01, 14 March 2006 Kirk7880 * (cur) (last) 08:00, 14 March 2006 Kirk7880 * (cur) (last) 07:59, 14 March 2006 Kirk7880 * (cur) (last) 07:52, 14 March 2006 Kirk7880
 * (cur) (last) 11:37, 26 May 2006 Rjwilmsi m (sp: Artifical->Artificial, gardners->gardeners) [rollback] [proxycheck]


text:
Subversion/Basic Usage Guide

Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It helps you to track the history of file and directory changes over time. Generally a Subversion repository is used by a community of people. A repository is a centralized data storage, and people usually perform their changes locally, and then publish ('check in' or 'commit', all are synonyms for this process) them to the repository. So, what they have on their local machines is a Working Copy - a copy of a repository subtree (or maybe the whole tree):

Mechanism
The subversion mechanism is different from the mechanism of CVS, its well-known predecessor. Let's see how successive commits are archived on the server :

First, a user imports the files and the repertories on the server. All the files and repertories are at release (or revision) 1.

Then a user commit some changes. Only files fil1 and fil3 contain modifications so only these items are committed. The both are committed at the revision 2. If we want to retrieve all the files to the last revision, we will have files to the revision 2 or the last previous revision (i.e. 1) if not exist.

For the commit of the release 3, only the files fil3 and fil4 have changes. Note that the file fil4 has no revision 2.

The files fil2 and fil3 are committed.

One file has been added : fil5. There is no version of this file until the release 5.

One repertory has been added : rep5.

When a user updates her/his local files to an old release (for instance release 4), subversion will send each file or repertory at the release 4 or the last previous one if not exist.

How do we use Subversion with JavaSVN
So, there's a server-side storage of versioned data called repository, and there're clients who access that repository. And JavaSVN is:
 * A client-side library.
 * It provides APIs for both local operations that don't need a repository and concern only a Working Copy, and for direct working with a repository.
 * At the same time the latest version of JavaSVN provides some extra features: it can create local repositories, replicate (copy in filesystem) existing ones, etc.
 * It's quite flexible to configure.

Unfortunately, the Working Copy (WC) format limits users to operating only on files and directories. JavaSVN helps to workaround this limitation, it provides two different-level engines: a high-level one which is intended for operating on Working Copies (like svn.exe), and a low-level one which is a Subversion protocol implementation. Both provide corresponding APIs. The low-level engine is actually a driver used for direct working with a Subversion repository, and the high-level engine uses that low-level one when an operation really needs to access a repository.

Rollback to a Previous Revision
alias revertfile='read revertfile?"What file do you want to revert?"' alias revertrev='read revertrev?"What revision do you want to revert to?"' alias svnrevert='revertfile; revertrev; svn up $revertfile -r$revertrev; mv $revertfile foo; svn up; mv foo $revertfile;'

Low-level Engine
As said above, the low-level engine is a protocol-specific driver used for immediate working with a repository. And the high-level engine could possibly be not the only one who uses such drivers, it's just a standard scenario. For example, there may be developers who operate with abstractions much different from just files and directories. And they would also like to keep their objects under version control, but how? A standard way of using a Working Copy is not suitable here, as it's based on trees of directories and files.

title: Subversion/Basic Usage Guide


text:
Talk:Subversion/Basic Usage Guide

wp hist
* (cur) (last) 12:10, 21 May 2006 Tawkerbot2 m (BOT - rv Sa tmate (talk) to last version by Avillia) [rollback] [proxycheck] * (cur) (last) 12:10, 21 May 2006 Sa tmate * (cur) (last) 11:46, 21 May 2006 Avillia (Remove prod in favor of Transwiki to Wikibooks.) * (cur) (last) 11:46, 21 May 2006 Avillia (Propose Transwiki move using VandalProof) * (cur) (last) 11:45, 21 May 2006 81.222.113.153 * (cur) (last) 10:17, 21 May 2006 Discospinster (prod - not a how-to manual) * (cur) (last) 10:05, 21 May 2006 81.222.113.153 * (cur) (last) 01:18, 21 May 2006 Pearle m (Changing to ) * (cur) (last) 11:28, 20 May 2006 Sa tmate * (cur) (last) 10:57, 20 May 2006 Kc9cqj * (cur) (last) 10:54, 20 May 2006 Sa tmate

title: Talk:Subversion/Basic Usage Guide


text:
Physical Activity/Improving Your Vertical Jump

Whatever your game or sport, there's a good chance that increasing your vertical jump will improve your game. Having a good vertical jump is very useful in almost every sport today because more and more athletes are spending more time in the air. Here are a few exercises that helped me increase my vertical by six inches. I went from barely grabbing the rim, to being able to dunk with one hand off of the dribble and catching alley hoops with two hands.

Exercises

 * 1) Find a place where there are a lot of stairs and run them until your legs burn. Find a certain number of repetitions that are challenging and gradually increase them over time. This will also help with your conditioning.
 * 2) Stack those aerobics boxes and platform things against a wall for support. Start with light weights (5 lb.) and then jump with your right foot facing the box and then jump off. Then alternate with your left foot, then two feet. Repeat for another repetition starting with your right foot again. Then start the entire process over only this time you jump sideways onto the box. This will help your vertical jump even more because it hits your muscles from a different angle.
 * 3) Jump rope for quickness and explosion

Tips
You do not have to use heavy weights. In fact, they will increase your risk of getting injured.(do not exceed 10 lb.) When you land, make sure you are balanced and there is a slight bend at your knee.


text:
Talk:Physical Activity/Improving Your Vertical Jump

* (cur) (last) 16:10, 14 April 2006 JoeBot m (typo fix: "becasue/beacuse/becuase" to "because" using AWB) [rollback] [proxycheck] * (cur) (last) 15:17, 23 March 2006 Bobblewik m (units) * (cur) (last) 07:35, 25 February 2006 Kappa (de-prod, {move to wikibooks} first, prod second) * (cur) (last) 18:36, 24 February 2006 WAvegetarian (please take to wikibooks) * (cur) (last) 16:34, 24 February 2006 Blue520 (prod|is a "how-to") * (cur) (last) 15:36, 24 February 2006 Bremond24 * (cur) (last) 15:36, 24 February 2006 Bremond24


text:
Transwiki:Inbound connectivity under 3G Datacard

This is a guide on circumventing the Vodaphone 3G Datacard paradox, After reading this guide I am confident you will beable to have a direct access remotely to a that is machine connected to the 3G datacard (via vpn),

Lets begin... At the core of it, you find two problems firstly vodaphones configuration of the ISP, is setup to transparently Nat your connection out of over a local network with just a couple of external ip address's, the result of that is, you can not have any tcp connection forwarded internally, and the second issue is the total non-exsistance of udp connectivity, resulting in a catastrophic failure of inbound connectivity over all, even special software designed to traverse firefalls will have no connectivity, as there dependent on udp capability.

The solution that is available:

(SUMARY)

You may of herd of a software called LoopHole available for linux and windows this purpose of this program is basically to use the fully fletched connectivity of a remote host/server, or just one that has less impeeded/stunted connectivity, to circumvent the scenario of a machine with limited connectivity such as a machine with a vodaphone/3G datacard connection.. described above, LoopHole does this by routeing packets to and from the the machine with no connectivity to the machine with un-impeeded connectivity (the server), this is done by weird prioprietry software services that run in the background and methods, and is not free, and consumes resources inside "the server", leaving you with an overhead you didn't need in the first place.

The FREE solution we will use here involves creating a PP2P/L2TP vpn tunnel to the server machine and simply enabling it a basic forwarding IP router all taffic is routed through the VPN tunnels gateway rather then the this will act as our own "Loophole".

Requirements: Static IP arrangement, is required for the server to have a "default gateway" value for the vpn server. Ip Forwarding / Router capabilitys. Router capable of forwarding ports 1729 TCP and, GRE traffic on port 43.

For Windows XP Professional (no other versions tested at present)

this guide is incomplete. good luck -ncoredump


text:
Transwiki talk:Inbound connectivity under 3G Datacard

* (cur) (last) 20:57, 4 April 2006 RHaworth * (cur) (last) 11:33, 4 April 2006 Ncoredump * (cur) (last) 11:04, 4 April 2006 Ncoredump * (cur) (last) 10:56, 4 April 2006 86.132.119.179 (tidy up) * (cur) (last) 10:54, 4 April 2006 Ncoredump * (cur) (last) 10:51, 4 April 2006 Ncoredump
 * (cur) (last) 17:20, 24 April 2006 CmdrObot m (sp (3): a overhead→an overhead, dependant→dependent, didnt→didn't) [rollback] [proxycheck]


text:
Internet Safety Guide

Online Safety Intro
As many of you know, the internet is not the safest place. From spam to fraud to cyberbullying, the internet is home all manner of unsavory things. This guide is here to help protect you from the internet.

1. Keeping your information private
There is a large variety information that should not be given out freely on the internet. this section includes a list as well as the reasoning behind its inclusion.

 * Credit information

You should never post any credit information, including, but not limited to, bank account login information, credit or debit card information, and any other information relating to banking or money. People could use this information to steal your money and make unauthorized purchases.

 * Phone number

You should never post your phone number online, as you may then receive spam calls, and it can be used to figure out your identity as well as where you live.

 * E-Mail address

Like the phone number, you should also not give out your email address to protect yourself from spam, as well as to keep your accounts safer from hacking.

 * Home address

You should never give out location information, including your home address, what school you go to, where you currently are, and more, so that people cannot figure out where you live.

 * Full name

This information, though not quite as important to protect, can also be used to figure out who you are and where you live.

 * Images of yourself, your family, or your place of residence

Again, this information can be used to figure out who you are and where you live.

2. Account Creation and Safety
Many websites on the modern web require you to create an account before you to create an account, either to see content or to interact. These are a few guidelines on account creation and safety.

 * Do not use real information in your username

Do not put your name, date of birth, address, or other personal information in your username

 * Use a strong password or passphrase

Avoid using common words or phrases, patterns, or prosomal information as your password.

 * Change your password frequently

Every two months or so, you should change your password

 * Use two factor authentication / 2fa / multi factor authentication / mfa

This is a second layer of protection for your device

3. Other Things You Should Know

 * Always read the website's privacy policy. Since they assume nobody will read it, they put all the shady things they may be doing there to avoid legal trouble.

 * Do not give websites more information than the bare minimum. Lie often and severely.

 * Before giving a site information, take a look at it's reputation.

 * Be extra careful on unknown sites.

 * Keep your identity secret. Do not use your real name.

 * Do not meet people in real life that you only know online, and if you do, do it in an extremely public place only, with a trusted friend or family member knowing where you are and when to expect you back.

4. Internet History Intro
Large groups of computer called Servers, connect to one another. The home computer (PC) connects to these servers using a modem, joining a Network. 14 Years… it took for Internet to work properly. Or so they say, as the Internet is still having some problems.

5. History
February 1969: Two guys called Kenneth Thompson & Dennis Ritchie created a software program called UNIX. UNIX allowed people to communicate to one another. That was the start of the Internet.

September 1969: In this time four computers were set up at ARPANet to communicate. It failed while trying to send the word “Log”. At letter g the system crashed.

April 1972: First E-mail letter sent. The word and Electronic-Mail (e-mail) was born!

December 1973: Language called transmission control protocol/internet protocol was developed so computers at ARPANet could communicate with one another faster.

February 1974: The very first mouse to go across a mouse pad.

January 1975: Bill Gates dropped out of college to write the first basic computer language for the first working computer, Altair.

March 1975: The first version of ARPANet was released.

April 1975: Two guys named Bill Gates & Paul Allen found Microsoft.

March 1976: Apple computer gets started as Steve Jobs & Steve Wozniak develop Apple 1 Computer.

March 1977: There are one hundred computers online!

August 1981: The IBMPC is invented, that contained an operating system called MSDOS. Made by Bill Gates and developed by Tim Paterson.

December 1983: Internet connection was established, so a real life Internet was running. Used by research and military things related.

October 1984: The Apple Company makes a computer that is now called the Macintosh (Mac).

April 1987: The first computer virus made it’s way across the servers making the whole entire network to shut down for 24 hours.

April 1989: America Online (AOL), Prodigy, and CompuServe were the first sites to give everyone free Internet connection.

May 1990: HyperTextTerminalProtcol (HTTP) was written. Creating a big universe of search and displaying!

January 1992: Switzerland’s company C.E.R.N created the World Wide Web. Numbers of servers makes it to 1,236,000! January 1994: The White House website is published and released for us to see!

February 1994: Pizza Hut takes the first ever online order!

April 1994: Two guys named Jerry Yang and David Filo created Yahoo!.

May 1995: Java was invented by microsystems.

July 1995: Amazon.com, virtual bookstore, is created.

January 1997: Browser war between Microsoft’s Internet Explorer and Netscape sparks!

August 1998: Steve Jobs goes back to Apple computers and created the iMac.

November 1998: AOL buys Netscape for $4.2 Billion.

June 1999: The Internet reaches 56,218,000 connected computers!

If you have an important date I left out please restate it like I did. I will add credits! wink.gif

Internet Viruses can be deadly, but some do practically nothing but scare you into really affecting your computer. Here are lists of viruses.

A Virus can get onto your computer by E-Mail attachments, Downloading programs, File sharing, and CD Sharing. But anytime your computer gets data a virus might be hidden inside! Like a biological virus, a virus can replicate its self, and then looks for other computers to feast on.

6. Small Timeline
1981: A virus makes its way across Apple users in Texas A&M University.

1991: The Tequila virus becomes the first shape-shifting to infect computers in the world.

1992: The first virus kit becomes available to users around the Internet.

2002: David Smith, creator of the Melissa Virus is sentenced to 20 months in Federal Prison.

7. Software Viruses
Software Virus hide in programs in your computer. Waiting for you to click on that folder that they are hiding in.

E-Mail Viruses are the most common. What happens is that if you click the attachment, sometimes the virus will mail itself to everyone in your address book and will hide in hyperlinks. The person’s friend who got infected clicks it and they get a virus too! Usually, some smart friends delete it and warn everyone on their friend list.

Computer Worms are very damaging. A worm is a program that searches for security holes in networks. When a worm finds a computer that is safe for that worm to go in. It copies itself into that computer, and then it looks for other computers in that computers network.

Trojan Horse will erase your hard drive in your computer. All your files, programs, downloads will be gone. Trojan horses are disguised as something good like game downloads or something.

title: Internet Safety Guide


text:
Talk:Internet Safety Guide

* (cur) (last) 10:50, 12 May 2006 I Mystic I (Internet Safety Guide) * (cur) (last) 10:49, 12 May 2006 I Mystic I (Internet Safety Guide) * (cur) (last) 10:48, 12 May 2006 I Mystic I (Internet Safety Guide)
 * (cur) (last) 11:27, 12 May 2006 RHaworth (move to Wikibooks) [rollback] [proxycheck]

title: Talk:Internet Safety Guide


text:
Automobile Repair/Jump start

A jump start is a colloquial term for a method of starting an automobile or other internal combustion engine-powered vehicle having a discharged battery.

Most U.S. passenger vehicles use a standard 12-volt direct current (DC) Lead-acid battery which, when the driver turns the ignition key, an electric motor engages the teeth on the flywheel, briefly turning the flywheel which is connected to the crankshaft and powers the spark plugs until ignition is achieved and the engine can produce its own electrical power from its generator or alternator.

When a battery fails or is discharged, such as by inadvertently leaving one's headlights switched on while parked, the car's engine will not "turn over" when the ignition key is turned. Many motorists carry "jumper cables" which consist of a pair of heavy gauge wires with large crocodile clips at each end.

Good quality jumper cables will have large copper conductors, well-made alligator clips, and insulation which remains flexible at low temperatures. Longer cables require less maneuvering of the boosting vehicle to allow connection of the two batteries.

Preparation and cautions
If the discharged battery is cracked, has a low electrolyte level, or is frozen, a jump start should not be attempted. Corroded terminals will increase the voltage drop during cranking and will contribute to starting difficulty. Proper jump start procedures are usually found in the vehicle owner's manual. Owner's manuals may show the preferred locations for connection of jumper cables; for example, some vehicles have the battery mounted under a seat or a jumper terminal in the engine compartment.

Motorists can be severely injured by a battery explosion. In the United States in 1994, a research note by the National Highway Traffic Safety Association estimated that about 442 persons were injured by exploding batteries while attempting a jump-start. Organizations such as Prevent Blindness America recommend use of splash-resistant safety goggles to protect the eyes while connecting cables.

Operation of a lead-acid battery produces hydrogen gas, which is flammable. Caution is needed to avoid a spark that may ignite the gas. The recommended sequence is to first connect the positive terminals of both batteries, then connect the negative post of the charged battery and make the last connection to the frame of the vehicle with the dead battery, at a location away from the battery. By not connecting the last clamp on to the dead battery, the risk of ignition is reduced. The described sequence of connections is intended to reduce the chance of accidentally shorting the good battery.

Current from the boosting vehicle will charge the dead battery. After several minutes enough energy is transferred to allow cranking of the engine. If the connections are good and the cables are large, the boosting vehicle battery may also supply part of the cranking current. In an extreme case, it is possible to crank and start a vehicle with no battery in it if the cables are heavy-duty. Cranking current drawn through light-gauge cables will damage them by overheating.

A jump start is only effective for a discharged battery and cannot resolve other faults including a lack of fuel, a failed battery, or other mechanical problems. Even after a successful jump start a vehicle may not be able to resume normal operation if the reason for the dead battery is a failed charging system. Unless the cause of the battery discharge is known, the operator of the boosted vehicle should have the battery and charging system checked.

Loss of voltage from the vehicle battery may have wide-ranging effects--from a trivial loss of radio receiver preset stations to a significant loss of security codes or engine control parameters. A prudent motorist should familiarize themself with the effects of a dead battery; booster cables may be unavailable if the keyless entry system won't unlock the trunk (boot).

How to
An automobile with a good battery is parked near the car needing the jump start and the cables are attached in this order:

 * One cable attaches to the positive (+, red) terminal of the dead battery, and then to the positive terminal of the live battery.
 * The other cable attaches to the negative (-, black) terminal of the live battery, and then to the engine block of the car with the dead battery.

With a safety cable, such as the one shown in the picture, the two pieces are connected together. The safety cable has colour coded crocodile clips and the connectors are polarised so that they can only be inserted in the correct orientation.

Since the entire engine block is grounded to the negative terminal, the cable need not be connected directly to the dead battery's negative terminal, and in fact it would be unwise to do so as sparks from the connection (when the circuit is completed) could ignite the battery. (Highly flammable hydrogen gas can be given off by a battery, though this is less of a risk with the completely sealed "maintenance-free" batteries unless their case is compromised). A good connection point would be a piece of unpainted metal at least eighteen inches away from the dead battery. Some engines have eyelets which are used to attach chains when the engine needs to be lifted out of the car; these make good connection points for the jumper cable.

 * If two cables are used that are completely detached from each other, then the grounds of the two vehicles should be connected first using one of the cables, while keeping the other cable out of the way. Then, using the other cable, the positive connection should be made. Once one end of the positive connection is made, that jumper cable is "live" and must not be allowed to touch anything other than its intended positive connection point in the other vehicle. To further reduce the risk of spark around the dead battery, each connection should be made in the stranded vehicle first, and then in the running vehicle. (Even when the grounds are being connected together, and there isn't a complete circuit, there could be an electrical potential difference between the cars, the discharge of which could cause a spark. This is one reason why grounds are connected first, if possible, otherwise such a discharge may later choose a path through the electrical components). It is a basic electrical principle that ground connections are made first and broken last, unless there is a good reason to do otherwise, as described next.

 * If the two jumper cables are attached together, as is often the case, then the opposite procedure is followed: the positive connection must be completed first, and then the grounding connection. The reason for this reversal is that because the cables are joined, when one clip is fastened, the opposite one is left dangling near it, unless an assistant holds it up. The dangling clip is likely to touch something that is grounded, like the chassis or engine block. Therefore, the clip that is left dangling should be the negative one which is intended to be grounded anyway. If, incorrectly, the negative clip is connected, while the positive one, left dangling, touches something that is grounded, an instant short circuit will result when the corresponding positive connection is later made at the opposite end. For the same reason, it is also important not to connect both clips on one end first to one car, because then the clips on the opposite end of the cable may touch, causing a short circuit.

 * If a safety cable is used, such as the one shown in the picture, then the alligator clips of the two separate cable components are attached in whatever order is convenient. Then the plug-and-socket connection is made to bridge them together.

 * Later, after the jump start is complete, the connections should be detached in exactly the reverse order of their attachment. In the case of the safety cable, the socket connection between the two cable sections is unplugged first and then the clips are removed.

(Many auto manufacturers specify methods of jump-starting their cars, such as a different sequence of attaching or detaching jumper cables. For your safety, please read your owner's manual!)

The "good" car is then started, and the dead battery is allowed to charge for a few minutes. Then the car with the dead battery can be started, the cables carefully detached, and the formerly-stranded motorist goes on his or her way. If the original cause of the dead battery was simply a drain such as the headlights being left on overnight, then the car's generator should take care of finishing the recharge and keeping the battery charged; but if the battery is damaged or old or there is some problem with the car's electrical system, then the motorist should keep his engine running until he can buy a new battery or reach a service station.

Note that unlike a battery charger, a car's alternator lacks the current-limiting circuit needed for the proper trickle-charging of deeply discharged batteries, and should not be used for that purpose. Charging a battery at too high a current is not good for either the alternator, or the battery.

In localities or situations lacking in Good Samaritans, there is always the auto club, for its members. Roadside assistance vehicles, dispatched by them or not, can be expected to carry equipment at least as handy as a self-contained and portable jump-start unit consisting of a battery and two leads to connect it to the stopped car's starter circuit, substituting for the dead battery.

Step-by-Step Guide

 * 1) Clamp one cable to the positive (+) terminal of the dead battery. Don't let the positive cable touch anything metal other than the battery terminals.
 * 2) Connect the other end of the positive cable to the positive terminal of the good battery.
 * 3) Connect one end of the negative (-) cable to the negative terminal of the good battery.
 * 4) Connect the other end of the negative cable to metal on the engine block on the car with the dead battery. Don't connect it to the dead battery, carburetor, fuel lines or moving parts.
 * 5) Stand back and start the car with the good battery.
 * 6) Start the stalled car.
 * 7) Remove the cables in reverse order.

see safetycenter for more details.

Cigarette lighter outlet
An alternative to jumper cables is a cable used to interconnect the 12 volt power outlets (cigarette lighter outlet) of two vehicles. While this eliminates concerns with incorrect connections and generation of arcs near battery terminals, the amount of current available through such a connection is small. This method works through very slowly charging the battery, not through providing the current needed for cranking. Engine cranking should not be attempted as the starter motor current will exceed the fuse rating in a cigarette lighter outlet. Not all vehicle cigarette lighter outlets remain on while the ignition is turned off, making the technique unusable unless the ignition key is turned to the accessory position to connect the cigarette lighter outlet to the battery.

Battery booster and jump starter
A hand-portable battery, equipped with attached cables and charger, can be used similarly to another vehicle's battery (it is called a battery booster and jump starter). It can reach 1700 peak amps.

Portable boosters may automatically sense the battery's polarity prior to sending power to the vehicle, eliminating the costly damage that can result from a simple jump-starting mistake.

Battery charger
Motorists and service garages often have portable battery chargers operated from AC power. Very small "trickle" chargers are intended only to maintain a charge on a parked or stored vehicle, but larger chargers can put enough charge into a battery to allow a start within a few minutes. Battery chargers may be strictly manual, or may include controls for time and charging voltage. Some chargers are equipped with "boost" settings that allow source of a large amount of current to assist in cranking the engine. Battery chargers that apply high voltage (for example, more than 16 volts on a 12 volt nominal system) will result in high emission of hydrogen gas from the battery and may damage it. A battery may be recharged without removal from the vehicle, although in a typical roadside situation no convenient source of AC power may be nearby.

Push starting
A vehicle with a manual transmission may be push started. This requires caution while pushing the vehicle and may require the assistance of several persons. If the vehicle battery cannot provide power to the ignition system, push starting will be ineffective. Most vehicles with automatic transmissions cannot be started this way because the hydraulic torque converter in the transmission will not allow the engine to be driven by the wheels (some very old automatic transmissions, e.g., General Motors' two-speed Powerglide transmission, do leave a solid connection between the engine and wheels, and cars equipped with such transmissions can be push started).

title: Automobile Repair/Jump start


text:
Talk:Automobile Repair/Jump start

Redundant copy-and-paste of Book's editing history
* (cur) (last) 19:22, 27 May 2006 Peter Horn m (→Jump start (vehicle) - key, was key,) [rollback] [proxycheck] * (cur) (last) 19:18, 27 May 2006 Peter Horn m (→Jump start (vehicle) - wires was wires) * (cur) (last) 19:15, 27 May 2006 Peter Horn m (→Jump start (vehicle) - key, was key, & electric motor was electric motor) * (cur) (last) 18:55, 27 May 2006 Peter Horn m (→Jump start (vehicle) - "jumper cables" was "jumper cables") * (cur) (last) 18:41, 27 May 2006 Peter Horn m (→Jump start (vehicle) - When a battery was When a battery) * (cur) (last) 13:20, 25 May 2006 Peter Horn m (→Jump start (vehicle) - battery. was battery.) * (cur) (last) 10:20, 9 April 2006 Interiot (please use Citation needed to indicate what needs references) * (cur) (last) 09:58, 9 April 2006 Interiot (Move to Wikibooks) * (cur) (last) 08:00, 8 April 2006 70.27.52.162 (→Step-by-Step Guide) * (cur) (last) 07:59, 8 April 2006 70.27.52.162 (→Step-by-Step Guide) * (cur) (last) 07:58, 8 April 2006 70.27.52.162 * (cur) (last) 16:45, 27 March 2006 163.153.172.10 * (cur) (last) 16:45, 27 March 2006 163.153.172.10 * (cur) (last) 05:11, 22 March 2006 146.87.193.4 * (cur) (last) 16:14, 20 March 2006 KazKylheku * (cur) (last) 16:11, 20 March 2006 KazKylheku (Wording improvements.) * (cur) (last) 11:18, 20 March 2006 KazKylheku (Details about connection order with explanations why.) * (cur) (last) 00:44, 10 March 2006 Can't sleep, clown will eat me (unreferenced) * (cur) (last) 00:44, 10 March 2006 Can't sleep, clown will eat me (Category:Automobiles) * (cur) (last) 12:13, 5 March 2006 Omegatron («"Good Samaritans" → "Good Samaritans"» grrrrrrrr) * (cur) (last) 12:40, 9 February 2006 Gflores (catneeded) * (cur) (last) 10:54, 19 December 2005 67.175.122.29 * (cur) (last) 11:17, 9 August 2005 Jerzy (mv out starter markup for Dab Jump start; un-lk self-lk via jumper cables; tune street-consumer info; lk a minute or two) * (cur) (last) 10:47, 9 August 2005 Jerzy m (Jump start moved to Jump start (vehicle)) * (cur) (last) 10:45, 9 August 2005 Jerzy (Correct, add, & integrate contrib part of Norvy's edit (Important distinction: that's NOT a routine charger, nor even a quick-charger)) * (cur) (last) 10:29, 9 August 2005 Jerzy (rv ed of User:Norvy to last by Finnegar, restoring passage that *does* say what the cost is, and has stood unchallenged thru over 80% of the article's life.) * (cur) (last) 21:10, 8 August 2005 Norvy (rm cost of a jump start in NY (didn't say what it was) add self-contained charger.) * (cur) (last) 15:43, 29 May 2005 Finnegar m   * (cur) (last) 14:58, 16 May 2005 Beezly * (cur) (last) 14:57, 16 May 2005 Beezly * (cur) (last) 14:57, 16 May 2005 Beezly * (cur) (last) 15:56, 14 January 2005 Brian Kendig (both cables have a red clip and a black clip) * (cur) (last) 07:06, 23 November 2004 Erisdiscordia m   * (cur) (last) 16:42, 7 October 2004 24.19.45.139 * (cur) (last) 13:14, 6 October 2004 24.19.45.139 * (cur) (last) 10:04, 7 September 2004 Brian Kendig * (cur) (last) 20:24, 16 August 2004 67.171.180.209 * (cur) (last) 06:36, 4 August 2004 12.41.10.202 * (cur) (last) 10:20, 11 December 2003 Jerzy (relink to Battery (electricity) per disamb move; +holding up cables) * (cur) (last) 02:12, 20 November 2003 Wik m   * (cur) (last) 02:02, 22 October 2003 Dysprosia m (disambig generator) * (cur) (last) 20:45, 17 August 2003 Mbstone m   * (cur) (last) 20:34, 17 August 2003 Mbstone

title: Talk:Automobile Repair/Jump start


text:
Cookbook:Katchi Biryani

| Cuisine of India

Marinade

 * 4 large onions, finely sliced and fried in ghee or butter
 * 2 cups yoghurt
 * 3 green chiles, chopped
 * 1 bunch mint leaves, chopped
 * 2 Tbsp ghee or butter
 * 1 tsp garam masala
 * Salt, to taste
 * 1 Tbsp ginger-garlic paste
 * 2 lbs chicken

Rice

 * Black cardamom pods
 * Black cumin seeds (kala zeera)
 * Whole black peppercorns
 * Salt, to taste
 * 1 Tbsp oil
 * 2 ¾ cups uncooked rice

Assembly

 * 8 Tbsp butter, in 4 pieces
 * Lemon juice
 * 1 pinch of saffron or a few drops yellow food coloring
 * Milk
 * 2 green chillies, whole
 * 1 bunch coriander leaves, chopped
 * Fried onions
 * Garam masala powder

Procedure

 * 1) Combine fried onions, yoghurt, chopped green peppers, chopped mint leaves, ghee, garam masala powder, salt, ginger garlic paste. Add the chicken pieces, and leave this to marinate at least 4–5 hours.
 * 2) Bring a pot of water to a boil. Add cardamom, black cumin, peppercorns, cinnamon stick, salt, and oil. When the water boils, mix in the rice.
 * 3) Cook the rice until tender but not completely cooked—it will cook more later. Drain the water from the rice.
 * 4) Add a very thin layer of rice on the bottom of the pot to prevent the meat from sticking. Add the marinated chicken on top. Top the chicken with the remaining drained rice.
 * 5) Combine the saffron and milk. Place one butter chunk in each quadrant of the pot. Pour the lemon juice and saffron milk over the rice, then stick the whole chiles in the rice.
 * 6) Add the chopped coriander leaves, fried onions, and a sprinkle of garam masala.
 * 7) Cover pot completely with foil so no steam can escape. Cook over high heat for about 10 minutes.
 * 8) Reduce heat to medium. Continue cooking about 30–35 minutes, rotating the pot every 10 minutes for even heating.
 * 9) Check to make sure the meat and rice are fully cooked.
 * 10) Serve.

Notes, tips, and variations

 * You can substitute lamb or goat for the chicken—in this case, marinate for 12 hours.

title: Cookbook:Katchi Biryani


text:
Cookbook talk:Katchi Biryani

* (cur) (last) 13:57, 8 May 2006 Naconkantari m (Reverted edits by 24.206.75.127 (talk) to last version by Bayyoc) * (cur) (last) 13:57, 8 May 2006 24.206.75.127 * (cur) (last) 20:26, 7 May 2006 Bayyoc * (cur) (last) 19:37, 7 May 2006 Salmaakbar
 * (cur) (last) 15:37, 24 May 2006 CmdrObot m (sp (5): atleast→at least, dont→don't) [rollback] [proxycheck]

title: Cookbook talk:Katchi Biryani


text:
Cookbook:Khatti Dal (Spiced Tamarind Pigeon Peas)

| South Asian cuisines

This is a variety of dal, the common staple food of South Asia made with dal forming a stew or thick soup. Dal is the name for split legumes in many South Asian languages (see dal page). Khatti translates as sour from Hindi, and comes from the use of tamarind, a very sour fruit on its own. Serve with any variety of roti (a round flat bread) or over rice and with a vegetable preparation on the side and an achar (pickle) or chutney as condiments. The roti is used to scoop up the dal and grab pieces of the vegetable.

Ingredients

 * 1 cup (240 ml) toor daal (split pigeon peas)
 * 2 tbsp oil
 * 1 onion
 * ½ tsp ginger paste
 * 1 tsp garlic paste
 * 3 tbsp diced or crushed tomato
 * 6–8 pieces whole tamarind
 * 1 tsp red chilli powder
 * ½ tsp turmeric
 * 1 tsp mustard seeds
 * 1 tsp cumin seeds (jeera)
 * Curry leaves
 * Salt to taste
 * Coriander leaves (cilantro) for garnish

Procedure

 * 1) Wash toor daal and boil for about 20 minutes until soft. Drain and smash the dal.
 * 2) In a kadai, heat the oil until hot. Add curry leaves, mustard seeds and jeera seeds. Fry for a minute. They will pop at first, so a cover will help to avoid a mess.
 * 3) Add onion and fry until slightly brown.
 * 4) Add ginger and garlic paste. Fry for a minute, then add the tomatoes. Cook until the oil separates.
 * 5) Add tamarind pieces, turmeric powder, and red chilli powder. Cook it for 4–5 minutes.
 * 6) Add the toor daal and enough water for your desired thickness.
 * 7) Add salt to taste, and garnish with coriander leaves.
 * 8) Serve with a roti or poured over rice.


text:
Cookbook talk:Khatti Dal (Spiced Tamarind Pigeon Peas)

Record of wikipedia contributions befor copying: * (cur) (last) 20:25, 7 May 2006 Bayyoc [rollback] [proxycheck] * (cur) (last) 19:40, 7 May 2006 Salmaakbar


text:
Cookbook:Puri (Indian Fried Flatbread)

| Cuisine of India | Bread

Puri, also spelled poori is a fried Indian bread.

Ingredients

 * 2 oz (60 g) whole-wheat flour
 * 2 oz (60 g) plain white flour
 * 2 oz fine semolina
 * ¼ tsp salt
 * 1 tbsp vegetable oil for the dough
 * About 500 ml (1 pint) vegetable oil for deep frying
 * Water to mix the dough

Dough

 * 1) Put all the dry ingredients into a bowl.
 * 2) Add salt and drizzle the 1 tbsp oil over top. Mix well.
 * 3) Gradually mix in enough water to get a stiff dough.
 * 4) Knead the dough well for a few minutes.
 * 5) Cover the dough and leave to rest for about half an hour.

Frying

 * 1) Pour the oil for deep frying in a wok or other deep pan. Heat the oil.
 * 2) Meanwhile, divide the dough into 8 small balls and roll each into a small circle (about 3 in / 7.5 cm in diameter). You can use a bit of hot oil to roll the dough so it will not stick to the surface.
 * 3) Check if the oil is hot enough—when you put a tiny piece of dough in the oil it should immediately rise to the surface. When the oil is ready, lay the flattened dough over the oil, press the top slightly with the slotted spoon until it inflates itself, and turn to other side. Adjust the flame as necessary.
 * 4) Remove the puri from the oil after it turns golden brown and place on a wire rack or kitchen paper towel for excess oil to drain.

Notes, tips and variations

 * For chapatti dough, don't use semolina and plain flour. Only use whole wheat flour, salt, and oil.
 * If the dough sinks quickly to the bottom of the wok, the oil is not hot enough and the puri will absorb too much oil. It should balloon within a few seconds.

title: Cookbook:Puri (Indian Fried Flatbread)


text:
Cookbook:Rasam (Tamarind and Tomato Soup)

| Cuisine of India

Rasam, also called saru, is a popular dish in South India. It can be described as a thin soup, served on top of rice.

Rasam powder

 * 2 tsp oil or ghee
 * 1 tbsp coriander seeds
 * 3–4 dried red chillies
 * 1 tsp cumin seeds
 * 1 small pinch asafoetida

Dhal

 * 14 g (½ oz) toovar dhal (also called red gram dhal)
 * 1 tsp turmeric
 * 1 tsp cooking oil
 * 3 tomatoes
 * 1–2 tsp tamarind paste
 * Salt
 * 1 tsp sugar (jaggery or palm sugar is good too)
 * Water—the amount depends on the amount of rasam required as it is meant to be very watery.

Mustard seed seasoning

 * 1 tbsp ghee (or butter and oil)
 * 1 tsp black mustard seeds
 * 1 tsp urad dhal or cumin seeds
 * 2 dried red chillies
 * 4 curry leaves
 * 1 handful of chopped coriander leaves (cilantro)

Rasam powder

 * 1) Fry the all the ingredients together, adding asafoetida last, in a skillet with oil or ghee. Toast until the spices start to brown slightly.
 * 2) Grind everything to a powder. Note that coriander seed is very difficult to powder.

Dhal

 * 1) Wash the toovar dhal thoroughly until the water runs clear.
 * 2) Cover with double the quantity of water, turmeric powder and teaspoon of oil. Cook in a microwave for half an hour, a pressure cooker, or slowly on a stove, covered. The dhal should develop a mushy consistency.
 * 3) Cut the tomatoes into 4 pieces, put them in a saucepan full of water, and bring to the boil.
 * 4) Add tamarind, salt and teaspoon of sugar. The tamarind is usually very bitter, so add only a little at a time. Tamarind can be added later to adjust the flavour.
 * 5) When the tomatoes are half cooked add the cooked dal.
 * 6) Add enough rasam powder to give the desired taste, usually 4–5 teaspoons. It should be reasonably spicy, and neither the tamarind or sugar should dominate. Stir and keep simmering.
 * 7) In a small pan, heat the ghee for the mustard seed seasoning and add the mustard seeds, urad dhal, chillies and curry leaves. The dhal should start to go brown and the mustard seeds will start spitting. Don't burn any of the spices—it's easy to do. Once cooked, pour the seasoning into the rest of the rasam straight away and stir it through.
 * 8) Add chopped coriander leaves. Serve with hot and soft plain boiled rice.


text:
User:Pfctdayelise/Uyghur

Learn Uyghur!

Contents
The central discussion point for the whole book should be.

/Cover
+ interwiki, cats

/Introduction
Introduction to the Uyghur language. For an introduction to this book, per se, see the /About section.
 * /Introduction/Linguistic: In China, But Not Chinese (a survey of its linguistic features, cf. English), dialects
 * /Introduction/History: lang development, literature, maps
 * /Introduction/Culture: The Uyghur people, Xinjiang
 * /Introduction/Why: Why should you learn Uyghur? What is the motivation behind this wikitextbook?
 * /Introduction/Resources: books, uni courses, websites (see below)

/Basics
Emphasise the importance of making that quick association between the script and the sound. heaps of OGGs to listen to (not so many later). should master this section completely before going on to the next (remember how long you spent just learning the alphabet? gotta crawl before you can walk), but it should also serve as a "drop-in refresher" for later
 * /Basics/Sounds: the basic sounds of Uyghur, IPA (OGGs), how to produce them
 * /Basics/Sounds/Vowels
 * /Basics/Sounds/Consonants
 * /Basics/Scripts: Internet, fonts, Unicode? map between IPA, latin, arabic, (cyrillic?)
 * /Basics/Scripts/Arabic
 * how the hell do you parse Arabic script...?! tips for reading it
 * /Basics/Scripts/Cyrillic
 * /Basics/Scripts/Latin
 * /Basics/Practice: nonsense phrases, tongue twisters, reading things you don't understand just to practice the sounds, maybe numbers and place names
 * /Basics/Phrases: Stock phrases

/Lessons
Each lesson should have, as a minimum:
 * Introduction: In this lesson you will learn...
 * Text(s) (mostly dialogue, may also include speeches/newspaper articles later)
 * Vocabulary lists (from /Vocabulary)
 * Grammar notes (from /Grammar)
 * Exercises
 * Test - should relate directly back to the introduction

/Vocabulary
Primarily annotated lists.
 * /Vocabulary/Numbers
 * /Vocabulary/Places
 * /Vocabulary/Grammar or 'linguistic' terms (eg POS)
 * (topic lists)

/Grammar

 * huge number of affixes apparently. I suggest one per node/page. just spread everything out and make it all independent if possible, so people can dip in and out as they need.

/Beyond

 * /Beyond/Standards: testing? create our own?
 * /Beyond/Reuse: how to reuse this content (teach others! spread the word! translate into other wikibooks!)
 * /Beyond/Maintenance: what you can do to maintain your language skills
 * / ug.wp

/About
All "meta" kind of information about this book in particular should go in this section.
 * /About/Audience: what assumptions are we making?
 * /About/Authors: information about the contributors to this wikitextbook
 * /About/Guidelines: useful templates, useful things to know before you begin contributing - this book's "manual of style"

Notes to self
cf. Turkish (linguistically), Irish (layout)
 * How To Build An Excellent Wikibook Teaching Any Language/Template index
 * How To Build An Excellent Wikibook Teaching Any Language/Template lessons
 * commons:User:pfctdayelise/Xinjiang

zomg Arabic...

 * Uyghur language
 * 维吾尔语
 * يەڭی يەزیق

web resources:
 * http://www.omniglot.com/writing/uyghur.htm (IPA!)
 * Language learning - some tips

 * Positive review of a Uyghur restaurant in Sydney
 * Radio Free Asia news story - 'Turkey-based Publisher Keeps Uyghur Letters Alive'
 * Uyghur IPA chart!!
 * Uyghur IPA with sound files and examples!!
 * http://www.uygurworld.com/userfiles/Uighur_Alphabetopt.jpg
 * Few basic phrases
 * RFA podcast links (in English)
 * random phrases
 * 5 short videos

title: User:Pfctdayelise/Uyghur


text:
User talk:Jamesgreenwood

Hi James.

Welcome to Wikibooks and thanks for all your work on the ALevel Computing section. Watch this space i should be adding a lot to it soon, would be great to have some assistance. Pluke 10:33, 29 May 2006 (UTC)

title: User talk:Jamesgreenwood


text:
Umbraco/Plugins And Extensions/Upload Progress

Upload progress bar
An Umbraco plugin that allows you to display a progress bar when uploading a file. This is likely to be integrated into Umbraco 3.0.

The plugin can be downloaded from http://www.darren-ferguson.com/code-bank.aspx

Install
Install instructions are contained in the zip download.

support
Please mail me at df at darren hyphen ferguson dot com if you encounter any bugs or issues.