Sunday, October 01, 2006

linux smart commands

© 1995-2003 CNET Networks, Inc. All rights reserved. “TechRepublic” and its logo are trademarks of CNET Networks, Inc. Reproduction of this publication in any form is prohibited. This is a
single user version and duplication is prohibited. For additional copies please call 1-800-217-4339.
at
Execute a command or script at a specified time and at
regular intervals.
at [[-V] [-q queue] [-f file] [-m] [-l] [-d] [-b] [-v] time]
[-c job [job...]]
[-V]: Show the version of at.
[-q queue]: Specifies the queue to use.
[-f file]: Get the job information from a file.
[-m]: Email job status to user after completion.
[-l]: List the jobs currently in the queue.
[-d]: Remove the job from the queue.
[-b]: Allows a job to be run based on the current system
status.
[-v]: Shows completed jobs still in the queue.
time: The time that the job should run. MM/DD/YY and/or
HH:MM specification is supported.
[-c job [job...]]: The task that should be performed at the
time specified.
date
Display and set the system date and time
Date [-u --utc --universal] [-d --date=datestring]
[-R --rfc-822] [[yyyy]mmddhhmm[yy][.ss]]
[-u --utc --universal]: Print/set universal time.
[-d --date=datestring]: Display the time shown by the
string specified here.
[-R --rfc-822]: Show the time in rfc-822 format.
[[yyyy]mmddhhmm[yy][.ss]]: The format for the date
and time.
halt
Power down or restart the system.
halt [-d] [-f] [-h] [-i] [-n] [-p] [-w]
[-d]: Don’t write wtmp record before shutting down.
[-f]: Force a shutdown or restart.
[-h]: Place hard drives into standby before shutting down.
[-i]: Shut down network interfaces before shutting down.
[-n]: Don’t sync before shutting down. Implies a -d.
[-p]: Halt with a poweroff rather than restart.
[-w]: Don’t shutdown or restart, but write wtmp record.
kill
Terminate a system process.
kill [-l [signal] [-s signal -p]] [-a] [--] pid ...
[-l signal]: Print a list of signal names. Red Hat Linux 9
has 63 signal names.
[-s signal]: The signal to send to the process. Signal 9 for
example, will send a SIGKILL signal to a process
effectively killing it.
[-p]: Just print the process id for the specified process
and do not send it any signals.
[-a]: Don’t restrict commandname-to-pid conversion.
newaliases
Rebuild the mail aliases database.
Newaliases does not take any parameters and is
functionally equivalent to sendmail -bi.
passwd
Manage user’s passwords.
passwd [-d --delete] [-f --force] [-i --inactive=days]
[-k --keep-tokens] [-l --lock] [-n --minimum=
days] [-S --status] [--stdin] [-u --unlock]
[-w --warning=days] [-x --maximum=days]
[username]
[-d --delete]: Root only: Delete the password for the
user.
[-f --force]: Force the operation to complete.
[-i --inactive=days]: Root only: The account grace
period. The number of days after a password expires
before an account is disabled.
[-k --keep-tokens]: Keep authentication tokens that have
not expired.
[-l --lock]: Root only: Lock the specified account.
[-n --minimum=days]: Root only: The minimum number
of days that must pass before the password can be
changed again.
[-S --status]: Root only: Display the password status of
the specified account.
[-u --unlock]: Root only: Unlock the specified account.
[-w --warning=days]: Root only: The number of days
warning that a user receives that his password is to
expire.
[-x --maximum=days]: Root only: The maximum life of
a password.
[username]: The username on which to perform the
operation.
ps
Display process statistics.
ps [a] [-A] [-a] [C] [c] [-C processname] [{--cols num
--columns num --width num}] [-d] [e] [-e] [{f
--forest}] [-f] [g] [{-G RGID --Group RGID}]
[{-g groupname --group groupname}] [{h
--no-headers}] [-H] [--headers] [--html] [{j -j}]
[{l -l}] [L] [{--lines num --rows num}] [{m -m}]
[n] [{N -n}] [-N --deselect] [{--nul --null
--zero}] [O] [{o -o --format}] [{p pid -p pid --pid
pid}] [r] [s] [{S --cumulative}] [{-s session --sid
session}] [--sort sortkey] [{-t tty t tty T tty --tty
tty}] [{-U RUID --User RUID}] [{-u userid --user
userid}] [v] [{w -w}] [x] [X] [-y]
[a]: Show information for all processes on this terminal
including those belonging to other users
[-A]: Show information for all processes
[-a]: Show information for all processes with a TTY except
session leaders
[C]: Show the raw CPU time
[c]: Show the true command name
[-C processname]: Show information for processes that
match the name specified
[{--cols num --columns num --width num}]:
The screen width
[-d]: Show information for all processes except session
leaders
[e]: Show the environment after each command
[-e]: Show information for all processes with a TTY except
session leaders
[{f --forest}]: Display: process listing with ASCII art
[-f]: Display: full process listing
[g]: Really, we mean it this time. Show ALL process
information.
[{-G RGID --Group RGID}]: Show information for
processes with a matching real group ID
[{-g groupname --group groupname}]: Show
information for processes matching the effective
group name
[{h --no-headers}]: Display: do not print header lines
[-H]: Display: process hierachy
[--headers]: Repeat the header lines
[--html]: Print html escaped output
[{j -j}]: Display: jobs format
[{l -l}]: Display: long listing format
[L]: List all formats
[{--lines num --rows num}]: Set the screen height
[{m -m}]: Display: all threads
[n]: Display: numeric output for WCHAN and USER
[{N -n}]: Set namelist file
[-N --deselect]: Negate the selection
[{--nul --null --zero}]: Unjustified output with NULs
[O]: Sort order: overloaded
[{o -o --format}]: Display: User define format
[{p pid -p pid --pid pid}]: Show information for
processes with a matching process ID
[r]: Show information for running processes
[s]: Display: Signal format
[{S --cumulative}]: Include dead child process
information
[{-s session --sid session}]: Show information for
processes belonging to the matching session
[--sort sortkey]: Sort order
[{-t tty t tty T tty --tty tty}]: Show information for
processes on the terminal specified
[{-U RUID --User RUID}]: Show information for
processes with a matching real user ID
[{-u userid --user userid}]: Show information for
processes with a matching effective user ID
[v]: Display: virtual memory format
[{w -w}]: Display: wide output
[x]: Show information for processes that do not have
controlling TTYs
[X]: Display: Linux i386 format
[-y]: Don’t show flags
shutdown
Shut down the system. Must be logged in as root.
shutdown [-a] [-c] [-f] [-F] [-h] [-n] [-k] [-r] [-t seconds]
time [message]
[-a]: Use /etc/shutdown.allow.
[-c]: Cancel an in-progress shutdown.
[-f]: Skip the file system check upon reboot.
[-F]: Force a file system check upon reboot.
[-h]: Halt the system after the shutdown is complete.
[-n]: Go down fast and don’t use ‘init’.
[-k]: Only warn about a pending shutdown but don’t
actually do it.
[-r]: Reboot the system after the shutdown.
[-t seconds]: The number of seconds to wait before
sending the kill signal.
time: The time to shutdown (ie - ‘now’)
[message]: The warning message to send to attached
users.
sudo
Run a command as another user.
sudo [-k] [-K] [-l] [-v] [-V] [-b] [-H] [-P] [-S]
[-p prompt] [-u username #uid] [-s] [command]
[-k]: “kill”: invalidates a user’s timestamp.
[-K]: “sure kill”: remove a user’s timestamp.
[-l]: Shows the allowed commands for the user.
[-v]: Validate the user’s timestamp.
[-V]: Version
[-b]: Runs the specified command in the background.
[-H]: Sets the HOME variable to match the user specified.
[-P]: Preserve the user’s group vector.
[-S]: Causes sudo to read password from file rather than
terminal.
[-p prompt]: Use a custom password prompt.
[-u username #uid]: The user or user ID.
[-s]: Runs the shell specified in the SHELL variable.
[command]: The command to run.
top
top [b] [c] [C] [d delay] [i] [p pid] [q] [s] [S]
[n iterations]
[b]: Batch mode. Use with n to specify the number of
iterations.
[c]: Display command line rather than command name.
[C]: SMP systems: display total CPU statistics.
[d delay]: The delay between screen updates.
[i]: Ignore idle and zombie processes.
[p pid]: Monitor processes with the specified process ID.
This parameter can be specified 20 times.
[q]: Refreshes without delay.
[s]: Run in secure mode.
[S]: Show process utilization as a cumulative figure
building on the previous process.
[n iterations]: Use with b to run a certain number of
times.
useradd
Add a new user to the system. Must be logged in as root.
useradd [-A {method DEFAULT},...] [-c comment]
[-d homedir] [-e expiredate] [-f inactivetime]
[-g initialgroup] [-G group[...]] [-m [-k skeletondir]]
[-n] [-r] [-s shell] [-u uid [-o]] login
[-A {method DEFAULT},...]: The name of the program
that will authenticate the user.
[-c comment]: A comment to associate with the user
account.
[-d homedir]: The location of the user’s home directory.
SYSTEM
Continued on next page

JAVA SCRIPT


It's important to understand the difference between Java and JavaScript. Java is a full programming
language developed by Sun Microsystems with formal structures, etc. JavaScript is a scripting language
developed by Netscape that is used to modify web pages. Most JavaScript must be written in the HTML
document between
tag. Sometimes, as an attribute to script, you may add “Language=JavaScript”
because there are other scripting languages as well as JavaScript that can be used in HTML. We’ll go
through some examples to demonstrate the syntax of JavaScript.
To understand the workings of JavaScript, it is essential to understand a few basic programming concepts.
JavaScript is object-oriented. An Object in JavaScript is a resource that has specific characteristics known
as properties and provides several services known as methods and events. An example of an object is
document, which represents the current web page and has properties such as location ( which stores the
URL location of the document) and methods such as writeln , which writes dynamically created html text
to the document.
A variable stores a value. It can be thought of as a labeled box, with the name of the variable as the label
and the value as the contents. The JavaScript statement:
var x= “hello”;
assigns to the variable named x the String value “hello”.
var x=1;
Page 4 of 20
This line of JavaScript assigns to the variable x the integer value 1. As you can see, a JavaScript variable
can refer to a value of any type; this can be integer, string, or even any type of object. You dont have to
specify the type of variable before creating it. Note that object properties can be thought of as variables that
belong to the object.
A method is basically a collection of statements that does something. For example, a method “writeln()”
exists in the document object that can be used to write html to your document. Methods are predefined in
JavaScript. It is possible for you to define functions, which can be thought of as methods you define outside
of any object.
When you have the syntax object.method as you do with document.writeln, the method operates on the
object given. In this case, the writeln method operates (the operation is writing) to the document (the
browser window that you see). This syntactic structure is often used in JavaScript.
Javascript and Comments
Some older browsers do not recognize JavaScript. These browsers would sometimes display JavaScript
code in the page as if it were part of the contents of the page. Therefore, it is conventional to place
JavaScript code between comment tags as follows:

Older browsers would just ignore the Javascript code between the comment tags, while new
browsers would recognize it as JavaScript code. The // just before the end comment tag --> is a JavaScript
comment symbol, and tells the browser not to execute the end comment tag --> as JavaScript. Using
comment tags makes a webpage more accessible to older browsers.
Page 5 of 20
Writing HTML to the document

Insert the above into your html document between the and tags. The piece of text (known
as a string) between the parentheses is the parameter given to the writeln() method. The browser will
display the HTML between the parentheses when it runs the script.
Note that writeln() writes actual HTML to the page, complete with tags, attributes and text. The
parameter of the writeln() method can include tags to format the text. Change the above code to the
following:

Note how the welcome message displayed by the browser is now a heading, and is centered.
The above example may seem kind of pointless, because we could have just inserted the HTML between
the parentheses directly without using a script. This, however, makes it possible to create HTML that would
vary depending on certain conditions. Insert the following code into your page:
Page 6 of 20

The HTML processed by the browser in this case would vary depending on the values of
document.lastModified and document.location.
Because we wanted this text to be printed in the same position in our page body every time the page is
loaded, we placed the JavaScript code between the and tags wherever we want the text to
occur. Sometimes, we place JavaScript code in the head portion of the page if we want it to run before any
of HTML in the body is displayed. We can also define JavaScript functions in the head of a page, which we
will talk about later.
JavaScript has several predefined methods that allow you to create several types of pop-up boxes. Let's
look first at "alert" boxes.
Page 7 of 20
Alert boxes
An alert box is a small window that pops up with a yellow warning sign and a (usually) important message.
With JavaScript we can either show a message to the user either before a page loads or in response to a user
action. Here we will make an alert box that appears before the page loads. It will look like this:
Exercise
1. In Notepad, open base.html, your starter HTML page template.
2. Now, within the tags, insert the following code:

This makes a pop-up box which says "This is a class on JavaScript" with an OK button that allows the user
to close it and continue. The message can be changed to whatever you like. This type of pop-up box is
called an alert box because it can only be used to alert a viewer. It cannot be used to control where the user
may go. alert() is a method that takes care of displaying the box. The line “This is a class on JavaScript”
is the parameter for the alert() method. Some more examples of methods are:
confirm(“put message here”) ; This is the next type of box we’ll be looking at.
prompt(“put request here”) ; This asks the user to enter some text.
Page 8 of 20
You probably noticed at the end of a method, after the right parenthesis, there is a semi-colon. In
JavaScript, a semi-colon is used to end a "statement".
Now we will make another type of pop-up box.
Confirm Boxes
Place the following code in the body of your HTML document. (Remove the alert box if you like.):



We have created an input button inside a form. Input elements such as buttons must always be placed inside
a form, between
and
tags.
Take a look in a browser window at the results of this code. The onClick event handler means that when
you click on the button, a confirm box pops up. An event handler allows you to specify what code to
execute when an event takes place. You can change the message on the button or in the confirm box by
changing the appropriate text in the code. Be sure you’re also using all semicolons, quotation marks, and
other punctuation correctly.
Syntax is very important in JavaScript, unlike in HTML, where typos are often overlooked by
browsers.
Now we’ll take a look at one more type of pop-up box, the message input box.
Message input boxes
1. Put the following code in the head of your HTML document.

2. Reload the page in your browser window.
3. Type your name.
The browser will type your name in the window, along with the welcome message. These input strings can
be used to personalize your web page. Let’s take a closer look at the first line of code.
var yourname = prompt('Type your name here');
This is an example of a variable declaration. As we mentioned, a variable in JavaScript can take on any
form, such as integer, character, or string. Just like a person has a name, in order to refer to a variable, you
must give it a name. You make a variable with the word var as shown above, and the name is the word
immediately following var. So in this case the name of the variable is yourname. The equal sign assigns
the variable the value to its right (i.e. 4, 8+5, “c”, “chocolate devil”). The prompt method will get a value
for yourname as you saw when you ran the program. We say that the prompt method returns a value,
which is stored in the variable yourname. Some methods return values, some don’t.
The line:
document.writeln("
Welcome, "+ yourname +"
");
looks a lot more complicated than it is. It uses whatever value you have for yourname, which you get
from the text prompt window. As you saw, it types on the screen “Welcome,” and then your text. The
,
tags are familiar looking HTML tags, and indeed, all they do is center your message.
The MouseOver
A mouseover can be used to make an image change when the user rolls their mouse over it. What actually
happens is that the browser displays a different image when the mouse is over the text or image. Look at
demo.html again to see how a rollover works. Here are two commercial websites with good examples of
mouseovers:
http://www.saturn.com
http://www.audiusa.com. (Choose a model, then select build your Audi)
Page 10 of 20
To specify a mouse rollover you insert the onMouseOver and//or the onMouseOut attributes into the
appropriate tag. These should be followed by the JavaScript code to be executed between quotes.
Making a simple MouseOver
Now that we’ve looked at what a mouseover can do, let's make one. Included in the class files folder are
the two pictures used to make the mouseover, harry.gif and family.gif. This mouseover will display a
picture of Harry the pepper(the CIT mascot) until the mouse is moved over it; then it will display his family
photo. The pictures will be part of a link to the CIT webpage.
1. Place the following code in the body of your HTML document:


2. View your page with the browser. If the mouseover doesn’t work, be sure to check all
semicolons, apostrophes, and quotation marks.
Here's how the code works. As you can see, all the code that creates the mouseover effect is contained in
an anchor tag and is therefore a hyperlink. The name attribute of the image tag assigns a name to the
image object. The result is that an object is created representing the image, this object is referred to by the
variable named “logo” which is located inside the document object (it is a property of the document
object). The onMouseOver and onMouseOut attributes are “Event Handlers” that tell the browser what
code to execute when the events occur. You can make it so that the mouseover affects another image on
the page by changing the name of the image accordingly in the event handler code.
Animated MouseOver
We saw that a MouseOver can be used to change the image displayed when the mouse rolls over an image.
This has an interesting application in animated images. Let’s say we have two versions of a GIF image, one
of which is a still and one of which is animated. We can use a MouseOver to animate a still image when the
mouse rolls over it. In your class files folder you have two images, logoscroll.gif and logostill.gif which
can be used to create this effect.
Page 11 of 20
1. Place the following code in the body of your HTML document:





2. View your page with the browser. If the mouseover doesn’t work, be sure to check all
semicolons, apostrophes, and quotation marks.
We have created a link to the TTS website using the logostill.gif image. We added mouse event handlers to
the anchor tag; These change the image source file to logoscroll.gif when the mouse rolls over the image,
and change it back to logostill.gif when the mouse leaves the image.
Menu
We will now look into creating a menu using Javascript. We will create a simple menu, which has a
number of clickable options. There will be a single image which changes when options is selected. We will
also create a function which takes care of changing the menu image.
You will be using the images dog.gif, cat.gif and hamster.gif provided in the class files folder.
1. Place the following code in the body of your HTML document:
Page 12 of 20

My Favourite Pets






.Dog.

.Cat.

.Hamster.


Notice how we used anchor tags to enclose the menu entries. We made the entries into links by defining the
href attribute. This, however, is not your regular sort of link. Instead of defining the href attribute to be a
URL, we defined JavaScript code to be executed when the link is clicked. When you click any of these
“links”, the corresponding JavaScript is executed. We used the javascript: prefix to denote that the target
of the link is the following JavaScript code, and not a regular URL.
The JavaScript executed when the cat button is clicked, for example, is changePet(‘cat.gif’); . Where did
the changePet function come from??? Well, nowhere really; It doesnt exist, we will create it. So now we
want to create a function that takes in a single parameter, which is the name of a file. This function should
then set the source (which is the src property) of the image object pet to equal that filename.
2. Insert the code for the function changePet into the head portion of your page:
Page 13 of 20

Functions like the above are usually defined in the head of an HTML document. As shown above, function
definitions must me enclosed by opening and closing script tags. The syntax for function definition is, as
shown above, the keyword function followed by the name of the function and a list of parameters between
parentheses(if there is more than one parameter the list is seperated by commas). Then, the statements
composing the function are placed between curly brackets { } . The above function takes in one parameter,
and calls it file. There is a single statement in this function; This sets the value of document.pet.src to
equal the value of file. Now that we have defined the changePet function, calls to that function from the
links in our menu can be made.
3. View your page with the browser. If the menu doesn’t work, be sure to check all semicolons,
apostrophes, and quotation marks.
When a menu option is clicked, the corresponding JavaScript code is executed. That code calls the
changePet function and gives that function a single parameter representing the name of the file. The
changePet function then receives that parameter, calls it file, and uses it to change the source of the pet
image.
Change the status bar text
JavaScript allows us to change the text in the status bar of the window through the window.status property.
We will now show you how to place a welcome message on the status bar as soon as your page finishes
loading. The event handler goes in the opening tag
1. Put this code in the body of your HTML document:
Page 14 of 20

Notice that the text in the bottom of the browser window now displays " Welcome to my Page!!!"
whenever the mouse pointer is not on a link. The onload event handler is an attribute of the body tag, and
it tells the browser what to do after the body of the page is done loading.
You could also use this effect in conjunction with a mouse event handler to change the status bar text when
the mouse rolls over certain links or images, feel free to explore effects like that on your own.
Cutting and Pasting Example Scripts into your Page
Frequently people use existing JavaScript that can be pasted into their code for certain effects, features, etc.
There are large archives of free scripts available online for your use. The ones we will implement today are
in the demo.html file. For any of these effects, you simply cut-and-paste the appropriate code that is given
into the appropriate place in your web page. Usually the instructions will tell you where in the document to
place it.
Page 15 of 20
Example: Browser Earthquake
1. Open demo.html.
2. Click on the link Click here for the Earthquake source under the Shake Screen button . The
embedded text window contains the code you will paste into your page.
3. Follow the instructions on the screen to paste the code in the appropriate places in your HTML
document. There is one part that goes in the head, and another smaller part that goes in the body,
which makes the button you press cause the browser earthquake.
4. View the page.
Page 16 of 20
Example: Pull-Down Menus
1. In demo.html click on the Click here for the Menu source link under the pull down menu near
the bottom of the page. As before, insert the appropriate code into your document.
2. View the page. You will see a fully functioning pull-down menu.
The code we pasted into the body section should look like this:


We can change where the links in the pull-down menu take us by changing the value attribute in the option
tag. We can also change link text by changing the text after each option tag.
3. Practice changing the URLs and link text.
4. Practice adding a few options to the pull-down menu.
5. View your page.
Design Considerations
Some older browsers are incompatible with JavaScript. JavaScript can also be turned off on many
browsers. You can turn it off on Netscape by going to Edit > Preferences > Advanced and unchecking the
Enable JavaScript checkbox. It is therefore a good idea to make sure that someone viewing your page
without a JavaScript enabled browser can navigate your page properly. For examp le, creating links as
alternatives to using the pull down menu above would provide such accessibility.
Page 17 of 20
Review
Today we have laid the groundwork for you to learn more about JavaScript. Through the examples, you
have been exposed to what methods, functions, objects, event handlers, parameters and statements are in
the context of JavaScript. You have written some code on your own, as well as implemented existing code.
We hope you'll now be comfortable continuing your study of JavaScript through tutorials, books, and
perhaps a full-semester course.
Page 18 of 20
Introduction to JavaScript: A short glossary
statement
A statement in JavaScript is comparable to a sentence in English – both contain complete ideas
that the reader can understand independent of the rest of the document. A sentence is terminated
with a period, but a statement in JS always ends with a semicolon.
Example : x = 5+2;
variable
A storage container for values. Once a value has been assigned to a variable, that variable’s
identifier can be used in place of it’s value anywhere in a program. A variable’s value can be
changed at any point in the program (hence the name variable). Below myname is the identifier
and "Paul" is the value.
Example: var myname = “Paul”;
object
A part of the web page or browser that JavaScript can control. Primary objects in JavaScript
include:
window The browser window – has control over things like the status bar and
scroll bars.
document The contents of the web page – has control over things like text color
and size.
An object can contain other objects as properties.
property
All objects have a unique set of properties accessible to the programmer. Changing one or more
of these properties will change the way an object looks or behaves. In the following example,
window is the object and status is the property.
Example: window.status = “Hi there”;
Other examples of objects and properties:
Object Property
document.bgColor Changing this changes the background color of the web page
window.location Changing this loads a different page into the browser.
method
All objects also have a unique set of methods available to the programmer. Each method will
invoke some sort of action on the object. Methods are like functions (see the function handout) in
that you pass them parameters and they perform some action with those parameters, but they are
not user-defined like functions are. Rather, methods are built into the JavaScript language.
Example: window.alert(“This is an alert message”);
Page 19 of 20
Other examples of objects and methods:
Object Method
window.home() This makes the browser load its user-defined homepage.
document.write(“bla”) This writes the text “bla” onto the webpage.
event handler
Many objects also have event handlers, which catch user triggered events (such as mouse clicks
and keystrokes) and allow the programmer to specify an action for each of these events.
Example: onClick= “alert(‘you clicked a button’);”
A few event handlers:
onLoad Performs specified actions when page is loaded
onClick Performs specified actions when mouse is clicked on the object that contains
the handler statement.
onKeyPress Does something when a key is pressed on the keyboard.

Electric Ice






Electric Ice
09.13.2006
-->
+ Play Audio + Download Audio + Email to a friend + Join mailing list
Sept. 13, 2006: Here's something fun to try in your kitchen: Go to the freezer, open the door and pry loose an ice cube. Next, look around the freezing compartment for some frost—the crystalline fuzz that loves to coat your frozen English peas. Found it? Rub the ice cube gently across the frost.
Nothing happens.
Well, what did you expect, a bolt of lightning?
Actually, that's just how lightning gets started. Miles above Earth in cumulonimbus clouds, tiny ice crystals are constantly bumping against larger ice pellets. The two kinds of ice rubbing together act like socks rubbing against carpet. Zap! Before you know it, the cloud is crackling with electric potential—and a bolt of lightning explodes to the ground.
Right: Lightning, photographed by William Biscorner of Memphis, Michigan. [
Larger image]
It may seem hard to believe that a powerful bolt of lightning, which heats the air in its path three times hotter than the surface of the sun, could spring from little pieces of ice. But that's how it is, according to theory, and indeed laboratory experiments have confirmed that you can generate electricity from ice-ice collisions.
Still, it does sound fantastic. So, "we decided to check it out," says Walt Petersen, a lightning researcher at the National Space Science and Technology Center in Huntsville, Alabama.
Over a three year period, Petersen and his colleagues used the Tropical Rainfall Measurement Mission (TRMM) satellite to look inside more than one million clouds. "TRMM has a radar onboard to measure the amount of ice in a cloud. And it has an optical detector called LIS (lightning imaging sensor) to count lightning flashes." By comparing the ice content of a cloud to its flashes, they could tell if ice and lightning really go together.
Sign up for EXPRESS SCIENCE NEWS delivery
They do. "We found a strong correlation between ice and lightning in all environments—over land, over sea and in coastal areas." On global scales, the correlation coefficient between lightning "flash density" (flashes per square-kilometer per month) and "ice water path" (kilograms of ice per square-meter of cloud) exceeded 90%. Even stronger correlations were found on the smaller scale of individual storm cells where, for example, about 10 million kilograms of ice would produce one lightning flash per minute.
10 million kilograms. No wonder you couldn't get a spark going in your freezer. A great deal more ice is required to make lightning.
In a real thundercloud, millions of pieces of ice are constantly bumping together, pushed by updrafts ranging in speed from 10 to 100 mph. Tiny ice crystals become positively charged and waft to the top of the cloud, while bulkier ice pellets (called "graupel") become negatively charged and plummet to the bottom. This separation creates mega-volts of electrical tension--and hence the lightning.

Above: Lightning rates vs. ice mass measured in thunderstorm cells over Kansas/Colorado (black) and Alabama (red). [More]
Now that the correlation between ice and lightning is so well established, it can be put to good use. Petersen explains:
"Computer programs we write to predict weather and climate need to know how much ice is in clouds. The problem is, ice is hard to track. We can't station a radar over every thundercloud to measure its ice content. To improve our computer forecasts, we need to know where the ice is."
Lightning can help. "Because there's such a strong correlation between lightning and ice, we can get a good idea of how much ice is 'up there' by counting lightning flashes." Sensors like LIS, which are inexpensive and can be stationed on the ground as well as in Earth orbit, make this easy to do.
Back to your freezer: You might want do something about those English peas.
A complete account of Petersen's research may be found in the proceedings of the
LIS International Workshop, being held this week in Huntsville, Alabama.

Strange Moonlight

Sept. 28, 2006: Not so long ago, before electric lights, farmers relied on moonlight to harvest autumn crops. With everything ripening at once, there was too much work to to do to stop at sundown. A bright full moon—a "Harvest Moon"—allowed work to continue into the night.
The moonlight was welcome, but as any farmer could tell you, it was strange stuff. How so? See for yourself. The Harvest Moon of 2006 rises on October 6th, and if you pay attention, you may notice a few puzzling things:
1. Moonlight steals color from whatever it touches. Regard a rose. In full moonlight, the flower is brightly lit and even casts a shadow, but the red is gone, replaced by shades of gray. In fact, the whole landscape is that way. It's a bit like seeing the world through an old black and white TV set.
Right: The Harvest Moon of 2005. Photo credit: Sr. Fins Eirexas of Pobra do Caramiñal, Galiza, Spain.
"Moon gardens" turn this 1950s-quality of moonlight to advantage. White or silver flowers that bloom at night are both fragrant and vivid beneath a full moon. Favorites include Four-O'clocks, Moonflower Vines, Angel's Trumpets—but seldom red roses.
Sign up for EXPRESS SCIENCE NEWS delivery
2. If you stare at the gray landscape long enough, it turns blue. The best place to see this effect, called the "blueshift" or "Purkinje shift" after the 19th century scientist Johannes Purkinje who first described it, is in the countryside far from artificial lights. As your eyes become maximally dark adapted, the blue appears. Film producers often put a blue filter over the lens when filming night scenes to create a more natural feel, and artists add blue to paintings of nightscapes for the same reason. Yet if you look up at the full moon, it is certainly not blue. (Note: Fine ash from volcanoes or forest fires can turn moons blue, but that's another story.)
3. Moonlight won't let you read. Open a book beneath the full moon. At first glance, the page seems bright enough. Yet when you try to make out the words, you can't. Moreover, if you stare too long at a word it might fade away. Moonlight not only blurs your vision but also makes a little blind spot. (Another note: As with all things human, there are exceptions. Some people have extra-sensitive cones or an extra helping of rods that do allow them to read in the brightest moonlight.)
This is all very strange. Moonlight, remember, is no more exotic than sunlight reflected from the dusty surface of the moon. The only difference is intensity: Moonlight is about 400,000 times fainter than direct sunlight.
So what do we make of it all? The answer lies in the eye of the beholder. The human retina is responsible.
The retina is like an organic digital camera with two kinds of pixels: rods and cones. Cones allow us to see colors (red roses) and fine details (words in a book), but they only work in bright light. After sunset, the rods take over.
Rods are marvelously sensitive (1000 times more so than cones) and are responsible for our night vision. According to some reports, rods can detect as little as a single photon of light! There's only one drawback: rods are colorblind. Roses at night thus appear gray.
If rods are so sensitive, why can't we use them to read by moonlight? The problem is, rods are almost completely absent from a central patch of retina called the fovea, which the brain uses for reading. The fovea is densely packed with cones, so we can read during the day. At night, however, the fovea becomes a blind spot. The remaining peripheral vision isn't sharp enough to make out individual letters and words.
Finally, we come to the blueshift. Consider this passage from a 2004 issue of the Journal of Vision:
"It should be noted that the perception of blue color or any color for that matter in a purely moonlit environment is surprising, considering that the light intensity is below the detection threshold for cone cells. Therefore if the cones are not being stimulated how do we perceive the blueness?" --"Modeling Blueshift in Moonlit Scenes using Rod-Cone Interaction" by Saad M. Khan and Sumanta N. Pattanaik, University of Central Florida.
The authors of the study went on to propose a bio-electrical explanation--that signals from rods can spill into adjacent blue-sensitive cones under conditions of full-moon illumination (see the diagram, right). This would create an illusion of blue. "Unfortunately," they point out, "direct physiological evidence to support or negate the hypothesis is not yet available."
So there are still some mysteries in the moonlight. Look for them on Oct. 6th under the Harvest Moon.

Surprises from the Edge of the Solar System

The Science@NASA site works best with JavaScript enabled in your browser. For instructions,
Sept. 21, 2006: Almost every day, the great antennas of NASA's Deep Space Network turn to a blank patch of sky in the constellation Ophiuchus. Pointing at nothing, or so it seems, they invariably pick up a signal, faint but full of intelligence. The source is beyond Neptune, beyond Pluto, on the verge of the stars themselves.
It's Voyager 1. The spacecraft left Earth in 1977 on a mission to visit Jupiter and Saturn. Almost 30 years later, with the gas giants long ago seen and done, Voyager 1 is still going and encountering some strange things.
Right: An artist's concept of Voyager 1. [More]
"We've entered a totally new region of space," says Ed Stone, Voyager project scientist and the former director of JPL. "And the spacecraft is beaming back surprising new information."
Before we reveal the surprises, let us discuss exactly where Voyager 1 is:
Our entire solar system—planets and all—sits inside a gargantuan bubble of gas about four times wider than the orbit of Neptune. The sun is responsible. It blows the bubble by means of the solar wind. Astronomers call the bubble itself "the heliosphere" and its outer membrane "the heliosheath." [diagram]
Voyager 1 is about 10 billion miles from Earth, inside the heliosheath.
"You can simulate the heliosheath in your kitchen sink," says Stone. "Turn on the faucet so that a thin stream of water pours into the sink. Look down into the basin. Where the stream hits bottom, that's the sun. From there, water flows outward in a thin, perfectly radial sheet. That's the solar wind. As the water (or solar wind) expands, it gets thinner and thinner, and it can't push as hard. Abruptly, a sluggish, turbulent ring forms. That ring is the heliosheath."
Right: A simulated heliosheath in your kitchen sink. Image credit: Tony Phillips.
"The heliosheath is important to humans," continues Stone. "It helps protect us from galactic cosmic rays." Galactic cosmic rays are subatomic particles accelerated to nearly light speed by supernovas and black holes. Astronauts out in space are exposed to the particles—and that's not a good thing. Cosmic rays can penetrate flesh and damage DNA. Fortunately, the heliosheath deflects many cosmic rays before they ever reach the inner solar system. "Magnetic turbulence in the heliosheath scatters the particles harmlessly away."
Note: We have many shields against cosmic rays from the thin walls of spaceships to massive planetary atmospheres. But the heliosheath is our first line of defense, and that makes it special.
Because of its role as Solar System Protector, "we need to learn as much as we can about the heliosheath," says Stone. "Voyager 1 is giving us our first look inside."
And now for the surprises:
Sign up for EXPRESS SCIENCE NEWS delivery Magnetic Potholes: Every now and then, Voyager 1 sails through a "magnetic pothole" where the magnetic field of the heliosheath almost vanishes, dropping from a typical value of 0.1 nanoTesla (nT) to 0.01 nT or less. There are also "magnetic speed bumps" where the field strength jumps to twice normal, from 0.1 nT to 0.2 nT. These speed bumps and potholes are an unexpected form of turbulence. What role do they play in scattering cosmic rays? "This is under investigation," says Stone.
Sluggish solar wind: The solar wind in the heliosheath is slower than anyone expected. "The solar wind is supposed to slow down out there, just as the water in your sink slowed down to make the 'sluggish ring,'" says Stone, "but not this slow." Before Voyager 1 arrived, computer models predicted a wind speed of 200,000 to 300,000 mph. Voyager 1 measured only about 34,000 mph. "This means our computer models need to be refined."
Anomalous Cosmic Rays: "This one takes a little explaining," he says. "While the heliosheath protects us from deep-space cosmic rays, at the same time it is busy producing some cosmic rays of its own. A shock wave at the inner boundary of the heliosheath imparts energy to subatomic particles which zip, cosmic-ray-like, into the inner solar system. "We call them 'anomalous cosmic rays.' They're not as dangerous as galactic cosmic rays because they are not so energetic."
Right: A schematic diagram of the sun's heliosphere. Anomalous cosmic rays are supposed to come from the Termination Shock--but Voyager 1 found otherwise. [More]
Researchers expected Voyager 1 to encounter the greatest number of anomalous cosmic rays at the inner boundary of the heliosheath "because that's where we thought anomalous cosmic rays were produced." Surprise: Voyager crossed the boundary in December 2004 and there was no spike in cosmic rays. Only now, 300+ million miles later, is the intensity beginning to grow.
"This is really puzzling," says Stone. "Where are these anomalous cosmic rays coming from?"
Voyager 1 may find the source--and who knows what else?--as it continues its journey. The heliosheath is 3 to 4 billion miles in thickness, and Voyager 1 will be inside it for another 10 years or so. That's a lot of new territory to explore and plenty of time for more surprises.

Author: Dr. Tony Phillips Editor: Dr. Tony Phillips Credit: http://science.nasa.gov/
More information
Voyager 1 -- home page
The Vision for Space Exploration

the ultimate books TUTORIALS AND SHARING SITE


IT IS A PART OF A GREATEST LIBRARY ON EARTH THE INTERNET.

if u like my posts :- download all the materials for free and list thanks for encouragement..........

DOWNLOAD ....LINK AND SHARE FREELY WITH FREEDOM IS THE NEW RULE OF CREATIVIANS

BE A PART OF IT

availabale boks in this blog

utmost care has been taken to publish the correct links but unfortunately not every one works please bear with us.... GRE, GMAT, TOEFL, IELTS, SAT Ebooks Software Testing, ISTQB, Project Management, Six Sigma Ebooks Vb.Net and Visual Basic Ebooks ASP.Net and ASP Ebooks Computer Hardware, Peripherals, Design, Electronics, Electrical Ebooks Java, J2EE, J2ME, JSP, JavaScript, SCJA, SCJP, SCWCD Ebooks HTML, CSS, Perl, PHP, Python, XML, XHTML, DHTML, CGI Ebooks Cisco CCNA, CCNP, CCIE, CCDA, CCDP, CCIP, CCVP, CCDE Ebooks Photoshop, CorelDraw, Dreamweaver, Flash, Illustrator, 3dsMax, Maya Ebooks Computer Networking, TCP/IP, Network Security, Cryptography, Firewall Ebooks C#.Net, ADO.Net, .Net Framework Ebooks MySql, Sql Server Ebooks Oracle Apps, Oracle Database, OCA, OCP, DBA, Oracle PL/SQL Ebooks C and C++ Ebooks Unix, RHCE, Fedora, Suse Linux, Ubuntu, Debian, GNU/LInux Ebooks Windows, MCSE, MCSD, MCP The above given are various Rapidshare, Megaupload, Depositfiles, mihd, Filefactory, sendspace, Zshare Ebooks Download links. This sites focus on latest updation of books and find the latest download links of free ebooks available in web. Online and PDF Ebooks Downloads - Computers - Electronics ABAP ADA Programming Language Agile/Extreme Programming Algorithms Artificial Intelligence/Logic Programming Artificial Neural Networks ASP.Net Assembly/Machine Language Bio Informatics C Programming C#.Net C#.Net (Another) C++ Programming CCIE CCNA CCNP COBOL Compiler Design/Construction Computational Complexity Theory Computational Linguistics Computer Architecture/Organization Computer Graphics Computer Hardware Computer Networks Computer Programming (General) Computer References Computer Science (General) Computer Security Computer Vision Corel draw Cryptography CSS Data Mining Data Structures and Algorithms Database Management Systems Delphi Design Patterns DHTML Digital Image Processing Digital Signal Processing Electronics (Design/Programming) Forth Programming Fortran Functional Programming/ML/Caml/Haskell Game Programming Graph Theory

if you like it add to your book marks

Subscribe via email

SEARCH CREATIVE BLOG:

SEARCH RESULTS HERE:

top news! creative blog has a new forum now..

log on as a member into the creative forum and start posting yourselves ... for more details visit our creative forum: oops forum

free books tutorial


DISCLAIMER
read the disclaimer here