text:
Scouting/Knots/Decorational Knots/Sinnets/Three String English Sinnet

=Making a Three String English Sinnet= The Three String English Sinnet is the most simple sinnet to create. You start by putting the three strings next to each other. Then you pick the left string and cross it over the middle string, making the left string the middle string and vice versa. Then, you pick the right string, and cross it over the middle string, making the right string the middle string, and vice versa. Repeat this process alternating the left and right string, until the desired length is reached.

=Description= This sinnet is a braid, and is therefore primarily used for decoration. Another use for this sinnet is creating a stronger rope by braiding several weaker ropes. A Three String English Sinnet will create a rope three times stronger than either of the three individual ropes (provided the three ropes used were of the same quality and strength).

=Other Names=
 * Common Braid
 * Braid
 * Three String Braid
 * Vlecht (Dutch)
 * Driestrengs Vlecht (Dutch)
 * Driestrengs Engelse Platting (Dutch)

=Related Knots=
 * Five String English Sinnet


text:
Scouting/Knots/Decorational Knots/Sinnets/Five String English Sinnet

=Making a Five String English Sinnet= The Five String English Sinnet is a very simple sinnet to create, and closely related to the Three Strings version. You start by putting the five strings next to each other. Then you pick the leftmost string and cross it over the middle string. Then, you pick the rightmost string, and cross it over the middle string. Repeat this process alternating the leftmost and rightmost string, until the desired length is reached.

=Description= This sinnet is a braid, and is therefore primarily used for decoration. Another use for this sinnet is creating a stronger rope by braiding several weaker ropes. A Five String English Sinnet will create a rope five times stronger than either of the five individual ropes (provided the five ropes used were of the same quality and strength).

=Other Names=
 * Five String Braid
 * Vijfstrengs Vlecht (Dutch)
 * Vijfstrengs Engelse Platting (Dutch)

=Related Knots=
 * Three String English Sinnet
 * English Sinnets with more strings are created the same manner. Any uneven number of strings can be used.

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


text:
Visual Basic/External Processes

It is often the case that a program already exists to do some job so rather than rewrite the program in Visual Basic it is more efficient to run the existing program from Visual Basic. This can work very well for command line programs or scripts written in any language.

The general scheme is to create a string containing the command line, call a function to run it and then wait for the command to complete. There are many refinements that can be made including all sorts of ways of sending data to the new process, reading results from it, pausing it, setting its priority and so on.

The Shell Function
The simplest way of running an external program is to do something like this:

Shell is a built in Visual Basic function that executes a command line and returns a handle to that process. Shell takes an optional argument that controls the window style of the new process (maximized, normal, hidden, etc.).

Unfortunately running another program like this doesn't give you much control over what is happening. In particular, there is no obvious way to find out if the program has completed its work.

Luckily Shell actually does slightly more than launch the program. It also returns the process id. This is the number displayed by Task Managers and can be used to check the status of the process. Unfortunately, as is so often the case with Visual Basic and Windows, there is no built in function nor even a single API function that can use it directly. Therefore, we must write a little more code. First, we must declare a few API functions and constants:

Here is an example of a function that executes a command and waits for it to complete:

Call it like this:

Exercises

 * Modify the ShellWait example function so that the caller can distinguish between failure to launch the process and timeout.
 * Suggest a reason why this might be a good idea.

title: Visual Basic/External Processes


text:
Category:Wikibooks bookshelves

cy:Categori:Silffoedd llyfrau da:Kategori:Boghylder ms:Kategori:Rak Wikibooks

title: Category:Wikibooks bookshelves


text:
Visual Basic/Snippets

TopMost Function
The code below is useful if you want to keep your application window on top or swap your application window between staying the topmost window and behaving like a standard window. Paste the code below into a code module and call either of the two routines as required.

To make your application stay on top use this call :

To make your application window behave like a normal window use this call :

Form Close Button Disable
This was posted to the misc VB news group by Ben Baird. I include it here mainly because I found it quite handy, it details the code required to disable the Form Close button (little x button at top right of the window) whilst still keeping the button visible. To test this out open a new VB project, add a command button, paste in the code below and run it.

ComboBox Automation
The code below demonstrates how to expand and hide combo box lists via code. To test it out create a new VB project, place a command button and combo box on the form and paste in the code below. When you run the project and use the tab button to move the focus from the combo box to the command button you should notice that the combo box expands and hides.

Reversing a String
This code demonstrates a small function that reverses the content of a string. To test this out set up a form with a single command button and two text boxes then paste in the code below. If you now enter the text "dlroW olleH" in text box 1 and press the command button you will see the reversal in text box 2, it should read "Hello World"

Preventing flicker during update
It's a common problem that controls seem to flicker as they are updated. This can be due to Windows updating a control's screen image multiple times during an update or Windows updating a control during the monitor vertical refresh. The technique below gives you the ability to lock individual controls or the entire form window during updates, this allows you to dictate to Windows when the screen updating should be done. Another way of reducing flicker is to set the form's ClipControl property to false, this forces Windows to paint the form screen as whole instead of trying to preserve the look of individual controls (it can also increase the speed of your application). For those of you having problems with flickering graphics you should investigate using the API call BitBlt (Bit Block Transfer) instead of methods like Paintpicture.

To test the code below create a new VB project and place two command buttons and a combo box on the form. The first button will populate the combo box whilst the control is locked. The second button will unlock the control and allow Windows to refresh it. Change the Hwnd to reflect the name of the control or form you want to lock.

Useful Date Functions
All these functions except Lastofmonth (Elliot Spener's) were sent into PCW magazine by Simon Faulkner. I've found these date functions very handy, if you have any other useful functions let me know and I'll put them on.

Blast Effect
Makes a circular blast effect on the picture box, make sure you rename it pic. X and Y is the center of the circle, R is the radius of the blast effect

Sleep Function
This is useful if you want to put your program in a wait state for a specific period of time. Just paste the code below into a new form to test it and attach it to a command button, then run it - you can view the time in the debug window. 1000 milliseconds = 1 second (but you probably knew that).

Random Numbers
Random numbers are not truly random if the random number generator isn't started, so you need to start it before using Rnd

Replace HighestNumber and LowestNumber with your own range.

Animated Mouse Cursor
The code below demonstrates how to change the mouse cursor from the base cursor to one of the animated ones. Open up a new project, add a drop list and a command button to the form then add in the code below and run it.

Adding a bitmap to a menu entry
The code below demonstrates how to add 13x13 bitmap pictures (not icons) to the left hand of each menu entry. You can define a different bitmap for both the checked and unchecked condition (as shown) or set one of these values to zero if you don't want a bitmap shown for a particular condition.

The project uses 2 picture boxes (each holding one of the required bitmaps and set to be non visible), a button and any amount of menus and submenus.

Convert Base Numbers
This code demonstrates how to convert numbers to and from Decimal, Binary, Octal and Hexadecimal.

Application Launching
The code below demonstrates how to launch the default "Open" action for any given file (which will normally mean launching the application that handles data files of that type). I've also included a variation of ShellExecute that allows you to launch the default system Internet browser and have it go immediately to a specified Web site.

Rounding Things Up
If you're bored of rectangular controls on rectangular forms then try the code below. Open a new project, put a command button on it, paste this code in and then run it. You should see a round button on a round form, it works on most controls. The code is fairly straightforward, you calculate the size of the ellipse required and feed this through two API calls. With a bit of playing you can get some very odd effects.

TCP/Winsock - Point-to-Point Connection
This is a client-server Point-to-Point TCP over Winsock snippet, which settings are hard-coded. The snippet will connect to the server through the loopback adapter through port 50000, and the conversation would be the client sending the server a "Hello World" message which the server would show on a MsgBox. The server could only accept one connection from a client, if there is a second connection request from another client it would disconnect the first connection (thus, Point-to-Point). For a Point-to-Multipoint code (the server allows multiple connection from multiple client) see below.

Client Code
Add the following controls
 * Winsock Control - Name="sckClient"
 * Command Button - Name="Command1", Caption="Say "Hello World""
 * Command Button - Name="Command2", Caption="Make a Connection"
 * (Optional) Timer - Name="Timer1", Interval="1", Enabled="True"

Server Code
Add the following control
 * Winsock Control - Name="sckServer"
 * (Optional) Timer - Name="Timer1", Interval="1", Enabled="True"

TCP/Winsock - Point-to-MultiPoint Connection
This snippet is the same as the TCP/Winsock - Point-to-Point Connection above, but this code allows the server to receive multiple connection from multiple client simultaneously. This behavior is achieved by using Control Array. The Winsock Control Array index 0 is a special one, since it is never opened, it'll only listen for incoming connection, and assign to another Winsock control if there is an incoming connection. The server code is coded to reuse existing WinSock control that is already closed to receive new connection. The client code is the same as with the Point-to-Point snippet. The client will never unload Winsock control that is already open. You should understand Point-to-Point Connection before trying to implement Point-to-Multipoint connection.

Client Code
The same with client code for Point-to-Point Client Code

Server Code
Add the following control
 * Winsock Control - Name="sckServer", Index="0"
 * (Optional) Timer - Name="Timer1", Interval="1", Enabled="True"

title: Visual Basic/Snippets


text:
Ayyavazhi/Sivam

"Sivan" Tamil name for Siva. This Sivan is not to confused with Sivam, which represents the whole mass which exists, according to Akilattirattu Ammanai (see also Sakthi).

title: Ayyavazhi/Sivam


text:
Ayyavazhi/Sakthi

The Sakthi represents the sum total of the force existing in this Universe, according to Akilattirattu Ammanai the source of Ayyavazhi mythology and is the Tamil name for Shakti. All forces, including the force which controls the very small atom and the very large Universe is called as Sakthi. This Sakthi is not to be confused with Sivam.

title: Ayyavazhi/Sakthi


text:
Ayyavazhi/Narayana

Narayana (Thirumal) in known as "The Maintainer" according to Ayyavazhi mythology. The name Thirumal is Tamil for Sriman Narayana, or Vishnu.

title: Ayyavazhi/Narayana


text:
Talk:Hindi/Family relations

Where's the Devanagari?
Why is this all in some weird form of English pronunciation? The page would look much better and be much easier to read if it were in Devanagari.
 * I switched what I could spell to include the Devanagari in unicode and switched to the common Itrans for the pronunciation. I'll do the rest as I find the proper spelling. I may have messed up on some of the short and long forms of i. Here's the Devanagari unicode chart if anyone has a chance to do more. If I knew how to cross wikilink correctly I would link on the page to Wikipedia:Enabling complex text support for Indic scripts, to let people see the script right. - Taxman 22:52, 27 September 2005 (UTC)

Once again, please add devanagari spelling in each place there is not one now. And correct all this "Englishy" transliteration into the accurate one. Who needs this weird "common usage"? For example: "Mother's sister husband -- मौसा (massad)" is NOT a transliteration of this word, is it? Anyway, I can see (mausaa), not (massad) here...

title: Talk:Hindi/Family relations


text: User:Mysekurity

title: User:Mysekurity


text:
User:Maxberger

Hi All,

i am currently teaching a beginners class in C++. Therefore I am interested in the books Programming in C -/- -/- and Programming:C plus plus. Leave me a message :)

Max

-

My bookmarks:

 * Programming:C_plus_plus
 * Programming:C_plus_plus/Conventions
 * Talk:Programming:C plus plus/Table of contents
 * Talk:Programming:C_plus_plus
 * Talk:Programming:C plus plus/Cover Image

title: User:Maxberger


text:
User talk:Maxberger

Hi Max! Welcome to Wikibooks! We're going to turn Programming:C -/- -/- into a redirect to Programming:C plus plus. So, any thing you'd like to contribute should go to Programming:C plus plus directly. In theory the other C++ book is being merged in, but you are under no obligation to do any of that merging. Instead, simply do what you can to make Programming:C plus plus a better book. Thanks. --MShonle 22:51, 11 September 2005 (UTC)

 * (BTW, Staff_lounge has a write-up and links to all that you'd care to know about this issue. MShonle 23:46, 11 September 2005 (UTC))

= Programming: C Plus Plus =

Oi Max, can you merge your style page with the conventions page or the Edit or do something that joins the 3 to 2 or 1 page only if you can manage it ?--Panic 00:44, 18 September 2005 (UTC)

BTW pages not related to content (C++) pages should be kept on the Talk: space (at least that is my interpretation of the non-existing naming policy ... I say this because of you last edit.--Panic 00:47, 18 September 2005 (UTC)

 * Sorry, I guess you were faster creating the conventions page that I was.... Should have looked first, and then done it. I've now merged your and my version. Sorry --Max 01:17, 18 September 2005 (UTC)

= info = Olá again Max,

Check out http://en.wikibooks.org/wiki/Special:Recentchanges (side bar also), the page of general discussion is Staff lounge.--Panic 02:44, 19 September 2005 (UTC)
 * done. Tnx. --Max 14:36, 19 September 2005 (UTC)

If you can check out the C plu plus talk page and remove or alter you signed information to the contents page (I didn't do it because it was signed, most people don't like adulteration of signed texts/comments)--Panic 02:46, 19 September 2005 (UTC)
 * done. --Max 14:36, 19 September 2005 (UTC)

Max, what did you do with the external (links/information) the old page did you delete it? That page was very useful (I can only see 4 or 6 references now) and if we are after people to produce some work that page structure was a great to attract new readers contributors as they probably do have other sources or contributions that they want listed and doing so they will bring more content (at least that was what I saw after I restructured it the first time, people came added some link to a forum a mailing list a book and did some contributions to the book) one of those was from the C++ mailing list (NNTP) at the time he also added the book to the mailing list faq page, I think that this cross referencing is important to get some visibility--Panic 23:56, 20 September 2005 (UTC)
 * I have not deleted anything, I think it is within the FAQ page (from the plus plus book). This needs to be reorganized (will work on that right now), as so many things need to be reorganized.... But I promised not to touch any pages from -/- -/- until that is deleted. --Max 00:01, 21 September 2005 (UTC)
 * You can edit and move stuff about (like on the same page) only keep in mind that there are redirects (no big deal, humm I saw some broken ones in the OnePage version but did not correct them), You could also take a look there before the delete I think I've moved almost all the content, humm there will be some problems with the reference tables as they are separated in the C -/- -/- book and on C plus plus they are on a single page (there are modules now on C plus plus that use those tables.--Panic 00:11, 21 September 2005 (UTC)
 * I will look at the -/- and see if we're missing anything. The External links are merged. The Reference Tables will have to be merged, but I'll find an easy way to do that (hopefully tonight) --00:15, 21 September 2005 (UTC)

=minor edit= Sorry about that, I really don't make much distinction on the use of that function of wikibooks, I'll try to keep it on my mind on future edits.--Panic 02:13, 25 September 2005 (UTC)

title: User talk:Maxberger


text:
User talk:Gzur

Learning Latin - Lesson 1 - Excercises   Define the stem: The stem is the part of a word to which suffixes are attached for the purposes of inflection - e.g. in icelandic - "hús" is the 'stem' of "húsinu" and "húsið" with -inu and -ið being suffixes which inflect the word(change its 		meaning) - this is done by word order in english.  Define the root: The root of a word is in common with other words of similar meaning.  Define inflection: Inflection is when suffixes(endings) are applied to a stem to change its meaning(húsið vs. hússins)  Define endings: Endings are suffixes which are applied to stems to inflect them(ie. change their meaning)  Name the parts of speech: Nouns - verbs - adjectives - pronouns - substantives - prepositions - conjunctions - adverbs

title: User talk:Gzur


text:
Talk:Movie Making Manual/Budget/Grants

What... nothing in the US? Hmmmm...

Uh! Entities like what?! This needs revision.

title: Talk:Movie Making Manual/Budget/Grants


text:
Introduction to Communication Theory

The fundamental activity of every human being is to engage in communication with another. This book serves as an introduction to various communication theories proposed and developed over the last century.

Contents

 * 1) Introduction
 * 2) /Introduction/
 * 3) /Evaluating Theory/  from Wikipedia - Communication_theory
 * 4) Creating Meaning (Semiotics)
 * 5) Argumentation
 * 6) Interpersonal
 * 7) Small Group Relationships
 * 8) Nonverbal
 * 9) /Culture/
 * 10) Face Saving
 * 11) Negotiation
 * 12) Ethnography
 * 13) Gender Studies
 * 14) Macropersonal
 * 15) Communication Media
 * 16) /Media Content/
 * 17) Propaganda

Related books

 * Communication Theory

title: Introduction to Communication Theory


text:
How to Escape the Headlock

The headlock is one of the most common holds used both by untrained and trained fighters.

How to avoid the headlock

 * 1) Be aware of your surroundings. If you are aware of someone approaching you, it is unlikely they'll be able to apply a headlock, and if they try you can defend against that similarly to a shoulder grab since you'll have enough distance to start with. Having good posture is also very important.
 * 2) If you've only started to be aware a split second before the headlock is applied, it might be possible to maneuver out of it by ducking and blocking his arms. (In any case, the longer you wait, the harder it will be.)

General headlock guidelines

 * Tuck your chin. You do not want them to cut off your supply of air or blood. Turn your head towards their body, using their chest to protect your face from their fists. Grab their hands grabbing each other and the hand that is choking you and pull the hands down to release the pressure
 * Keep a stable base. This means stay low and keep your legs relatively wide in a horse stance position with your legs bent. They will probably be thrashing you about and dragging you by your neck, so the ability to gain stability and counterattack at a moment's notice is crucial.
 * To counter-attack, there are many possible choices, depending on what position you're in at any one moment. A particularly effective one is to punch their upper inner thigh or their groin. Afterwards pull their head area backwards using any hold you can get (e.g. hair, collar, eye sockets). Then push their arm away and run.
 * Another option is to take your opponent down, as is demonstrated in the next section:
 * There are many different defenses against the headlock and many different ways to do the headlock.

Tips

 * Use your free arm to protect your face from punches.
 * The first movement required is much like the exercise where you stand with your legs apart, bend over and touch your right foot with your left hand and then your left foot with your right hand. Once your shoulder is free reach around the front of their body.
 * As you lean backward to pull them over your leg also push them with your arm, digging your elbow into their chest.
 * Your head could land on their arm but just in case lean your head forward to avoid hitting it on the ground. Try to shift all of your weight onto your elbow.

title: How to Escape the Headlock


text:
Introduction to Communication Theory/Introduction

Introduction
With every interaction, whether active or passive, we find ourselves communicating with other people. Even our silence connotes some intention, which others may interpret at their discretion. Whether by artifact or by attendance, every human being constantly participates in the process of communication. The field of Communication Theory exists at a crossroads of Psychology and Sociology, borrowing heavily from each, illuminating a process that defines what it is to be human.

Defining Communication
Reasonable men and women have put forth plenty of definitions. However, the field and the process are not so easily defined by curt declarative statements or laconic aphorisms. Within every research direction, we discover a new means to describe communication and a new method of investigation. Ironically, many academics encourage their students to develop their own, personal, definition of communication. There is no proper perspective of what communication is, just as there is no limit to the potential of what it is to be human. In this textbook you will be exposed to various perspectives, with which you may find varying concordance. Your role is to approach them with an open but critical mind. Like other Social Sciences, the field of Communication theory is a soft science. communication means exchange of ideas, views, opinion, understanding, feelings, emotions, facts or information between two or more persons by any sources or medium

Early Mistakes
Early theorists of human interaction believed such activity could be measured and predicted with similar methods to those used in physics and chemistry. Positivism within the social sciences often drove the ridiculous notions of determinism rampant in the 19th and early 20th century. Auguste Comte, while an invaluable contributor to Sociology, derogated woman to a position of innate intellectual inferiority. Whether by biology or ethnology, positivists often asserted the superior nature of one class over another. Biological determinism was heavily referenced within eugenics movements, and remains a hot topic issue in regard to gender imbalances in academia, business and politics. While the laws of physics provide scientists with exact predictive formula, there are no analogous laws to human behavior, only correlates (or probabilities). One can certainly state that in all likelihood upper class children will display superior cognitive abilities to those raised in slums. One could argue that the higher instance of men in engineering professions and women in secretarial positions are correlated with gendered brain chemistry. However, these remain correlates. To state that women are inferior in math to men, that poor children (who by majority are of non-European descent) are intellectually inferior, or simply that children who learn to read earlier in life than others are somehow deficient, is to step beyond correlation into prediction. It is to these ends that many scientific endeavours step far out of science and into fallacious reasoning. Just as I.Q. tests presume to measure intelligence, positivists presumed to measure all sorts of amorphous properties, predicting far beyond reasonable evidence.


text:
User:Takeshi Yamato

To be added later..

title: User:Takeshi Yamato


text:
How to Solve the Rubik's Cube/Beginner (alternative)

This is a beginner "cross" method for solving the Rubik's Cube.

Things to know
There are some things that are very important to know: Now that that's out of the way, let's begin!
 * A corner piece is always a corner piece.
 * An edge piece is always an edge piece.
 * A center piece is always a center piece AND is always in the same place relative to the other center pieces.
 * When you position a corner piece or edge piece correctly, its colours are in their respective faces.
 * A cubie is an individual cube.

Notation
While many notations exist, this seems to be pretty much the most common and standardized.

F: Front face B: Back face L: Left face R: Right face U: Up face D: Down face

If a side's letter is shown unaltered (e.g. R), it is rotated clockwise (as seen face-on). If it is followed by an apostrophe, it means counterclockwise (e.g. L'). Finally, if it is followed by a 2, turn it twice i.e. 180 degrees (e.g. U2).

While performing one of the move sequences during a step, don't rotate the cube. Only rotate the cube (thus changing the sides referred to by the letters) when instructed to. If when you begin a step the end condition is already fulfilled, simply move on to the following step.

Step 1: Up face cross
Select a colour to begin with, e.g. white. Rotate the cube so that this is the up (U) face. Now find the four edge cubies that have a side with that colour, and twist the cube to place them on the top layer.

We want the U colour on each of them to be facing upwards, so that they form a cross on U. If one of them is incorrectly oriented, place it on the edge connecting the front (F) and up (U) faces, and perform the following sequence once:

F U' R U

This will flip the cubie so that the U colour is facing upwards.

You now have a cross of the up colour on U. For each edge cubie in the cross, we want the colour of its other side (the one that is not on U) to match the side face it is on. If all of them already match, or if you can fix them just by turning U, great! Otherwise, pick one of them, turn U until it matches, and then move that cubie to the bottom by turning the side it is on twice. Do the same for each of the others. Once they are all in the bottom layer, move them back to the top by turning each side twice. This will restore your up face cross, and the side colours will now match the side faces.

Once the up face has a cross on it (regardless of whether any corners are correctly coloured as well) with the edge cubies on the correct side faces, this step is complete. Go on to the next step.

Step 2: Up face corners
Find one of the corner cubies on the bottom layer that has one face as the up colour. If, for example, its colours are white (as the up colour), red and green, turn the bottom layer until it is a corner on both the red and green faces, i.e. it is directly below the place where it should be. Perform the following sequence either once, three times or five times until the corner is in the right place and orientation:

R' D' R D

If the sequence puts another corner cubie in the relevant upper corner that is not the correct colours, do not stop the sequence. Keep going until the correct cubie is placed. If the cubie is correct but it is incorrectly oriented, perform the same sequence once to move it to the bottom layer. From there, repeat the sequence as above. Once the up face is completely solved, flip the cube over completely, so that the up face is on the bottom and the down (D) face is on the top, and proceed to the next step.

Step 3: Middle layer edges
At the start of this step, you should have an upside-down 'T' shape of four correctly placed cubies on each of the side faces and the down face should be solved. Find an edge cubie on the top layer that has two colours on it that are not that of the up face: this cubie will now be moved to the middle layer. Rotate the top layer until the side (not top) face of this cubie extends one of the short T's; the cubie's top face now matches the colour of one of the adjacent side faces. Rotate the whole cube so that the two faces whose colours match the cubie are F and R: the big T is now on either F or R. If the big T is on F (and the top face matches R), perform:

U R U' R' U' F' U F

If, on the other hand, the big T is on the R face, perform:

U' F' U F U R U' R'

This will place the edge cubie, correctly positioned and oriented, into the middle layer.

Repeat this procedure for the other three edge cubies which need to be in the middle layer. If one of them is already in the middle layer, but is not correct, hold the cube so that it is on the F and R face and perform either of the sequences once. It will then be on the top layer, and you can perform the procedure normally.

Once you have a 2x3 solved block on the bottom part of each side face, proceed to the next step.

Step 4: Up face cross
Note that this is the up face now i.e. the face that is opposite to the original up face that you chose for Step 1. Turn the top layer until one of the following patterns is visible:

 * Top layer edge cubies on F and R display the colour of the up face on their side faces.
 * Same as above, plus the opposite top layer edge cubies have the up colour on their upper faces, forming a 'corner' on the up face with its 'arms' pointing away from the F and R faces.
 * A line across the up face parallel to the F face. The edge cubie on F should display the up colour on the F face, not the U face.

Once you locate one of these, perform the following sequence to advance the pattern through the list:

F R U R' U' F'

The result of this is that the first pattern becomes the second, the second becomes the third, and the third becomes the solved cross, completing the step. If necessary, turn the top layer between sequences to find the pattern if it is not visible (sometimes it isn't).

Step 5: Top layer edges
Similarly to Step 1, you now want the up face cross with the edge cubies on the correct side faces as well. The method this time is different: turn the top layer until at least one of the edge cubies is correct. If the colour to its right needs doing, have the just-done one on the F face and perform the following sequence either once or twice until the edge cubie on the R face is done:

R U R' U R U2 R'

Now check the B and L faces. If they also need doing, rotate the whole cube so that the F face is now on R and the L face is now on F. Perform the sequence once, and follow it with:

U

This will complete the step.

Step 6: Top layer corners (placement)
This step places the corners correctly. Don't worry about orientating them yet. Find a corner piece that's in the right place (regardless of orientation). Rotate the cube so that it is the U/F/R corner and perform:

U R U' L' U R' U' L

If the corners are still not all correctly placed, repeat the sequence once again. If none of the corners are correct, just perform the sequence once on any of the four top corners, then find one that has become correctly placed. Once the corners are in the right places, move on to the final step.

Step 7: Top layer corners (orientation)
Choose one of the unsolved top corners and treat it exactly as you did with Step 2, although it will require an even number of iterations of the sequence this time, either twice or four times:

R' D' R D

After this, turn the top layer (not the whole cube) to position another unsolved corner where the solved one just was. Repeat the sequence, then do the next corner. After solving the last corner, only one more twist (which should be obvious) remains.

Congratulations, you've solved the Rubik's Cube!


text:
Introduction to Communication Theory/Evaluating Theory

What makes a theory "good"? Six criteria might be said to be properties of a strong theory. (The terminology presented here is drawn from Littlejohn, Theories of Human Communication, but a similar set of criteria are widely accepted both within and outside the field of communication.)

 * Theoretical Scope : How general is the theory? That is, how widely applicable is it? In most cases, a theory that may only be applied within a fairly narrow set of circumstances is not considered as useful as a theory that encompasses a very wide range of communicative interactions. The ideal, of course, is a theory that succinctly explains the nature of human communication as a whole.

 * Appropriateness : Theories are often evaluated based upon how well their epistemological, ontological, and axiological assumptions relate to the issue or question being explained. If a theory recapitulates its assumptions (if it is tautological), it is not an effective theory.

 * Heuristic value : Some theories suggest the ways in which further research may be conducted. By presenting an explanatory model, the theory generates questions or hypotheses that can be operationalized relatively easily. In practical terms, the success of a theory may rest on how readily other researchers may continue to do fruitful work in reaction or support.

 * Validity : It may seem obvious that for a theory to be good, it must also be valid. Validity refers to the degree to which the theory accurately represents the true state of the world. Are the arguments internally consistent and are its predictions and claims derived logically from its assumptions? Many also require that theories be falsifiable; that is, theories that present predictions that--if they prove to be incorrect--invalidate the theory. The absence of such questions significantly reduces the value of the theory, since a theory that cannot be proven false (perhaps) cannot be shown to be accurate, either.

 * Parsimony : The principle of parsimony (Occam's razor) dictates that a theory should provide the simplest possible (viable) explanation for a phenomenon. Others suggest that good theory exhibits an aesthetic quality, that a good theory is simple (as beauty nor nature can be complex}. That it leads to an "Aha!" moment in which an explanation feels as if it fits.

 * Openness : Theories, perhaps paradoxically, should not exist to the absolute exclusion of other theories. Theory should not be dogma: it should encourage and provide both for skepticism and should--to whatever degree possible--be compatible with other accepted theory.

It is important to note that a theory is not "true," or "false" (despite the above discussion of falsifiability), but rather better or worse at explaining the causes of a particular event. Especially within the social sciences, we may find several different theories that each explain a phenomenon in useful ways. There is value in being able to use theories as "lenses" through which you can understand communication, and through which you can understand the world together with other scholars.

As a task, apply the aforementioned criteria to the Universal Communication Law. How does the Universal Law fit?

The Universal Communication Law :"All living entities, beings and creatures communicate." In a an unpublished interview, Scudder clarified the concept - "All of the living communicate through movements, sounds, reactions, physical changes, gestures, languages, breath, color transformations, etc. Communication is a means of survival, existence and being and does not need another to acknowledge its presence. Examples - the cry of a child (communication that it is hungry, hurt, cold, etc.); the browning of a leaf (communication that it is dehydrated, thirsty per se, dying); the cry of an animal (communicating that it is injured, hungry, angry, etc.). Everything living communicates."

Quantitative and Qualitative Research
Research goals will differ between individual scientists and project demands. There are many studies based on research is accomplished through interviews and social participation with members of cultural groups (see: Ethnomethodology). This type of research is known as qualitative research.. It is the task of the author to convey the connection between their research subjects and thesis. Their goal is to describe a phenomenon, to portray a situation so as to enlighten the readers of their work. They stand in stark contrast to quantitative researchers.

The quantitative researcher may eschew the lax methodology of qualitative research. Where qualitative research often demands emotional significance and an engaging rhetorical style, quantitative research is often sterile and to the point. The quantitative researcher may also participate within the speech community of their subject, but they will do so in a very disciplined fashion. They will be on the look for data with which they can record. They may for instance, interview a person, taking note of personal affects and vocalizations. A sociolinguist for example, will record every utturance of the vowel "r". They'll compile the data and compare it with data from a distinct economic class or a similar group. By keeping a count of every "r" spoken with an accent, for instance, the sociolinguist is able to write a quantitative analysis. They are able to identify patterns that may suggest a useful correlation. Accents for instance will often identify which members of a larger speech community a person identifies with. Predictability is a strong criteria for a quantitative researcher. Thus this type of research is often used in marketing studies. Marketing companies want to know how to effect their audience, and to what degree. Though it is futile to predict marketing effects on a single individual, it is quite possible to predict an overall effect within a large group. Marketers will use various post-positivist studies to enhance the effects of marketing exposure. "Sex sells" can be proven and studied through quantitative means.

These two methods are by no means mutually exclusive. Though they are two different routes they can both be used to further a hypothesis or field of inquiry. Media studies and Semiotics are two strong implementations of both techniques. They may demand a researcher to wade through thousands of pieces of media to develop a cogent thesis. The researcher may take note of every sexually suggestive image broadcast within Primetime television viewing hours for a given month. This could be compared against other markets to develop a claim. But the researcher could also view single popular series, and again develop a claim as to the motivation for such content. The field of news-entertainment is often criticized for its choice of scare-stories (see: Cultivation Theory and Agenda-Setting Theory). Only after a series of strong studies, both qualitative and quantitative, can a researcher authoritatively claim that news-entertainment does indeed market trauma, by egregious coverage of violence and catastrophe (if it bleeds it leads). Only then can a researcher credibly claim that such coverage has an effect on television consumers. Only at that point can a study be carried out to identify what that effect is.

Griffin in his textbook, "A First Look at Communication Theory", provides a small chart meant to aid in the evaluation of quantitative and qualitative theory.


text:
Introduction to Communication Theory/Semiotics

The literary theorist Kenneth Burke famously described human beings as "the symbol-making, symbol-using, symbol-misusing animal". Our broad use of symbols is a contrast from every species on earth. Only our closest relative, the Bonobo has shown any semblance of our symbol-using ability. It is the unique act of creating meaning out of arbitrary signs (be they vocalizations, gestures, or pictographs) that allows us to communicate an infinite range of concepts so fluently.

Through the Looking Glass, Chapter 6, by Lewis Carroll:

"When I use a word," Humpty Dumpty said, in rather a scornful tone, "it means just what I choose it to mean -- neither more nor less."

"The question is," said Alice, "whether you can make words mean so many different things."

"The question is," said Humpty Dumpty, "which is to be master -- that's all."

Put in other words, put forth by different authors, "naming is the fundamental symbolic act".


text:
Introduction to Communication Theory/Culture

Every human being passes through a development period of enculturation. Traits and taboos are passively and actively enculcated through childhood and adolescence. Though individual will curtails some habits, every individual learns at least a part of their native culture. Some may live in interstitial communities, becoming both bilingual and bicultural while others learn later in life how to move through the earth's diverse human populations. But regardless, we all carry our culture with us and in our daily lives, enact culture. Culture, like communication, is a process.

Within communication theory, scientists often study the interaction of people from different cultures. As culture is not a static concept, the very definition of culture becomes broader than you may have assumed. For instance, have you thought of the separation of boys and girls as being a form of cultural separation? For years, Deborah Tannen has studied the language and cultural differences of men and women, girls and boys, within American society. She has found a prevalence of communication differences between genders, that often lead to miscommunication between the two. Consider the difference in culture of people raised in agrarian (rural) and urban (city) environments. The 2004 U.S. Presidential Election shows both diversity and homogeneity of American voting habits. The dark blue areas, representing democrats, mark the waterways and coastal regions of the U.S. The red areas show the geography of the U.S. with a low population per square mile. While many point out the "purple" mixtures of heterogeneous voters, it is clear that there are vast areas of America differentiated by vote. Might they be distanced in culture as well? Though English is the standard (not official) language of the United States, there are many ways of speaking it and there are many regions where other languages are dominant. Intercultural communication is not necessarily International communication. Nor must the interlocutors necessarily belong to different regions or different towns. Within every context, we recreate culture (see: Adaptive Structuration Theory) and redefine what our native culture actually is. It is when we come into contact with a person that is separate from our own culture that we engage in intercultural communication, and forge a synthesis of cultures.

Imagine that you have just awoken in a foreign place. There are no trees, no buildings, there is only sand and brush for as far as you can see into the horizon. But there is something else, another person. From the very moment you notice the person, still asleep, you have made judgements. What are they wearing, do they have any markings on their skin, and what color is their skin, and what kind of footwear is that, and are they wearing jewelry, and are they wearing jewelry on their fingers? From the first moment you see a person you're mind produces many questions, questions you've learned from your own culture and from your own experience, questions that make sense of the signs that your senses are perceiving. Signs from the raw data of your environment. But when the signs are about another person, they are forms of communication. If the person has a ring, are they married, if they have jewelry are they rich, if they're not wearing shoes are they laid back, informal, or otherwise defined? With each quantum of perception your brain mind attempts to identify culture.

Your unwitting company has now awoken. Now they are making judgements. Soon one of you will attempt bilateral communication. Until this point you've only been a receiver, and by your own learned admission, a rather unsure receiver. But now you have the opportunity to confirm some of your judgements, whether conscious or unconsciously reached. From the very first moment you notice the other person has seen you, even more judgements rush to your head. How will they acknowledge my presence, and what are they thinking about their own. What is their self-awareness, what is their awareness of me, the Other. If they look into your eyes, is it a sign of compassion or a threat? You open your mouth, a sign from your own culture (and a fairly common sign amongst others) that you intend to speak, to communicate verbally. But the other person upon hearing your words steps back several feet, as if threatened. Nonverbal communication it seems, will be your intercultural starting point. At this point a microculture is being defined. Though it is only a relationship, and a shallow one at that, it has become a confluence of two cultures. How you and the Other will develop this new acquaintance is uncertain. At some point you will have successfully communicated a message nonverbally. Your Other already has. It is through communicative competence whether learned through academia, life or intuition, that you and the Other will build a new culture. This may be a temporary culture, lasting only a day, or it may grow as something more lasting. Still, from the building blocks of universal communication between two people, you will use symbolic communication to convey your intents and negotiate your situation.


text:
User:Andrejj

Andrejj, Novo mesto, Slovenia

 * sl:Wikipedija:Uporabnik:Andrejj
 * en:Wikipedia:User:Andrejj

title: User:Andrejj


text:
User talk:Andrejj

Please, use this page: User talk. --Andrejj 07:18, 12 September 2005 (UTC)

title: User talk:Andrejj


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

Overview
The Lumos spell creates light at the end of the caster's wand, and is therefore used for illuminating dark areas.

Extended Description
A relatively basic spell, Harry is able to use this by the end of his second year – in Harry Potter and the Chamber of Secrets, Harry uses it to illuminate his surroundings when visiting Aragog in the Forbidden Forest; but in his first year, Harry Potter and the Philosopher's Stone, he has to use a lantern, and Hermione must conjure a fire when she needs light in that book.

Analysis
The spell must be controlled by the caster's intent as well as by the word and any gestures, as it appears that not only the amount of light but the type can be controlled by the caster without any apparent difference in the casting of the spell. The light cast by the wand is described variously as a glimmer or a light, and in some cases appears as a beam, as one would get from a flashlight (UK: torch).

It is unknown how long the end of the wand remains lit; on only one occasion do we see wands consciously extinguished, by means of the Nox spell, on all other occasions they seem to conveniently go out on their own when no longer needed.


text:
Rebol Programming/Language Features/Parse/Screen Validation

Let's build an example of how parsing REBOL values might be used to implement some screen entry validation routines for a database application.

Our design aims are:

 * validate the screen when we click a submit button
 * validate each field without having to explicitly write code to check each field
 * somehow reuse the code we write for other data entry screens.

First off, let's make a start by constructing an entry screen with a few representative fields

lo: layout [ across title "Customer Registration Screen" return label "First Name: " fname: field return label "Surname: " sname: field return label "DOB: " dob: field return label "Age: " age: field return label "Email: " email: field return label "Home Page: " home-page: field return button "Register" [ if validate-screen [ register ] ] ]

which looks like this

... picture goes here .... When we click on the "Register" button, we want the program to validate all the fields to ensure that they have been all filled in, and with values that are probably appropriate. Our validate-screen function will do this.

First off, we have to collect the values from all the fields. If we knew enough about the internals of VID, we could probably build a function that collects them from the layout lo, but since we don't expect this degree of familiarity with VID internals from our readers we will do this manually.

fields: [ fname sname dob age email home-page ]

At this point, they are just word! values inside a block. We have to force REBOL to evaluate the block so it recognises that they refer to the field objects that were created with the layout function.

fields: reduce [ fname sname dob age email home-page ]

The data from each of the fields happens to be in the "text" attribute of each field. To collect the data in a block, we write a function that iterates through our list of fields, and returns a block containing the data. The function is designed to return a value. If we complete the task we return a block of evaluated fields. Otherwise we return an empty block.

build-data: func [ fields [block!] /local bl ][ bl: copy [] foreach field fields [ append bl field/text ]   bl ]

But this is not quite good enough as it results in a block of text strings. We really want a block of REBOL values to allow us to parse the data by value. So, we force the data into REBOL values by loading them.

build-data: func [ fields [block!] /local bl ][ bl: copy [] foreach field fields [ append bl load field/text ]   bl ]

Although REBOL is quite good at recognising values, sometimes with load we can get an error. Therefore, we should put in an error trap to stop our routines from crashing. We also want to know where the error occurred so we can give feedback to the user.

build-data: func [ fields [block!] /local bl ][ bl: copy [] foreach field fields [ if error? try [ append bl load field/text ][           focus field alert join "Error converting this value " field/text return [] ]   ]    bl ]

Now, at this point, we are expecting to have build-data return us a block of REBOL values with the following sequence of datatypes:

[ string! string! date! integer! email! url! ]

Anything that does not conform to this indicates a data entry error.

We can now build a validation rule that checks this, and we will also maintain a counter so that we know where the rule stopped due to bad data.

field-no: 1 incr: func ['word][set word 1 + get word] validation-rule: [ (field-no: 1) set first-name string! ( incr field-no ) set last-name string! ( incr field-no ) set date-of-birth date! ( incr field-no ) set customer-age integer! ( incr field-no ) set customer-email email! ( incr field-no ) set customer-web url! ( incr field-no ) ] Our final validate-screen function grabs the data that has been entered, applies the validation rule, and returns a logic! value.

validate-screen: has [ bad-field] [ either parse build-data fields validation-rule [ true ][       bad-field: pick fields field-no focus bad-field show bad-field alert "Incorrect data at this field" false ] ]

So, if build-data does not manage to complete, it returns an empty block which causes our validation-rule to fail. If it does return a block, we put it through our validation-rule and again return the success or failure. If it fails, it puts the cursor in the field with the bad data, and pops up an alert to advise the user.

Although the above satisfies our wish to validate the screen in one go semi-automatically, a consequence of the implementation is that if we change the screen layout by adding or removing fields, we have to change our fields block, and we have to change our validation-rule. That is, we are setting ourselves up for a future failure by creating dependencies elsewhere in our code.

What we want to do is create a data structure where all this information is defined only in one place. Perhaps dialects can help here as well? Maybe we can create a mini data entry dialect that builds the VID code, and validation rule for us?

We need to know 4 essential things about the VID code. We need to know the label text values, the variables associated with each field, a field type for validation purposes, and we need a variable name. So, we need a minimum quartet of values to specify each field. Let us see if we can automate the rest.

So, if we just specify the screen definition as a block of quartets, we get:

screen-definition: [ "First Name: " fname: string! first-name "Surname: " sname: string! last-name "DOB: " dob: date! date-of-birth "Age: " age: integer! customer-age "Email: " email: email! customer-email "Home Page: " home-page: url! customer-web ]

We now define a rule that will be used to create the VID code.

screen-def: [] field-rule: [ set prompt string! set field-name set-word! set field-type word! skip ( repend screen-def [ 'label prompt field-name 'field 'return ] ) ]

We create the VID block as follows:

if not parse screen-definition [ some field-rule end ][ print "error in screen definition" halt ]

What we do here is to apply the field-rule iteratively until the rule fails. The parser then goes to the next part of the rule, and should match 'end resulting in a successful parse. The block screen-def now holds the VID code that defines the data entry fields.

However, our data entry field also has a button, and a title. So, we add these manually.

sprucedup-def: compose [ title "Customer Entry Screen" across ( screen-def ) button "Register" [ if validate-screen screen-definition [ register ] ] ] lo: layout copy/deep sprucedup-def

We now write a function that iterates over the screen definition, and grabs the values from the fields. It returns a block of values, and if there are errors on datatype conversion, it inserts a none value where the error occurs. get-values: func [ sdef [block!] /local bl value] [ bl: copy [] foreach [ label field type variable ] sdef [ field: do to-word :field if error? try [ value: load get in field 'text case [ word! = type? value [ value: form value ] block! = type? value [ value: none ] ]          append bl value ][ append bl none ] ]  bl ] We now need to generate the rule that will be used to validate the values. Our function create-validation-rule again iterates over the screen definition block.

create-validation-rule: func [ def [block!] /local rule ][ rule: copy [] foreach [ label field type variable ] def [ repend rule [ 'set variable type ( to-paren [incr field-no] ) ] ]   rule ] and our final validate-screen function uses these to get:

validate-screen: func [ sdef [block!] /local values rule bad-field ][   values: get-values sdef rule: create-validation-rule sdef either parse values [ (field-no: 1) some rule end ][ true ][       bad-field: get pick sdef ( 4 * field-no - 2 ) focus bad-field alert "Bad data entered in this field" false ] ]

Our validate-screen function gets the values from the data entry, creates the rule that will be used to validate the values, and then applies the rule returning a logic! result.

We reached this stage by creating a sub dialect that allowed us to generate some VID code, and also created a data retrieval function, and auto-generated a validation rule that worked with the same dialect block. It is possible to further optimise this code since we can see that we have traversed the screen-definition three times when we could do this perhaps in one pass. However, one preferred way to write code is to create small functions that are easily testable, and so in this example we sacrifice efficiency for readability and maintenance issues.

register: func [ ][ 	; <--- register the field values here alert "Registered field values." ]

view lo

And for reference, here is the final script complete with REBOL header and license.

Rebol [ file: %screen-validator.r   author: "Graham Chiu" rights: 'BSD date: 12-Sep-2005 purpose: { To construct a data entry screen from a simple dialect To generate data validation rule from the same dialect } ] screen-definition: [ "First Name: " fname: string! first-name "Surname: " sname: string! last-name "DOB: " dob: date! date-of-birth "Age: " age: integer! customer-age "Email: " email: email! customer-email "Home Page: " home-page: url! customer-web ] incr: func ['word][set word 1 + get word] screen-def: [] field-rule: [ set prompt string! set field-name set-word! set field-type word! skip ( repend screen-def [ 'label prompt field-name 'field 'return ] ) ] if not parse screen-definition [ some field-rule end ][ print "error in screen definition" halt ] sprucedup-def: compose [ title "Customer Entry Screen" across ( screen-def ) button "Register" [ if validate-screen screen-definition [ register ] ] ] lo: layout copy/deep sprucedup-def get-values: func [ sdef [block!] /local bl value] [ bl: copy [] foreach [ label field type variable ] sdef [ field: do to-word :field if error? try [ value: load get in field 'text case [ word? value [ value: form value ] block? value [ value: none ] ]          append bl value ][ append bl none ] ]  bl ] create-validation-rule: func [ def [block!] /local rule ][ rule: copy [] foreach [ label field type variable ] def [ repend rule [ 'set variable type ( to-paren [incr field-no] ) ] ]  rule ] validate-screen: func [ sdef [block!] /local values rule bad-field ][  values: get-values sdef rule: create-validation-rule sdef either parse values [ (field-no: 1) some rule end ][ true ][      bad-field: get pick sdef ( 4 * field-no - 2 ) focus bad-field alert "Bad data entered in this field" false ] ] register: func [ ][   ; <--- register the field values here alert "Data validated ok!" ] view lo


text:
Wikijunior talk:Solar System/Jupiter/Io

source for comment on IO's atmosphere was a mention in a book I read way back but other sources include Geni 10:48, 12 September 2005 (UTC)

Pronunciation
How do you pronounce this moon's name? In my ignorance, I thought it was a small 'el' instead of a capital "ai". A pronunciation guide for this and other strange names would make this book more usefull. Bounton 10:45, 10 September 2006 (UTC)

I think we should put the pronunbciation as, for example, 'eye-oh'. 90.202.242.175 (talk) 16:29, 7 January 2011 (UTC)

How wide?
Is this the diameter? For us non-scientific people and children, what is this on a practical scale? Maybe saying how many of these could fit inside the earth would be a help. Actually, this should be the standard for comparing the planets and moons. How many earths can fit in the larger planets and how many of the moons or smaller planets can fit inside the earth. I really think that would make this number come alive in a practical way. Bounton 10:51, 10 September 2006 (UTC)

Could we please add...
...a section on Jupiter's magnetosphere interaction with Io, along with Io's interior? Merci. --Воображение (discuss • contribs) 02:14, 18 June 2013 (UTC)

title: Wikijunior talk:Solar System/Jupiter/Io


text:
Wikijunior:Ancient Civilizations/Babylonians

The Babylonians were an ancient civilisation that existed many years ago.

What country did they live in?
The Babylonians were based in what is now modern-day central Iraq (about 50-60 miles from Baghdad, Iraq). They controlled much of the land between the rivers the Tigris and the Euphrates. They were the last of a string of city states (civilizations based around a single powerful city) to control this area.

What did their buildings look like?
In the 24th century BC the city of Babylon was founded on the banks of the river Euphrates. In the 18th century BC it became a capital of Babylonian empire.

Babylon reached its glory in 6th century BC. Constructions like Ishtar Gate and Etemenanki ziggurat were built, making Babylon the most beautiful city of the ancient world.

Ishtar Gate was one of the eight gates of the Babylon city. Dedicated to the goddess Ishtar, the Gate was constructed of blue glazed tiles with alternating rows of relief dragons and bulls. The roof and doors of the gate were of cedar. Through the gate ran the Processional Way, which was lined with walls covered in lions on glazed bricks (about 120 of them). Statues of the gods were paraded through the gate and down the Processional Way each year during the New Year's celebration.

Processional Way led to Etemenanki ziggurat. A ziggurat was a pyramid like tower that they made for their gods. Etemenanki was seven stories, or 91 meters high, and had a temple of Marduk on top of it.

Ishtar Gate is currently displayed in Pergamon Museum in Berlin. Only ruins are left of Etemenanki ziggurat.

What did they eat?
The Babylonians ate melons, plums, prunes and dates. Barley was their staple crop that they would make flat breads with. The bread would then be eaten with some fruit. For meat they ate pork, poultry, beef, fish and mutton (sheep meat). Onions and garlic were common seasonings for their food. Babylonians didn't drink wine, but instead they drank beer made out of barley.

What did they wear?
Babylonians wore a garment that would look like a long T-shirt in our day. For the peasants these garments would have been quite simple but for the wealthy they were decorated with tassels, embroidery, girdles and sashes. Higher ranking people wore longer garments and scarves that indicated their rank by the length of its tassels.

Hats were also an important fashion accessory. Professionals could be identified by their characteristic headdress. Women wore ribbons, veils or other decorations in their hair.

What did their writing look like?
Babylonians spoke Akkadian, an ancient language. They used the cuneiform script for writing. Babylonian writing that still exists is all on clay tablets. The symbols of their script were pressed into the wet clay with a piece of dried reed.

Cuneiform is ancient way of writing. There were about 200-400 common characters that represented different syllables. For example, one symbol might represent the sound "bu" and another symbol would represent the sound "ba". There were also symbols that represented whole words.

What did they believe?
The Babylonians were polytheists; they believed that there were many gods that ruled different parts of the universe. They believed that the king god was Marduk, patron of Babylon. Just as Babylon conquered all city states and became the capital of a mighty empire, so, in the legend, its patron Marduk obtained power over other gods by fighting Tiamat, the evil goddess of chaos.

The Babylonians built each of their gods a primary temple that was considered the home of the god. People would bring sacrifices to the gods and the priests would try to attend to the needs of the gods through ceremonies and festivals. Each temple had an open temple courtyard and then an inner sanctuary that only the priests could enter. Sometimes special pyramid shaped towers, called ziggurats, were built to be a part of the temples. The top of the tower was special sanctuary for the god.

Babylonians believed that after death every soul went to the underworld. The underworld was considered a dark and dismal place. This made death a dreadful event as there was no hope of ever having anything better.

Are some of them famous even today?
One of Babylon's most famous kings was Hammurabi. He ruled for 43 years. Hammurabi is famous for creating one of the first formal written set of laws. These laws were written on a finger-shaped stone stele. or tablet, standing over six feet tall. The most famous rule he set is now known as an eye for an eye. This rule said that the punishment for lawbreakers would be the same as the crime they committed. So if a criminal stabbed a person in the eye, the criminal would be stabbed in the eye too. The laws he made were known as "The Code Of Hammurabi". This legal system was spread throughout Asia and Europe. The Code of Hammurabi is also interesting because it was the first set of laws which presumed people were innocent, meaning a person must be proven guilty before they could be punished for their crimes.

Nebuchadnezzar II is mentioned in The Bible (The Christian holy book), the Torah (The Jewish holy book) and the Qur'an (The Islamic holy book). He was a ruler of Babylon who destroyed the Jewish temples in Jerusalem.

What is left of them today?
The ruins of the city of Babylon still exist although the city has been abandoned for over 2000 years.

Many of the inventions of the Babylonians are still important today. They invented metalworking, copper-working, glassmaking, lamp making, textile weaving, flood control, water storage, as well as irrigation. Interestingly, from their number system we get our concept of there being 60 minutes in an hour and 60 seconds in a minute.

Wikijunior Alte Zivilisationen/ Babylonier


text:
English in Use/Vocabulary Verbs

Verb
"A doing word."

A verb is a part of speech that usually denotes action ("bring", "read"), occurrence ("to decompose" (itself), "to glitter"), or a state of being ("exist", "live", "soak", "stand"). Depending on the language, a verb may vary in form according to many factors, possibly including its tense, aspect, mood and voice. It may also agree with the person, gender, and/or number of some of its arguments (what we usually call subject, object, etc.).

title: English in Use/Vocabulary Verbs


text:
Talk:Tcl Programming

A reader asked whether Programming:Tcl should be split up into several pages. Here's my reply:

Well, at some time, a splitting up of Programming:Tcl must happen. But so far, the automatic table of contents is a big advantage of letting it stay in one page.

Saved as Printable HTML, the file size is now 157 KB, which is still acceptable, considering e-books of 300..500 KB also being deployed as just one .txt or .lit file. OTOH, there are highly structured documents on the web which require quite some work of the user to save, chapter by chapter, say to an offline reading device.

As Wikimedia adds the many [edit] links in the middle, editing still feels as if one has to do with a set of short pages.

So all in all, I'd prefer to leave Programming:Tcl as one page for some while yet. It's simpler, and not really exceeding capacity limits. (I always try to get as far as I can with "underengineering", most often successful.)

For sample scripts, they might be duplicated on separate pages, without the generous commenting which is now interspersed between code blocks. But I think it isn't so uneducational to copy and paste code blocks to another file: it gives one at least a chance to take a closer look at them :) And I try to put only examples there that are less than a printed page, in pure LOC. Suchenwi 12:49, 12 September 2005 (UTC)

 * You may want to check Programming:Python to see how both versions: normal and printed look like and how they are organised . --Derbeth talk 16:29, 21 November 2005 (UTC)

I agree that the duality of online and print version is interesting, but one thing I like better in Programming:Tcl is the detailed, hierarchical table of contents. - Suchenwi 00:27, 26 November 2005 (UTC) on cell phone :)

 * Would you object to the examples being split off? With the screenshots and all, they should be.  Also, there's no reason why you can't have a hierarchical toc(maintaining one wouldn't be too difficult).  I wouldn't say anything, except that the size of this page is getting kinda rediculous, at 266,581 bytes + images (at #3 in the longest pages list).  Thanks! —Snargle 08:20, 18 December 2005 (UTC)

I agree, but don't know how to go about it... I have started to pull out the example chapters. Now how to get them back into the TOC? (Right now they appear behind it) Suchenwi 17:55, 20 December 2005 (UTC) - never mind, I basically found out :) Suchenwi 18:46, 20 December 2005 (UTC)

A new worry comes up: I split the book into chapters now, and keep adding content to those. However, the print version seems not to reflect these changes - am I doing something wrong? Suchenwi 15:37, 21 December 2005 (UTC)
 * Why would it? It's not a mediawiki feature or anything, so it would need to be done manually. I wouldn't be so concerned with people wanting to print this book, since it's only got 7 or so modules. Snargle 03:33, 22 December 2005 (UTC)

 * Well, I at least like to print it out (124 pages last time, 4 per sheet) for proof-reading. I was assuming that the syntax in the "Print version page" was including in its current state... Suchenwi 11:39, 22 December 2005 (UTC)
 * Update: print version is upper-to-date than when I last looked at work. Must have been a case of over-eager browser caching. Suchenwi 12:28, 22 December 2005 (UTC)

This 'External Link' seems like a hidden advert? --FairPhyllis 12:46, 1 January 2007 (UTC)

 * Thanks - in my view you are correct and I have taken it out (as it was about web hosting rather than the actual topic -- Herby talk thyme 12:50, 1 January 2007 (UTC)

title: Talk:Tcl Programming


text:
Cookbook:Spicy Chickpeas

| Appetizers

Spicy chickpeas make a good fall-back meal using ingredients that many pantries will often have lying in a dusty corner, but that are also cheap to pick up.

Ingredients

 * 250 g canned chickpeas
 * 2 tbsp oil
 * 2 tsp Dijon mustard
 * Pepper
 * Salt

Procedure

 * 1) Strain chickpeas and dry with a towel.
 * 2) Heat oil in large skillet. Add chickpeas, and sauté until slightly colored, about 6 minutes.
 * 3) Add Dijon mustard and stir.
 * 4) Season with pepper and salt to taste.

title: Cookbook:Spicy Chickpeas


text:
User:Pavlix~enwikibooks

Also: http://en.wikipedia.org/wiki/User:Pavlix

My name is Pavel Šimerda, I live in Prague, Czech Republic.

Look at my homepage: http://www.pavlix.net/

My blog: http://blog.pavlix.net/

title: User:Pavlix~enwikibooks


text:
Cookbook talk:Poaching

Fahrenheit / Celsius
For us who have no idea how much X degrees fahrenheit is, compared to celsius, is it possible to have both? --130.225.54.2 19:50, 12 September 2005 (UTC)

Poaching.
Oversættelse af poaching til krybskytteri her er forkert. I madlavning bruges det franske udtryk POCHERE.85.218.194.46 (discuss) 10:33, 27 March 2015 (UTC)

title: Cookbook talk:Poaching


text:
Cookbook:Zucchini Pasta Bake

Ingredients

 * 400 g any small pasta
 * 250 g cheese, grated
 * 2 eggs
 * 200 ml milk
 * 50 g butter
 * 3 medium zucchini, grated
 * Vegetable stock base
 * Salt
 * Pepper

Procedure

 * 1) Cook the pasta as directed on the packaging. Drain.
 * 2) Combine the eggs, milk, salt, and pepper in a mixing bowl.
 * 3) Mix in the grated cheese.
 * 4) Melt the butter and add to the mixture.
 * 5) Boil a small amount of water and add the stock, then stir it into the mixture.
 * 6) Stir in the grated zucchini, then the drained pasta.
 * 7) Grease a baking or casserole dish, and spread the ingredients from the bowl evenly in it.
 * 8) Bake at 200°C (400°F) for about 30 minutes, or until the pasta bake is firm all the way through.

title: Cookbook:Zucchini Pasta Bake


text:
Engineering Acoustics/Electro-acoustic analogies

Acoustical Mass
Consider a rigid tube-piston system as following figure.

Piston is moving back and forth sinusoidally with frequency of f. Assuming $$f << \frac{c}{l\ or\ \sqrt{S}}$$ (where c is sound velocity $$c=\sqrt{\gamma R T_0}$$), volume of fluid in tube is,

$$\Pi_v=S\ l$$

Then mass (mechanical mass) of fluid in tube is given as,

$$M_M= \Pi_v \rho_0 = \rho_0 S\ l$$

For sinusoidal motion of piston, fluid move as rigid body at same velocity as piston. Namely, every point in tube moves with the same velocity.

Applying the Newton's second law to the following free body diagram,

$$SP'=(\rho_0Sl)\frac{du}{dt}$$

$$\hat{P}=\rho_0l(j\omega)\hat{u}=j\omega(\frac{\rho_0l}{S})\hat{U}$$

Where, plug flow assumption is used.

"Plug flow" assumption: Frequently in acoustics, the velocity distribution along the normal surface of fluid flow is assumed uniform. Under this assumption, the acoustic volume velocity U is simply product of velocity and entire surface. $$U=Su$$

Acoustical Impedance
Recalling mechanical impedance,

$$\hat{Z}_M=\frac{\hat{F}}{\hat{u}}=j\omega(\rho_0Sl)$$

acoustical impedance (often termed an acoustic ohm) is defined as,

$$\hat{Z}_A=\frac{\hat{P}}{\hat{U}}=\frac{Z_M}{S^2}=j\omega(\frac{\rho_0l}{S})\quad \left[\frac{N s}{m^5}\right]$$

where, acoustical mass is defined.

$$M_A=\frac{\rho_0l}{S}$$

Acoustical Mobility
Acoustical mobility is defined as,

$$ \hat{\xi}_A=\frac{1}{\hat{Z}_A}=\frac{\hat{U}}{\hat{P}}$$

Acoustical Resistance
Acoustical resistance models loss due to viscous effects (friction) and flow resistance (represented by a screen).

rA is the reciprocal of RA and is referred to as responsiveness.

Acoustical Generators
The acoustical generator components are pressure, P and volume velocity, U, which are analogus to force, F and velocity, u of electro-mechanical analogy respectively. Namely, for impedance analog, pressure is analogous to voltage and volume velocity is analogus to current, and vice versa for mobility analog. These are arranged in the following table.

Impedance and Mobility analogs for acoustical generators of constant pressure and constant volume velocity are as follows:

Acoustical Compliance
Consider a piston in an enclosure.

When the piston moves, it displaces the fluid inside the enclosure. Acoustic compliance is the measurement of how "easy" it is to displace the fluid.

Here the volume of the enclosure should be assumed to be small enough that the fluid pressure remains uniform.

Assume no heat exchange 1.adiabatic 2.gas compressed uniformly, p prime in cavity everywhere the same.

from thermo equitation it is easy to get the relation between disturbing pressure and displacement of the piston where U is volume rate, P is pressure according to the definition of the impendance and mobility, we can get

Mobility Analog VS Impedance Analog

Examples of Electro-Acoustical Analogies
Example 1: Helmholtz Resonator

Assumptions - (1) Completely sealed cavity with no leaks. (2) Cavity acts like a rigid body inducing no vibrations.

Solution:

- Impedance Analog -

Example 2: Combination of Side-Branch Cavities

Solution:

- Impedance Analog -

Back to Main page


text:
Software Engineers Handbook/Language Dictionary/Perl

Perl
Rather than duplicating information that'll likely get out of date or overlooked, it's best that we simply refer you to:

 * the companion Perl Wikibook (a full detailed tutorial)
 * the Perl Wikipedia entry (a one-page summary of Perl)
 * Perl.com (from O'Reilly Media)
 * The Perl Beginner's site (with lots of good links)
 * Perl Mongers, the global organization of Perl user groups
 * PerlMonks, an online discussion forum devoted to Perl
 * Use.perl, a Perl news site (much like Slashdot)
 * The Australian Perl Community's "new to Perl" wiki page
 * The Perl Foundation, which supports the current development of perl, including work on Perl 6 and parrot.
 * The Perl Journal, an online Perl magazine
 * , the print magazine about Perl


text:
Conlang/Intermediate/Grammar/Verbs

The morphology of verbs can be as rich as that of nouns;

 * Tense — The relative time that the action takes place.
 * Aspect — The duration and frequency of the action.
 * Mood — How the action being discussed relates to reality.
 * Agreement — Whether the verb "agrees" with other parts of the sentence, and if so, with what parts?

Tense
Every speaker of English should be familiar with verb tenses. They show when (relative to the current time) the action is taking place. Tense is traditionally split into three distinctions: past, present, and future. However, real languages don't always divide time up in the same way. For example, a language can have a distinction between the far-past and the near-past, or it could do away with distinguishing the present and the future on the verb — It may surprise you to learn that the latter is exactly what English does; English verbs inflect for past and nonpast, and the so-called "future tense" is formed with an auxiliary verb ("will" or "shall") plus the nonpast verb form. Some languages even do away with tense inflection altogether, showing time when relevant with (e.g.) adverbs or phrases.

Aspect
Aspect is the inflection of a verb to show how the action is distributed in time. It includes, most basically, a distinction between perfective (completed) and imperfect (incompleted). Other aspects, such as the habitual (occurring regularly over a period of time) and the iterative (done repeatedly), may be found in some languages. Many languages conflate tense and aspect in verbal morphology, so a verb has forms for imperfect past tense vs. perfect past tense.

To give you a better feel for this, in English, verbs are normally imperfect but can be made perfect by turning it into a passive participle and adding the auxiliary verb "have" to the sentence: Contrast "Tom ate his lunch" and "Tom has eaten his lunch". The habitual aspect is more subtle, but can be most easily seen in the distinction between the so-called simple present and the complex present tenses: Compare "The penguins eat fish" and "The penguins are eating fish". Other aspects have no really good construction in English and so we often have to rely on implication and adverbial phrases to get the point across.

Mood
Mood (sometimes also called mode) shows a verb's relationship to reality and includes things like the indicative (it happens as stated) vs. the subjunctive (it might happen, it is desired to happen) or imperative (it is commanded to happen). Some languages treat negation (it doesn't happen) or questions (is it happening?) as mood inflections on verbs.

Some languages use moods where we use modal verbs (e.g. can, may, will etc.), for example where we say "I would drink", the Spanish say "(yo) bebería", from "beber". Where we say "He wants to drink", Sanskrit says "pípāsati". And where we say "it is likely that he speaks", Finnish expresses it with "puhunee".

Some languages indicate how the speaker knows the verb is happening as a kind of mood, called evidentiality ("I know because I saw it", "I know because I'm guessing it will happen", or "It's hearsay" etc.). Conlangs with extensive evidentiality marking include and.

Agreement
Agreement is when a verb is given markings that refer to some detail from another part of the sentence. Most forms of agreement focus around the subject of the sentence but the verbs of some languages will mark details of the object (usually in addition to the subject).

Person
Many languages inflect the verb for the person. Latin and Spanish, for example, have different verb forms depending on whether the subject is first person, second person, or third person, which is reflected on the last syllable or two of the word (hablo "I speak", hablamos "we speak", etc.) whereas English does this only for the third person singular ("he runs" versus "they run"). In languages where verbs inflect for person, it is often possible to omit pronouns altogether and still be understood; in some such languages, subject pronouns are normally omitted, and only included for special emphasis.

Gender
Some languages may include gender-marking on verbs instead of/as well as person marking. For example, in Russian, the "past tense" is formed by using a form ending in -l, -la, -lo, depending on the gender of the subject (while in the "present tense" the verb agrees with the person of the subject and not with the gender). In Arabic, most tense forms indicate the person, number (singular, dual, or plural) and gender of the subject.

Polypersonal marking
Some languages (e.g. Basque, Georgian, Quenya) mark the verb for the person not only of the subject but of the object. Thus "I have found it" in Quenya becomes u-túvie-nye-s "HAVE-FIND-I-IT". One language even has forms for more than one subject "I and he", "he and they", for example.

Combining the types of inflection
A language may inflect the verb for all of these things or none of them. Typically, isolating/analytic languages, of course, don't inflect their verbs much. Synthetic languages, the fusional and agglutinative languages, tend to inflect their verbs to varying degrees with these features.

Some inflect heavily in one area but not another. Japanese, for example, inflects verbs not just for tense, but for politeness, desire, mood, and various other things. The verb miru (to see) becomes mimasu to show politeness and minai to show negation. These forms can be inflected further, so mimashita is the past tense form of mimasu and minakatta is the past tense form of minai. However, Japanese verbs show no inflection whatsoever for person - there is not even an equivalent for the minimal -s inflection of English verbs in the 3rd person singular of the present tense.

Polysynthetic languages usually inflect the verb to an incredible degree. In such languages — like some of those spoken or formerly spoken by people native to the Americas and arguably, modern spoken French — the verb may be marked for the number, noun class, and person of both the subject and object, allowing the listener to determine which noun in a sentence is playing which role from the inflections on the verbs alone. This is another way, besides noun cases, for free word order to be possible.

Valency
Verbs can be categorized by how many arguments they take, that is, how many nouns are involved by the verb. For example in I am writing a letter to you, the verb write has a valency of three because there are three things involved: the letter; you; and me, the subject. There are also verbs which have a valency of zero, as in It rains. In English, there still has to be a subject, it, but the sentence doesn't define what it is. so it is called "the grammatical It". In some languages, a verb with a valency of zero would simply appear by itself with no noun at all.

Transitivity
This is also not a new inflection of verbs, but a way of categorizing verbs by what arguments they take. Or in other words, how many direct/indirect objects other than the subject are involved in the action. It tells the difference between the letter and you in I am writing a letter to you. and also describes why it sounds wrong to say I am writing you to a letter.

title: Conlang/Intermediate/Grammar/Verbs


text:
Engineering Acoustics/Primary variables of interest

Basic Assumptions
Consider a piston moving in a tube. The piston starts moving at time t=0 with a velocity u=$$u_p$$. The piston fits inside the tube smoothly without any friction or gap. The motion of the piston creates a planar sound wave or acoustic disturbance traveling down the tube at a constant speed c>>$$u_p$$. In a case where the tube is very small, one can neglect the time it takes for acoustic disturbance to travel from the piston to the end of the tube. Hence, one can assume that the acoustic disturbance is uniform throughout the tube domain.

Assumptions
1. Although sound can exist in solids or fluid, we will first consider the medium to be a fluid at rest. The ambient, undisturbed state of the fluid will be designated using subscript zero. Recall that a fluid is a substance that deforms continuously under the application of any shear (tangential) stress.

2. Disturbance is a compressional one (as opposed to transverse).

3. Fluid is a continuum: infinitely divisible substance. Each fluid property assumed to have definite value at each point.

4. The disturbance created by the motion of the piston travels at a constant speed. It is a function of the properties of the ambient fluid. Since the properties are assumed to be uniform (the same at every location in the tube) then the speed of the disturbance has to be constant. The speed of the disturbance is the speed of sound, denoted by letter $$c_0$$ with subscript zero to denote ambient property.

5. The piston is perfectly flat, and there is no leakage flow between the piston and the tube inner wall. Both the piston and the tube walls are perfectly rigid. Tube is infinitely long, and has a constant area of cross section, A.

6. The disturbance is uniform. All deviations in fluid properties are the same across the tube for any location x. Therefore the instantaneous fluid properties are only a function of the Cartesian coordinate x (see sketch). Deviations from the ambient will be denoted by primed variables.

Pressure (force / unit area)
Pressure is defined as the normal force per unit area acting on any control surface within the fluid.

$$p = \frac {\tilde{F}.\tilde{n}}{dS} $$

For the present case,inside a tube filled with a working fluid, pressure is the ratio of the surface force acting onto the fluid in the control region and the tube area. The pressure is decomposed into two components - a constant equilibrium component, $$p_0$$, superimposed with a varying disturbance $$p^'(x)$$. The deviation $$p^'$$is also called the acoustic pressure. Note that $$p^'$$ can be positive or negative. Unit: $$kg/ms^2$$. Acoustical pressure can be measured using a microphone.

Density
Density is mass of fluid per unit volume. The density, ρ, is also decomposed into the sum of ambient value (usually around ρ0= 1.15 kg/m3) and a disturbance ρ’(x). The disturbance can be positive or negative, as for the pressure. Unit: $$kg/m^3$$

Acoustic volume velocity
Rate of change of fluid particles position as a function of time. Its the well known fluid mechanics term, flow rate.

$$U=\int_{s}\tilde{u}.\tilde{n}\, dS$$

In most cases, the velocity is assumed constant over the entire cross section (plug flow), which gives acoustic volume velocity as a product of fluid velocity $$\tilde{u}$$ and cross section S.

$$U=\tilde{u}.S $$

Back to Main page


text:
Talk:Modern Greek

Restructuring II
Hi all, there seems to be much debate over this page, though seemingly not for many years. I'm not sure if any users are still active?

My opinion is that there is quite a lot of good material here but it is simply too muddled. Looks like people have tried to fix this before and given up.

My intention is to put all of the "Alphabet" as Lesson 1 - in the bite-sized chunks which currently exist. Lesson 2 - Basic greetings and things. This should serve as the very basics. Following on from this I thing that it makes sense to follow the last "New organisation" plan.

I will start to clear up bit by bit. I'm not sure of everything which exists yet. If anyone wants to help sketch out an improved contents please let me know.

IKnowNothing's old restructuring page is here, how about we add the new structure plan to that?

I'm also new to wiki editing - so some pages may suffer broken links etc whilst I'm working out what to do, please help out if you see something.

I've sorted out what I think should be the new order and got it on the front page. All the old material still exists and I'm starting to copy it across.

Tasks that I think need doing:

(1) Tidy up this page, discussions from 8 years ago can probably be archived and this turned into an active "To Do" list.

(2) Someone should always be double checking the pages for mistakes - how about comments on each discussion page to show when someone has checked it.

(3) If you want to write extra lessons, add to existing, or just copy something across please do.

(4) Get involved! Especially native Greek speakers, it would be super to have recordings for everything, and not by my, I struggle too much with γ, you should hear me trying to say γάλα...

(5) There are some illustrated pictures on "The Body" page. There needs to be more pictures I think. I believe it helps some people lots to compare images and works (different learning styles).

Aphoneyclimber (discuss • contribs) 21:42, 16 October 2014 (UTC)

Legacy Discussion
I've created a User Language Questions page. Here in the discussion any one can ask a question about the language, when it's answered satisfactorily it will go on the main page, so there can be a sort of FAQ's and general queries. Obviously clarification questions should go with the relevant pages but anything that's new should go here.

I've also moved the Legacy Restructuring stuff away so that this can be a clear workspace to make the new plan.

Aphoneyclimber (discuss • contribs) 07:47, 17 October 2014 (UTC)

title: Talk:Modern Greek


text:
Programming Languages/Introduction

Introduction
A programming language is an artificial language that can be used to instruct a computer to perform a particular task. To be considered a general programming language, it     must be computationally complete, or Turing-Complete. It is nevertheless common to regard some languages that are not computationally complete, like database query languages and other domain-specific languages as programming languages as well.

High-Level Versus Low-Level Programming Languages
A low-level programming language is one that is very basic and close to the machine's native language. A low-level programming language can be thought of as a building block language for software. Assembly code is the most common low-level language and requires very little translation to assemble it to machine code. (The 1's and 0's that make up binary.)

A high-level programming language is one that is closer to a level of human communication. In this method, the compiler does a lot more of the work for the programmer. The closer the language is to our everyday speech, the easier it is to worry about more complex problems. However, this can be taken too far. If a language is too much like English (or other natural languages), it can be harder to create complex programs. This is because verbose languages take more time to read, and so they can take a lot more time to understand.

Machine code is the language the computer can understand directly. Machine code consists of sequences of binary digits. It is almost never programmed in directly, but anything that is to be run on an ordinary computer must be translated to machine code first. The machine code can be different for each computer architecture.

Assembly language is a more human readable representation of the machine code, where the machine instructions are represented as mnemonics rather than binary digits. Assembly language has a 1:1 relationship with machine code as long as the program is not self-modifying. Before an assembly program can be run by a computer, it must be transformed to machine code. A program that does this translation is known as an assembler. In the early days of computing, assembly language was extensively used, but today it is mainly used for very time critical parts of programs, the core of operating systems, as well as in very small computers, like the chip on a smartcard.

Machine code and assembly language are called first and second generation programming languages respectively. A programming language that has arithmetic expressions, looping constructs, functions, and other constructs that save the programmer from dealing with the machine instructions directly is known as a third-generation programming language.

High-level, domain-specific programming languages were earlier often mentioned as fourth-generation languages, while expert systems were called fifth-generation programming languages. In later years this distinction has blurred, as many very high-level general purpose programming languages like Python, Haskell and Common Lisp have emerged. Expert systems are in very little use today.

Compilation and interpretation of computer programs
Before a program can be executed on a computer, it must be translated to machine code. Alternatively it can be simulated by another program, called an interpreter. A compiler is a program that translates a programming language, called the source programming language into another programming language, called the destination language. Usually the source language is a high level language, while the destination language is machine code. An interpreter may require that the source programming language be compiled into an intermediate form before interpretation, called byte code. This is a more low level language, for which it is easier to write an interpreter. In the Java programming language this is a separate step, while in other cases it is performed as an integral part of the interpreter. Examples of such programming languages are Perl and Python. CommonLisp is an exception to the above: it's both interpreted and compiled.

Type Systems
There are two axes to type systems: Dynamic versus Static on the one side and Strong versus Weak.

A Strongly typed language will not allow an operation on an object if this object does not match in type. Examples are CommonLisp, Q-base and Python.

A Weakly typed language will allow such operations. Examples are C and C++.

Dynamic type languages bind type to value. Staticly typed languages bind it to variable.

(See here for background.)

Memory Management

 * Manual management
 * Garbage Collection

title: Programming Languages/Introduction


text:
Programming Languages/Syntax Specification

There are two ways to describe a language: by its syntax or by its semantics. The syntax of a language is a set of rules that defines what strings of characters (sentence or statements) belong to this language; the semantics of a language describe the meaning of a given statement.

Lexemes and Tokens
For a language, one can decompose a statement into a string of lexemes, the indecomposable building blocks of a language. For example, the following Perl statement: do { sleep 1; } while (++$i < 10); contains lexemes:,  ,  , ,,  ,  ,  ,  ,  ,  ,  ,   and.

Lexemes can be grouped into categories. Such a category is called a token.

Context-Free Grammars

 * Backus-Naur Form(BNF)
 * Arithmetic grammar
 * Unary negation (~)

Parse Trees

 * Parse tree of complex formula using exponents, et cetera

Extended Backus-Naur Form
Extended Backus-Naur Form is intended to be a precise method for specifying the syntax of a language. It is a metalanguage, in that it is a language used to describe languages. It is also commonly seen employed in command usage or help documents.

The complete documentation on EBNF is to be found here: .

The basic elements of a language would be described using EBNF terminal symbols, which are then grouped together into logical higher-level expressions of the overall language using nonterminal symbols. Terminal symbols specify actual valid character patterns used to represent things like the proper syntax for variable names in the language, or for representing numbers. Nonterminal symbols group the different possible representations of a given thing (say, numerical constants in decimal, hexadecimal or scientific notation format) into a single logical thing ([Numerical_Constant]). Ultimately, by building up the various syntactical elements and expressing the ways in which they may be combined, one ends up with a symbol representing a program in the language in question.

A couple of examples are to be found in the man pages for the awk utility.

(excerpts are from )

First, its usage:

 * '''awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]

'''

The items in square brackets are an example of EBNF and denote an optional parameter to use on the awk command line.

Secondly, the usage detail section is partially specified in EBNF.

In the example below, words such as 'pattern', 'action', 'expression' and 'statement' are EBNF nonterminal symbols.

A pattern-action statement has the form

pattern { action }

A missing  {  action  } means print the line; a missing pattern always matches. Pattern-action statements are separated by newlines or semicolons.

An action is a sequence of statements. A statement can be one of the following:

if( expression ) statement [ else statement ] while( expression ) statement for( expression ; expression ; expression ) statement for( var in array ) statement do statement while( expression ) break continue { [ statement ... ] }             expression              # commonly var = expression print [ expression-list ] [ > expression ] printf format [, expression-list ] [ > expression ] return [ expression ] next                   # skip remaining patterns on this input line nextfile               # skip rest of this file, open next, start at top delete array[ expression ]# delete an array element delete array           # delete all elements of array exit [ expression ]    # exit immediately; status is expression

Statements are terminated by semicolons, newlines or right braces.

Entire languages can also be documented in EBNF. The link below documents the ANSI definition of C++, and many parts of this document are written in EBNF.