text:
Guide to Unix/Commands/Miscellaneous

sync
sync write memory buffers to disk

Example: Sync has no options, doesn't display any messages $ sync

Tips:

It is always good to type sync a couple of times, one the important functions of sync is to update your superblock information.

The sync calls sync Unix system call and exits with success code '0' or '1' if it fails. These exit codes stored in $? variable.

$ sync $ echo $? 0 The above example shows that sync was successful.

Links:
 * sync, freebsd.org
 * sync, manpages.ubuntu.com
 * 14.4 sync in GNU Coreutils manual, gnu.org

echo
echo outputs its parameters to the standard output.

Examples: $ echo "hello world" hello world

Tips: Some common echo usage:

Check a shell variable: $ echo $EDITOR emacs

Check the parameters passed in the previous command: $ ls -l ......... $ echo $_ -l

Check the current parent process: $ echo $0 bash Check the exit code of the last command: $ echo $? 0

Create a empty file (same as touch /tmp/newfile): $ echo "" > /tmp/newfile

Create a new file with some text: $ echo "exec fluxbox" > ~/.xinitrc

Add (append) a new line to end of file:

$ echo "A New Line" >> /tmp/newfile

Links:
 * echo, opengroup.org
 * echo man page, man.cat-v.org
 * 15.1 echo in GNU Coreutils manual, gnu.org

printf
Produces formatted output, richer than echo.

Examples:
 * printf Hello world
 * Outputs Hello world, with no final newline.
 * printf "Hello "; printf "world"
 * As above, with no newline to separate Hello and world.
 * printf "Hello world\n"
 * Outputs Hello world, with a final newline via \n.
 * printf "Hello\tworld"
 * Outputs Hello, then tab character, then world. Other escape sequences supported include \\, \n, \r, and more.
 * printf "Hello\011world"
 * As above: 011 is the octal number of the tab character.
 * printf "%0x" 255
 * Outputs ff, that is, 255 converted to hex.
 * printf "%s %0x" Hex: 255
 * Takes "Hex:" as the 1st argument to be formatted using %s and 255 to be the 2nd argument to be formatted using %0x.
 * printf "%s\n" 1 2 3 4 5
 * Outputs the integers 1,..., 5, one integer per line. Thus, feeds the 2nd to last argument into the format string as if in a loop.
 * printf "%s-%s\n" 1 2 3 4 5 6
 * Outputs lines containing 1-2, 3-4, and 5-6. Thus, repeatedly lets the format string consume as many arguments as it needs.
 * printf "%s-%s-%s\n" 1 2 3 4
 * Outputs lines containing 1-2-3 and 4--. Thus, the arguments missing to provide complete triplets are treated as empty.
 * printf "%i-%i-%i\n" 1 2 3 4
 * Outputs lines containing 1-2-3 and 4-0-0. Thus, the arguments missing to provide complete triplets are treated as zeros.
 * printf "%o" 255
 * Outputs 377, octal of 255.
 * printf "%X" 255
 * Outputs FF, hex of 255 with capital letters.

Links:
 * printf, opengroup.org
 * printf, freebsd.org
 * 15.2 printf in GNU Coreutils manual, gnu.org

cal
Outputs a calendar, per default for the current month. If followed by a year, outputs calendar for that year; if followed by a month and a year, outputs a calendar for that period. POSIX supports no options: all options are extensions. The options of linux-util cal, GNU gcal and FreeBSD cal are generally incompatible.

Introductory examples, covered by POSIX:

$ cal April 2004 Su Mo Tu We Th Fr Sa              1  2  3 4 5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

$ cal 01 2007 January 2007 Su Mo Tu We Th Fr Sa     1  2  3  4  5  6 7 8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

More examples for POSIX cal:
 * cal 2004
 * Outputs a calendar for the whole year 2004.

Examples for util-linux cal:
 * cal Mar 2000
 * Outputs March of year 2000.
 * cal -3
 * Outputs current, previous and next month.
 * cal -3 04 2004
 * Outputs April 2004, as well as the previous (March) and following (May) month. Works in util-linux and FreeBSD.
 * cal -1
 * Outputs the current month, default per POSIX.
 * cal -n 2 06 2020
 * Outputs the calendar for June (06) and July, thus, for 2 months starting with the month entered.
 * cal -j
 * Outputs this months calendar with day-of-year number (counted from January 1st) rather than the date
 * cal -w
 * Outputs week number in addition to the daily calendar.

Examples for GNU gcal:
 * gcal
 * Outputs current month.
 * gcal.
 * Outputs current, previous and next month.
 * gcal Jan
 * Outputs current January.
 * gcal Jan-Mar
 * Outputs current January through March.
 * gcal Jan 2000
 * Outputs the January of 2000.
 * gcal -K
 * Outputs week number in addition to the daily calendar.

Tips: The Gregorian Calendar was adopted in the British Empire in 1752. The 2nd day of September 1752 was immediately followed by the 14th day of September: $ cal 9 1752 September 1752 Su Mo Tu We Th Fr Sa       1  2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Links:
 * cal, opengroup.org
 * cal man page, man.cat-v.org
 * cal, freebsd.org
 * cal in util-linux, man7.org
 * GNU gcal manual, gnu.org
 * , wikipedia.org
 * cal.c in util-linux, github.com
 * gcal.git, git.savannah.gnu.org
 * ncal.c in freebsd-src, github.com

date
date displays the current date and time.

Example:

$ date Mon Jun 26 12:34:56 CDT 2006

Links:
 * date, opengroup.org
 * date man page, man.cat-v.org
 * 21.1 date in GNU Coreutils manual, gnu.org

time
time time a program

Example: $ time real   0m1.818s user   0m0.770s sys    0m0.210s

Links:
 * time, opengroup.org
 * time man page, man.cat-v.org

from
from display the names of those who sent you mail recently

Example: $ from From andy@box.po Sat Feb 05 08:52:37 2005 From andy@box.po Sat Feb 05 08:53:52 2005

Count the number of mail in your mailbox $ from -c There are 2 messages in your incoming mailbox.

Links:
 * from, freebsd.org
 * 2.3 frm and from in GNU Mailutils Manual, gnu.org

mail
mail allows you to read and write emails.

Example: $ mail No mail for user. $ mail user2 Subject: What's up? Hi user2, you can delete this rubbish by pressing 'd'. Cc: user

Tips: Note that you need to press enter then ctrl+d to confirm.

$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/user": 1 message 1 new >N 1 user@unix.com Tue Jun 27 12:34 16/674 "What's up?" &

Tips: Press enter to read.

Links:
 * mail man page, man.cat-v.org
 * 2.4 mail in GNU Mailutils Manual, gnu.org

clear
Clears the screen of the terminal. Takes no arguments. Keywords: cls.

Links:
 * clear man page, man.cat-v.org

seq
Outputs sequences of numbers, even floating point numbers. Seems not covered by POSIX.

Examples:
 * seq 10
 * Outputs integers 1 to 10, one per line.
 * seq 2 10
 * Outputs integers 2 to 10.
 * seq 3 2 10
 * Outputs integers 3 to 10 with step 2, and therefore, 3, 5, 7, and 9.
 * seq -5 5
 * Outputs integers -5 to 5
 * seq 0.5 0.1 1
 * Outputs numbers 0.5 to 1 with step 0.1: 0.5, 0.6, 0.7, 0.8, and 0.9 (why not 1?). The decimal point vs. comma of the output seems to be locale specific.
 * seq 1E3
 * Outputs integers 1 to 1000, using the exponential notation.

Links:
 * seq man page, man.cat-v.org
 * 26.3 seq: Print numeric sequences in GNU Coreutils manual, gnu.org
 * seq (Unix)

shuf
Randomly shuffles file or input lines. Not covered by POSIX.

Examples:
 * seq 10 | shuf
 * Outputs numbers from 1 to 10 randomly shuffled, one item per line.
 * shuf -e a b c
 * Randomly shuffles the a, b and c items, outputting one item per line.
 * shuf -i 1-10
 * Outputs numbers from 1 to 10 randomly shuffled, one item per line.

Links:
 * 7.2 shuf: Shuffling text in GNU Coreutils manual, gnu.org
 * shuf, man7.org
 * shuf, freebsd.org
 * , wikipedia.org

tee
Writes the input stream into a file while at the same time passing it to standard output.

Examples:
 * dir | tee dirout.txt | less

Links:
 * tee, opengroup.org
 * tee man page, man.cat-v.org
 * 17.1 tee: Redirect output to multiple files or processes in GNU Coreutils manual, gnu.org
 * tee (Unix)

sleep
Pauses for a period of time.

Examples:
 * sleep 5
 * Pauses for 5 seconds.
 * sleep 10800
 * Pauses for 3 hours: for 3 * 60 * 60 seconds.
 * sleep 1m
 * In GNU sleep, pauses for 1 minute.
 * sleep 1h
 * In GNU sleep, pauses for 1 hour.
 * sleep 1d
 * In GNU sleep, pauses for 1 day.
 * sleep 0.5m
 * In GNU sleep, pauses for half a minute.
 * sleep 1m 30s
 * In GNU sleep, pauses for 1 minute and 30 seconds.

Links:
 * sleep, opengroup.org
 * sleep man page, man.cat-v.org
 * sleep, freebsd.org
 * 25.1 sleep in GNU Coreutils manual, gnu.org

yes
Outputs an indefinite stream of newline-separated strings "y", or other strings as specified. One of the uses is feeding the output into a command that requires user confirmation.

Examples:
 * yes
 * Outputs a stream of repeated "y" strings, separated by newline.
 * yes hey
 * Outputs a stream of repeated "hey" strings, separated by newline.

Links:
 * yes, freebsd.org
 * yes Linux man page, man7.org
 * 15.3 yes in GNU Coreutils manual, gnu.org
 * yes (Unix), wikipedia.org

true
Does nothing and finishes with zero exit code, indicating success.

Links:
 * true, opengroup.org
 * true man page, man.cat-v.org
 * true, freebsd.org
 * 16.2 true in GNU Coreutils manual, gnu.org

false
Does nothing and finishes with non-zero exit code (often 1), indicating failure.

Links:
 * false, opengroup.org
 * true man page, man.cat-v.org: covers both true and false
 * false, freebsd.org
 * 16.1 false in GNU Coreutils manual, gnu.org

env
Sets the environment for a command or outputs all environment variables. See also ../../Environment Variables/.

Examples:
 * env
 * Outputs all environment variables.
 * env printf Hello
 * Ensures command printf is called rather than the possible shell builtin.

Links:
 * env, opengroup.org
 * env, man7.org
 * env, freebsd.org
 * , wikipedia.org

printenv
Outputs values of one or more environment variables or all variables if none are passed. Not covered by POSIX. Alternatives are to output all variables and "echo $HOME" to output a single variable, here HOME. See also ../../Environment Variables/.

Examples:
 * printenv HOME
 * printenv HOME USER
 * printenv
 * Outputs all variables.

Links:
 * printenv, man.cat-v.org
 * printenv, freebsd.org
 * 19.3 printenv in GNU Coreutils manual, gnu.org
 * , wikipedia.org

title: Guide to Unix/Commands/Miscellaneous


text:
Cookbook:Campfire Banana Boat

| Cooking techniques | Camp Cooking

Campfire banana boat is a very easy and popular camping dessert. It requires no dishes—you eat it straight from the peel!

Ingredients

 * 1 banana
 * Mini marshmallows
 * Chocolate chips

Procedure

 * 1) Peel back a 1 ½ inch (4 cm) wide strip of peel from the inside curve of the banana, leaving one end attached to the banana.
 * 2) Cut out and remove a wedge-shaped cavity from the length of the banana.
 * 3) Fill cavity with mini-marshmallows and chocolate chips
 * 4) Replace peel and wrap well in heavy duty foil.
 * 5) Place on coals for about 5 minutes.
 * 6) Open carefully and eat with a spoon right from the banana peel.

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

title: Cookbook:Campfire Banana Boat


text:
Cookbook:Campfire S'mores

 * Camp Cooking

Campfire s'mores are a classic snack and a favorite with children.

Ingredients

 * 2 graham crackers
 * 1 marshmallow
 * 4 squares milk chocolate

Procedure

 * 1) Toast marshmallow until golden brown over campfire on long green stick with bark peeled off.
 * 2) Place on graham cracker, then top with chocolate and remaining cracker.

Warnings

 * Be careful; when the marshmallows are ready they are very hot and can catch fire. Don't burn yourself!

title: Cookbook:Campfire S'mores


text:
Cookbook:Hobo Burgers

| Cooking techniques | Camp Cooking

Hobo burgers are a camping classic. Wrapping the meal in cabbage leaves helps to preserve moisture and prevent burning.

Ingredients

 * 1 pound (about 500 g) ground beef
 * 1 onion, thinly sliced
 * 2 potatoes, thinly sliced
 * 4 tablespoons butter
 * 1 tablespoon Worcestershire sauce
 * 8 cabbage leaves
 * Salt to taste
 * Pepper to taste

Procedure

 * 1) Mix Worcestershire sauce into beef.
 * 2) Cut four large sheets of heavy duty aluminium foil and place a cabbage leaf onto the shiny side of each one.
 * 3) Shape beef into 4 patties and place onto cabbage leaves.
 * 4) Top each portion with onion and potato slices, add a pat of butter, and season with salt and pepper.
 * 5) Wrap another cabbage leaf around the top of each portion and seal each package.
 * 6) Place on medium-hot coals for about 20–30 minutes, turning twice (carefully) while cooking.
 * 7) Discard cabbage leaves if they become charred during cooking.

title: Cookbook:Hobo Burgers


text:
Cookbook:Baked Potatoes

| Cooking techniques | Camp Cooking | Microwave Cooking

Potatoes are perfect for camping—they don't take up space in the cooler, and cooked in foil they are easy to prepare.

Ingredients

 * 1 large baking potato
 * Cooking oil
 * Salt
 * Butter or sour cream (optional)

Camping variation

 * 1) Scrub potato and pierce the skin all over with a fork.
 * 2) Wrap potato lightly oiled heavy-duty foil and seal.
 * 3) Cook over medium-hot coals for 45 minutes or until soft.
 * 4) Serve with salt and butter or sour cream.

Microwave variation

 * 1) Clean and prepare potatoes as above, but wrap them in waxed paper, not foil. Be sure to poke the potato with a fork to make sure it is cooked evenly.
 * 2) Place a piece of paper towel in the microwave, and microwave potatoes on high for 8 minutes. Potatoes will be extremely hot when finished.
 * 3) Cut potato into four and serve with toppings of your choice.

Oven variation

 * 1) Preheat oven to 190°C (375°F).
 * 2) Clean and prepare potatoes as above.
 * 3) Place the potatoes in the oven.
 * 4) Cook for 1 hour.
 * 5) Remove when cooked. Puncture potato and separate skin from flesh.

Notes, tips, and variations

 * Other possible toppings include spicy beans, avocado, salsa, mushrooms, grated cheese...whatever is left in the fridge!

Warnings

 * When cooking is initially completed, handle the hot potato with care.

title: Cookbook:Baked Potatoes


text:
Cookbook:Corn on the Cob with Husks

 * Cooking techniques | Camp Cooking

Corn can be roasted over the fire or on the grill without using tinfoil by simply leaving the husks on. Soaking in advance prevents the husks from burning. Each ear of corn serves 1.

Ingredients

 * Corn on the cob, with husks left on
 * Butter (optional)
 * Salt (optional)

Procedure

 * 1) Carefully peel back husk without detaching it and remove silk.
 * 2) Replace husks and soak ears in cold water for ½ hour.
 * 3) Place corn on grill or on a rack above an open fire.
 * 4) Cook for about 15 minutes, turning occasionally to ensure even cooking.
 * 5) Serve with butter and salt.

title: Cookbook:Corn on the Cob with Husks


text:
Cookbook:Pasta Fork

| Kitchen tools

A spoon-shaped instrument with prongs for lifting long-stranded cooked pastas, such as spaghetti.

title: Cookbook:Pasta Fork


text:
Cookbook:Colander

| Kitchen tools

A colander is a large perforated bowl used to drain foods. It generally has a stand, so that it can be set to stand in a sink or larger bowl, allowing liquids to drain out the bottom and sides. Colanders are usually made from light-weight metal, such as aluminium or thinly rolled stainless steel, but are sometimes made from enamelled iron, ceramics, or plastic.

title: Cookbook:Colander


text:
Japanese/Kanji/Lesson 8

 * Mnemonic: A man leans over to collect his winnings. "My (mai) winnings," he says.

 * A finished, unconventional house being built by your next-of-kin is still just an image in their heads, and this is how the construction looks at present.

title: Japanese/Kanji/Lesson 8


text:
Talk:Computer Programming/Archive2

Cleanup-clarity
Too many advocates for too many programming languages have made attemts to make their programming language choosen - and I won't exclude myself from that list.

As a result the text is now very confusing to a reader looking for advice on what language to learn -.

I have changed the Programming_Languages chapter to be a platform for language advocates to be heard. I suggest we allow only a short text per language on the sole subject of "Why learn this language".

All language advocacy from the chapter Choosing_a_programming_language should be removed and be replaced by a more neutral poins of view.

Fundamental decisions
I agree with the top bit. Basically, this book is suffering from too-many-cooks syndrome.

Now, what I will argue is that our job here is to teach beginners how to program, and that anything which does not teach beginners how to program should be swept away. I will also argue that complete neutrality is going to be very unhelpful. While we do not want to fall into petty advocacy (use this compiler! use that!) we must do some steering. Instead of complete NPOV, I think we should should establish a rough consensus on the fundamental vision of our book. I'll start with some ideas and hope you folks make other proposals as well. -- Kowey 10:23, 9 Feb 2005 (UTC)

Advocates Playground
For the steering I have changed the layout of the Programming Languages chapter from simple list to definition list. If it is feelt that the definition list is still to tight for describing the languages whe can change to chapter layout.

Suitable teaching languages can describe themself without interfering with the main text or the description of other languages. The reader becomes a - hopefully - clear description an can then make an informed desicion.

Removing any reference to any language in all the other chapters will discurage "shame-less-plugs" - if somebody feals to need to advocate a language he/she will need to do properly in chapter 4.

--Krischik 11:48, 9 Feb 2005 (UTC)

Kowey's proposal

 * Ditch the whole "What language should I learn thing"... or at least, make it one of the last chapters in the book. Now that you have one or two ideas about programming, why don't you learn some other languages?
 * Teach fundamental notions: recursion, etc
 * Select one teaching language. I argue that the criteria to focus on is not how "useful" the language is, but how clearly we can communicate the fundamental concepts with it. Now this doesn't mean we don't mention the other languages, or say that this language is better than others, just that we choose to teach in that language.
 * I say we go for Caml or Python because users can get going right away without lots of confusing syntactic cruft.
 * ... more later

 * So more I think about it so more I am in favour of 'ditch the whole "What language should I learn thing"'. Anybody unhappy if I actualy do it? --Krischik 15:00, 16 Feb 2005 (UTC)

Algorithm Book
Actualy Chapter "2." itself is cool - it's only the child chapters "2.x.x" which are problematic.

For clarity and ease of learning I would always go for an Algol type language. The explicit use of "begin" and "end" make learning easier. And if I had to name one I would name Pascal. Pascal has been designed for learning and it shows. (Note: I am an Ada advocate).

However: the Computer_Science:Algorithms have made a good job of using a pseudocode language (also Algol based). They allow only "real" languages in the Appendix. And now guess what - the pseudocode language was so sucessfull than no-one ever felt the need to contribute any "real" languages examples.

I think we should follow.

Off Topic: if you are a Python advocate then please fill in the reason to learn Python.

--Krischik 11:48, 9 Feb 2005 (UTC)

 * That's funny, you're a Ada advocate recommending Pascal, and I'm a Caml/Haskell advocate recommending Python :-D I think that pseudocode is great for an algorithms course, but then again, the algorithms course is either for people who know (a) how to program, or (b) don't really care about programming proper (hard core mathy cs people?), whereas an actual programming course would benefit from a real-world language with which the user can try stuff out. That being said, I'm glad you're with me on pushing a language for its pedagogical merit and not its merit as a language in and of itself -- Kowey 14:05, 9 Feb 2005 (UTC)

Templates
But there are all ready enough real-world language courses - like me pet Programming:Ada. ( well, just checked Programming:Pascal - not much there :- - so we don't realy need one here.

But I just had an idea. Could we write the basics descriptions - like recursion - as templates and then use those templates povide the real articles in Programming:Ada, Programming:C etc. pp.?

For example "Programming:Ada:Hello World" would look like:

with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line("Hello, world!"); end Hello;

In "Computer_programming:Hello World" we describe what "Hello Word" does.

For us as authors we only have to think up the lessons once and yet we get many nice "Programming:XXX" books all looking similar.

I have created a Demo on what this could like: Programming:Function_overloading

 * Hmm... I was a bit worried about how you would handle the code interleaving, but you seem to implement it pretty well, with the semi-anonymous templates (0,1,etc). So far so good, I think this is a good idea. -- Kowey 17:11, 11 Feb 2005 (UTC)

Closing chapter and counting votes
There had been no new arguments for a while and the votes are 2-1 for removing pointless advocacy in "Choosing a programming language".

So today they go. There are down here if you think you need a last look at them:

What should I learn?
One immediate consideration when deciding which language to learn is how useful the language would be in the real world. Java and C or C++ would be a good choice if you want to write applications for a PC. Java is a very good language for large projects, as it sports sophisticated object-orientation and a large API. But C/C++ may be bad choices for beginners, as they are quite low level languages (of course, this choice depends on the programmer - if one is already familiar with the principles of computer architecture design, C may be a very good choice). Python is a very good first language because it is powerful, has a clean syntax, is dynamically typed and Open Source. Languages like PHP and Javascript will introduce more concepts like variables and fuctions, and may be familiar to the web-developer. For server-side apps (web apps) however you can use any language you want.

There are however, other factors that you should consider.

How suitable is the language for beginners?
Many programming languages are geared specifically to be easy to learn, such as BASIC or Pascal. However, they are sometimes criticised for lacking in power as they have a limited range of language features. One should remember that the primary purpose of these teaching languages is to learn how to write structured programs. For more advanced applications, one may need a more specialised and complex language.

Some programming languages (such as Python or Scheme), while suitable for beginners in that the syntax is not difficult, still offer a full range of language features for even the most advanced programmers.

Is the language available or suitable on your computer system?
It probably will be. When you have chosen your language to start with, you should seek an implementation of it for your platform. A quick search on the internet, including both the language and your platform, should give you some commercial and free implementations.

Older legacy computer systems may have been written in an early computer language, such as COBOL. In order to maintain or update these systems you may need to learn the language to read the original source code.

Will it help you learn other languages in the future?
The C-family (C, ObjectiveC, C++, C#, and Java) all resemble each other, so learning one would make learning others easier in some ways. Then again, superficial similarities can at times be confusing, and learning radically different kinds of language will help you adapt more easily to new languages in general.

Will it help you be a better programmer?
Learning academic languages like Prolog might not seem worthwhile if you want to jump into the job market; however, the purity of these languages forces you to refine the way you think about programming and teaches you skills which can then be transferred to other languages. Some might even argue that programming in these languages is so much more efficient that you would not want to bother with the rest, but since programming can often involve working for/with other people you will likely have to learn a popular language anyway.

How practical is the language?
Now we return to our first concern in choosing a learning language: how useful will this language be in the real world? Here you should consider how popular the language is, because working with people is inevitable and how appropriate the language is for the work you want to do is important. Unless you are pressed for time, it is recommended to take things slowly and focus on choosing a good learning language and worry about the practicality of that language later on.

Learn them all!
There are several philosophies about how you should go about this. One is:
 * 1) If you just want to dabble, go straight for a higher level language or a dynamic language like Python.
 * 2) If you want to be good, learn a higher level language, but also get a good grip on C and assembly language.
 * 3) If you want to be great, postpone both until you get the hang of academic languages like ML or Haskell.

But if your priorities are different, you may agree more with:
 * 1) If you want to portray yourself as an academic, try a language like ML.
 * 2) If you want to have a lot of trouble learning without accomplishing as much as you could, try languages like C and assembly language.
 * 3) If you want to get something done, use a high level scripting language like Python.

What languages should I use?
If you only have a hammer, you tend to see every problem as a nail. -- Abraham Maslow

Effectiveness
One trade-off between programming languages is speed of execution versus ease of coding. Writing in assembly language can result in the creation of the fastest and most compact program possible. The trade-off is that you may donate years of your life to creating the program, assuming it will be a moderately complex program and you will not be calling code from other higher level languages (which you must do if you write a program using libraries). Assembly language has an exact syntax that does very little with each command, since each command generally corresponds to only one or two processor instructions. There are dialects called Macro Assembly languages that relax this restriction.

Modern compilers can generate optimized assembly code significantly faster and more efficiently than humans; however due to the variety of syntax compilers must interpret they are unable to generate the most optimized assembly code possible. Therefore, many desiring maximum optimization use either mid or higher level compiled languages and manually optimize the compiler's optimized assembly code.

Modern techonological advancements, particularly faster processors, have reduced the dependence on refining the optimizations of a particular code in favor of merely increasing the system requirements.

Cost
To begin programming the novice does not need to invest vast sums of money; acquiring the skill is dependent more on the time invested in learning to program rather than the amount of money spent. While many of the most powerful (highly optimized and developed) compilers and development suites are expensive, many other tools exist that are completely cost-free. Commercial products are mostly used by professional programmers who need highly optimised compiling and highly refined development suites to maximize their productivity. If you choose to pursue programming as a vocation, you may eventually want to invest in one of these development environments, but while you are learning to program, take advantage of the free tools available to you.

Go for the Ease (an opinion)
Unless you will be working with speed-critical applications (not likely the case if you are reading an introduction to programming), the preferred language is one that makes programming easier. For starters, it is probably more interesting as a programmer to write software that works 'correctly' instead of quickly. Programming in a higher level language lets you avoid a lot of syntax and hides many wonderful opportunities to introduce bugs into your code.

Even if you do turn out to be a flawless machine code hacker, you'll also find that software tends to be long-lived and needs to be maintained, either by you ten years down the road, some anonymous underling in the ladder of your megacorporation, or one of millions of eyeballs in the open source community. Somebody is going to have to read and fix that code, so you might as well choose a language which helps them do this.

Finally, the question of speed is actually trickier than we presented above. Working with higher level languages could simplify programming enough for you to concentrate on solving the problem in an efficient way instead of relying on minor tweaks and hacks which will simply be washed away when the (hypothetical) next generation computer rolls out two weeks later.

Abstractions Leak (a counter-opinion)
We have hopefully convinced you that programming in a higher level language is generally better for your health. Yet if you take a look at the real world, you'll find many examples of people blissfully ignoring this sage advice. For example, both the Linux kernel and most GNU software such as GNOME are written in good old fashioned C.

The popularity of C can be partly tied to historical reasons. Before the development of C in the early 70s, computer programs were largely written in assembly language. At the time, there was a greater diversity of platforms, so programs in assembly language would have to ported from one platform to another in a time-consuming process. C was a major step forward, because relative to assembly language, it was a high level language, such that people could write their software once in C and have it automatically compiled to whatever platforms C was supported on. C's popularity is largely self-propagating; people continue to use C because it is a popular language that is nearly universally supported.

Relative to most modern languages, C is a very low-level language; it does not provide nearly as many abstractions over the "bare metal" as languages like Java. This low-levelness can be seen to be particularly well-adapted for software like the Linux kernel whose job is precisely to manipulate the bare metal.

The popular programming languages
The most used programming languages are probably C and C++. They are both very similar because C is almost a subset of C++, and thus, you can use a C++ Compiler to compile most ANSI-conformal C code. So if you learn C++, you are automatically learning the syntax of C. C and C++ are highly portable. However, C++ hasn't been ported to small systems like microcontrollers and embedded engines. Some say that C code is faster than C++, but it depends on the programmer. There are C programs with ugly slow style and real fast C++ programs written in a clean reasoned object-oriented style. Some say the object-oriented stuff of C++ eases bug-cleaning leading to more secure programs. The two languages can be mixed on most compilers when the need arises.

Another commonly used language is Java. One advantage is that Java "executables" (more precisely, they are called "byte codes") can be run on many systems (almost always) completely unchanged. This is because byte codes are not executed directly by the processor, but by a piece of software known as a virtual machine, a computer within a computer so to speak. Initially, the added complexity of using a virtual machine slowed Java enough to provoke bitter complaints from users and developers, but several techniques have been used to improve its performance considerably. Java's structure and syntax is similar to C++ so if you know C++ you can easily learn Java; however, learning C++ after Java might require mastery of a few more concepts.

BASIC (e.g. Visual Basic or QBasic) is also commonly used. It is very easy to program with and Visual Basic is used for many things today in Windows programming just because it is easy.

Assembly is not as heavily used today as it once was, but learning it will greatly help you understand how a computer works, and how to better structure high level code. However, a knowledge of assembly language is vital if you wish to program low-level system routines for different hardware.

More code is written in COBOL than any other language (there are estimates that COBOL accounts for 70% of existing code), but few new programs are being written in COBOL. There is, however, constant demand for programmers who can maintain old COBOL programs.

Language is often a trivial factor in program speed, with the exception of CPU bound code written in languages that are usually interpreted (rather than compiled). If a bottleneck in your program is network speed, changing programming language won't help you out. If you must optimize, first make sure you actually know where the bottlenecks are, then look at things like algorithms. Other factors like checking if you're accessing the memory sequentially rather than randomly, may also be important at times. Re-writing in assembly is a last resort; at times it can yield excellent results, but a compiler beats a novice assembly programmer easily. Assembly sacrifices portability; while knowing it is a useful skill, using it in a large program should be a last resort. As assembly is so low-level, each processor architecture has to be specifically written for; a program written in assembly for a PC will need an extensive rewrite to be run on an ARM CPU. Higher-level languages are far more portable, as the compiler handles the translation of the language into the assembly code for the system's processor architecture.

Another distinction must be made between scripting languages and very-high-level languages and other languages. Scripting languages, like Perl are interpreted languages that have been designed for performing short tasks with speed and ease of coding, often offering elastic syntax and allowing you to shrink complex tasks into just a dozen lines of code. They have been successfully implemented to solve day-to-day problems and not to build up complex, monolithic applications, although there are exceptions (Python-based applications, like MayaVi or Zope, are a notable example). Because of this, most dynamic languages these days will compile the code on the fly, whenever possible just in time, so that they run as fast as C in most cases. For example, there is no real speed difference between C and Lisp any more.

title: Talk:Computer Programming/Archive2


text:
Ecology

/Contributors/

 * /Introduction to the Guide/
 * How to use this Guide
 * A special note ~ How to contribute

Detailed contents

 * Chapter 1 ~ Introduction
 * Definition of Ecology
 * Scope of Ecology
 * History of Ecology

 * Chapter 2 ~ Biological Organization
 * Basic Definitions
 * Units of the Biosphere
 * Gaia Theory
 * Species and Habitat

Section I – Communities
 * Chapter 3 ~ The Abiotic World
 * The Physical Environment
 * Organism Morphology
 * Organism Physiology
 * Organism Behavior

 * Chapter 4 ~ Biological Communities
 * Communities
 * Terrestrial Biomes
 * Succession
 * Limnology

 * Chapter 5 ~ Community succession and stability
 * Community Stability
 * Disturbance
 * Problems Determining Stability
 * Charles Elton

 * Chapter 6 ~ Invasive Species Ecology
 * Introduction
 * Species status
 * Invasive Theories
 * Summarization

 * Chapter 7 ~ Species Richness and Diversity
 * Species Richness and Diversity Introduction
 * Rapoport's Rule
 * Metabolic Hypothesis
 * Diversity Measurements

 * Chapter 8 ~ Island Biogeography and Habitat Fragmentation
 * Island Biogeography
 * Endemism
 * Habitat Fragmentation
 * Metapopulation Theory

Section II – Populations
 * Chapter 9 ~ Species and Populations
 * Species Concept
 * Population Biology
 * Predation

 * Chapter 10 ~ Resource Competition
 * Population Growth
 * Competition Types
 * Modeling Interspecific Competition

 * Chapter 11 ~ Predation and Herbivory
 * Types of Predation
 * Herbivory
 * Plant Defenses
 * Predator-Prey Models

 * Chapter 12 ~ Parasitism
 * Introduction
 * Types of Parasitism
 * The Host
 * Parasite Community Effects

Section III – Ecosystems
 * Chapter 13 ~ Ecosystems
 * Introduction
 * Ecosystem Concept
 * Basic Structural Components
 * Characteristics of Esosystems
 * Basic Functional Components
 * Food Webs

 * Chapter 14 ~ Energy in Ecosystems
 * Introduction
 * Energy
 * Organisms Role in the Flow of Energy
 * The Laws of Thermodynamics as They Relate to Ecology
 * Measuring Energy Flow

 * Chapter 15 ~ Biogeochemical Cycles
 * Introduction
 * Biogeochemical Cycles
 * Soil

Section IV – Ecology of the Organism life history examples
 * Chapter 16 ~ Manatee

 * Chapter 17 ~ Short-Tailed Hawk

 * Chapter 18 ~ Peregrine Falcon
 * Chapter 19 ~ North American River Otter
 * Chapter 20 ~Pinewoods Treefrog

 * Chapter 21 ~ Cottonmouth Snake

Section V – Practical Ecology
 * Practical Vegetation Sampling

Appendix A – Glossaries of Ecological Terms
 * Glossary 1 – Basic Ecology

 * Glossary 2 – Invasive Species

 * Glossary 3 – Methodologies

生態学

title: Ecology


text:
Ecology/Introduction to the Guide

This is a study guide to basic ecology, a textbook at Wikibooks filed under environmental sciences, and intended to establish a course of study in the subject of Basic Ecology, utilizing articles provided in Wikipedia, with links to other relevant web sites and other Wikibooks as appropriate. In some cases, portions of the text from Wikipedia articles have been used to materially develop introductory text within the book.

For the new user, it need be pointed out that Wikipedia differs from a standard encyclopedia in two important respects: 1) it is a hypertext document, and 2) it is open and editable, and therefore constantly changing. For the student following this or any guide through Wikipedia to cover a specific subject, it is recommended that each article (page) be read first in its entirety, before any hyperlinks are followed to other topics or explanations. It is too easy, otherwise, to simply become lost in a maze of links, and miss the main thrust of an article presented as an assignment from the Guide. Because Wikipedia is constantly changing (and, it is believed, improving) the quality of each article encountered will be variable. Some articles are well written and go to adequate depth, whereas others, lacking a proponent, may be are shallow and incomplete. Short or sloppy looking articles may contain questionable facts. These short-comings should diminish with time, but can be a problem for the student.

One clear advantage to using this Guide linked to a hypertext like Wikipedia is a circular redundancy with serendipity factor that arises when an article is read and its hyperlinks followed; this factor can be a powerful learning tool. The persistent reader is subjected to a fairly high degree of repetitive reading, often presenting slightly differing perspectives on the same general topic, with the result that learning comes from redundancy and seeing difficult concepts presented in more than one way. At the same time, some hyperlinks lead down less relevant paths, bringing new and unanticipated knowledge. If, as a student, you are truly interested in mastering the subject of basic ecology, you must be prepared to read beyond the basic assignments; in some cases, beyond Wikipedia to explore other, "outside" web sites.

It seems likely that the typical user of Ecology is not necessarily an active student taking a course in biology or ecology at the high school (AP) or college level, but a person with a strong interest in environmental sciences—an amateur naturalist or an environmentalist. Therefore the guide will attempt to cover all of the basic principles of ecology in a logically organized manner with the ultimate intent of providing a solid foundation in the subject matter. It is assumed that the student has already a background in—or certainly at least a good knowledge of—biology. Because "ecology" is a large and diverse subject, organization of the material becomes the key to a successful "guide" textbook.

How to use this book >>

title: Ecology/Introduction to the Guide


text:
Ecology/A final note about the Guide

Both this book and all articles in Wikipedia are free content that can be added to or edited by anyone. It is an opportunity for the user of these documents to contribute information, or even state given information more clearly, simply by editing a page. As a student with a textbook and a lecturer (teacher), you may find yourself in possession of useful facts, another point of view on existing facts, or a report you prepared of exceptional quality. Any of these can be added to an appropriate page in this Guide or the Wikipedia. However, this caution is strongly advised: Do not place into the book any text or pictures taken verbatim (or close to verbatim) from a text book, web site, or other copyrighted source without permission of the copyright holder. In general, this means, anything you submit should be your own work.

Consider that the purpose of a guide lies somewhere between that of an outline and that of a textbook. Your contribution to expanding or improving an article at Wikipedia that is linked from the book is as important as preparing or adding to a chapter or module here. However, developing the Guide is a balancing act. Eventually, it can become desirable to simply polish a module in the Guide rather than refer the reader on to an article that may have become too complex or for some other reason not perfectly suitable as an "assignment".

Note to future contributors
Although conceived as a guide, by which is meant a sort of outline with links to Wikipedia articles, it is not necessary to maintain this format. Indeed, for various reasons, ecology requires more in-depth discussion within each module than similar guides at Wikibooks (see Invertebrate Zoology and Botany). If, as a contributor, you would prefer to flesh out any module with minimal reference to Wikipedia, that should be acceptable, so long as your contribution exceeds what is available on the topic at Wikipedia. In this instance, "exceeding" is a reference to quality and not quantity. In such cases, it might remain helpful to the student to place the reading "assignment" as a "See also:" link on the chapter page.

Use of any Wikipedia article as a substitute for text should include consideration of the quality of information and writing at the assigned article. It is simply one approach to work on that article to ensure quality before assigning it. Another approach would be to ignore the article at Wikipedia and develop the necessary text in the module itself. This does have a disadvantage in that, through hyperlinks, the student may well later arrive at the "rejected" Wikipedia article anyway. If the information found there conflicts or confuses, the student may have difficulty establishing which bits of information are correct and which are not.

title: Ecology/A final note about the Guide


text:
Talk:Vietnamese/Greetings

I added co, chu to greetings. But not sure how explain it. Please take a look. I know it's a northern example.

Manh gioi khong?
I'm not by any means fluent in Vietnamese, but I'd always thought that "manh gioi khong?" was a more standard greeting? Waitak 11:38, 28 April 2006 (UTC)

title: Talk:Vietnamese/Greetings


text:
User talk:Ztheday~enwikibooks

Your account will be renamed
Hello,

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

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

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

Sorry for the inconvenience.

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

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

title: User talk:Ztheday~enwikibooks


text:
User:Jun-Dai/Np/L3

= Lesson 3: Kanji =

Overview
In addition to the two syllabaries, ひらがな and カタカナ, Japanese also has a large number of ideographic characters, almost all of which have come from the Chinese language. These are called 漢字 (かんじ), and the number of them that exist in the Japanese language depends on whom you ask, and what context the language is used in. There are 1,945 "basic" 漢字 defined for the Japanese public education system, and they are called Jōyō kanji (常用漢字). These are the 漢字 that you are expected to know by the time you graduate high school in Japan. Beyond this, there are a certain number that you would need to know in order to be able to read a newspaper, and a certain number that you would need to know in order to read texts in specialized fields. The number that you would need to know in order to read historical texts is significantly higher. By most counts, however, there are several thousand 漢字 in the Japanese language.

In the course of this textbook, you will see an increasing number of 漢字 used. Each vocabulary section will define the 漢字 that you will be expected to be able to recognize, read and understand, as well as the number that you will be expected to be capable of writing and recalling from memory. Beyond this, a high number of "passive learning" 漢字 will be used, always noted with ふりがな (accompanying ひらがな to indicate pronunciation). You will not be expected to know the 漢字, but it will make it easier for you to recognize them later when they are added to the vocabulary section.

Compound words
Sometimes you will see a 漢字 by itself, but most frequently you will seem them grouped together to form compound words. If you encounter a new word constructed from two 漢字, the process of looking up the definition of that word can be difficult. The first step is to try to guess the meaning of the word based on context, and based on the symbols that make up each 漢字. You can also try determine the pronunciation. This is easier if you know the pronunciation of each character in other words that you've seen, but even if you don't recognize the character itself, you might recognize parts of the character that indicate its pronunciation.

Writing 漢字
blah blah blah

Vocabulary

 * 1) 漢字 (かんじ)
 * 2) ふりがな

etc.

title: User:Jun-Dai/Np/L3


text:
User:Cost

I'm from Switzerland, to be more precise from the German speaking part, and a student of history, german and computational linguistics. I have a special interest in teaching German as a foreign language.

title: User:Cost


text:
User:Jun-Dai/Np/L4

= Lesson 4: Parts of speech (品詞) =

Vocabulary

 * 1) 名詞 (めいし) - noun
 * 2) 動詞 (どうし) - verb
 * 3) 形容詞 (けいようし) - adjective
 * 4) 助詞 (じょし) - particle; relational

Overview
The Japanese word for the English part of speech is 品詞 (ひんし). It refers to all the different elements that can be used in a Japanese sentence, including the Japanese equivalents to English nouns, verbs, pronouns, adjectives, adverbs, as well as a few extra ones.

The Japanese equivalent of the English noun is 名詞 (めいし). Like in English, 名詞 can refer to people, places, things, ideas, types of activity, etc. In Japanese it is not necessary to explicitly include a noun in every sentence. Though one is always implied, it can be omitted if it is clear what you are talking about. Also, Japanese does not have a grammatical sense of pluralization or countability. While you can, in certain situations, explicitly pluralize a noun, it doesn't effect the way the rest of the sentence is formed.

The closest equivalent of the English verb is 動詞 (どうし). 動詞 refers to actions, and it can be conjugated to reflect tense, state, mood, etc. As Japanese is an SOV language, the main verb of every sentence goes at the end. Unlike English, Japanese does not require the presence of a verb, and in many cases there simply isn't one. Like English, 動詞 can be either 他動詞 (たどうし, transitive verb) or 自動詞 (じどうし, intransitive verb).

Japanese has two 品詞 for the English adjective: い-形容詞 (い-けいようし) and な-形容詞 (な-けいようし). They are both used to describe 名詞, but they are treated entirely differently within Japanese grammar. Because they are often used in a similar manner to nouns (名詞), the な-形容詞 are often called "adjectival nouns" in English. い-形容詞, on the other hand, are often referred to as "true adjectives."

One 品詞 that has no real equivalent in English is 助詞 (じょし), which is usually referred to as a "particle" or "relational" in English. 助詞 are used to indicate how the other 品詞 relate to each other. That is to say, placing the 助詞 を after a 名詞 indicates that that 名詞 is functioning as a direct object of whatever 動詞 is being used in the sentence or phrase. Among other things, this eliminates the need to have a constrained word order (as in English) or declension (as in German and in romance languages) to indicate the function of a particular part of speech. It also makes word boundaries fairly clear, and so most written Japanese does not have spaces between words.

Let's examine these 品詞 in more detail.

名詞
Like the English noun, Japanese 名詞 refers to people, places, objects, or ideas that are acting, being acted upon, or being related to in some way. As such, it includes 代名詞 (だいめいし) (pronoun),

title: User:Jun-Dai/Np/L4


text:
Talk:Japanese/Lessons/What is that?

Untitled
How is __では　ありません pronounced, please? Is は a particle here and as such pronounced as 'dewa' or is it 'deha'? I think it would also be nice to clarify that in the lesson itself. Thanks a lot. --Hhanke 00:13, 17 Feb 2005 (UTC)

 * I'd like to know that too  :OAfter a little searching, it looks related to the particle (which makes sense, I suppose). It's pronounced "__ dewa arimasen". - Sik0fewl 05:13, 9 Jun 2005 (UTC)

 * On a completely different topic (addressed to the contributers of this book):It would be great if in addition to the regular exercises, there would be practice JPLT questions at the end of each lesson.

 * FYI, in this case it is pronounced "wa". When ｢は」is used as a particle (i.e. a subject marker), it is pronouced "wa". Otherwise, "ha". There might be exception, but that's what I was taught. :)  Also, IIRC, please note that 「では　ありません」is meant for use when referring to inanimate objects. When referring to people, the proper term is 「では　いません」. Lynx7725 05:43, 9 Jun 2005 (UTC)

 * Lynx is mistaken about 「では　いません」. 「～ではありません」is used regardless of whether one is talking about people or not.
 * Also, in speech 「～ではありません」is usually contracted to 「～じゃありません」. - ToothingLummox 21:28, 25 August 2005 (UTC)

 * Lynx is also incorrect in calling ｢は」a "subject" marker. Although it is frequently translated as the English subject, it is instead a topic marker; it marks the preceding phrase as something the sentence is about. In future lessons we will undoubtedly see topics which are not subjects. --teb728 07:12, 5 September 2005 (UTC)

ToothingLummox is correct. I'd just like to add "...じゃあ ありません" for the same meaning. Also, "...では ない です" and its variations "...じゃ ない です" and "...じゃあ ない です" are used in some situations.

 * では ありません and its variants
 * あれ は ほし では ありません. - That is not a star. (are wa hoshi dewa arimasen)
 * わたし は なっとう が すき じゃ ありません. - I do not like natto (watashi wa nattou ga suki ja arimasen)
 * かれ は きむら さん じゃ ない です. - He is not Mr. Kimura. (kare wa kimura san ja nai desu)

Lynx7725 might be thinking about "...はありません" and "...はいません" matter. Both represent non-existance, but the former is used for inanimate objects while the latter is used for living things.

 * は ありません
 * ここ に は おかね は ありません. - There's no money here. / I have no money here. (koko ni wa okane wa arimasen)
 * ベルリン の かべ は もう ありません. - The Berlin Wall no longer exist. (berurin no kabe wa mou arimasen)
 * は いません
 * きょう かれ は いません. - He is absent today. (kyou kare wa imasen)
 * あの ねこ は もう いません. - The cat was gone... (ano neko wa mou imasen)

- Marsian / talk 10:00:40, 2005-09-05 (UTC)

Known page bugs

 * Questions should probably be introduced before それは何ですか.
 * ko-so-a-do could be introduced here. My feeling is that it might be better to avoid these words altogether until a little later.
 * mo doesn't need to be introduced here. Should it be?
 * no doesn't need to be introduced here. Should it be?
 * dialogue about apple and pear is silly. Replace with something more relevant.

title: Talk:Japanese/Lessons/What is that?


text:
Movie Making Manual/Legal/Copyright

COPYRIGHT
Probably an area of major oversight, especially by short filmmakers.

The law regarding copyright is fairly simple: If you've created it then you own it. However, what you create must not contain creative content that has been produced by someone else who retains copyright. However, this must be in the context of originality.

Basic Example
If you go outside and film a bird flying in the sky, that piece of footage belongs to you, and nobody else can use it without your permission. If you add a soundtrack created by someone else then you must assure you have permission from the soundtrack artist before using it, and, in most cases, you will have to pay them a small royalty fee.

You can film anywhere within the public domain without obtaining copyright permissions; however, if there is music being played and it is picked up in your recording then may be required obtain permission to use that music. Permission must be sought when filming on Private Land, National Trust areas, land owned by the Ministry of Defense and similar type areas.

A Common Mistake
Many people believe that if you are not making a profit from your video then you don't have to seek copyright permission. This is not true. You can be prosecuted regardless and whether or not you are making a profit. Profit only determines how much you are fined.

There are various different types of copyright such as Performing Artists Copyright which is when you are recording a live band and Master Recording Copyright which is when you want to dub in a particular piece of material (such as a CD) which source must not be altered or re-performed.

title: Movie Making Manual/Legal/Copyright


text:
User:Jun-Dai/Np/L5

= Lesson 5: Sentence Elements =

Vocabulary

 * 1) 主語 (しゅご) - subject

title: User:Jun-Dai/Np/L5


text:
Cookbook:Sesame Noodle Salad

From the original recipe contributor:"'The salad recipe reminds me of those quiet and peaceful Sunday brunches at the local corner bakery and is an attempt to duplicate the bakery's original, secret recipe.'"

Ingredients

 * 16 oz (1 lb) angel hair pasta
 * ⅛ cup sesame oil
 * Olive oil, if needed
 * 1 tbsp table salt
 * 1 cup or more finely-chopped fresh cilantro
 * ½ cup chopped fresh scallions
 * 1 ½ cups thinly-sliced fresh carrots

Procedure

 * 1)  Cook angel hair pasta according to package instructions, then drain.
 * 2)  Add sesame oil, olive oil, and salt (to taste) to drained pasta
 * 3)  Toss in cilantro, scallions, and carrots.
 * 4)  Chill before serving.

title: Cookbook:Sesame Noodle Salad


text:
User:Jun-Dai/Np/L6

= Lesson 6: です =

です as Copula
There is a common misconception that です is equivalent to the English copula is. The problem with that notion is that です is not a 動詞 (verb). The comparison is useful, however, because it serves a similar function. です is a 助詞 (particle) that indicates that the information in the preceding phrase is the case. Here is a very simple construction using です:

花がきれいです.

が indicates that the preceding word, 花, is the subject. です indicates that the preceding word, きれい, is being used to describe that subject. The resulting meaning is: "the flower is pretty." Note: depending on context, this sentence could also mean "the flowers are pretty," or "a flower is pretty," or "flowers are pretty."

title: User:Jun-Dai/Np/L6


text:
Cookbook:Cheese Plane

| Kitchen tools

A tool used to slice cheese, generally into very thin slices. It consists of a handle attached to flat metal plane with a blade cut into it. Lower-quality models are unable to cut firm or aged cheeses such as Parmesan.

title: Cookbook:Cheese Plane


text:
Cookbook:Cheese Knife

| Kitchen tools

Cheese knives come in a wide variety of shapes and sizes, including very small knives for cutting individual pieces, specialty knives with etching or openings in the blade to allow the knife to pass through the cheese more easily, and large two-handled knives.

title: Cookbook:Cheese Knife


text:
Scouting/BSA/Radio Merit Badge

Good information earning and teaching on the radio merit badge can be found on the Radio Merit Badge site : Radio Merit Badge Web Site

title: Scouting/BSA/Radio Merit Badge


text:
Climate Change/FAQs

What is the Kyoto Protocol?
The most basic objective of the Kyoto Protocol is to reduce harmful greenhouse gas emissions prior to the levels of 1990. This protocol and its agreements are a legally binding contract for developed countries to reduce six of the leading greenhouse gases: carbon dioxide, methane, nitrous oxide, sulphur hexafluoride, Perfluorocarbons (PFCs), and Hydrofluorocarbons (HFCs)/Chlorofluorocarbons (CFCs). These gases are naturally occurring, except for the last four: SF6, PFCs, HFCs, and CFCs. These gases have a direct impact to Global Warming.

What is the greenhouse effect?
Greenhouse gases contribute to global warming, which is caused by the greenhouse effect. The greenhouse effect can be demonstrated in this way: suppose you are driving in a car on a hot summer day. The sun's rays shine down into your car through the windows. However, the heat cannot get out of the car because the windows reflect the heat trying to get out back towards the interior of the car. This causes the car to continue to heat up until the thing blocking the heat from getting out is removed or a cooling element of some type is activated in the car.

In the subject of global warming, the greenhouse gases are the "windows" and the Earth is the "car." The sun's rays are somewhat deflected or absorbed through their travel through space and the atmosphere, but most of the energy still reaches the Earth's surface. This energy is reflected back toward space by the Earth, but because of the greenhouse gases it cannot go back into space. Therefore, the entire Earth warms up.

The global temperature has only risen a few degrees since the start of the Industrial Revolution. However, one must remember that we are talking about a global temperature increase, not just in one relatively small location. One would expect the temperature in one location to be varied, but the forces required to raise the average temperature on the entire planet would have to be immensely strong.

Why are greenhouse gases detrimental to the environment?
Granted, greenhouse gases (GHG) occur naturally in the environment, but since the Industrial Revolution, humans have intensified this process by emitting more GHG into the atmosphere than our environment can handle. The main contenders are the automobile makers, industries such as coal (fossil fuel) burning power plants, and even landfills which release large amounts of hazardous methane (from decomposition). Some parties assert that this actually helps plant life to grow, on account of the fact that plants absorb carbon dioxide as a part of their photosynthesis. While this may be true, when the plant decays, the stored carbon is released back into the air. Scientists are afraid that if the dumping of greenhouse gases continues at the present rate, plant life may not be able to keep up.

title: Climate Change/FAQs


text:
Computers for Beginners/Introduction

=What is a Computer?=

History of Computers

What can a computer do for me?

The computer's original function was calculation. A computer is incredibly fast at mathematical accounting - what would take a human hours to complete can be done in seconds. It is wonderful for keeping track of a budget, planning a savings account or performing thousands of other tasks.

A computer can improve efficiency, streamline productivity, and facilitate communication as well as entertain.

In the work environment, a computer is used to perform a plethora of tasks. A primary function is word processing. A word processor is considered to be a virtual pen and paper; it saves the document on a computer and allows instant editing. It also includes tools to review your grammar and to check your spelling, ensuring higher quality written work!

Another productivity use for computers is creating databases. These databases are easily created and can store information for quick access and retrieval. For example, if you have a large address book and want to get a person's address to send them a letter, you can use an address book application. This application uses a directory, or database, to store the contact information of the people you input into it. Then you can use a search feature that lets you look for a person's name (or part of their name) to quickly find their address, instead of flipping through endless pages of an actual address book.

Computers also be great entertainers. Computers can view photos, play video games and music. In addition, if you have a decent Internet connection, you can watch one of the many TV shows and movies available online for your viewing pleasure.

One of the most utilized features of computers is the gateway it provides to communication. Even a slow Internet connection will make communication easier.

You can e-mail friends and family.

Electronic-mail, unlike regular mail, provides instant delivery to the recipient. Also, if both of you are simultaneously connected to the Internet, some programs will allow instant messaging. This is a means of communicating in real time. This can help save on phone bills. Many communication programs allow phone and video calls over the Internet as well, and most of them are free!

A computer also provides a gateway to the web. A huge library filled with billions of pages that are packed with knowledge and games!

NEXT>> Computers for beginners/buying a computer

title: Computers for Beginners/Introduction


text:
Computers for Beginners/Office Programs

Office programs can accomplish many daily home office tasks, and are one of the most commonly used programs of average computer people.

There are several programs in the Microsoft Office suite, the most common being
 * Word, a word processor
 * Excel, a spreadsheet program
 * PowerPoint, a presentation program

Office suites are not made only by Microsoft. Some companies have taken their own stab at making these handy bundles of programming, and many have succeeded. If you don't want to shell out serious cash (hundreds of US dollars) for the latest version of Microsoft Office, you should take a look at LibreOffice, a free, open-source office suite which offers almost all the features of Microsoft Office and then some. Several online services like Google Workspace (Google Docs etc.) also let you create and edit office documents.

Once you learn how to use one office program, you can figure out the basics of the other ones without much effort.

title: Computers for Beginners/Office Programs


text:
Arabic/Reading Arabic

Like many other semitic languages such as Hebrew, Arabic is read from right to left. Aside from that one unusual bit, you will be surprised how quickly you can learn to read it.

Now let's try these words:

باب             اب (ab) = father  (bab) = door

title: Arabic/Reading Arabic


text:
User talk:217.231.168.146

Please don't use the body of the book for discussion. Re your questions (1) The program to convert the file to hexadecimal encoding was tested on bash (2) This is what Wiki is all about. Please contribute ASCII85 encoding script. Ghostscript is a good tool to implement PostScript-related filtering.

title: User talk:217.231.168.146


text:
Web Development/To db or not to db?

To determine whether your site needs a database you need to examine how often you update your site, how much content you have, what your content is, how your site is updated, and more.

Automatic reasons to use a database is when you have a lot of content, content that is easiest to access through categories, if your site it updated by more than 2 people. If you update your site daily that implies having enough content to justify a database.

Other Technology Options
If a database isn't right for your site but you are still looking for ways to ease site updates, here are some options for you to consider.

SSI
SSI, or server side includes are good to use for navigation menus. (They are a type of shtml, an extension of HTML that contains other useful server directives such as date and time.) By using includes, you can tell a page to include a separate file. The file will be loaded into that space when the page is loaded—like copy-pasting by hand, except that server does it for you. So, if you wanted to have the same sidebar on a number of pages, you could create the sidebar in a separate .shtml file and tell each of your websites to include that page. That way, when you needed to change the navigation bar, you could change the one .shtml file instead of changing every single page.

The code looks like this:

Remember to name your files .shtml.

PHP
PHP stands for PHP: Hypertext Preprocessor and you can do really everything with it. It works very good with databases. Some code:

As you see, it looks like C.

WebDNA
WebDNA is an easy to learn server-side scripting language specifically designed for the World Wide Web, with an Hybrid in-memory databases system making easy to build resilient database-driven websites.

Example Code (connects to a whois server and shows the information, then stores it into a permanent database) [text]info=[tcpconnect host=whois.domaindiscover.com&port=43] [tcpsend]webdna.us[unurl]%0D%0A[/unurl][/tcpsend] [/tcpconnect][/text]

[append db=base.db]domain=webdna.us&whois=[info] [/append]

title: Web Development/To db or not to db?


text:
Movie Making Manual/ADR

ADR- Automated Dialog Replacement, (also referred to as "Looping"): The replacement of dialog in post-production of a film or video. This is done with the vast majority of feature sound tracks. Often, the "sync" sound recorded on the set is sub-par because of ambient noise, set acoustics, or talent deficiency. Sometimes it is requested by the producer. For instance, all Mel Gibson's dialog was replaced in the original "Mad Max" movie because the distributor felt his Australian accent was too distracting.

Historically, film stock was spliced into a loop of the segment of the dialog being replaced and this segment was interlocked to an audio recording device. The actor would then watch the picture and listen to the sync sound while repeating the phrase ad nauseam until the director was satisfied the take was perfect. This has been replaced (except the "ad nauseam" part) by computerized workstations which greatly enhance the workflow as well as giving distinct advantages to further post production audio work such as "sweetening".

Also known as:

Additional Dialog Recording

ADR in India - MOS
The best place to learn about ADR is India. In southern India (as well as occasionally in some countries in Europe), 35mm motion pictures are shot MOS (The actual origin of the abbreviation MOS and therefore its meaning is not doubtlessly to be specified; it's often referred to the legend that a German-speaking film director translated badly "Mit Ton aus" into "with out sound" ). Then all the dialog is added later using ADR. This means none of the dialog is in sync.

Question: Why do they do this? Answer: India has over 30 languages. Actually, India is like a group of countries, each speaking their own language. Therefore, a motion picture for the Indian market must be dubbed into many different languages.

In Madras 80% of heroines and 50% heroes do not speak the language in which the movie is made. So they are left with no other option but to do ADR. The dts technology help them to do different language shows with same print.That is why 60%of theatres are dts ready.

All except one of the dubs would look out of sync... even if they used sync sound. So why not have them all out of sync by not using any sync sound? The logic of this might not seem ideal but the economics is wonderful.

By shooting MOS, you do not have to worry about noise on the movies set. That saves you 50% of your time right there. You don't have to worry about getting actors who can say their lines clearly. You don't have to use movie cameras which have accurate motors. You don't need a clapper to keep the audio in sync. (Note: In Madras, many of the profitable, low-budget comedies are filmed with an old Arri "C" camera.  You can never get sync sound with that camera because of the noise and the less-than-perfect motor speed.)

In case you think that this is just one or two movies, remember that in Madras (Chennai), India, more motion pictures are filmed each year than in any other city in the world... including Hollywood.

In case you think that no professional movie will ever be filmed this way, look at "The Good, the Bad, and the Ugly". Almost all of the dialog shots were filmed MOS. Even the Indian people like to watch the later dubbed sound instead of the sync sound.

The secret of doing movies MOS and adding all the dialog later via ADR is the quality of the actor's voices. If you have highly skilled actors with good vocal control doing the ADR for the entire movies, the results are more than acceptable. The voice actors for "The Good, the Bad and the Ugly" had been doing radio dramas for years when they did the ADR for this movie for all but the principle characters in the movie, most of whom were speaking another language.

ADR does not work as well when you mix shots done MOS with shots done with sync sound. Then people can hear the difference. Some movies get away with mixing MOS shots with sync sound shots by using sync sound only for close-up shots and using MOS for all the rest of the motion picture.

ADR in Schools - DV Camcorder
The future of shooting motion pictures using total ADR never looked brighter. In theory, it is possible to film a motion picture with a DV Camcorder or an HD camcorder by using the built-in microphone to create a scratch track and then replacing all the dialog using ADR. Having a scratch track means you have a guide for both the voice actors but also for the audio engineer who must sync the two together. aligning newly recorded dialog to match a scratch track is easy. This way, you get perfect sync every time. That is why this method is ideal for high schools when they begin to make their own, yearly motion pictures. The scratch track can be extremely noisy but the final movie will have perfectly clear dialog.

Remember: For most motion pictures, all audio except the dialog is replaced in post production. If you also replace the dialog, you have an extremely clear sound track for your motion picture. So using a scratch track, you can make acceptable movies.

Naturally, a movie with little talking (a Western) will work better with ADR than a movie which has lots of verbal emotion.

Setup for ADR
Here is what you need to do your own ADR:

 * The Room :The biggest problem with doing ADR for a low budget motion picture is building the recording studio. Getting a good sounding room which is totally quiet is not easy in a high school.

 * The Computer :Most computers, including laptops, are not silent. The noise of the disk drive is enough to ruin the audio.  Therefore, the computer must be outside the room where the microphone is.

 * The Software :If your budget is extremely low, you can use GarageBand 3 to do ADR looping. You just need a program which can play the movie while you record the dialog.

 * A better alternative is a music program. Most music programs now include full DAW functionality.  Get one which is easy to use.

 * Professional Software titles like Gallery's ADRStudio are widely used for Professional ADR sessions. Steinberg's "Nuendo" and Digidesign's "Pro Tools" are two audio software applications commonly used for post-production and are available on both Macintosh and Windows platforms but these do not have the specialist features of titles like ADRStudio or VoiceQ ADR. Features such as the script text scrolling on the screen as the video file plays and audible 'cues' playing without manual intervention. Gallery's VoicePro software is used for Video Game Dialog Recording. Another available Windows software is Dialog ADR and Dialog Spotting designed by ZIO AUDIO in Spain.

 * The Interface :You need a good way to convert the signal from a professional microphone to a digital waveform in the computer. Many Firewire and USB microphone amplifiers are now available which will accept a balanced microphone jack.

 * The Microphone :Good microphones are expensive. And they are fragile.  Anything less and you will notice the difference in quality, although in the last 10 years prices of acceptable models have come down to less than a fifth the price of the traditionally used high end Sennheisers, Neumanns and AKGs.

Facts about ADR
Robert Rodriquez did not use any sync sound for his first feature-length motion picture. Instead, he recorded the audio immediately after filming the scene. As anyone in Hollywood will tell you, this is impossible. So, if you are going to bend the rules in filmmaking, you must understand how everything works. Note: When Robert Rodriquez makes a movie, he usually creates a 10-minute film school documentary. Watch these and learn.

Look at any motion picture filmed before about 1980... specially the outdoor scenes. Anytime you hear completely clear dialog from the actors, it was probably done with ADR. Once you start looking, you will be amazed how many movies used ADR that you thought were live recording on the movie set.

Now there are programs such as VocAlign which will take audio recorded in ADR (even in a foreign language) and reshape the audio to match the lip sync in the original audio.

/Audio /Post-production

title: Movie Making Manual/ADR


text:
Prolog/Introduction to logic

Since Prolog is based heavily on formal logic, it's useful to have some experience with it before starting to learn the language. This is a short introduction to logic for people who want to learn Prolog. It will discuss two logical languages: propositional logic and first-order logic.

Propositional Logic
Propositional logic has two basic elements, terms and connectives. Terms are represented by letters (usually upper-case), and represent the values true and false, i. e. a term can be either true or false, though it doesn't always have to be made clear which they represent. They are in this sense like variables in mathematics since they represent an unknown value.

Connectives, like the word suggests, connect two terms. The result of this connection takes on the value true or false, depending on the values of the two terms. Consider, for instance, the connective AND. It could connect the terms A and B to make the logical sentence "A AND B". (Anything that can take on the values true or false is called a sentence.) The sentence "A AND B" is true if both A and B are true. If one or both of them are false, the sentence is false. Connectives are usually represented by symbols rather than words. The following table shows the most commonly used connectives, their meaning and the symbols that are often used to represent them.

Beware of the meaning of implication, as it can be counter-intuitive. $$A \rightarrow \; B$$ basically says, if A is true, then so is B, otherwise B can be either true or false.

Since each term can only take on two values, all possibilities can easily be enumerated in a so-called truth table:

The next step is to connect these sentences, using connectives, to make more complex sentences, such as $$(A \land B) \Rightarrow \; (B \Leftrightarrow \; A)$$ or $$(A \lor B) \lor (A \lor C)$$. In the last sentence, the brackets can be omitted, since $$A \lor (B \lor C)$$ is the same as $$(A \lor B) \lor C$$. However, when in doubt, it's best to use brackets to make the meaning of the sentence completely clear.

You can analyse complex sentences with truth tables as well:

We can now divide sentences in three groups: valid, unsatisfiable and satisfiable.

 * Valid sentences (a.k.a. tautologies) are always true, no matter what values their terms take. Examples of valid sentences include
 * $$A \lor (\lnot A)$$
 * $$A \Rightarrow A$$
 * $$(A \Rightarrow B) \lor (A \land (\lnot B))$$
 * Unsatisfiable sentences (a.k.a. inconsistencies) are always false, no matter what values their terms take. Examples of unsatisfiable sentences include
 * $$A \land (\lnot A)$$
 * $$(A \Rightarrow B) \land (A \land (\lnot B))$$
 * Satisfiable sentences (a.k.a. contingencies) are those that can be either true or false, depending on the values that their terms take. Examples of satisfiable sentences include
 * $$A$$
 * $$A \lor B$$
 * $$A \land B$$

Meaning and Intention
It's very important in logical languages to realize that these sentences can be used in different ways. $$ A \wedge B $$, for instance, does not imply any meaning on its own. It's just a formal way of creating logical constructions. Someone can state that $$ A \wedge B $$ is true, which would give the sentence a meaning (namely that A and B are both true), which can be used to derive further truths if other things are known about A and B. Someone might also ask if $$ A \wedge B $$ is true, to which the person asked this would have to find an answer based on things already known about A and B. In other words, a logical sentence on its own doesn't mean anything. The reader needs to know the intention behind the sentence (usually question or statement) to be able to do something with it. A common construct in logic is a knowledge base, a collection of sentences that are stated to be true, and a single sentence that is posed as a question. The question is whether the question is true, given the knowledge base. Consider, for instance, the following knowledge base: $$ A \wedge B $$ $$ ~B $$ With the question $$A$$ That is, is A true, given that the Knowledge base is. It's clear that the question is indeed true, since $$ A \wedge B $$ is true, and B is too. This knowledge base/question construction is in fact the way that prolog works. You write a knowledge base (your program) and ask prolog a question. In comparison to conventional programming languages, the knowledgebase is your program, the question is its input and prolog resolving your question is the running of the program.

First Order Logic
First Order Logic (also known as predicate logic) expands on propositional logic, by using predicates, variables and objects. In propositional logic, the atomic sentences (the smallest elements that can take on a true/false value) are terms, symbols represented by letters. In first order logic the atomic sentences are predicates. Predicates have a name (starting with a capital) which is followed by several variables (starting with a lowercase letter). The following are examples of predicates:

 * Predicate(variable1, variable2)
 * BrotherOf(sibling, brother)
 * MotherOf(child, mother)
 * HasWheels(thing)

These variables can be instantiated with objects. Objects are elements represented by words that start with a capital letter. For instance, in the predicate $$HasWheels(thing)$$ the variable thing can be instantiated with the objects Car, Bike, or Banana. Based on the instantiation of the variables, the predicate is true or false ($$HasWheels(Car)$$ is true whereas $$HasWheels(Banana)$$ is false). Note however that these names are for readability only, they do not actually mean anything. $$HasWheels(Banana)$$ is not functionally different from $$X(A)$$, or indeed $$WrUlS(OvqPv)$$. Whether $$HasWheels(Banana)$$is true or false needs to be defined in some formal way (such as a knowledge base, which is described below).

These predicates can be joined in sentences, just like the terms in propositional logic, using connectives (the connectives are the same as in propositional logic). Usually there is a collection of sentences that are assumed to be true, to create a logical definition of predicates. Such a collection of sentences that are true is called a knowledge base. Such a knowledge base could, for instance contain the following sentences:

HasWheels(Car) MotherOf(Charles, Elizabeth)

The sentences tell us that the HasWheels predicate is true, if its first element is car; and the MotherOf predicate is true, if its first element is Charles and the second is Elizabeth. To construct this kind of sentences with variables in them we need to state what exactly we mean when we use the variables. If HasWheels(x) is true, do we mean it's true for instantiations of x or that there exists an instantiation of x that makes HasWheels(x) true? To define this we use quantifiers, ie. they determine the quantity of a variable. First order logic has two quantifiers, the universal quantifier $$\forall$$ and the existential quantifier $$\exists$$. These quantifiers are placed before a variable to signify what the variable means in the sentence that follows the quantifier. For instance, the sentence $$\forall x HasWheels(x)$$ means that for all possible instantiations of x, HasWheels(x) is true, that is, all possible objects have wheels. The sentence $$\exists x HasWheels(x)$$ means that there exists at least one object x for which HasWheels(x) is true, in other words there is at least one thing that has wheels. To understand the use of the quantifiers, consider the following examples:

$$\forall {x} LandVehicle(x) \Rightarrow HasWheels(x)$$ $$\forall {x, y} HasChild(x, y) \wedge Man(x) \Rightarrow FatherOf(y, x)$$ $$\exists {x} HasWheels(x) \wedge \sim Car(x)$$ $$\forall {x} Mother(x) \Rightarrow \exists {y} Child(y) \wedge HasChild(x, y)$$
 * If x is a land vehicle, then x has wheels. (if x is not a land vehicle, this sentence says nothing about x)
 * If x has a child y and x is a man, x is the father of y.
 * There exists at least one object that has wheels and isn't a car
 * All mothers have a child

Logic in Prolog
The logic used in prolog is a version of first order logic, with the use of capital letters inverted (predicates and objects start with a lowercase letter, variables start with an uppercase letter). A prolog program consists of a knowledge base where each sentence is a conjunction of predicates connected to a final predicate with an implication. For instance:

$$\forall a,b,c,d Pred1(a, b) \wedge Pred2(b, c) \wedge Pred3(c, d) \Rightarrow Pred4(a) $$

A sentence like this is called a Horn Clause. In prolog the above sentence would look like this:

pred4(A) :- pred1(A, B), pred2(B, C), pred3(C, D).

Note that the implication sign is reversed, commas are used for conjunction, a period is used to end the sentence and all variables are assumed to be universally quantified.

Examples
for all x: cat(x) or dog(x) implies pet(x)

Exercises
(x) Write out a truth table for the following sentences in propositional logic. a) $$ (A \wedge B) V C$$  b) $$ A$$ c) $$ A$$  d) $$ A$$ e) $$ A$$  (x) How many connectives are possible, that connect two terms? Why?   (x) Try to find a formula to fit the following truth tables   a)   b)   c)   d)   (x) Truth tables are a great way to prove that a propositional formula is true. Could you do the same thing for first order logic? Explain how, or why not.   (x) Convert the following sentences to first order logic. Try to follow the logical structure of the sentence closely (using objects for individuals, variables for groups of people, connectives for logical constructions and predicates for the rest).   a) All kids are short. b) Certain kids own shoes.  c) If someone is a kid and a boy, he likes cars. d) All kids that own shoes, wear them.  e) All kids have a mother. f) If a woman is a mother, she has a kid.  g) No kid likes a vegetable if it's overcooked. h) No mother likes a teacher if he punishes her kid.  (x) (advanced)The following questions concern the = symbol. It takes two variables and is true if they are bound to the same thing, in other words x = y is true if x and y represent the same object. (a) Is the = symbol a function, predicate or a connective? Why? (b) The = symbol shouldn't be confused with the equality connective. How are the different? (c) Can you think of a sentence in first order logic that, when added to a knowledge base (and thus considered always true) does the same thing as the = symbol. That is, through it's definition in the knowledge base, this sentence, with 'inputs' x and y, is true if x and y are equal. (d) The existential quantifier $$ \exists x $$ defines that a sentence is true if it's true for at least one possible instantiation of x. Can you think of a way to quantify a variable x for a sentence so that the sentence is true if it's true for only one instantiation of x, but no more? You'll probably need the = symbol for this.

Prolog/Introduzione

title: Prolog/Introduction to logic


text:
Cookbook:Pecorino Romano Cheese

Pecorino Romano is made from sheep's milk. It is straw-white in color. Pecora in Italian means sheep and Pecorino Romano is one of Italy's oldest cheeses. Legend has it that a shepherd filled his flask with sheep's milk before a long trip and the motion during the trip caused the milk to naturally ferment. The idea for a new cheese was born. Today most Pecorino is made in Sardinia, Italy. With its fine flavor Pecorino's popularity as a grating cheese has grown significantly in the U.S. Since sheep only give milk for 6-7 months a year, all production must satisfy demand for the entire year.

Substitutions
Use equal amounts of Parmesan, Asiago or Spanish Manchego

title: Cookbook:Pecorino Romano Cheese


text:
Category:Subject:Linux

cs:Kategorie:Linux de:Kategorie:Linux es:Categoría:Linux fr:Catégorie:GNU Linux ko:분류:리눅스 nl:Categorie:Linux ru:Категория:GNU/Linux pt:Categoria:Linux

title: Category:Subject:Linux


text:
Prolog/External Links

Prolog Compilers

 * Visual Prolog is a successor of the Turbo Prolog compiler created in 1980s that was the first Prolog compiler. Since that time the Prolog Development Center has been developing and improving its compiler. Currently Visual Prolog compiler is a powerful and efficient compiler that can create object files for creating standalone executables or DLLs, resolve cross references among declarations, validate predicate mode, perform powerful type checking, validate facts initialization in constructors, perform predicate resolution. Download Visual Prolog.
 * Strawberry Prolog is used mainly in education. This compiler is very close to ISO-Prolog syntax but it has many extensions which are not part from the standard. For example, in Strawberry Prolog you can find global variables, arrays, objects and many predicates which are specific only for this compiler. The main idea of Strawberry Prolog is to be very easy for use. That is why it includes Development environment, visual debugger and free Light edition. Download Strawberry Prolog.

Prolog Tutorials
When learning Prolog, it's always a good idea to use more than one text. Viewing a subject from more than one perspective can help to clarify it. These are only some of the free Prolog tutorials out there.

 * Learn Prolog Now! A full introduction to Prolog, including DCG's.
 * James Power's Prolog Tutorial (with edits from Alex Monaghan)
 * Visual Prolog Tutorials
 * Strawberry Prolog Help, online help
 * Strawberry Prolog Tutorial by Dimitar Gelev

Downloadables
 * Prolog A Tutorial Introduction by James Lu and Jerud J. Mead PDF
 * Prolog And Natural Language Analysis (©) PDF
 * An Introduction to Logic Programming through Prolog (©) PS\PDF
 * Prolog Programming Contests PS/HTML − Advanced exercises.

Other texts on Prolog

 * Prolog Programming for AI by Professor Ivan Bratko
 * comp.lang.prolog FAQs

Links2links

 * PCAI's Prolog Programming Links
 * PCAI's Prolog Programming Links

title: Prolog/External Links


text:
Movie Making Manual/Cannes

Cannes undoubtedly the biggest film festival of them all. Over 2 weeks the entire film industry gathers in the French Riveria to buy, sell and develop films. Even if you are making the most niche eclectic films in the world you cannot consider yourself involved in film if you've not been to Cannes at least once.

How to get there
Fly to Nice, (from London Easyjet do cheap fares) and then get the bus or train to Cannes, or rent a car (air-conditioning can be a real need).

One should first be accredited to be allowed to watch the movies in competition or enter the film market space. See external link to the official website in english as to be accredited, that can be done on-line, weeks in advance, usually accrediting would close in april.

You should be able to give an adress where you plan to stay as to be accredited.

Also, one has to know that the main screen projection, in the Festival Palace, only allows men dressed with smoking suits and ladies in evening dresses. One can rent smoking suits nearby the palace, on Carnot boulevard for instance.

But there is also a lot of screenings in the city during the Festival that allow people in everyday clothes.

Parking in the center of Cannes is a pain in the neck during the Festival. You can park further from the very city center and either walk or take a bus (a quarter to half an hour trip or walk), considering the bus terminal is by the harbour, west end of the Croisette (sea border in town).

Renting an house or flat or an hotel room during the Festival is something expensive, uneasy to do and has to be considered months in advance. Also, one should consider renting in a village or in the country side around Cannes, meaning up to 15 km away, and that can be a one hour trip considering the traffic jam during the film festival.

The weather can be very hot, summerlike, doing the Festival, but it also can be grey, rainy and mid cold. This time of year can be unstable but it would snow only once in a century. Evenings, nights especially, can be a bit cold so you have to take a summer suit as well as a jumper and a raincoat or umbrella. It usually rains one day or so during the week. Don't consider bathing unless you like cold water. But most of the time, evening would be great to have dinner and partying outside. Enjoy !

=External Links=

See Berlin Means Business - A review of the Berlin 2006 film festival which compares Berlin to Cannes.

See Cannes Film Festival - The official Festival website in english. Registering online (Accreditation), festival informations.

/Festivals

title: Movie Making Manual/Cannes


text:
Cookbook:Lime

Limes are sour green citrus fruit. Limes may be substituted for lemons, and lime juice for lemon juice. The outermost surface contains flavorful oils that may be scraped off with a zester, serrated knife, or grater. As with other citrus fruit, slices are often used to decorate drinks. They generally have a hint of bitterness in contrast to lemons. They are a mainstay in Mexican and Carribbean cuisine.

The common Persian lime or Tahitian lime is a relatively small and thin-skinned citrus fruit. The Bearss variety, a type of Tahitian lime, is seedless and a bit smaller than the Persian variety. The Key lime, also known as the Mexican lime or bartender's lime, is much smaller and has an even thinner skin.

title: Cookbook:Lime


text:
Cookbook:Ketchup

| Sauces

Ketchup, also known as catsup, is a type of sauce containing spices and a large amount of acid (vinegar or lactic acid), typically tomato-based. Some recipes, particularly those from Australia, may use the ambiguous term tomato sauce to mean tomato ketchup. The Philippines has its own variation of ketchup that is made from banana. Banana ketchup is used in cooking Filipino style spaghetti.

Ketchup is commonly used on deep fat fried foods, meat, and eggs. Ketchup is normally applied at the table as a condiment, but it is also commonly used as an ingredient for meatloaf and barbecue sauce.

Interestingly, the original ketchup did not include tomatoes. It was probably a Chinese sauce called "ke-tsiap", based on fermented brined fish or shellfish. The sauce was brought back to Europe by sailors, and appropriated into local recipes. Later, tomatoes were added.

Recipes using ketchup as an ingredient

 * Meatloaf
 * Barbecue Sauce
 * Hot and Spicy Dip
 * Louis Dressing
 * Thousand Island Dressing

title: Cookbook:Ketchup


text:
Movie Making Manual/Legal/Protecting Ideas

It is not possible to copyright an idea - you only get copyright in the expression of the idea eg the script, the film or even the synopsis.

Screenwriters can sometimes be overly paranoid that someone else will steal their ideas. The U.S. Copyright Office offers one way to ensure your copyrights are protected for life, for a fee $45. Another way is to register your script with a script registration service, like the Writers Guild of America Registry.

Depending on your country of origin, there is also the poor man's copyright. This action of mailing your material to yourself is not necessarily admissible in a United States court of law, as it is easily spoofed; however, in many European countries it may or may not be admissible, but will most likely be accepted with some form of "recorded delivery", as opposed to regular mail. In any case, if you fear your intellectual property may be stolen, it is well worth the money to register it with local copyright officials.

Another suitable means of protecting your work is to use a notary service (available at most banks). You can have the notary date and sign your documents to serve as a proof if your work is ever stolen.

See the section on Copyright for more information.


text: Template:Mammalia

title: Template:Mammalia


text: Template:Chordata

title: Template:Chordata


text:
Brewing

Table of Contents

 * 1) Foreword
 * 2) Brewing Overview
 * 3) /Ingredients/
 * 4) /Equipment/
 * 5) /Procedures/
 * 6) /Cleaning/Sanitization/
 * 7) /Milling/
 * 8) /Mashing/
 * 9) /Lautering/
 * 10) /Boiling/
 * 11) /Cooling/
 * 12) /Fermentation/
 * 13) /Bottling/Kegging/
 * 14) /Recipes/
 * 15) Affichage libre
 * 16) /References/
 * 17) /Authors/
 * 18) What needs work

Piwowarstwo domowe

title: Brewing


text:
Chinese (Mandarin)/Chinese-English Dictionary

 * Pinyin-Hanzi-English Chinese-English dictionary
 * WrittenChinese.Com Free Online Chinese-English Dictionary Search results are ranked by frequency of occurrence in everyday Chinese text.
 * Yahoo!奇摩字典
 * Multilingual Chinese Dictionary 9 languages (English, French, German, Spanish, Italian, Russian...)
 * Chinese <-> English Online Dictionary with Pinyin and Zhuyin.
 * English - Chinese Dictionary
 * Chinese <-> Dictionary search in Chinese, pinyin or English
 * zhongwen A Chinese Dictionary
 * Ting Audio Dictionary Chinese English dictionary with Illustration sentences
 * Chinese <-> English Online Dictionary with English pronunciation and Pinyin (Simplified Chinese简体)
 * Chinese <-> English Online Dictionary with traditional characters and flashcards
 * Chinese <-> French Online Dictionary with flashcards
 * Chinese Tutor's Chinese-English Dictionary - Searchable by English, Pinyin, and Hanzi. Simplified & Traditional characters. Most words have audio.