Sunday, October 14, 2012

Benefits of omeda-3 - Flaxseed

 I have discussed at length in previous articles the benefits of omega-3 fish oils. I have not, however, given you much information about flaxseed, another popular and very beneficial omega-3 fatty acid. Let's explore why we need it, and compare it to the omega-3 fatty acids in fish oil.

"Wherever flaxseed becomes a regular food item among the people, there will be better health," said Mahatma Gandhi.

He was right. The true nature of flax as a health food has been known for centuries. In the eighth century, Charlemagne considered flax so essential for health that he actually passed laws requiring its use. Flax was one of the original medicines, used by Hippocrates himself.

Flaxseed oil can help protect against cardiovascular disease, cancer, arthritis and many other degenerative diseases. And though it's primarily a source of omega-3, the oil has the virtue of containing some other fatty acids as well, notably some omega-6's and some heart healthy omega-9's, providing a nice fatty acid balance.

There's been a long-standing controversy among health professionals over the relative virtues of flaxseed oil and fish oil. Fish oil contains two omega-3 fatty acids — EPA and DHA — which are absolutely critical to human health. Many people believe that those are the true superstars of the omega-3 community. And there lies the heart of the controversy.

Flaxseeds and flaxseed oil are one of the best sources on the planet for the important omega-3 fatty acid called alpha-linoleic acid. Alpha-linoleic acid is considered an essential fatty acid because the body can't make it — it has to be obtained from the diet. The body can then take that ALA and theoretically convert it to EPA and DHA. The problem is that it doesn't do a very efficient job of conversion.

Best estimates are that the body will convert between 8-20 percent of ALA to EPA, and only .5 to 9 percent into DHA. But this ceases to be a problem at all if you simply take a tablespoon of flaxseed oil every day. And it's a non-issue if you're taking both flaxseed and fish oil.

Here's why: one tablespoon of quality flax oil is 14 grams (14,000 mg) of which 55 percent (7,700 mg) is compromised of omegs-3's. If you convert 7 percent of that to EPA you get 539 mg EPA and if you convert even 5 percent to DHA you'd get 385 mg of DHA. So even if you were a vegetarian and using flaxseed oil as your only source of omega-3's you'd be OK, though I'd recommend a couple of tablespoons a day instead of one.

And conversion to EPA and DHA isn't the only reason to take flaxseeds or flaxseed oils. A recent article in Nutrition Reviews (June 2008) pointed out that ALA may have "independent, therapeutic properties similar to those of other omega-3 fatty acids" and "may also be of particular importance for neural development."

But the benefits of flax are not limited to the omega-3 content. Both the oil and the seeds (especially the seeds) are a great source of something called lignans which have a whole host of health benefits of their own, for both men and women.

Lignans have a protective effect against cancer, especially those that are hormone-sensitive like breast, uterine and prostate cancer.

Yes, if you put a gun to my head and told me I could only take fish oil or flaxseed oil, I'd probably choose fish oil. But truth be told I take them both, every single day. And if you won't or can't eat fish or take fish oil, then simply up your intake of flaxseed oil.

A recent study of male firefighters found that only 2.4 to 3.6 grams of flaxseed oil alone raised the firefighters EPA levels. That's about 1/4 to 1/3 of a tablespoon. If you upped that dose a bit to just the one or two tablespoons a day I recommend, I'm willing to bet both EPA and DHA levels would rise.

It is my sincere hope that each of you take some step, however small, to improve your health and lifestyle over this next year.

God bless and have a perfect New Year.

Tuesday, October 2, 2012

Creating a JAR File

The basic format of the command for creating a JAR file is:
jar cf jar-file input-file(s)
The options and arguments used in this command are:
  • The c option indicates that you want to create a JAR file.
  • The f option indicates that you want the output to go to a file rather than to stdout.
  • jar-file is the name that you want the resulting JAR file to have. You can use any filename for a JAR file. By convention, JAR filenames are given a .jar extension, though this is not required.
  • The input-file(s) argument is a space-separated list of one or more files that you want to include in your JAR file. The input-file(s) argument can contain the wildcard * symbol. If any of the "input-files" are directories, the contents of those directories are added to the JAR archive recursively.
The c and f options can appear in either order, but there must not be any space between them.
This command will generate a compressed JAR file and place it in the current directory. The command will also generate a default manifest file for the JAR archive.

Note: The metadata in the JAR file, such as the entry names, comments, and contents of the manifest, must be encoded in UTF8.

You can add any of these additional options to the cf options of the basic command:
jar command options
OptionDescription
vProduces verbose output on stdout while the JAR file is being built. The verbose output tells you the name of each file as it's added to the JAR file.
0(zero)Indicates that you don't want the JAR file to be compressed.
MIndicates that the default manifest file should not be produced.
mUsed to include manifest information from an existing manifest file. The format for using this option is:
jar cmf existing-manifest jar-file input-file(s)
See Modifying a Manifest File for more information about this option.

Warning: The manifest must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.

-CTo change directories during execution of the command. See below for an example.

Note: When you create a JAR file, the time of creation is stored in the JAR file. Therefore, even if the contents of the JAR file do not change, when you create a JAR file multiple times, the resulting files are not exactly identical. You should be aware of this when you are using JAR files in a build environment. It is recommended that you use versioning information in the manifest file, rather than creation time, to control versions of a JAR file. See the Setting Package Version Information section.


An Example

Let us look at an example. A simple TicTacToe applet. You can see the source code of this applet by downloading the JDK Demos and Samples bundle from Java SE Downloads. This demo contains class files, audio files, and images having this structure:
TicTacToe folder Hierarchy
TicTacToe folder Hierarchy
The audio and images subdirectories contain sound files and GIF images used by the applet.
You can obtain all these files from jar/examples directory when you download the entire Tutorial online. To package this demo into a single JAR file named TicTacToe.jar, you would run this command from inside the TicTacToe directory:
jar cvf TicTacToe.jar TicTacToe.class audio images
The audio and images arguments represent directories, so the Jar tool will recursively place them and their contents in the JAR file. The generated JAR file TicTacToe.jarwill be placed in the current directory. Because the command used the v option for verbose output, you would see something similar to this output when you run the command:
adding: TicTacToe.class (in=3825) (out=2222) (deflated 41%)
adding: audio/ (in=0) (out=0) (stored 0%)
adding: audio/beep.au (in=4032) (out=3572) (deflated 11%)
adding: audio/ding.au (in=2566) (out=2055) (deflated 19%)
adding: audio/return.au (in=6558) (out=4401) (deflated 32%)
adding: audio/yahoo1.au (in=7834) (out=6985) (deflated 10%)
adding: audio/yahoo2.au (in=7463) (out=4607) (deflated 38%)
adding: images/ (in=0) (out=0) (stored 0%)
adding: images/cross.gif (in=157) (out=160) (deflated -1%)
adding: images/not.gif (in=158) (out=161) (deflated -1%)
You can see from this output that the JAR file TicTacToe.jar is compressed. The Jar tool compresses files by default. You can turn off the compression feature by using the 0(zero) option, so that the command would look like:
jar cvf0 TicTacToe.jar TicTacToe.class audio images
You might want to avoid compression, for example, to increase the speed with which a JAR file could be loaded by a browser. Uncompressed JAR files can generally be loaded more quickly than compressed files because the need to decompress the files during loading is eliminated. However, there is a tradeoff in that download time over a network may be longer for larger, uncompressed files.
The Jar tool will accept arguments that use the wildcard * symbol. As long as there weren't any unwanted files in the TicTacToe directory, you could have used this alternative command to construct the JAR file:
jar cvf TicTacToe.jar *
Though the verbose output doesn't indicate it, the Jar tool automatically adds a manifest file to the JAR archive with path name META-INF/MANIFEST.MF. See the Working with Manifest Files: The Basics section for information about manifest files.
In the above example, the files in the archive retained their relative path names and directory structure. The Jar tool provides the -C option that you can use to create a JAR file in which the relative paths of the archived files are not preserved. It's modeled after TAR's -C option.
As an example, suppose you wanted to put audio files and gif images used by the TicTacToe demo into a JAR file, and that you wanted all the files to be on the top level, with no directory hierarchy. You could accomplish that by issuing this command from the parent directory of the images and audio directories:
jar cf ImageAudio.jar -C images . -C audio .
The -C images part of this command directs the Jar tool to go to the images directory, and the . following -C images directs the Jar tool to archive all the contents of that directory. The -C audio . part of the command then does the same with the audio directory. The resulting JAR file would have this table of contents:
META-INF/MANIFEST.MF
cross.gif
not.gif
beep.au
ding.au
return.au
yahoo1.au
yahoo2.au
By contrast, suppose that you used a command that did not employ the -C option:
jar cf ImageAudio.jar images audio
The resulting JAR file would have this table of contents:
META-INF/MANIFEST.MF
images/cross.gif
images/not.gif
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au