text:
Bash Shell Scripting/Shell Arithmetic

Arithmetic expressions in Bash are closely modeled on those in C, so they are very similar to those in other C-derived languages, such as C++, Java, Perl, JavaScript, C#, and PHP. One major difference is that Bash only supports integer arithmetic (whole numbers), not floating-point arithmetic (decimals and fractions); something like  means what you'd expect (7), but something like   is a syntax error. Something like  is fine, but performs integer division, so evaluates to 2 rather than to 2.6.

Arithmetic expansion
Perhaps the most common way to use arithmetic expressions is in arithmetic expansion, where the result of an arithmetic expression is used as an argument to a command. Arithmetic expansion is denoted. For example, this command:

prints.

expr (deprecated)
Another way to use arithmetic expressions is using the Unix program "expr", which was popular before Bash supported math. Similar to Arithmetic expansion, this command:

prints. Note that using "expr" requires an escape character "\" before the multiplication operator "*" and parentheses. Further note the spaces between each operator symbol, including the parentheses.

Numeric operators
In addition to the familiar notations  (addition) and   (subtraction), arithmetic expressions also support   (multiplication),   (integer division, described above),   (modulo division, the "remainder" operation; for example, 11 divided by 5 is 2 remainder 1, so   is  ), and   ("exponentiation", i.e. involution; for example, 24 = 16, so   is  ).

The operators  and , in addition to their "binary" (two-operand) senses of "addition" and "subtraction", have "unary" (one-operand) senses of "positive" and "negative". Unary  has basically no effect; unary   inverts the sign of its operand. For example,  evaluates to , and   evaluates to.

Referring to variables
Inside an arithmetic expression, shell variables can be referred to directly, without using variable expansion (that is, without the dollar sign ). For example, this:

prints. (Note that  is evaluated first, producing 5, and then it's multiplied by 7. If we had written   rather than , mere string substitution would have been performed;   equals 14 + 3, that is, 17 — probably not what we want.)

The previous example shown using "expr":

prints.

Assigning to variables
Shell variables can also be assigned to within an arithmetic expression. The notation for this is similar to that of regular variable assignment, but is much more flexible. For example, the previous example could be rewritten like this:

except that this sets  to   rather than to. Note that, although arithmetic expansion looks a bit like command substitution, it is not executed in a subshell; this command actually sets  to , and later commands can use the new value. (The parentheses inside the arithmetic expression are just the normal mathematical use of parentheses to control the order of operations.)

In addition to the simple assignment operator, Bash also supports compound operators such as  ,  ,  ,  , and  , which perform an operation followed by an assignment. For example,  is equivalent to. In each case, the expression as a whole evaluates to the new value of the variable; for example, if  is , then   sets both   and   to.

Lastly, Bash supports increment and decrement operators. The increment operator  increases a variable's value by 1; if it precedes the variable-name (as the "pre-increment" operator), then the expression evaluates to the variable's new value, and if it follows the variable-name (as the "post-increment" operator), then the expression evaluates to the variable's old value. For example, if  is , then   sets both   and   to  , while   sets   to   and   to. The decrement operator  is exactly the same, except that it decreases the variable's value by 1. Pre-decrement and post-decrement are completely analogous to pre-increment and post-increment.

Arithmetic expressions as their own commands
A command can consist entirely of an arithmetic expression, using either of the following syntaxes:

Either of these commands will set  to. Both styles of command return an exit status of zero ("successful" or "true") if the expression evaluates to a non-zero value, and an exit status of one ("failure" or "false") if the expression evaluates to zero. For example, this:

will print this:

zero non-zero

The reason for this counterintuitive behavior is that in C, zero means "false" and non-zero values (especially one) mean "true". Bash maintains that legacy inside arithmetic expressions, then translates it into the usual Bash convention at the end.

The comma operator
Arithmetic expressions can contain multiple sub-expressions separated by commas. The result of the last sub-expression becomes the overall value of the full expression. For example, this:

sets  to , sets   to  , and prints.

The  built-in actually supports multiple expressions directly without needing a comma; therefore, the following three commands are equivalent:

Comparison, Boolean, and conditional operators
Arithmetic expressions support the integer comparison operators,  ,   (meaning ≤),   (meaning ≥),   (meaning =), and   (meaning ≠). Each evaluates to  for "true" or   for "false".

They also support the Boolean operators  ("and"), which evaluates to   if either of its operands is zero, and to   otherwise;   ("or"), which evaluates to   if either of its operands is nonzero, and to   otherwise; and   ("not"), which evaluates to   if its operand is zero, and to   otherwise. Aside from their use of zero to mean "false" and nonzero values to mean "true", these are just like the operators,  , and   that we've seen outside arithmetic expressions. Like those operators, these are "short-cutting" operators that do not evaluate their second argument if their first argument is enough to determine a result. For example,  will not evaluate the   part, and therefore will not set   to , because the left operand of   is zero ("false").

And they support the conditional operator. This operator evaluates, and returns its result, if   is nonzero; otherwise, it evaluates   and returns its result.

These operators can be combined in complex ways:

Arithmetic for-loops
Above, we saw one style of for-loop, that looked like this:

Bash also supports another style, modeled on the for-loops of C and related languages, using shell arithmetic:

This for-loop uses three separate arithmetic expressions, separated by semicolons  (and not commas   — these are completely separate expressions, not just sub-expressions). The first is an initialization expression, run before the loop begins. The second is a test expression; it is evaluated before every potential loop iteration (including the first), and if it evaluates to zero ("false"), then the loop exits. The third is a counting expression; it is evaluated at the end of each loop iteration. In other words, this for-loop is exactly equivalent to this while-loop:

but, once you get used to the syntax, it makes it more clear what is going on.

Bitwise operators
In addition to regular arithmetic and Boolean operators, Bash also offers "bitwise" operators, meaning operators that operate on integers qua bit-strings rather than qua integers. If you are not already familiar with this concept, you can safely ignore these.

Just as in C, the bitwise operators are  (bitwise "and"),   (bitwise "or"),   (bitwise "exclusive or"),   (bitwise "not"),   (bitwise left-shift), and   (bitwise right-shift), as well as   and   and   (which include assignment, just like  ).

Integer literals
An integer constant is expressed as an integer literal. We have already seen many of these;, for example, is an integer literal denoting the number 34. All of our examples have been decimal (base ten) integer literals, which is the default; but in fact, literals may be expressed in any base in the range 2–64, using the notation  (with the base itself being expressed in base-ten). For example, this:

echo $(( 12 ))       # use the default of base ten (decimal) echo $(( 10#12 ))    # explicitly specify base ten (decimal) echo $(( 2#1100 ))   # base two (binary) echo $(( 8#14 ))     # base eight (octal) echo $(( 16#C ))     # base sixteen (hexadecimal) echo $(( 8 + 2#100 )) # eight in base ten (decimal), plus four in base two (binary)

will print  six times. (Note that this notation only affects how an integer literal is interpreted. The result of the arithmetic expansion is still expressed in base ten, regardless.)

For bases 11 through 36, the English letters A through Z are used for digit-values 10 through 35. This is not case-sensitive. For bases 37 through 64, however, it is specifically the lowercase English letters that are used for digit-values 10 through 35, with the uppercase letters being used for digit-values 36 through 61, the at-sign  being used for digit-value 62, and the underscore   being used for digit-value 63. For example,  denotes 256259 ( 62 × 642 + 36 × 64 + 3 ).

There are also two special notations: prefixing a literal with  indicates base-eight (octal), and prefixing it with   or   indicates base-sixteen (hexadecimal). For example,  is equivalent to , and   is equivalent to.

Integer variables
A variable may be declared as an integer variable — that is, its "integer attribute" may be "set" — by using this syntax:

After running the above command, any subsequent assignments to  will automatically cause the right-hand side to be interpreted as an arithmetic expression. For example, this:

is more or less equivalent to this:

except that the first version's  will continue to affect later assignments as well.

In the first version, note the use of quotes around the right-hand side of the assignment. Had we written, it would have meant "run the command   with the argument  , passing in the environment variable   set to  , and redirecting standard output into the file  "; which is to say, setting a variable's integer attribute doesn't affect the overall parsing of assignment statements, but merely controls the interpretation of the value that is finally assigned to the variable.

We can "unset" a variable's integer attribute, turning off this behavior, by using the opposite command:

The  built-in command has a number of other uses as well: there are a few other attributes a variable can have, and   has a few other features besides turning attributes on and off. In addition, a few of its properties bear note:

 * As with  and , the argument can be a variable assignment; for example,   sets  's integer attribute and sets it to.
 * As with  and , multiple variables (and/or assignments) can be specified at once; for example,   sets both  's integer attribute and  's.
 * When used inside a function,  implicitly localizes the variable (unless the variable is already local), which also has the effect of locally unsetting it (unless the assignment syntax is used).

Non-integer arithmetic
As mentioned above, Bash shell arithmetic only supports integer arithmetic. However, external programs can often be used to obtain similar functionality for non-integer values. In particular, the common Unix utility  is often used for this. The following command:

prints. Needless to say, since  is not so tightly integrated with Bash as shell arithmetic is, it is not as convenient; for example, something like this:

would, to support non-integers, become something like this:

Part of this is because we can no longer use an arithmetic for-loop; part of it is because referring to variables and assigning to variables is trickier now (since  is not aware of the shell's variables, only its own, unrelated ones); and part of it is because   communicates with the shell only via input and output.

title: Bash Shell Scripting/Shell Arithmetic


text:
Bash Shell Scripting/External Programs

Bash, as a shell, is actually a 'glue' language. It helps programs to cooperate with each other, and benefits from it. Always Search The Internet for what you want -- there are lots of command line utilities available.

Using whiptail
Whiptail is a program that allows shell scripts to display dialog boxes to the user for informational purposes, or to get input from the user in a friendly way. Whiptail is included by default on Debian and various other GNU/Linux distributions.
 * From the GNU/Linux Dictionary: whiptail is a "dialog" replacement using newt instead of ncurses.
 * From its README: whiptail is designed to be drop-in compatible with dialog(1), but has fewer features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.

See Bash Shell Scripting/Whiptail.

Using AWK
See AWK and.

Using sed
See sed and.

Using grep
See grep and.

Using man, info and help
These three programs are where you can find help or reference from. displays roff manual pages,  displays texinfo documentations, while   displays builtin helps.

Appending,   or   to a command-line program may also gives you the usage information. Possible synonyms include  and.

Just try these out: Pressing  in   and  's interfaces can also give you some direction.

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

title: Bash Shell Scripting/External Programs


text:
Bash Shell Scripting/Input-Output

The read built-in
From :

read: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

Read a line from the standard input and split it into fields.

read is great for both user inputs and reading standard inputs/piping.

An example of user input: Or even simpler:

Hello-world level example of stdout operation:

Just be creative. For example, in many ways read can replace whiptail. Here is an example, extracted from Arthur200000's shell script:

Shell redirection
In shells, redirection is used for file I/O. The most common usage of is to redirect standard streams (stdin, stdout and stderr) to accept input from another program via piping, to save program output as a file, and to suppress program output by redirecting a stream to.

title: Bash Shell Scripting/Input-Output


text:
Bash Shell Scripting/Index of Symbols

Logically negates the exit status of a pipeline. For example, if  returns , then   returns  , but is otherwise equivalent. Also supported by the   builtin, and inside conditional expressions. For example, if  is true, then   is false. Also supported in arithmetic expressions. For example, if  is nonzero, then   is  . See also   below.

Quotes an argument (or part of an argument) so that it is not split by whitespace into multiple arguments, but without preventing parameter expansion and command substitution internally. See also  below.

Introduces a comment (which continues to the end of the line). For example, the command  is equivalent to the command , because the comment   is removed.

Inside an arithmetic expression, an integer literal of the form   is interpreted in base. For example,  is binary 110110, i.e. fifty-four.

See also   below.

See also   below.

(Typically "shebang" when read aloud.) Used at the very beginning of an executable script to specify the interpreter that should be used to run it. For example, if the first line of  is , and   has executable permissions, then   is roughly equivalent to  .

The first line of a Bash script is generally either   or. (The former is generally considered preferable.)

Introduces various types of expansions, notably parameter expansion (as in  or  ), command substitution (as in  ), and arithmetic expansion (as in  ).

A variant of  (see above) that supports locale-specific translation. (Unless you're writing scripts for use in multiple languages, e.g. both English and French, you don't need to worry about this.)

The number of positional parameters (arguments to a script or function). For example, if a script is invoked as, then   will be. Builtins that modify positional parameters, such as  and , affect   as well.

The modulus operator. Returns the remainder resulting from integer division. E.g. 5%2 = 1

Ampersand. Commonly used to start a command in the background. E.g. Firefox &

Single quote. Used to quote text literally.

Open parenthesis. Used to denote the beginning of a subshell, among other things.

Closing parenthesis. Used to denote the "EOF" of a subshell.

Asterisk. Denotes multiplication. E.g. 5*2 = 10

Plus. Denotes addition. E.g. 5+2 = 7

Comma. Used for separation. E.g. ls file{1,2,3}

Hyphen. Denotes subtraction. E.g. 5-2 = 3

Full Stop.

Forward slash. Denotes integer division (e.g. 5/2=2) or part of a path (e.g. /home/user)

Colon.

Semicolon. Separates lines if no newline/EOL exists. E.g. echo hello; echo world

Open angle bracket. Used for input redirection

Equality sign. Used to assign variables and check equality

Closing angle bracket. Used for output redirection.

Question Mark.

At sign. Typically used as a variable containing all arguments passed to the environment as $@

Open square bracket. Used as a more visually appealing alternative to test. E.g. if [ condition ] ; then etc

Backslash. Most commonly used for escaping. E.g. rm file\ with\ a\ bunch\ of\ spaces.txt

Closing square bracket. Closes test enclosures

Caret.

Underscore.

Triggers command substitution; equivalent to, but is somewhat more error-prone.

Open curly brace. Used for specific variable expansion. E.g. (where var = "hello ") echo "${var}world" will print "hello world", echo "$varworld" will generate an error, expecting a variable called varworld.

Pipe. Used for redirecting input to output. Specifically, it takes the output of the command on the left hand side, runs the program on the right side, and then passes the contents of the first command's output to the second, as if it were being typed from a keyboard. 'ls -l | grep Desk' is equivalent to running "grep Desk", and then manually typing what ls -l would have output. Every press of the return key would then trigger grep until ^D is pressed to pass the EOF.

Closing curly brace.

Tilde. Typically used to refer to the home directory. Logged in as "mrwhite", cd ~ (or just cd) would go to /home/mrwhite. Logged in as another user, the same effect could be achieved with 'cd ~mrwhite'.

title: Bash Shell Scripting/Index of Symbols


text:
Bash Shell Scripting/History

Brian Fox began coding Bash on January 10, 1988, after Richard Stallman became dissatisfied with the lack of progress being made by a prior developer. Stallman and the Free Software Foundation (FSF) considered a free shell that could run existing shell scripts so strategic to a completely free system built from BSD and GNU code that this was one of the few projects they funded themselves, with Fox undertaking the work as an employee of FSF. Fox released Bash as a beta, version .99, on June 8, 1989, and remained the primary maintainer until sometime between mid-1992 and mid-1994, when he was laid off from FSF.

Since then, Bash has become by far the most popular shell among users of Linux, becoming the default interactive shell on that operating system's various distributions. It has also been ported to many other platforms.

title: Bash Shell Scripting/History


text:
User talk:2601:240:E000:4470:C9F2:E7D5:7047:C700

You cannot edit for 1 month due to disruptive editing. You are welcome to contribute constructively when editing privileges are restored. You may appeal this action with a reasonable argument by adding the text below.

--Xania   talk 02:31, 20 July 2022 (UTC)


text:
User talk:104.174.7.250

--Xania   talk 05:25, 20 July 2022 (UTC)

title: User talk:104.174.7.250


text:
User:Jenkowelten

Wikibooks, I am me, thanks for the heads up tho, I guess

title: User:Jenkowelten


text: Minecraft/Ocelot

title: Minecraft/Ocelot


text:
User:জয়শ্রীরাম সরকার/sandbox

স্য়ান্ডবক্স কী জিনিস আমি জানি না।

title: User:জয়শ্রীরাম সরকার/sandbox


text:
Template:Acton

This page incorporates text from the public domain cookbook Modern Cookery for Private Families by Eliza Acton.

title: Template:Acton


text:
Minecraft/Cooked Beef

Also known as "cooked steak" on older editions.

title: Minecraft/Cooked Beef


text:
Minecraft/Hunger

As expected from a survival game, hunger is a large part of Minecraft. Your hunger is shown above the hotbar on the right, as chicken drumsticks. You know if you are hungry if one is dark.

Note: the hunger bar will not show in creative mode, and will only drain on survival or adventure modes, but not in peaceful difficulty.

Hunger
Each drumstick represents two hunger points. As a point drops, half a drumstick turns black. E.g: 10 full drumsticks: full hunger; 1 and a half black drumsticks: 17 hunger; 7 black drumsticks: 6 hunger.

If hunger is above 17, you will regenerate health. If it is below 6, you cannot sprint. If it is on zero, you will take damage. On easy difficulty, you take damage until you are on 10 health. On normal difficulty, you lose health until you have one point. On hard difficulty, you can even die of hunger!

To replenish hunger, eat a food item.

Saturation
You cannot lose hunger if you have at least one saturation. You gain saturation from food items. You know it is zero if your hunger bar is shaking slightly.

Wasting food
Don't waste your perfectly good beef when on almost full hunger. Wait until four drumsticks are dark. If you are in a fight or on low health, eat if one and a half drumsticks are dark, or you won't regenerate health.

Getting hungry
Many things can drain your hunger bar. Taking damage, swinging an item or your fist, jumping, sprinting, building, mining and time.

title: Minecraft/Hunger


text:
AASB1060/Inventories

Inventories
This is the page for inventories disclosures information.

title: AASB1060/Inventories


text:
Minecraft/Health

Most games have hit points, health or life to define when your character dies. Minecraft uses "health".

Health
You can see how much health you have by looking at the hearts above-left of your hotbar. Each heart is two points of health.

If a heart turns black, you lost 2 health. If only half a heart turned black, you have lost 1 health.

Dying
If your health reaches zero, you die. This makes you lose everything in your inventory (unless you turned the "keep inventory" setting). It makes you also return to the last bed you slept in, if possible, or the world spawn (where you was when you started the game.

title: Minecraft/Health


text:
User talk:CharlesHoffmanCPA

Test
Welcome to Wikibooks, CharlesHoffmanCPA!

 First steps tutorial Wikibooks is for collaborative development of free textbooks.

You do not need technical skills to contribute. You can easily change most books. Please introduce yourself, and let us know what interests you.

If you already contribute at other Wikimedia projects, our Wikimedia Orientation should quickly get you started.

  Getting help
 * Read the Using Wikibooks book for a friendly introduction to the project, or our help pages for more information.
 * You can get friendly help from the community in the user assistance room or our IRC channel.
 * Upload freely licensed files to Wikimedia Commons. You may request permission to upload fair use files locally. Please include author and source information and a non-free use rationale for non-free files.

  Made a mistake?
 * You can restore a previously saved version.
 * Pages should follow the  naming convention.
 * Need to rename a page? Use the move tab (is available once your account is 4 days old - until then, ask for help).
 * To request a page be deleted, add to the top of the page.
 * Was a page you made deleted? Please read the deletion policy, and check the deletion log to find out why. Also check the RFD archives if applicable. You can request undeletion at WB:RFU, or ask the administrator who deleted the page.

  Goodies, tips and tricks
 * Please fill in the edit summary and preview your edits before saving.
 * Sign your name on discussion pages by typing ~~~~
 * User scripts can make many tasks easier. Look at the Gadgets tab of my preferences; check off the boxes for the scripts you want, and hit save!

(Would you like to provide feedback on this message?) The above was confusion on my part. I normally see small pages as tests or vandalism. I didn't notice your other contributions. Sorry. L10nM4st3r / Roar at me 21:24, 20 July 2022 (UTC)

title: User talk:CharlesHoffmanCPA


text:
Talk:Information and Communication Technologies for Poverty Alleviation/Development Strategies and ICTs

Text ends abruptly
This chapter has an issue, in that it appears to be incomplete. The text ends mid-sentence at the current end of the chapter. This import should be completed. Mbrickn (discuss • contribs) 19:24, 20 July 2022 (UTC)


text:
Cookbook:Christmas Pudding I

| British cuisine

Christmas pudding is a dessert served typically around the Christmas festive period and on Christmas day in the United Kingdom and other Commonwealth countries such as Australia, New Zealand, South Africa, and Canada. Outside of this festive period, it is known as a plum pudding which can have further recipe variations as well.

Pudding ingredients

 * 100 g (3.5 oz / ¾ cup) self-rising flour
 * 250 g (8.8 oz / 2½ cups) raisins
 * 250 g (8.8 oz / 2½ cups) currants
 * 25 g (0.88 oz / ¼ cup) candied fruit peel
 * 1 small cooking apple, chopped
 * 1 orange, zested and juiced
 * 1 lemon, zested and juiced
 * 75 g (2.6 oz / ⅓ cup) unsalted butter plus extra for greasing
 * 100 g (3.5 oz / ½ cup) muscovado sugar
 * 2 large eggs
 * 1 tsp mixed spice
 * 40 g (1.4 oz / ½ cup) breadcrumbs
 * 40 g (1.4 oz / ½ cup) almonds, chopped roughly

Flavour options

 * 3 tbsp brandy, rum, or sherry and some extra for flaming

Brandy butter ingredients

 * 350 g (12 oz / 1½ cups) brandy butter

Equipment

 * 1.5 L pudding basin
 * Large mixing bowl
 * 3 medium mixing bowls
 * 1 mixing spoon
 * Baking paper
 * Kitchen foil

Procedure

 * 1) In a mixing bowl, combine the raisins, currants, candied peel, and apple with zest and juice from the lemon and orange. Stir well and leave in the bowl for an hour for the flavours to combine.
 * 2) In another bowl, cream together the butter and sugar using a spoon. When fluffy, slowly add in the eggs.
 * 3) Sift the flour and spice together in another bowl. Add this bit by bit into the creamed butter and sugar, folding it in with the breadcrumbs and almonds. Then fold in the fruit mixture.
 * 4) Liberally butter the pudding basin and place a small, round piece of baking paper in the bottom of the basin.
 * 5) Slowly add the mixture into the basin and level the mixture out. Cut a layer of baking paper and foil for the top, leaving a crease in the middle so the pudding can expand, place it on top of the basin, and secure it with string.
 * 6) Cook the pudding by either:
 * 7) * Steaming for 8 hours: put the pudding into a steamer with simmering water. Cover with a lid and top up the water level as needed for 8 hours.
 * 8) * Boiling for 7 hours: To boil, place a metal jam lid, or any kind of circular, thin metal object, at the bottom of a large pan to be a trivet. Create 2 strips of large string or foil and place them on the trivet so you can easily pick up your pudding once its cooked. Make sure there is enough to hang over the side of your pot, so its easy to get a hold of. Then, slowly place your pudding onto the trivet and pour boiling water in so that it reaches halfway up the side of your pudding bowl. Cover with a lid and let the water simmer for 8 hours until the pudding has reached a dark deep brown, adding more water as needed.
 * 9) Remove your pudding and leave to cool for 1–2 hours. Once cool, remove the paper and foil and replace it with fresh paper and foil. Store in a cool, dry area. The pudding can be frozen for up to 1 year.
 * 10) To serve, steam or boil your pudding for two hours to reheat. Once reheated, turn it out onto a serving plate.
 * 11) To flame, warm a small amount of brandy in a pan, pour it over the hot pudding once at the table and light it with a matchstick or other easily used flame. Place your bowl of brandy butter on the table for people to enjoy with your pudding.

title: Cookbook:Christmas Pudding I


text:
Talk:Information and Communication Technologies for Poverty Alleviation/Annex

Conversion to tables
Would it be a good idea to convert these jpgs to tables? They consist of textual information, so it may be more suitable for screen readers, etc to do that instead of adding alt text. Mbrickn (discuss • contribs) 19:34, 20 July 2022 (UTC)


text:
Cookbook:Christmas Pudding II

Christmas pudding is a dessert served typically around the Christmas festive period and on Christmas day in the United Kingdom and other Commonwealth countries such as Australia, New Zealand, South Africa, and Canada. Outside of this festive period, it is known as a plum pudding which can have further recipe variations as well.

The following is a Sussex recipe for Christmas pudding that is known to have been in annual use for over 50 years without a break, and is believed to have been used largely unaltered since the late nineteenth century, despite the difficulties in gathering the ingredients during the rationing in force in the UK in two world wars. All measurements are in imperial units (with metric measurements in brackets), generally meaning that volume measurements are 20% larger than with the Queen Anne units used in the USA. Originally, twice or even four times these quantities would have been made.

The pudding needs to be made and cooked well in advance, to allow the flavours to mix (and to save the cook labour on Christmas Day); it is merely reheated when it is to be eaten.

Ingredients

 * ½ lb (225 g) raisins
 * ¾ lb (340 g) currants
 * ½ lb (225 g) sultanas
 * ½ lb (225 g) white granulated sugar (or less)
 * ¾ lb (340 g) shredded suet (can be vegetarian; see note below)
 * ½ lb (225 g) breadcrumbs
 * ¼ lb (110 g) crystallised peel
 * 2 tsp cinnamon
 * 2 oz (55 g) almonds, chopped but not too small
 * ⅓ cup (about 60 g) flour
 * ⅓ pint (about 190 ml) milk
 * 3 large eggs, beaten
 * Brandy
 * Juice and rind of 1 lemon
 * ⅓ nutmeg pod, grated

Procedure

 * 1) Mix all ingredients together, stirring well to combine.
 * 2) Divide batter between 2 pudding basins. Cover with cloths or buttered greaseproof paper, tied tightly in place with string.
 * 3) Steam for 7 hours, then cool and keep until Christmas Day.
 * 4) To prepare for serving, steam for 2 hours. Times can be reduced by using a pressure cooker.

Notes, tips, and variations

 * Suet can be difficult to find in some countries, like the USA. Butter is an excellent substitute. To incorporate the butter in the mixture, melt it in a microwave or saucepan, and pour into your mixing bowl.
 * It was common practice to include small silver coins in the pudding mixture, which could be kept by the person whose serving included them. The usual choice was a silver 3d piece (the threepence), or a sixpence. However this practice fell away once real silver coins were not available, as it was believed that alloy coins would taint the pudding.

 * Once turned out of its basin, the Christmas pudding is traditionally decorated with a spray of holly, then dowsed in brandy, flamed, and brought to the table ceremonially, where it should be greeted with a round of applause. It is best eaten with brandy butter, cream (lemon cream is excellent), or custard. Christmas puddings keep very well, and many families keep one back from Christmas to be eaten at another celebration later in the year.

title: Cookbook:Christmas Pudding II


text: Applied Ecology/Printable version

title: Applied Ecology/Printable version


text:
AASB1060/Investments in Associates

Investments in Associates
This is the page for investments in associates disclosures related information.

title: AASB1060/Investments in Associates


text:
AASB1060/Investments in Joint Ventures

Investments in Joint Ventures
This is the page for investments in joint ventures disclosures related information.

title: AASB1060/Investments in Joint Ventures


text: Bash Shell Scripting/Print version

title: Bash Shell Scripting/Print version


text:
User talk:2401:4900:5AB6:CF0C:2DDE:85D5:399:D9C9

--Xania   talk 10:38, 21 July 2022 (UTC)


text:
English-Hanzi/Tomatoes

 * 1) 西红柿
 * 2) 番茄

title: English-Hanzi/Tomatoes


text:
Minecraft/String

Once placed, string is almost invisible, good for placing under carpets to make them appear to float.

Use
Apart from its value in crafting, string has one functional use: placing string in between tripwire hooks connects them, and steping on the string (but not the hook), breaking the string (but not the hook) or allowing an item to drop on the string causes both tripwire hooks to emit a redstone signal of 15, until no more preassure is applied (or for 0.2 seconds if you broke the string). This is good for making booby traps. A tripwire may not be more than fifty blocks long. Remember to hide the tripwire hooks though, they stand out as clearly as blue in a red background in almost every case. Simply put the hooks in a one block deep hole in the walls. See also: making traps.

title: Minecraft/String


text:
Template:Reviewer

Thanks for your contributions. You have recently been promoted to reviewer, meaning you can:
 * Review edits made by others
 * Use rollback
 * Move pages without leaving a redirect

Have a good day,

Use when a user is automatically promoted to reviewer (not when promoted manually), since they don't get notified.

Supports one argument:
 * auto: if set to anything, it says the user has been auto-promoted, instead of promoted.

Creates:

title: Template:Reviewer


text:
Stardew Valley/Fishing

Fishing is available in Stardew Valley starting which a cutscene with Willie, who runs the fish shop. Willie sends you a letter the day after you arrive inviting you to Pelican Beach, and the scene starts as you enter. Willie gives you a Bamboo Rod, which is the basic level rod, but if you're new to the game then it's a good idea to buy a Practice Rod from him as well. Use the practice rod until you been able to practice reeling in fish for a while.

Before starting
Before starting you should probably have some idea when, where, and for how long you're going to be fishing. Store any unneeded items in chests before you leave the farm, especially if you haven't upgraded your backpack yet. Fishing tends to fill up your inventory quickly, so it's best to remove any clutter before you start. If you plan on fishing a long time, it may help to bring some food with you to replenish your energy.

Fishing mechanics
To start fishing, first make sure you have a pole selected in your inventory. Stand facing a body of water, and click on the water and hold to start casting; you can also press C. While casting, you'll see a meter moving left and right, and changing from red to green and back. The further to the right the meter, in other words the more green it is, when you release the mouse, the stronger the cast will be, and the farther the line will travel. The idea is to cast so the line lands as far as possible from the nearest land, and the stronger your cast, the farther you can get the line.

Once the line is cast, just wait until you get a nibble on the line. You'll a kind of chirping sound and see an exclamation point when this happens, press the mouse button to set the hook. You must set the hook quickly, otherwise whatever was on the line will get away. There are three types of things you might get when you set the hook:
 * Various types of trash - This gets pulled out of the water without any struggle. As implied by the name, it's nominally worthless. But don't throw it out because there is a way to turn it into useful items.
 * Algae or seaweed (depending on location) - This also gets pulled out of the water without any struggle. This has several uses, for example you can eat it to restore a small amount of energy.
 * Fish - This does put up a struggle and you have to play the fish in order to reel it in successfully.

Reeling in a fish
A vertical bar appears representing the water appears, and a fish appear representing the location of the fish in the water. You control a green segment on the bar, pressing the mouse button (or C) raises the bar, and releasing the button lets the bar drop down. The idea is to keep the bar under the fish as much as possible. When the fish is over the bar the meter on the right will go up meaning you are reeling in the fish. When the fish is not over the bar then the meter goes down, meaning the fish is starting to free itself. If you manage to get the meter full, then you pull the fish out of the water, but if you let the meter get to the bottom then the fish escapes.

Fish vary widely in difficulty so don't be discouraged if you lose a fish every so often. First, it takes practice to judge when and how long to hold down the button/key in order to place the bar where you want. You also have to master the technique of lightly tapping on the button/key to hold the bar in place. Meanwhile, the fish moves around in the water so you have to keep moving the bar to keep it under the fish. The more difficult the fish, the more and faster it moves around. The easiest fish to catch is the Carp; is moves very slowly and often stays near the bottom. So it's an idea fish to target if you're a beginner at fishing. As your Fishing Level increases, the green bar becomes larger, and fishing more difficult fish becomes more manageable.

Game time stops while you're reeling a fish, and continues again when you either pull it out of the water or it escapes.

Bubbles
Occasionally you may see bubbles on the water. This means there is a school underneath and if you can get you line to land on it, the fish take much less time to nibble at the line. The bubbles sparkle when you successfully land the line on them.

Chests
Sometimes when you hook a fish, you'll see a treasure chest on the fishing bar as well as the fish. The chest does not move, but otherwise it's reeled in about the same way; when the green bat is under it the chest meter increases and when that meter fills up you've caught the chest. But you can't pull up the chest by itself, in other words you have to successfully real in the fish to actually bring up the chest. So before going after a chest, it's best to get the fish meter almost to the top so you have time to fill the chest meter while the fish meter is decreasing. This is much easier when the fish is easy, and for difficult fish you may want to just ignore a chest if it appears.

Most of the time chests contain token items such as coal. But many different items can be "caught" this way, including weapons and armor.

Fish size and quality
When you reel in a fish, the game records its size and lets you know if it's a size record for that type of fish. You can see the record size in the Fish Collection tab, but otherwise there isn't any difference. Fish also have levels of quality. The higher your Fishing level you greater your chances of catching high level fish. Getting you line to hit far way from the nearest land will improve the average size and quality of the fish you catch.

title: Stardew Valley/Fishing


text:
User:Akhilcand

I have experience in offshore development, project planning, and team management. I am committed to working with my clients to ensure that the final product meets their expectations and comes with a competitive edge. I have worked on a variety of development projects for diverse niches from eCommerce to hospitality, government, finance, manufacturing, retail, transportation and more. Tasks: - Developing software products for corporate clients (B2B) or private clients (B2C). - Participating in IT projects, supporting the client's implementation process. - Building and maintaining complex IT systems with a focus on scalability, performance, and security.

title: User:Akhilcand


text:
Minecraft/Cobblestone

Very common, cobblestone is the next stage up after wood, being more durable and impervious to flame. Cobblestone is great to build with in the early game, as it offers relatively high durability compared to wood or dirt with only a little effort. This also frees up wood to be used more exclusively for crafting or decoration. Shortly after the player begins mining in earnest, they will quickly begin to accumulate cobblestone, and will often find themselves with much more than is immediately needed. Even later in the game, cobblestone is often used for temporary structures, or for very large external structures where some durability is desired (For example roadways).

Obtaining
Cobblestone make up dungeons, jungle temples, and outposts to name a few and is dropped by stone.

You can also get it when flowing water touches flowing lava.

Crafting
Cobblestone is used in a lot of recipes such as dispensers, droppers, furnaces, and levers (etc.).

title: Minecraft/Cobblestone


text:
Minecraft/Logs

Logs form the base of trees and are one of the first blocks you should mine.

They can be turned to four planks in any crafting grid.

They come in several types:
 * Oak
 * 1) Birch
 * 2) Spruce
 * 3) Jungle
 * 4) Dark Oak

The following are found in the ../Nether/, are called "stems" instead of logs, and are not flammable, unlike the above:
 * 1) Crimson
 * 2) Warped

title: Minecraft/Logs


text:
User:Rustyboss1

Bitcoin transactions blocks ect

title: User:Rustyboss1


text:
Minecraft/Stick

Sticks are used in many crafting recepies. Without sticks, you can't get anywhere.

Obtaining
Sticks can be obtained by breaking dead bushes and killing witches.

On bedrock edition, sticks can also drop from leaves.

title: Minecraft/Stick


text: How to Use Rhino Mocks/Printable version


text:
User talk:2600:387:8:7:0:0:0:AA

You cannot edit for 2 days due to disruptive editing. You are welcome to contribute constructively when editing privileges are restored. You may appeal this action with a reasonable argument by adding the text below.

--Xania   talk 08:52, 23 July 2022 (UTC)

title: User talk:2600:387:8:7:0:0:0:AA


text:
Cookbook:Blind-baking

Blind-baking is a cooking technique where food casing, such as a pastry crust or tart shell, is baked first without the filling.

title: Cookbook:Blind-baking


text: Samarpan/Printable version

title: Samarpan/Printable version


text:
Stardew Valley/Cooking

You can start cooking after complete the first farmhouse upgrade. In order to cook you need the recipe, which can come from different sources, and the ingredients. The monetary value of the result is usually less than the ingredients, so cooking is not a good way to increase your profits. But cooking does increase the food value of the ingredients, and many prepared dishes give you buff useful for fishing, mining, etc. Many dishes make good gifts as well.

The Queen of Sauce
The main source of recipes is watching The Queen of Sauce on your television. This airs with a new episode every Sunday for the first 2 years, and then episodes are re-run after that. Randomly selected re-runs are shown on Wednesdays.

Recipes from friendly villagers
Most of the villagers send you recipes after reaching certain levels of friendship with them. You receive the recipe in the mail overnight.

3 heart recipes

 * Caroline - Parsnip Soup
 * Clint - Algae Soup
 * Demetrius - Fried Mushroom
 * Emily - Salad
 * George - Fried Eel
 * Gus - Salmon Dinner
 * Jodi - Fried Calamari
 * Kent - Crispy Bass
 * Lewis - Spaghetti
 * Linus - Sashimi
 * Marnie - Pale Broth
 * Pam - Cheese Cauliflower
 * Pierre - Blueberry Tart
 * Shane - Pepper Poppers
 * Willy - Chowder

7 heart recipes

 * Caroline - Vegetable Stew
 * Clint - Bean Hotpot
 * Demetrius - Autumn's Bounty
 * Emily - Red Plate
 * Evelyn - Rice Pudding
 * George - Spicy Eel
 * Gus - Cranberry Sauce
 * Jodi - Ice Cream
 * Kent - Super Meal
 * Lewis - Eggplant Parmesan
 * Linus - Fish Taco
 * Marnie - Rhubarb Pie
 * Pam - Stuffing
 * Robin - Pumpkin Soup
 * Sandy - Tom Kha Soup
 * Willy - Fish Stew
 * Shane - Strange Bun

In addition, Willy sends you Escargot at 5 hearts and Lobster Bisque at 9 hearts. Evelyn gives you a recipe for Cookie in person in a cutscene that can take place after you reach 4 hearts.

title: Stardew Valley/Cooking


text:
Adventist Youth Honor Book/Nature and science/Scorpions

This is to learn about scorpions. Here are some vicous scorpions that you may wish to draw and color.

Why humans are a   threat  of scorpions?
Yes. Both men are threats.

Refercenes
Refers are not listed yet.


text:
Cookbook talk:Policy/Recipe layout

Is this necessary? Every recipe is different. The fewer rules and polices we have here, the better. This is just not needed.--Xania   talk 14:34, 24 July 2022 (UTC)

 * I agree with @Xania that this page does not seem needed, since I think everything is already specified in Cookbook:Policy/Recipe template. @Jamzze is there a particular reason you made this separate page? -- Nostriker (discuss • contribs) 03:20, 26 July 2022 (UTC)
 * The template is rather long, getting a top-level initial view of the main parts requires a bit of scrolling. Maybe a summary of the main parts can be added to the template, and this page deleted? Jamzze (discuss • contribs) 08:24, 26 July 2022 (UTC)

title: Cookbook talk:Policy/Recipe layout


text:
User:Jamzze

Hi all - my user page - Jamzze

title: User:Jamzze


text:
User:Henkle2

I am looking for the owner of the following entry:

User:Stampalbumbuddy/sandbox

"POS-C.43 Official U.S.A. Combat Insignia Stamps; 1943 reissue; ... 200 postamps in 5 sheets of 40"

I have all of the other 251 Combat Insignia stamps from Volumes 1 - 5, but I would like scans of these 200 "Volume 6" stamps in order to fully document this entire 1942-1944 series of Poster Stamps at: ...

Sorry, I am not allowed to include the URL's where I am documenting these stamps and the covers they were serviced on, but you can find the page by searching for:

"Combat Insignia" folklib

Thank you.

title: User:Henkle2


text: Minecraft/Hoglin

title: Minecraft/Hoglin


text:
Wikibooks:Reading room/Archives/2022/June

Relocating the table of contents
The table of contents for book chapters have been pulled out of the body recently :( and are turning up at the bottom of the navigation column where the are unseen and, IMHO, irrelevant. How can I return the table of contents back to the body of the chapter so that it is inline with the rest of the text?  Or, failing that, how can I move the table to the top of the navigation column above the site material? Larsnooden (discuss • contribs) 11:36, 30 April 2022 (UTC)

 * Please see WB:TOC, it should explain what you need to do. -- Jules (Mrjulesd) 11:48, 30 April 2022 (UTC)

 * I have seen that, thanks, but it does not address the problem I see. The link's text does not say more than, "With , it is placed at the same position where this code is placed".  I do have the magic word  in several chapters and that setting is still overridden and the TOC still ends up off to the bottom left in the navigation column and not where the magic word is placed. Larsnooden (discuss • contribs) 12:00, 30 April 2022 (UTC)

 * Can you provide some examples? One tip that might be helpful is the template Clear which clears floating elements such as TOCs from other elements, and might help with placements. -- Jules (Mrjulesd) 12:10, 30 April 2022 (UTC)

 * Sure. The chapter on  Proxies and Jump Hosts has the magic  word in place but the TOC is still shown down below the site navigation menu instead of inline.  Most of the other chapters, such the one on  Certificate-based Authentication, do not have  and have the same problem. --  Larsnooden (discuss • contribs) 12:18, 30 April 2022 (UTC)

 * Ah I think it might be a problem your end. On Certificate-based Authentication the TOC appears to me as coming after the first two paragraphs. On   Proxies and Jump Hosts it comes after the first sentence. Tested on Firefox and Chrome browsers on a Windows 7 system. -- Jules  (Mrjulesd) 12:54, 30 April 2022 (UTC)

 * No. The problem is definitely in the wikibook site.  I have not changed anything on my end recently nor have the  markers been moved.  Something broke there and needs to be repaired.  Thanks.  -- Larsnooden (discuss • contribs) 12:59, 30 April 2022 (UTC)

 * If that's the case, can you explain to me why I can't replicate the problem on my system? One thing you could try is to bypass your cache. -- Jules (Mrjulesd) 13:35, 30 April 2022 (UTC)

 * Dunno. I can't condone the use of Vista7 in any context, so I don't run it. But back to the problem here, I have cleared the cache, again, no luck.  The problem rendering seems to be with Firefox 91.8.0esr-1 for Debian/Devuan om amd64 and maybe other versions of Firefox.  Strangely, if I fetch the page using wget 1.21.3-1+b1 or curl 7.82.0-2 and then open the resulting file with Firefox, it renders as it should.  Otherwise, lynx 2.9.0dev.10-1, Chromium 101.0.4951.41-2, and Brave 1.38.109 (all on amd64) all render the page correctly.  Just Firefox is the exception.  So maybe that narrows the possibilities? -- Larsnooden (discuss • contribs) 04:03, 1 May 2022 (UTC)
 * I saved the page via Firefox and did a diff with files saved via the other web clients. There are a lot of differences so it seems that Firefox is getting served a very different page than the others, contrary to that which is expected.  I haven't drilled down into all the deviations, but the second line differs in that Firefox gets the vector-sticky-header-enabled class, the others don't.  -- Larsnooden (discuss • contribs) 07:09, 1 May 2022 (UTC)

 * Pretty curious. Just tested those pages on Android using Firefox and Chrome, and they render correctly. So none of my devices or browsers have this problem.
 * So it's not a wikitext coding problem on the pages in question anyway, but could be some kind of bug going on, but whether it is client or server side is difficult to say.
 * Have you tried to w:WP:PURGE the pages in question using your problematic Firefox browser? If you are running the gadget LiveUTC clock, clicking on the clock time does this automatically.
 * Otherwise, it's possible the folks at w:WP:VPT might be able shed more light on this. -- Jules (Mrjulesd) 08:19, 1 May 2022 (UTC)
 * It seems tied somehow to Firefox (in this case 91.9.0esr-1) because Chromium and its derivative, Brave, render the table of contents in the correct location. Like mentioned above, maybe the server is delivering very different content to each type of browser.  Though a cursory attempt at using a user-agent switching plug-in seemed to make no difference.  --  Larsnooden (discuss • contribs) 18:29, 21 May 2022 (UTC)
 * Any suggestions on solutions or work-arounds? The problem is still present in Firefox.  The problem is not present in Curl, Wget, Lynx, Dillo, TBB, Chromium, or Brave.  I don't have too many other browsers to test aside from those.  It is interesting that Curl and Wget can fetch a page which can be rendered properly by Firefox.  So, again, it looks like the site might be serving broken material to Firefox and only Firefox.  -- Larsnooden (discuss • contribs) 03:28, 4 June 2022 (UTC)
 * have you tried w:WP:VPT? I don't think anyone here knows of a worakaound, but there are a lot of clever users there that might be able to help. -- Jules (Mrjulesd) 21:46, 4 June 2022 (UTC)

Proposal on how to keep the Authors and Contributors page of every book that has one up to date
Hi everyone, I have done quite a lot of editing in incubator.wikimedia (before Middle English Wikipedia was deleted), and there there’s a button in every test wiki “check test wiki activity”. It works based on the prefix of the test wiki, but it can also be used to inspect prefixes in other WMF wikis including Wikibooks. I have used it to update Minecraft resource gathering/Authors & Contributors (see special:MobileDiff/4071172). A more experienced user can implement a bot to do this task automatically (btw I’m interested in learning how wiki bots work). Here’s the tool. You can type the name of your book. - 🇺🇦 Слава🇺🇦Україні 🇺🇦 Героям🇺🇦Слава🇺🇦 (talk)🇺🇦 10:31, 6 June 2022 (UTC)

Desktop Improvements update
Hello. I wanted to give you an update about the Desktop Improvements project, which the Wikimedia Foundation Web team has been working on for the past few years. Our work is almost finished! 🎉
 * Making this the new default

We would love to see these improvements become the default for readers and editors across all wikis. In the coming weeks, we will begin conversations on more wikis, including yours. 🗓 We will gladly read your suggestions!

The goals of the project are to make the interface more welcoming and comfortable for readers and useful for advanced users. The project consists of a series of feature improvements which make it easier to read and learn, navigate within the page, search, switch between languages, use article tabs and the user menu, and more. The improvements are already visible by default for readers and editors on more than 30 wikis, including Wikipedias in French, Portuguese, and Persian.

The changes apply to the [ Vector] skin only, although it will always be possible to revert to the previous version on an individual basis. [ Monobook] or [ Timeless] users will not notice any changes.

 * The newest features
 * Table of contents - our version is easier to reach, gain context of the page, and navigate throughout the page without needing to scroll. It is currently tested across our pilot wikis. It is also available for editors who have opted into the Vector 2022 skin.
 * Page tools - now, there are two types of links in the sidebar. There are actions and tools for individual pages (like Related changes) and links of the wiki-wide nature (like Recent changes). We are going to separate these into two intuitive menus.
 * How to enable/disable the improvements
 * It is possible to opt-in individually in the appearance tab within the preferences by selecting "". Also, it is possible to opt-in on all wikis using the global preferences.
 * On wikis where the changes are visible by default for all, logged-in users can always opt-out to the Legacy Vector. There is an easily accessible link in the sidebar of the new Vector.

 * Learn more and join our events

If you would like to follow the progress of our project, you can subscribe to our newsletter. You can read the pages of the project, check our FAQ, write on the project talk page, and join an online meeting with us.

Thank you! SGrabarczuk (WMF) (talk) 16:59, 21 June 2022 (UTC)

Giancoli Physics
I am working on a physics textbook based on Giancoli Physics Principles with applications WalkingRadiance (discuss • contribs) 20:05, 26 June 2022 (UTC)

 * I have a draft at Physics Principles with Applications.
 * I have requested express copyright permission from Douglas Giancoli WalkingRadiance (discuss • contribs) 20:06, 26 June 2022 (UTC)


text:
Javagony

Table of Contents

 * 1) Preface
 * 2) Conditions: Comparing 2 numbers
 * 3) For loop
 * 4) Other conditions and loops
 * 5) Common programming problems in Javagony
 * 6) Conclusions
 * 7) External links
 * 8) Authors & Contributors

title: Javagony