text:
*No promo code required; discount automatically applied in cart to original retail value of eligible full-size items. Eligible items include products on the Antioxidant Serums category page. Offer cannot be applied to previous purchases or combined with other discounts. Applies to in-stock items only; no rain checks. Offer expires 9pm PT, August 2, 2016. Paula's Choice reserves the right to modify this offer at any time.
**Promotion expires 9pm PT, August 2, 2016. No cash value. Applies to US and Canada only.
***Promotion expires 9pm PT, August 2, 2016. Choose any 3 from 32 available FREE individual sample packettes on orders of $5+.
Ongoing offers on paulaschoice.com are subject to change. Promotional items have no cash value and may not be returned or exchanged.
View more product details
Fill out the form below and select your desired product options - we will notify you when it is back in stock.
We respect your privacy and the information you provide will NOT be sold, shared, or disseminated in any way. Please review our Privacy & Security Policy to learn more about our commitment to your privacy.
Paula's Choice will provide a full refund or credit (including tax where applicable) for merchandise returned within 60 days of your purchase date. We're sorry, but shipping fees are not refundable.
Step 1. Fill out the Return/Exchange Form located on the back of your invoice. If you don't have your invoice you can print the Return/Exchange Form here.
Step 2. Package the items for return in any box and enclose the completed Return/Exchange Form.
Step 3. Mail your items to:
Paula's Choice Returns
23215 66th Ave South, Bldg 1
Kent, WA 98032
Please note that you are responsible for shipping costs and the safe return of merchandise.
Step 4. Most returns are processed within 3-5 business days of receipt. You will receive an email confirmation once your return or exchange has been processed.
Bring on skin that's dry, oily or somewhere in between. Give us the wrinkles, rosacea, acne, blackheads, and big pores. Paula's Choice Skincare treats them all. Without irritation. No added dyes. 100% fragrance free. Our products are based on our unique combination of research, reviews, and results-driven product development. Finally, products that really work.
Animal testing is not okay with us. Never has been. We don't fund any independent source to do it for us, either. In fact we're members of the Leaping Bunny Program, which means not only have we eliminated animal testing from our company, but also from our ingredient suppliers. We love animals so much; our employees bring their dogs to work. Keeps things real.
Looking for animal-derived product information?
At Paula's Choice Skincare we believe our products will work as claimed. In fact, if you are not completely satisfied with your purchase for any reason we will give you a full refund or credit (including tax if applicable) for products returned within 60 days of your purchase date. As usual for online purchases, shipping fees are non-refundable.
How to make a return or exchange →
(based on 164 reviews)
Ratings Distribution
5 Stars
4 Stars
3 Stars
2 Stars
1 Stars
of respondents would recommend this to a friend.
Best Uses
Reviewed by 164 customers
Displaying reviews 11-20
Back to top
« Previous | Next »
(12 of 12 customers found this review helpful)
Best products I've used
By Andrea E.
from Undisclosed
Comments about Resist Advanced Kit for Wrinkles + Sun Damage - Advanced Kit:
At 50+ I couldn't understand why my skin was still breaking out and was so dry. I've been using the kit for over 3 months. My skin was smoother and I haven't had a breakout in that entire time! I wanted something that I thought was stronger for my serum step (Intensive Retinol), but am going back to this serum because my skin is so dry. Nothing can help w/this Boston winter. Only disappointment is the AHAs haven't really helped as claimed (separate review). Still think this is the best choice.
Was this review helpful? Yes / No
- You may also flag this review
(14 of 14 customers found this review helpful)
By Cat
I was on Accutane years ago and, though it solved my acne issue, since then my skin has been unbelievably dry and sensitive. I've tried every cream imaginable and all of them work for an hour or so then my skin is dry again. I decided to try this line because of the great reviews and boy I'm glad I did! My skin stays smooth and moisturized for the whole day which NEVER happens - especially in the winter. The kit is very reasonably priced for what you get. Worth every penny. Two thumbs WAY up!
(7 of 7 customers found this review helpful)
By jen
i honestly cant believe the transformation. this kit has truly made an obvious difference and after 2 weeks the improvement just gets better by the day. i rarely take the time to right reviews, but this has made such a difference in my skin tone, smoothness, T zone pores and even eye lines that i just had to let SISTERS know THIS STUFF WORKS, its quick ,easy to use, and it just feels good. my skin is thanking me, i look healthier, and people are noticing! i am 44.
(7 of 8 customers found this review helpful)
Love it!! Resist Advanced Kit
By Paula C.
I love these products! I have been using Wexler from B&BW for the past ten years and used Arbonne Re9 for about four years before that. My skin began looking really dull and rough textured with sun damage coming to the surface. (I will be 50 tomorrow OMGosh!) The reviews convinced me to give it a try. I got my order last Saturday and starting using it that night. I can already tell a difference in my skin tone and have had friends and co-workers tell me that my skin looks refreshed and bright.
(9 of 9 customers found this review helpful)
Resist advanced kit for wrinkles + sun damage
By Shirley S.
I'm 47 years old. I live in a tiny city, so I shop online - a Lot. I've never left a review for a product before. This skin care is That Good. I had dry, Terribly flaky skin around the nose and mouth. This went on for Many months. The Dr said it was hyperkeratosis. It was embarrassing. I tried everything from not washing my face, changed soap, cleanser, lotion,s make-up, Rx facewash. I was desperate and hopeless. I decided to give PC resist a try. Problem gone and did not return!
(4 of 5 customers found this review helpful)
OMG!!! Love love love
By Megan F.
I am 24 with mostly normal to dry skin with very few breakouts or blemishes. But I have had a HUGE problem with redness and uneven skin tone. After using this routine for one night I woke up and I have absolutely ZERO redness. It felt so clean and refreshing and I also noticed my pores appear slightly smaller. If your are on the fence about buying, just take the plunge. This stuff seems to work amazingly. Also they ship very fast.
(8 of 9 customers found this review helpful)
Paulas Choice user for 10 yrs!! LOVE it!!
By Amber B.
I am 35.I ckd out paulas choice after seeing her on oprah. I have been using paulas choice for almost 10yrs. I can honestly say it works!! I have been using the Resist System for as long as it has been out! I am excited to try the vit c drops! I am a mother of 4 and no one ever believes i am old enough to have 10yr old daughters! All i can say is Paulas Choice, lots of water and good diet ladies! It shows in our skin!
(6 of 7 customers found this review helpful)
? it - amazing!
By JULIE J.
I just wanted to order the trial size set,but they were all out, so I ordered this. It came in two days! Fortunately, I don't have any sensitivities to these products or complaints.....These products are all so wonderful! Gentle enough to use on eyes too. So very concetrated - just a dab is all you need! I am totally sold out on this set!! The Cleanser even removes my waterproof eyeliner & mascara! When I use the toner - there is NO residue on the cotton ball which proves the cleanser works!
(3 of 3 customers found this review helpful)
Excellent products!!
By Katarzyna
I am over the moon after using the entire line of products! I am so happy that I finally decided to give a try. My biggest concern was to get breakouts, but it didn't happen at all. After using Resist for a week (YES just a week) I can seen dramatic difference in my skin! It's more hydrated, more smoother and silkier than ever before. After trying so many products I finally find the brand and products that are unquestionablly the BEST! Thank you Paula!!
(6 of 6 customers found this review helpful)
By Rebecca W.
I'm 36 years old, and have struggled with adult acne for 10 years. I've tried diet changes, changes in detergent and fabric softener, and tried every skincare product known to man and God. My skin is itchy and taut, but my acne persists. I've seen dermatologists, estheticians, tried Accutane, tanning beds, etc. I started using PC Renew 3 weeks ago, and I AM AMAZED! THANK YOU, PAULA! My acne is GONE, and I no longer have that 2pm urge to claw my face off. I AM OFFICIALLY YOUR BIGGEST FAN!
Get answers from our staff experts by clicking "Ask a Question" or click here
to send an email to our customer service team.
Be the first to ask us a question about this product.
Looking younger gets really beautiful with this complete collection of anti-aging products designed to hydrate, smooth, and soften normal to dry skin. This expertly-assembled kit includes all of the products you need to fight wrinkles and fine lines, improve skin tone, replenish skin's vital barrier, and strengthen skin against future signs of aging. The best part? You'll get your glow back—and the confidence that comes with knowing you're taking the best possible care of your skin!
This advanced kit is for anyone with normal to dry skin seeking a complete daytime and nighttime skincare routine capable of treating more advanced signs of aging plus sun damage.
Products in the Resist Advanced Kit for Wrinkles + Sun Damage include:
Resist Optimal Results Hydrating Cleanser:
Normal to Dry Skin
This luxurious, gentle cleanser quickly removes makeup and helps fight the signs of aging by soothing, preserving, and reinforcing skin's protective barrier during the cleansing process.
Resist Advanced Replenishing Toner:
Normal to Dry Skin
The super-charged, silky toner reinforces skin's barrier by providing the essential elements aging skin needs to reduce wrinkles, calm redness, and improve skin tone.
Resist Daily Smoothing Treatment with 5% AHA:
Normal to Dry Skin
This daily-use formula renews your skin's texture, evens skin tone, smooths fine lines, and stimulates healthy collagen production via exfoliation and a potent blend of antioxidants.
Resist Weekly Resurfacing Treatment with 10% AHA:
Normal to Dry Skin
Containing a rare blend of antioxidants and 10% glycolic acid, this treatment will uncover younger skin hiding beneath layers of accumulated sun damage.
Resist Super Antioxidant Concentrate Serum:
Normal to Dry Skin
This silky serum helps repair sun-damaged skin with innovative ingredients that reduce wrinkles and improve skin tone so that skin looks, acts and feels younger.
Resist Cellular Defense Daily Moisturizer SPF 25:
Normal to Dry Skin
Ultra-gentle, antioxidant-rich formula hydrates skin while providing mineral-based broad-spectrum sun protection. Prevents and diminishes wrinkles, brown spots, and dry skin.
Resist Barrier Repair Moisturizer:
Normal to Dry Skin
This advanced moisturizer contains retinol and other proven skin-remodeling ingredients. It's an incredibly effective way to restore a smoother, more youthful glow.
NOTE: Those allergic to aspirin (acetylsalicylate) should not use products containing salicylic acid (beta hydroxy acid).
The Ceylon Medical Journal, December 2007, pages 125–129; Cutis, March 2005, pages 17-21; March 2004, pages 183–187; andDecember 2001, Supplemental, pages 12–19; Skin Research and Technology, February 2005, pages 53–60; Dermatologic Therapy, 2004; 17 Supplemental 1, pages 26-34; Dermatologic Therapy, January 2004, pages 16–25; Skin Research and Technology, July 2001, pages 49–55; International Journal of Cosmetic Science, October 2000, pages 371–383; andContact Dermatitis,June 1999, pages 310–315.
Journal of Cosmetic Science, April 2010, pages 19–27; Archives of Dermatologic Research, March 2010, pages 71–83; FEBS Letters, December 2009, Epbulication; Dermato-Endocrinology, March 2009, pages 72–76;International Journal of Molecular Medicine, August 2008, pages 229–236; Clinics in Dermatology, November-December 2008, pages 614–626; Skin Therapy Letter, September 2008, pages 5–9; Journal of Investigative Dermatology, September 2008, pages 2,166–2,178; Journal of Dermatological Science, August 2008, pages 89–102; Journal of Drugs in Dermatology, July 2008, pages S7–S12; Food and Chemical Toxicology, April 2008, pages 1,298–1,307; Dermatologic Therapy, September-October 2007, pages 322–329; Dermatologic Surgery, "The Antioxidant Network of the Stratum Corneum," July 2005, pages 814–817; Exogenous Dermatology, June 2004, pages 154–160; American Journal of Clinical Dermatology, May 2004, pages 327–337; andDermatologic Therapy, January 2004, pages 16–25.
The New Ideal in Skin Health: Separating Fact From Fiction, Allured Books, Thornfeldt Carl MD, 2010, pages 180–181; Dermatologic Surgery, July 2009, pages 1,109–1,118; Clinical Evidence Online, December 16, 2008; Seminars in Cutaneous Medicine and Surgery, September 2008, pages 170–176; Journal of Dermatological Science, December 2005, pages 195–204; Plastic and Reconstructive Surgery, April 2005, pages 1156–1162; Cutis, August 2001, pages 135–142; Dermatologic Surgery, May 2001 pages 1–5; Journal of the European Academy of Dermatology and Venereology, July 2000, pages 280–284; American Journal of Clinical Dermatology, March-April 2000, pages 81–88; Dry Skin and Moisturizers: Chemistry and Function, edited by Marie Loden and Howard Maibach, 2000, page 237; Skin Pharmacology and Applied Skin Physiology, May-June 1999, pages 111–119; Journal of Cell Physiology, October 1999, pages 14–23; andBritish Journal of Dermatology, December 1996, pages 867–875.
Dermatologic Surgery, July 2009, pages 1,109–1,118; Clinical Evidence Online, December 16, 2008; Seminars in Cutaneous Medicine and Surgery, September 2008, pages 170–176; Journal of Dermatological Science, December 2005, pages 195–204; Plastic and Reconstructive Surgery, April 2005, pages 1156–1162; Cutis, August 2001, pages 135–142; Dermatologic Surgery, May 2001 pages 1–5; Journal of the European Academy of Dermatology and Venereology, July 2000, pages 280–284; American Journal of Clinical Dermatology, March-April 2000, pages 81–88; Dry Skin and Moisturizers: Chemistry and Function, edited by Marie Loden and Howard Maibach, 2000, page 237; Skin Pharmacology and Applied Skin Physiology, May-June 1999, pages 111–119; Journal of Cell Physiology, October 1999, pages 14–23; andBritish Journal of Dermatology, December 1996, pages 867–875.
Cell Biology and Toxicology, March 2009, Epublication; Journal of Cosmetic Dermatology, September 2007, pages 183–188; Dermatologic Therapy, September-October 2007, pages 314-321; Biomedicine and Pharmacotherapy, September 2006, pages 453–457; Journal of Cosmetic Dermatology, March 2006, pages 30–38; Toxicology, January 2006, pages 213-220; Cutis, December 2005, Supplemental, pages 7–12;International Journal of Toxicology, volume 24, supplement 2, 2005, pages 51-111; Biofactors, November 2005, pages 179–185; International Journal of Immunopathology and Pharmacology, July-September 2005, pages 497-502; Experimental Dermatology, September 2005, pages 684-691; and June 2003, pages 237-244; Dermatologic Surgery, July 2005, pages 814-817; International Journal of Biological Macromolecules, July 2005, pages 116-119; American Journal of Clinical Dermatology, June 2005, pages 215–223;Journal of Cosmetic Science, September–October 2004, pages 473–479; International Journal of Dermatology, August 2004, pages 604-607; Biofactors, 2003, pages 289–297; Archives of Facial Plastic Surgery, volume 5, issue 2m, March-April 2003, pages m145-m149; Cosmetics & Toiletries, June 2002, pages 45–50; Free Radical Research, March 2002, pages 329–340; Free Radical Biology and Medicine, February 2001, pages 393–402; International Journal of Pharmaceutics, April 10, 2000, pages 39–47; Anticancer Research, September–October 1999, pages 3769–3774; andNutrition and Cancer, February 1998, pages 81–85; andBiochemical Pharmacology, August 1996, pages 627–633.
Journal of Agricultural and Food Chemistry, January 2011, pages 193–199; Collegium Anthropologicum, September 2010, pages 1,145–1,153; Planta Medica, June 2010, pages 869–875; American Journal of Clinical Dermatology, 2009 Supplement, pages 19–24; Journal of the American Academy of Dermatology, May 2008, pages S149–S154; Pharmazie, January 2008, pages 58-60; International Journal of Pharmaceutics, August 2010, pages 78–83; and October 2007, pages 181–189; Skin Pharmacology and Physiology, November-December 2005, pages 253–262; Cutis, September 2004, pages 32–34; and www.naturaldatabase.com.
Biochemical Pharmacology, December 2008, pages 1,590-1,611 and February 2008, pages 787-809; Clinics in Dermatology, November-December 2008, pages 614–626; Skin Therapy Letter, September 2008, pages 5–9; Journal of Drugs in Dermatology, July 2008, pages S7–S12; Archives of Dermatology, May 2008, pages 666-672; Advances in Experimental Medicine and Biology, 2007, pages 343-357; Dermatologic Therapy, September-October 2007, pages 322–329; Dermatologic Surgery, "The Antioxidant Network of the Stratum Corneum," July 2005, pages 814–817; Journal of Pharmaceutical and Biomedical Analysis, February 2005, pages 287–295; Exogenous Dermatology, June 2004, pages 154–160; Cosmetics & Toiletries, March 2003, pages 43–52; Toxicology Letters, December 2003, pages 65–73; Cosmetic Dermatology, December 2001, pages 37–40; andThe Journal of Investigative Dermatology, March 2000, pages 480-486.
Resist Optimal Results Hydrating Cleanser:
Water, Caprylic/Capric Triglyceride (emollient thickener), Decyl Glucoside (cleansing agent), Glycerin (skin-identical ingredient), PEG-20 Methyl Glucose Sesquistearate (cleansing agent/emulsifier), PPG-20 Methyl Glucose Ether, Methyl Gluceth-20 (skin-conditioning agents),Glyceryl Stearate, Stearyl Alcohol (thickeners), Polyacrylamide (binding agent), Camellia Oleifera (Green Tea) Leaf Extract (antioxidant), Chamomilla Recutita (Matricaria) Flower Extract (soothing agent), Sapindus Mukurossi (Soapberry) Peel Extract (foaming agent), Methyl Glucose Sesquistearate (cleansing agent), C13-14 Isoparaffin (thickener), Laureth-7 (emulsifier), Xanthan Gum (thickener), Disodium EDTA (chelating agent), Citric Acid (pH adjuster), Caprylyl Glycol, Ethylhexylglycerin, Hexylene Glycol, Phenoxyethanol (preservatives).
Resist Advanced Replenishing Toner:
Water (Aqua), Cyclopentasiloxane (silicone-based skin-conditioning agent), Glycerin (skin-identical ingredient), Glycerth-26 (emollient), Polysorbate 20, Dimethiconol (silicone-based skin-conditioning agent), Linoleic Acid, Oleic Acid, Linolenic Acid (essential fatty acids/cell-communicating ingredients), Phospholipids (skin-identical ingredient), Carnosine (cell-communicating ingredient), Epigallocatechin Gallate, Genistein (antioxidants), Sodium Hyaluronate, Sphingolipids (skin-identical ingredients), Ferulic Acid (antioxidant), Laurdimonium Hydroxypropyl Hydrolyzed Soy Protein (skin-conditioning agent), Glycyrrhiza Glabra (Licorice) Root Extract (anti-irritant), Acetyl Glucosamine (water-binding agent), Tocopherol (vitamin E/antioxidant), Ascorbyl Palmitate (stabilized vitamin C/antioxidant), Quercetin (antioxidant), Oenothera Biennis (Evening Primrose) Oil (non-fragrant plant oil), Beta Vulgaris (Beet) Root Extract, Cucurbita Pepo (Pumpkin) Seed Extract (antioxidants), Lecithin (cell-communicating ingredient), Caprylic/Capric Triglyceride (emollient), Hydrolyzed Corn Starch, Hydrogenated Lecithin, Palmitic Acid, Butylene Glycol (slip agent), Acrylates/C10-30 Alkyl Acrylate Crosspolymer (film-forming agent), Xanthan Gum (thickener), Laureth-23 (cleansing agent), Laureth-4 (emulsifier), Aminomethyl Propanol (pH adjuster), Disodium EDTA (stabilizer), Sodium Benzoate, Ethylhexylglycerin, Phenoxyethanol(preservatives), Chlorphenesin, Benzoic Acid, Sorbic Acid.
Resist Daily Smoothing Treatment with 5% AHA:
Water (Aqua), Glycolic Acid (AHA exfoliant), Cetyl Alcohol (thickener), Butylene Glycol (slip agent and penetration enhancer), Dimethicone (silicone slip agents/texture enhancer), Polyacrylamide (film-forming agent), PPG-14 Butyl Ether (thickener), Palmitoyl Hexapeptide-12 (cell communicating ingredient), Ceramide NG (skin identical ingredient), Tetrahydrodiferuloylmethane, Tetrahydrodemethoxydiferuloylmethane, Tetrahydrobisdemethoxydiferuloylmethane (anti-irritants/antioxidants derived from curcumin), Epigallocatechin Gallate (antioxidant), Salicylic Acid (BHA exfoliant/anti-irritant), Disodium Lauriminodipropionate Tocopheryl Phosphates (vitamin e based antioxidant), PEG-10 Phytosterol, Cucumis Melo (Melon Fruit Extract (antioxidant), Bisabolol (anti-irritant), Allantoin (anti-irritant), Cyclopentasiloxane, Cyclohexasiloxane, Dimethiconol (silicone slip agents/texture enhancers), Tribehenin (texture enhancer), Polysorbate 20 (emulsifier), C12-15 Alkyl Benzoate, PEG-40 Stearate, Sorbitan Stearate (thickeners), PVM/MA Decadiene Crosspolymer, Disodium EDTA (stabilizer), C13-14 Isoparaffin (solvent), Laureth-7 (emulsifier), Sodium Hydroxide (pH adjuster), Caprylyl Glycol (preservative), Ethylhexylglycerin (skin conditioning agent), Hexylene Glycol (solvent), Phenoxyethanol (preservative).
Resist Weekly Resurfacing Treatment with 10% AHA:
Water, Methylpropanediol (slip agent/penetration enhancer), Glycolic Acid (alpha hydroxy acid/exfoliant), Butylene Glycol (slip agent), Aloe Barbadensis Leaf Juice (water-binding agent), Sodium Hydroxide (pH adjuster), Camellia Sinensis (Green Tea) Leaf Extract (antioxidant), Sodium Ascorbyl Phosphate (vitamin C/antioxidant), Dipotassium Glycyrrhizate, Glycyrrhiza Glabra (Licorice) Root Extract (anti-irritants), Vitis Vinifera (Grape) Seed Extract (antioxidant),Arctium Lappa (Burdock) Root Extract, Avena Sativa (Oat) Kernel Extract (anti-irritants), Borago Officinalis (Borage) Extract, Boerhavia Diffusa Root Extract (antioxidants), Chamomilla Recutita (Matricaria) Flower Extract (anti-irritant), Lamium Album (White Nettle) Flower Extract (antioxidant), Salix Nigra (Willow) Bark Extract, Salix Alba (Willow) Bark Extract, Ulmus Fulva (Slippery Elm) Bark Extract (anti-irritants), Glycerin (skin-identical ingredient), Allantoin (anti-irritant) Propylene Glycol (solvent), Tetrasodium EDTA (chelating agent), Phenoxyethanol (preservative).
Resist Super Antioxidant Concentrate Serum:
Cyclopentasiloxane, Dimethicone (silicone slip agents/suspending agents), Tetrahexyldecyl Ascorbate (stabilized vitamin c/antioxidant), Palmitoyl Tripeptide-5 (cell communicating ingredient), Ceramide-3, Tocotrienols, Tocopherol (vitamin e/antioxidant), Ubiquinone (coenzyme q10/antioxidant), Thioctic Acid (alpha lipoic acid/antioxidant), Tocopheryl Acetate (vitamin e/antioxidant), Magnesium Ascorbyl Phosphate (stabilized vitamin c/antioxidant), Ferulic Acid (antioxidant), Caffeic Acid, Beta-Glucan (anti-irritant), Superoxide Dismutase (antioxidant), Epigallocatechin Gallate (green-tea derived antioxidant), Ergothioneine (mushroom derived antioxidant), Glutathione (fruit derived antioxidant), Xanthophyll (antioxidant pigment), Glycine Soja (Soybean) Seed Extract (antioxidant), Glycerin (skin identical ingredient), Arctostaphylos Uva Ursi (Bearberry) Leaf Extract (anti-inflammatory agent), Lupinus Albus Seed Oil, Curcuma Longa (Turmeric) Root Extract (antioxidant), Elaeis Guineensis (Palm) Oil (emollient), Phenoxyethanol (preservative).
Resist Cellular Defense Daily Moisturizer with SPF 25:
Active Ingredients: Titanium Dioxide 8%. Other Ingredients: Water (Aqua), Cyclopentasiloxane (silicone slip agents), Tribehenin (PEG-20 Esters) (skin conditioning agent/thickener), Stearic Acid (emollients), Glycerin, Caprylyl Methicone, Squalane (emollients), C12-15 Alkyl Benzoate, Glycine Soja (Soybean) Seed Extract (antioxidants), Trimethylsiloxysilicate (silicone slip agents), Sodium Hyaluronate (skin-repairing ingredient), Tocopherol (vitamin E/antioxidants), Tocopheryl Acetate (vitamin E/antioxidants), Ubiquinone (antioxidants), Oryzanol (antioxidants) , Leontopodium Alpinum Extract (antioxidants), Buddleja Davidii Extract (antioxidants), Aloe Barbadensis (Aloe) Leaf Juice (water-binding agent), Diisopropyl Dimer Dilinoleate (emollient), Diisostearyl Dimer Dilinoleate (emollient), Dimethicone/Vinyl Dimethicone Crosspolymer (silicone film-forming agent), Cetyl Alcohol, Polyacrylamide (film-forming agent), Polyhydroxystearic Acid (thickener), Isopropyl Titanium, Triisostearate/Triethoxycaprylylsilane Crosspolymer (polymer-based texture enhancer), Laureth-7 (emulsifier), Thymus Vulgaris (Thyme) Extract (antioxidant), C13-14 Isoparaffin (thickeners), Alumina (thickeners), Sodium Hydroxide (pH adjuster), Xanthan Gum (thickener), Disodium EDTA (chelating agent), Benzyl Alcohol (preservative), Dehydroacetic Acid (preservative).
Resist Barrier Repair Moisturizer:
Water (Aqua), Dicaprylyl Carbonate (emollient), Glycerin (skin-identical ingredient), Ethylhexyl Stearate (thickener), Cocoglycerides (emollient), Butyrospermum Parkii (Shea) Butter (antioxidant emollient), Squalane (emollient), Sodium Polyacrylate (film-forming agent), Lecithin (cell-communicating ingredients), Adenosine (cell-communicating ingredients), Palmitoyl Tripeptide-1 (cell-communicating ingredients), Ceramide NP (skin-identical ingredient), Retinol (cell-communicating ingredient), Punica Granatum (Pomegranate) Extract (antioxidants), Camellia Oleifera (Green Tea) Leaf Extract (antioxidants), Glycyrrhiza Glabra (Licorice) Root Extract (anti-irritant), Tetrahydrodiferuloylmethane (antioxidants), Tetrahydrodemethoxydiferuloylmethane (antioxidants), Tetrahydrobisdemethoxydiferuloylmethane (antioxidants), Tocopheryl Acetate (antioxidants), Chamomilla Recutita (Matricaria) Flower Extract (anti-irritant), Glycine Soja (Soybean) Seed Extract (antioxidants), Glycine Soja (Soybean) Oil (antioxidants), Butylene Glycol (slip agents), Propylene Glycol (slip agents), Glyceryl Polymethacrylate (film-forming agent), Xanthan Gum (thickener), Phenoxyethanol (preservative).
Resist Optimal Results Hydrating Cleanser:
DIRECTIONS: Wet face and apply a small amount of cleanser (1-2 pumps) to your face and eye area with vigorous, yet gentle, circular motions. Rinse well. To remove heavy makeup, repeat or use with a clean, wet washcloth.
Resist Advanced Replenishing Toner:
DIRECTIONS: After cleansing, apply toner to a cotton pad and gently stroke over face and neck. Do not rinse. Follow with the rest of your morning or evening skincare routine. For daytime, finish with a broad-spectrum sunscreen rated SPF 25 or greater.
Resist Daily Smoothing Treatment with 5% AHA:
DIRECTIONS: Apply once or twice daily after cleansing and toning. Apply a dime-sized amount over the entire face, avoiding direct contact with eyes and lips. Do not rinse. For daytime, follow with a broad-spectrum sunscreen rated SPF 25 or greater.
Sunburn Alert: This product contains an alpha hydroxy acid (AHA) that may increase your skin's sensitivity to the sun and particularly the possibility of sunburn. Use a sunscreen, wear protective clothing, and limit sun exposure while using this product and for a week afterwards.
Resist Weekly Resurfacing Treatment with 10% AHA:
DIRECTIONS: Apply only at night after cleansing and toning. Using a cotton pad, gently stroke a dime-sized amount over the entire face. It can be left on or rinsed off after 10 minutes depending on your skin's sensitivity. Follow with a Paula's Choice Resist Antioxidant Concentrate Serum and/or moisturizer. On the night(s) you use this treatment do not use other exfoliants or scrubs at the same time. In the mornings you can use other exfoliants as per your normal routine. If you're using a prescription retinoid product (i.e. Renova) apply the exfoliant first and allow it to set, then apply the retinoid product. Follow with a serum and/or moisturizer.
Resist Super Antioxidant Concentrate Serum:
DIRECTIONS: Apply once or twice daily after cleansing, toning and exfoliating. Smooth a few drops onto face, neck and eye area before moisturizing (or use alone). For daytime, follow with a broad-spectrum sunscreen rated SPF 25 or greater.
Resist Cellular Defense Daily Moisturizer SPF 25:
DIRECTIONS: Apply liberally every day before sun exposure as the last step of your morning Resist skin-care routine. Do not apply any other skin-care product over this sunscreen. Once absorbed, proceed with your normal makeup application.
Resist Barrier Repair Moisturizer:
DIRECTIONS: Ideal for softening and smoothing the face, neck and eye area. At night, use as the last step in your skincare routine. For daytime, follow with a broad-spectrum sunscreen rated SPF 25 or greater.
Detailed instructions on how/when to apply your Paula's Choice products can be found in our How to Put Together Your Own Skin-Care Routine article.
Resist Optimal Results Hydrating Cleanser:
How does Resist Optimal Results Hydrating Cleanser differ from Skin Recovery Cleanser?
How is Resist Optimal Results Hydrating Cleanser "anti-aging"?
Resist Advanced Replenishing Toner:
What do toners "tone"? I thought Paula didn't recommend toners!
How do I know which toner is right for me? Besides skin type, what are the main differences between Paula's Choice toners?
All of our toners restore skin, help remove last traces of makeup, are alcohol- and fragrance-free, and contain no unnecessary irritants such as menthol, peppermint, and citrus oils. They are great as an adjunct to a more thorough cleansing routine, especially post-workout or in hot/humid climates. Even more significantly, they go beyond the basics by offering skin benefits you can see and feel.
Resist Advanced Replenishing Toner is a specialized formula designed to supply normal to dry aging skin with a broad range of ingredients it needs to produce healthy collagen while reducing wrinkles. It is a super-charged version of our popular Skin Recovery Enriched Calming Toner, with a specific emphasis on improving the signs of aging skin.
Resist Weightless Advanced Repairing Toner is a specialized formula designed to supply normal to oily or breakout-prone aging skin with a broad range of targeted ingredients to help improve signs of aging plus reduce enlarged pores and reduce dry, flaky, uneven skin texture. It is ideal for those struggling with oily skin, wrinkles, and large pores.
Skin Recovery Enriched Calming Toner for normal to very dry skin is an excellent choice for those who need more help protecting their skin from environmental damage or dryness. Skin Recovery Enriched Calming Toner has a richer texture than any of our other toners and contains more plant oils and other emollients than our Moisture Boost Essential Hydrating Toner. This is a great option for dry to very dry skin, extremely sun damaged skin, or those dealing with eczema or rosacea accompanied by dry skin.
Moisture Boost Essential Hydrating Toner contains ingredients that help soothe and restore normal to dry skin, plus it includes a greater amount of glycerin, a key ingredient to make dry skin look and feel better. It also contains a broad range of ingredients that aid the barrier repair process so those with dry skin (or normal skin with occasional dry patches) will receive even more benefit from their Paula's Choice moisturizer and/or specialty product. Moisture Boost Essential Hydrating Toner feels lighter than our Skin Recovery Enriched Calming Toner, yet still provides an array of antioxidants, anti-irritants, and skin-protecting ingredients. To get the benefits of both toners for normal to dry skin, you can use Moisture Boost Essential Hydrating Toner in the morning and Skin Recovery Enriched Calming Toner in the evening.
Skin Balancing Pore-Reducing Toner for normal to oily/combination skin is excellent for protecting skin from environmental damage or dryness. In addition, its cell-communicating ingredients can, in theory, help balance skin so its oily areas do not worsen or lead to reddened or blemished skin. Skin Balancing Pore-Reducing Toner uses a more complex formulation than our Hydralight Healthy Skin Refreshing Toner, and helps restore normal cell function.
Hydralight Healthy Skin Refreshing Toner is an excellent choice for normal to oily/combination skin. It provides a weightless finish, and although it feels very light, it supplies skin with potent antioxidants and anti-irritants. Hydralight Healthy Skin Refreshing Toner is a great option for those who want more protection and a soothing, soft, feeling on their skin, particularly those with sensitive skin. To get the benefits of both toners for normal to oily/combination skin, you may want use Hydralight Healthy Skin Refreshing Toner in the morning and Skin Balancing Pore-Reducing Toner in the evening.
Earth Sourced Purely Natural Refreshing Toner is for all skin types. It has a distinctive, liquid-gel formula bursting with antioxidants proven to repair skin and stimulate collagen production. The formula uses proprietary technology that truly captures the best of nature and modern science.
Resist Daily Smoothing Treatment with 5% AHA:
How should I alternate using Resist Daily Smoothing Treatment with Resist Weekly Resurfacing Treatment?
How does the Resist Daily Smoothing Treatment differ from the Skin Perfecting 8% AHA Gel Exfoliant?
Can I use Resist Daily Smoothing Treatment with one of the Resist skin lighteners?
Can I use Resist Daily Smoothing Treatment at the same time as one of Paula's Choice BHA products?
Is Resist Daily Smoothing Treatment recommended for use around the eyes?
At what point after my laser and/or peel procedure can I begin using my AHA exfoliant again?
Resist Weekly Resurfacing Treatment with 10% AHA:
Is it OK to use Resist Weekly Resurfacing Treatment more than once per week?
How should I alternate using Resist Weekly Resurfacing Treatment with Resist Daily Smoothing Treatment?
Resist Weekly Resurfacing Treatment is recommended for use at night, at least once but up to 4 or 5 times per week. Since we do not advise using other exfoliants at the same time that you apply Resist Weekly Resurfacing Treatment, you can apply Resist Daily Smoothing Treatment as part of your morning skin-care routine or on nights you do not apply the Resist Weekly Resurfacing Treatment. In the morning, Resist Daily Smoothing Treatment should be applied after cleansing and toning. Follow with a serum and/or moisturizer or foundation rated SPF 15 or greater.
How does the Resist Weekly Resurfacing Treatment differ from Skin Perfecting 8% AHA Gel?
Can I use Resist Weekly Resurfacing Treatment with one of the Resist skin lighteners?
Can I use Resist Weekly Resurfacing Treatment at the same time as one of Paula's Choice BHA products?
Is Resist Weekly Resurfacing Treatment recommended for use around the eyes?
What if my skin experiences a stinging or tingling sensation from Resist Weekly Resurfacing Treatment?
I am using a prescription retinoid product (i.e. Renova, Retin-A). Is it OK for me to use Resist Weekly Resurfacing Treatment?
Resist Super Antioxidant Concentrate Serum:
Which Paula's Choice serum should I use?
All skin types can use any of our serum and each provides multiple anti-aging benefits, but there are some formulary distinctions that make certain Paula's Choice serums preferred for specific skin types. Here's how they break down:
At what point after my laser and/or peel procedure can I begin using my serum again?
Resist Cellular Defense Daily Moisturizer with SPF 25:
Should I reapply Resist Cellular Defense Daily Moisturizer during the day?
How is Resist Cellular Defense Daily Moisturizer SPF 25 different from Skin Recovery Daily Moisturizing Lotion SPF 15?
Texture-wise, these two daytime moisturizers with sunscreen are quite similar. Both provide hydration and a silky, radiant finish those with normal to dry skin will appreciate best. Resist Cellular Defense SPF 25 leaves less sheen on skin when compared to Skin Recovery Daily Moisturizing Lotion SPF 15.
Is Resist Cellular Defense Daily Moisturizer SPF 25 the only Paula's Choice moisturizer with sunscreen that provides anti-aging benefits?
I notice I get a white cast after applying Resist Cellular Defense Daily Moisturizer. Anything I can do to minimize this?
Experiment by applying a drop or two of a sheer bronzing gel (Clinique makes a good one) over Resist Cellular Defense Daily Moisturizer. You can also mix a drop or two of the bronzing gel with this daytime moisturizer before applying. The bronze will offset the white cast and should make your skin tone look more natural without losing the anti-aging sun protection this provides. Of course you can also apply a Paula's Choice foundation with sunscreen over Resist Cellular Defense Daily Moisturizer, too.
Resist Barrier Repair Moisturizer:
How is the Resist Barrier Repair Moisturizer different from the other Paula's Choice facial moisturizers?
My skin is dry. Which moisturizer do you recommend?
Do I need to use a serum with Resist Barrier Repair Moisturizer?
Which Super Antioxidant Concentrate is best for use with Resist Barrier Repair Moisturizer?
Connect with us:
Paula's Choice Auto Delivery is a quick and convenient way to make sure you never run out of your favorite products again. Just select the products you can't live without, choose how often you'd like them delivered and we'll take care of the rest.
Please sign in and access your saved member information.
Are you new to our site?Create an account and enjoy benefits that offer faster checkout, easy order tracking and quick reorders.
Are you new to our site? Checkout as a guest. You will have the option to create an account later in checkout.


text:
In many universities in the US, students choose a primary specialty to study (called their "major") and optionally a secondary emphasis (called a "minor"). How would these terms be expressed in Spanish when referring to a US education? And do universities in Spanish-speaking countries have the same major/minor structure?
Sign up
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
I asked this same question of my Spanish teacher who spent significant amounts of time in Spain (was married to a Spaniard and spent summers there.) His suggestion was to refer to the major as "especialización" and minor as "subespecialización". These are the best descriptions I've heard for describing the US system of study in Spanish terms.
In Colombia (and in most Latin American counties) there is no such structures in undergraduate education. Therefore, "major" and "minor" words are used only to speak about US educational system.
Instead, in most latin american countries we have a system that differentiates between "professional" and "technician" education (educacón profesional y educación técnica o tecnológica). A professional degree is better that a technician degree. The former is taught at Universities and have a duration of 4 to 5 years. The later is taught at "Institutos Técnicos" and usually have a duration of 2 to 3 years.
There is some similarities between major and professional degrees, and between minor and technician degrees, but our education systems are different from yours in many details.
If you are talking about education you must be careful to refer to a specific country (for example: Perú, Mexico or Brasil), and make a research about the specific names that are used there to refer to their specific structures in education. A Wikipedia search is often enough.

subset: commoncrawl


text:
603 N. Lamar Blvd Austin, TX 78703 512-472-5050 Open 9AM - 11PM The largest independent bookstore in Texas!
Books On Our Site May Not Be Available In-Store
Is This Book In Stock? Be Savvy! Check availability details beneath the blue "Add to Cart" button.
Farewell Summer (Mass Market Paperbound)
In the deceiving warmth of earliest October, civil war has come to Green Town, Illinois, an age-old conflict pitting the young against the elderly for control of the clock that ticks their lives ever forward. The graying forces of school board despot Mr. Calvin C. Quartermain have declared total war on thirteen-year-old Douglas Spaulding and his downy-cheeked cohorts. The boys, in turn, plan and execute daring campaigns, matching old Quartermain's experience and cunning with their youthful enthusiasm and devil-may-care determination to hold on forever to childhood's summer. Yet time must ultimately be the victor, as life waits in ambush to assail young Spaulding with its powerful mysteries the irresistible ascent of manhood, the sweet surrender of a first kiss . . .
About the Author
In a career spanning more than seventy years, Ray Bradbury, who died on June 5, 2011 at the age of 91, inspired generations of readers to dream, think, and create. A prolific author of hundreds of short stories and close to fifty books, as well as numerous poems, essays, operas, plays, teleplays, and screenplays, Bradbury was one of the most celebrated writers of our time. His groundbreaking works include Fahrenheit 451, The Martian Chronicles, The Illustrated Man, Dandelion Wine, and Something Wicked This Way Comes. He wrote the screen play for John Huston's classic film adaptation of Moby Dick, and was nominated for an Academy Award. He adapted sixty-five of his stories for television's The Ray Bradbury Theater, and won an Emmy for his teleplay of The Halloween Tree. He was the recipient of the 2000 National Book Foundation Medal for Distinguished Contribution to American Letters, the 2004 National Medal of Arts, and the 2007 Pulitzer Prize Special Citation, among many honors.
Throughout his life, Bradbury liked to recount the story of meeting a carnival magician, Mr. Electrico, in 1932. At the end of his performance Electrico reached out to the twelve-year-old Bradbury, touched the boy with his sword, and commanded, "Live forever!" Bradbury later said, "I decided that was the greatest idea I had ever heard. I started writing every day. I never stopped."
Praise For…
"[B]eautiful imagery and well-crafted prose."
-Chicago Sun-Times
"An intriguing coda to one of Bradbury's classics. "
-Kirkus Reviews
"Creepier than [Dandelion Wine] but retains the elegiac tone and lovely descriptions of 1920s boyhood."
-Library Journal
"A touching meditation on memories, aging, and the endless cycle of birth and death."
"Poignant, wise...Bradbury's mature but fresh return to his beloved early writing conveys a depth of feeling."
-Publishers Weekly
"Bradbury remains a master of inspired storytelling . . . The long-awaited, rewarding conclusion to an American classic."
-Rocky Mountain News


text:
Scripting with the Sun ZFS Storage 7000 Appliance
By Geoff Ongley-Oracle on Dec 06, 2010
The Sun ZFS Storage 7000 appliance has a user friendly and easy to understand graphical web based interface we call the "BUI" or "Browser User Interface".
Which makes projects an array of values that are returned from the list(); method (which is usable in most contexts). With this type of variable, I can do things like get a property of this array, such as:
and now projects is just a simple number - we have changed the type on the fly.
Note the commas separating the sections of name, parameters, execute, and so on. This is important!
This interface is very useful for many tasks, but in some cases a script (or workflow) may be more appropriate, such as:
- Repetitive tasks
- Tasks which work on (or obtain information about) a large number of shares or users
- Tasks which are triggered by an alert threshold (workflows)
- Tasks where you want a only very basic input, but a consistent output (workflows)
The appliance scripting language is based on ECMAscript 3 (close to javascript). I'm not going to cover ECMAscript 3 in great depth (I'm far from an expert here), but I would like to show you some neat things you can do with the appliance, to get you started based on what I have found from my own playing around.
I'm making the assumption you have some sort of programming background, and understand variables, arrays, functions to some extent - but of course if something is not clear, please let me know so I can fix it up or clarify it.
NOTE: You should *ALWAYS* test your scripts on test/development hosts, with a similar amount of users and shares configured, before running in production. With scripting comes great power, and as such great responsibility! Without proper testing in an environment that accurately represents your production environment, you may run into issues, which no doubt should be avoided in a production environment.
If you do not have access to physical test hosts, you can use the Sun ZFS Storage 7000 Simulator, found at:
Now, on with the show!
Variable Declarations and Arrays
ECMAScript is a dynamically and weakly typed language. If you don't know what that means, google is your friend - but at a high level it means we declare variables with no specific type, we can "just use" variables that have previously not been declared, and we can convert between types easily.
For example, I can create and use a variable straight away in the middle of my code, without any previous declaration:
For example, I can create and use a variable straight away in the middle of my code, without any previous declaration:
Which makes projects an array of values that are returned from the list(); method (which is usable in most contexts). With this type of variable, I can do things like get a property of this array, such as:
which tells us how many objects are in the array (covered later). I could then say:
and now projects is just a simple number - we have changed the type on the fly.
Should we declare variables like this and change their types randomly? In my opinion, the answer is no - I feel it is a better practice to declare variables you are going to use, before you use them - and keep them as the same type to avoid both errors and confusion. You can declare variables up front as follows:
var myVariable=0;
To demonstrate the ability to just randomly assign and change the type of variables, you can create a simple script at the cli as follows (bold for input):
fishy10:> script("." to run)> run("cd /");("." to run)> run ("shares");("." to run)> var projects;("." to run)> projects=list();("." to run)> printf("Number of projects is: %d\n",projects.length);("." to run)> projects=152;("." to run)> printf("Value of the projects variable as an integer is now: %d\n",projects);("." to run)> .Number of projects is: 7Value of the projects variable as an integer is now: 152
You can also confirm this behaviour by checking the typeof variable we are dealing with:
fishy10:> script("." to run)> run("cd /");("." to run)> run ("shares");("." to run)> var projects;("." to run)> projects=list();("." to run)> printf("var projects is of type %s\n",typeof(projects));("." to run)> projects=152;("." to run)> printf("var projects is of type %s\n",typeof(projects));("." to run)> .var projects is of type objectvar projects is of type number
So you likely noticed that we have already touched on arrays, as the list() method (in the shares context) stored an array into the 'projects' variable.
But what if you want to declare your own array? Easy! This is very similar to Java and other languages, we just instantiate a brand new "Array" object using the keyword new:
var myArray = new Array();
will create an array called "myArray".
A quick example:
fishy10:> script("." to run)> testArray = new Array();("." to run)> testArray[0]="This";("." to run)> testArray[1]="is";("." to run)> testArray[2]="just";("." to run)> testArray[3]="a";("." to run)> testArray[4]="test";("." to run)> for (i=0; i < testArray.length; i++)("." to run)> {("." to run)> printf("Array element %d is %s\n",i,testArray[i]);("." to run)> }("." to run)> .Array element 0 is ThisArray element 1 is isArray element 2 is justArray element 3 is aArray element 4 is test
Working With Loops
For Loop
For loops are very similar to those you will see in C, java and several other languages. One of the key differences here is, as you were made aware earlier, we can be a bit more sloppy with our variable declarations.
The general way you would likely use a for loop is as follows:
for (variable; test-case; modifier for variable){}
For example, you may wish to declare a variable i as 0; and a MAX_ITERATIONS variable to determine how many times this loop should repeat:
var i=0;var MAX_ITERATIONS=10;
And then, use this variable to be tested against some case existing (has i reached MAX_ITERATIONS? - if not, increment i using i++);
for (i=0; i < MAX_ITERATIONS; i++){// some work to do}
So lets run something like this on the appliance:
fishy10:> script("." to run)> var i=0;("." to run)> var MAX_ITERATIONS=10;("." to run)> for (i=0; i < MAX_ITERATIONS; i++)("." to run)> {("." to run)> printf("The number is %d\n",i);("." to run)> }("." to run)> .The number is 0The number is 1The number is 2The number is 3The number is 4The number is 5The number is 6The number is 7The number is 8The number is 9
While Loop
While loops again are very similar to other languages, we loop "while" a condition is met.
For example:
fishy10:> script("." to run)> var isTen=false;("." to run)> var counter=0;("." to run)> while(isTen==false)("." to run)> {("." to run)> if (counter==10)("." to run)> {("." to run)> isTen=true;("." to run)> }("." to run)> printf("Counter is %d\n",counter);("." to run)> counter++;("." to run)> }("." to run)> printf("Loop has ended and Counter is %d\n",counter);("." to run)> .Counter is 0Counter is 1Counter is 2Counter is 3Counter is 4Counter is 5Counter is 6Counter is 7Counter is 8Counter is 9Counter is 10Loop has ended and Counter is 11
So what do we notice here? Something has actually gone wrong - counter will technically be 11 once the loop completes... Why is this?
Well, if we have a loop like this, where the 'while' condition that will end the loop may be set based on some other condition(s) existing (such as the counter has reached 10) - we must ensure that we terminate this iteration of the loop when the condition is met - otherwise the rest of the code will be followed which may not be desirable.
In other words, like in other languages, we will only ever check the loop condition once we are ready to perform the next iteration, so any other code after we set "isTen" to be true, will still be executed as we can see it was above.
We can avoid this by adding a break into our loop once we know we have set the condition - this will stop the rest of the logic being processed in this iteration (and as such, counter will not be incremented). So lets try that again:
fishy10:> script("." to run)> var isTen=false;("." to run)> var counter=0;("." to run)> while(isTen==false)("." to run)> {("." to run)> if (counter==10)("." to run)> {("." to run)> isTen=true;("." to run)> break;("." to run)> }("." to run)> printf("Counter is %d\n",counter);("." to run)> counter++;("." to run)> }("." to run)> printf("Loop has ended and Counter is %d\n", counter);("." to run)> .Counter is 0Counter is 1Counter is 2Counter is 3Counter is 4Counter is 5Counter is 6Counter is 7Counter is 8Counter is 9Loop has ended and Counter is 10
Much better!
Methods to Obtain and Manipulate Data
Get Method
The get method allows you to get simple properties from an object, for example a quota from a user. The syntax is fairly simple:
var myVariable=get('property');
You can discover the properties in different contexts, within the CLI. Just go to the context you want (for example, shares select default - for selecting the default project), and then run ls or list, and you will get (amongst other things):
Properties:aclinherit = restrictedaclmode = groupmaskatime = truechecksum = fletcher4compression = offdedup = falsecompressratio = 100copies = 1...
An example of where you may wish to use this, is when you are getting a bunch of information about a user (such as quota information when in a shares context):
var users=list();
for(k=0; k < users.length; k++){user=users[k];run('select ' + user);var username=get('name');var usage=get('usage');var quota=get('quota');...
Which you can then use to your advantage - to print or manipulate infomation (you could change a user's information with a set method, based on the information returned from the get method). The set method is explained next.
Set Method
The set method can be used in a simple manner, similar to get. The syntax for set is:
set('property','value'); // where value is a string, if it was a number, you don't need quotes
For example, we could set the quota on a share as follows (first observing the initial value):
fishy10:shares default/test-geoff> script("." to run)> var currentQuota=get('quota');("." to run)> printf("Current Quota is: %s\n",currentQuota);("." to run)> set('quota','30G');("." to run)> run('commit');("." to run)> currentQuota=get('quota');("." to run)> printf("Current Quota is: %s\n",currentQuota);("." to run)> .Current Quota is: 0Current Quota is: 32212254720
This shows us using both the get and set methods as can be used in scripts, of course when only setting an individual share, the above is overkill - it would be much easier to set it manually at the cli using 'set quota=3G' and then 'commit'.
List Method
The list method can be very powerful, especially in more complex scripts which iterate over large amounts of data and manipulate it if so desired. The general way you will use list is as follows:
var myVar=list();
Which will make "myVar" an array, containing all the objects in the relevant context (this could be a list of users, shares, projects, etc). You can then gather or manipulate data very easily.
We could list all the shares and mountpoints in a given project for example:
fishy10:shares another-project> script("." to run)> var shares=list();("." to run)> for (i=0; i < shares.length; i++)("." to run)> {("." to run)> run('select ' + shares[i]);("." to run)> var mountpoint=get('mountpoint');("." to run)> printf("Share %s discovered, has mountpoint %s\n",shares[i],mountpoint);("." to run)> run('done');("." to run)> }("." to run)> .Share and-another discovered, has mountpoint /export/another-project/and-anotherShare another-share discovered, has mountpoint /export/another-project/another-shareShare bob discovered, has mountpoint /export/another-projectShare more-shares-for-all discovered, has mountpoint /export/another-project/more-shares-for-allShare yep discovered, has mountpoint /export/another-project/yep
Writing More Complex and Re-Usable Code
The best way to be able to write more complex code is to use functions to split up repeatable or reusable sections of your code. This also makes your more complex code easier to read and understand for other programmers.
We write functions as follows:
function functionName(variable1,variable2,...,variableN){}
For example, we could have a function that takes a project name as input, and lists shares for that project (assuming we're already in the 'project' context - context is important!):
function getShares(proj){run('select ' + proj);shares=list();printf("Project: %s\n", proj);for(j=0; j < shares.length; j++){printf("Discovered share: %s\n",shares[i]);}run('done'); // exit selected project}
Commenting your Code
Like any other language, a large part of making it readable and understandable is to comment it. You can use the same comment style as in C and Java amongst other languages.
In other words, sngle line comments use:
at the beginning of the comment.
Multi line comments use:
at the beginning, and:
at the end.
For example, here we will use both:
fishy10:> script("." to run)> // This is a test comment("." to run)> printf("doing some work...\n");("." to run)> /* This is a multi-line("." to run)> comment which I will span across("." to run)> three lines in total */("." to run)> printf("doing some more work...\n");("." to run)> .doing some work...doing some more work...
Your comments do not have to be on their own, they can begin (particularly with single line comments this is handy) at the end of a statement, for example
var projects=list(); // The variable projects is an array containing all projects on the system.
Try and Catch Statements
You may be used to using try and catch statements in other languages, and they can (and should) be utilised in your code to catch expected or unexpected error conditions, that you do NOT wish to stop your code from executing (if you do not catch these errors, your script will exit!):
try{// do some work}catch(err) // Catch any error that could occur{// do something here under the error condition}
For example, you may wish to only execute some code if a context can be reached. If you can't perform certain actions under certain circumstances, that may be perfectly acceptable.
For example if you want to test a condition that only makes sense when looking at a SMB/NFS share, but does not make sense when you hit an iscsi or FC LUN, you don't want to stop all processing of other shares you may not have covered yet.
For example we may wish to obtain quota information on all shares for all users on a share (but this makes no sense for a LUN):
function getShareQuota(shar) // Get quota for each user of this share{run('select ' + shar);printf(" SHARE: %s\n", shar);try{run('users');printf(" %20s %11s %11s %3s\n","Username","Usage(G)","Quota(G)","Quota(%)");printf(" %20s %11s %11s %4s\n","--------","--------","--------","----");users=list();for(k=0; k < users.length; k++){user=users[k];getUserQuota(user);}run('done'); // exit user context}catch(err){printf(" SKIPPING %s - This is NOT a NFS or CIFs share, not looking for users\n", shar);}run('done'); // done with this share}
Running Scripts Remotely over SSH
As you have likely noticed, writing and running scripts for all but the simplest jobs directly on the appliance is not going to be a lot of fun.
There's a couple of choices on what you can do here:
- Create scripts on a remote system and run them over ssh
- Create scripts, wrapping them in workflow code, so they are stored on the appliance and can be triggered under certain circumstances (like a threshold being reached)
We'll cover the first one here, and then cover workflows later on (as these are for the most part just scripts with some wrapper information around them).
Creating a SSH Public/Private SSH Key Pair
Log on to your handy Solaris box (You wouldn't be using any other OS, right? :P) and use ssh-keygen to create a pair of ssh keys. I'm storing this separate to my normal key:
[geoff@lightning ~] ssh-keygen -t rsa -b 1024Generating public/private rsa key pair.Enter file in which to save the key (/export/home/geoff/.ssh/id_rsa): /export/home/geoff/.ssh/nas_key_rsaEnter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /export/home/geoff/.ssh/nas_key_rsa.Your public key has been saved in /export/home/geoff/.ssh/nas_key_rsa.pub.The key fingerprint is:7f:3d:53:f0:2a:5e:8b:2d:94:2a:55:77:66:5c:9b:14 geoff@lightning
Installing the Public Key on the Appliance
On your Solaris host, observe the public key:
[geoff@lightning ~] cat .ssh/nas_key_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvYfK3RIaAYmMHBOvyhKM41NaSmcgUMC3igPN5gUKJQvSnYmjuWG6CBr1CkF5UcDji7v19jG3qAD5lAMFn+L0CxgRr8TNaAU+hA4/tpAGkjm+dKYSyJgEdMIURweyyfUFXoerweR8AWW5xlovGKEWZTAfvJX9Zqvh8oMQ5UJLUUc= geoff@lightning
Now, copy and paste everything after "ssh-rsa" and before "user@hostname" - in this case, geoff@lightning. That is, this bit:
Logon to your appliance and get into the preferences -> keys area for this user (root):
[geoff@lightning ~] ssh firstname.lastname@example.com:Last login: Mon Dec 6 17:13:28 2010 from 192.168.0.2fishy10:> configuration usersfishy10:configuration users> select rootfishy10:configuration users root> preferencesfishy10:configuration users root preferences> keys
OR do it all in one hit:
fishy10:> configuration users select root preferences keys
Now, we create a new public key that will be accepted for this user and set the type to RSA:
fishy10:configuration users root preferences keys> createfishy10:configuration users root preferences key (uncommitted)> set type=RSA
Set the key itself using the string copied previously (between ssh-rsa and user@host), and set the key ensuring you put double quotes around it (eg. set key="<key>"):
fishy10:configuration users root preferences key (uncommitted)> set key="AAAAB3NzaC1yc2EAAAABIwAAAIEAvYfK3RIaAYmMHBOvyhKM41NaSmcgUMC3igPN5gUKJQvSnYmjuWG6CBr1CkF5UcDji7v19jG3qAD5lAMFn+L0CxgRr8TNaAU+hA4/tpAGkjm+dKYSyJgEdMIURweyyfUFXoerweR8AWW5xlovGKEWZTAfvJX9Zqvh8oMQ5UJLUUc="
Now set the comment for this key (do not use spaces):
fishy10:configuration users root preferences key (uncommitted)> set comment="LightningRSAKey"
Commit the new key:
fishy10:configuration users root preferences key (uncommitted)> commit
Verify the key is there:
fishy10:configuration users root preferences keys> lsKeys:NAME MODIFIED TYPE COMMENTkey-000 2010-10-25 20:56:42 RSA cycloneRSAKeykey-001 2010-12-6 17:44:53 RSA LightningRSAKey
As you can see, we now have my new key, and a previous key I have created on this appliance.
Running your Script over SSH from a Remote System
Here I have created a basic test script, and saved it as test.ecma3:
[geoff@lightning ~] cat test.ecma3script// This is a test script, By Geoff Ongley 2010.printf("Testing script remotely over ssh\n");.
Now, we can run this script remotely with our keyless login:
[geoff@lightning ~] ssh -i .ssh/nas_key_rsa root@fishy10 < test.ecma3Pseudo-terminal will not be allocated because stdin is not a terminal.Testing script remotely over ssh
Putting it Together - An Example Completed Quota Gathering Script
So now we have a lot of the basics to creating a script, let us do something useful, like, find out how much every user is using, on every share on the system (you will recognise some of the code from my previous examples):
script/************************************** Quick and Dirty Quota Check script ** Written By Geoff Ongley ** 25 October 2010 **************************************/function getUserQuota(usr){run('select ' + usr);var username=get('name');var usage=get('usage');var quota=get('quota');var usage_g=usage / 1073741824; // convert bytes to gigabytesvar quota_g=quota / 1073741824; // as abovevar quota_percent=0if (quota > 0){quota_percent=(usage / quota)*(100/1);}printf(" %20s %8.2f %8.2f%d%%\n",username,usage_g,quota_g,quota_percent);run('done'); // done with this selected user}function getShareQuota(shar){//printf("DEBUG: selecting share %s\n", shar);run('select ' + shar);printf(" SHARE: %s\n", shar);try{run('users');printf(" %20s %11s %11s%3s\n","Username","Usage(G)","Quota(G)","Quota(%)");printf(" %20s %11s %11s%4s\n","--------","--------","--------","--------");users=list();for(k=0; k < users.length; k++){user=users[k];getUserQuota(user);}run('done'); // exit user context}catch(err){printf(" SKIPPING %s - This is NOT a NFS orCIFs share, not looking for users\n", shar);}run('done'); // done with this share}function getShares(proj){//printf("DEBUG: selecting project %s\n",proj);run('select ' + proj);shares=list();printf("Project: %s\n", proj);for(j=0; j < shares.length; j++){share=shares[j];getShareQuota(share);}run('done'); // exit selected project}function getProjects(){run('cd /');run('shares');projects=list();for (i=0; i < projects.length; i++){var project=projects[i];getShares(project);}run('done'); // exit context for all projects}getProjects();.
Which can be run as follows, and will print information like this:
[geoff@lightning ~/FISHWORKS_SCRIPTS] ssh -i ~/.ssh/nas_key_rsa root@fishy10 < get_quota_utilisation.ecma3
Pseudo-terminal will not be allocated because stdin is not a terminal.Project: another-projectSHARE: and-anotherUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------nobody 0.00 0.00 0%geoffro 0.05 0.00 0%Billy 0.10 0.00 0%root 0.00 0.00 0%testing-user 0.05 0.00 0%SHARE: another-shareUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------root 0.00 0.00 0%nobody 0.00 0.00 0%geoffro 0.05 0.49 9%testing-user 0.05 0.02 249%Billy 0.10 0.29 33%SHARE: bobUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------nobody 0.00 0.00 0%root 0.00 0.00 0%SHARE: more-shares-for-allUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------Billy 0.10 0.00 0%testing-user 0.05 0.00 0%nobody 0.00 0.00 0%root 0.00 0.00 0%geoffro 0.05 0.00 0%SHARE: yepUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------root 0.00 0.00 0%nobody 0.00 0.00 0%Billy 0.10 0.01 999%testing-user 0.05 0.49 9%geoffro 0.05 0.00 0%Project: defaultSHARE: Test-LUNSKIPPING Test-LUN - This is NOT a NFS or CIFs share, not looking for usersSHARE: test-geoffUsername Usage(G) Quota(G) Quota(%)-------- -------- -------- --------geoffro 0.05 0.00 0%root 3.18 10.00 31%uucp 0.00 0.00 0%nobody 0.59 0.49 119%^CKilled by signal 2.
Creating a Workflow
Workflows are scripts that we store on the appliance, and can have the script execute either on request (even from the BUI), or on an event such as a threshold being met.
Workflow Basics
A workflow allows you to create a simple process that can be executed either via the BUI interface interactively, or by an alert being raised (for some threshold being reached, for example).
The basics parameters you will have to set for your "workflow object" (notice you're creating a variable, that embodies ECMAScript) are as follows (parameters is optional):
name: A name for this workflowdescription: A Description for the workflowparameters: A set of input parameters (useful when you need user input to execute the workflow)execute: The code, the script itself to execute, which will be function (parameters)
With parameters, you can specify things like this (slightly modified sample taken from the System Administration Guide):
label: 'Name of Share',
type: 'String'
label: 'Share Size',
type: 'size'
execute: ....};
Also - there is plenty of properties you can set on the parameters for your workflow, these are described in the Sun ZFS Storage System Administration Guide.
Creating a Basic Workflow from a Basic Script
To make a basic script into a basic workflow, you need to wrap the following around your script to create a 'workflow' object:
However, it appears (at least in my experience to date) that the workflow object may only be happy with one function in the execute parameter - either that or I'm doing something wrong. As far as I can tell, after execute: you should only have a basic one function context like so:var workflow = {name: 'Get User Quotas',description: 'Displays Quota Utilisation for each user on each share',execute: function(){// (basic script goes here, minus the "script" at the beginning, and "." at the end)}};
execute: function(param1,param2,...,paramN) // Parameters from workflow object
To deal with this, and to give an example similar to our script earlier, I have created another simple quota check, to show the same basic functionality, but in a workflow format:
var workflow = {name: 'Get User Quotas',description: 'Displays Quota Utilisation for each user on each share',execute: function () {run('cd /');run('shares');projects=list();for (i=0; i < projects.length; i++){run('select ' + projects[i]);shares=list('filesystem');printf("Project: %s\n", projects[i]);for(j=0; j < shares.length; j++){run('select ' +shares[j]);try{run('users');printf(" SHARE: %s\n", shares[j]);printf(" %20s %11s %11s %3s\n","Username","Usage(G)","Quota(G)","Quota(%)");printf(" %20s %11s %11s %4s\n","--------","--------","--------","-------");users=list();for(k=0; k < users.length; k++){run('select ' + users[k]);username=get('name');usage=get('usage');quota=get('quota');usage_g=usage / 1073741824; // convert bytes to gigabytesquota_g=quota / 1073741824; // as abovequota_percent=0if (quota > 0){quota_percent=(usage / quota)*(100/1);}printf(" %20s %8.2f %8.2f %d%%\n",username,usage_g,quota_g,quota_percent);run('done');}run('done'); // exit user context}catch(err){// printf(" %s is a LUN, Not looking for users\n", shares[j]);}run('done'); // exit selected share context}run('done'); // exit project context}}};
The Sun ZFS Storage 7000 Appliance offers lots of different and interesting features to Sun/Oracle customers, including the world renowned Analytics. Hopefully the above will help you to think of new creative things you could be doing by taking advantage of one of the other neat features, the internal scripting engine!
Some references are below to help you continue learning more, I'll update this post as I do the same! Enjoy...
More information on ECMAScript 3
A complete reference to ECMAScript 3 which will help you learn more of the details you may be interested in, can be found here:
More Information on Administering the Sun ZFS Storage 7000
The Sun ZFS Storage 7000 System Administration guide can be a useful reference point, and can be found here:


text:
So, here's the thing.
There's a REST service I'm using that is supposed to be tested and I can't access the code.
I've made some kind of library in java so I can interact with that service, but I need to unit test my library (actually it's still not implemented, I'm using TDD) so I can know for sure it works.
How can I do it so I don't mess up with the service (I don't want to create nor delete anything)? Should I use some kind of mock or stub? If so, how can it be done?


text:
Every book which treats dual spaces of normend spaces states that $(c_0)' = \ell^1$ and $(\ell^1)' = \ell^\infty$ and some also describe $(\ell^\infty)'$.
However, is anything known about higher order duals in general? Does taking the normed dual of a given normed space $X$ stabilize? In other words: Defining $X^{(1)} = X'$ and $X^{(n)} = (X^{(n-1)})'$. Is there always an integer $n$ such that $X^{(n+1)} = X^{(n)}$?


text:
"I want to send this to you because I think you are very brave. And I want to wish you a Happy Valentines Day."
Starla Lutterman is one of the students at Hiseville Elementary participating in "Hearts From Home."
"Thanks you for what you have done. Thanks you for what you have done all this time. Starla Lutterman."
The program director for KYREADS thought of the idea to send valentines to soldiers serving overseas.
Donna Brown is the Assistant Program Director. She says, "We're hoping to have over 2000 Valentines to send to the troops. And that's Valentines created by students here in the local Barren County Elementary schools."
KYREADS is a reading program that tutors and mentors children who are behind in their reading.
"It's pictures of hearts and stars an it has my name here." Jacob Bailey is sending a valentine to keep the soldiers spirits up. "Because they don't have stuff to put up. And they can put this up."
Brown says, "A lot of them are saying the soldiers are their heroes. Most of them are saying thank for serving our country thank you for what you've done. And several are writing that they love them and have a wonderful and happy valentines day."
Bailey also wants to wish the soldiers a Happy Valentines Day. "I think we should send some stuff over there because they're doing a good job over there by helping us."


text:
A hidden gem only 40 minutes from Auckland CBD and airport. Clarks Beach Holiday Park (New Zealand) is a beautiful spacious family camp on the shores of Manukau Harbour with panoramic views of the adjacent golf course and beach. This vacation spot is ideally suited for leisurely holidaying and is a popular base for large groups.
Clarks Beach Holiday Park has plenty of things to do with a covered swimming pool, mini-golf, TV/ games room, there are also pedal carts and kayaks for hire as Clarks Beach also happens to be a great fishing and scallop gathering spot.
Birdwatching; Grey heron, Black wing stilts, Pied oyster Catcher, Kingfisher
Book your holiday now.
Clarks Beach Holiday Park has a variety of affordable holiday accommodation including motel units and kitchen cabins, cabins suitable for groups of up to 42 people plus our Lodge sleeps 18 persons plus spacious powered campervan sites and tent sites.
Clarks Beach Holiday Park is a quiet secluded spot tucked away in peaceful surroundings yet it is only a short drive to many of Auckland's major tourist attractions such as Rainbow's End, Pukekohe Raceway, Spookers Haunted House and Maze and 5 golf courses all within 20 minutes of the park.
Pet friendly by prior arrangement.
(for Power and Tent Sites Only)
Click here to view our Accommodation Videos


text:
The 5 Most Creative Acts of Insanity by Modern Dictators
It's well known that for every Roosevelt, Mandela, or Bill Pullman who led their nation to greatness, there are other presidents who did pretty much the opposite. We've mocked the insanity of modern dictators before, but you don't have to be a despotic ruler to single-handedly destroy a country in hilarious ways (although it sure helps). Some presidents are just as insane as the Kim Jongs and the Gadhafis out there ... and some are even worse.
#5. Abdala Bucaram Used His Presidency to Advance His Music Career
Jupiterimages/Polka Dot/Getty Images
Abdala Bucaram was somehow elected president of Ecuador in 1996 despite unapologetically sporting the most blatant Hitler mustache since, well, Hitler.
Via Culturaredonda.com
Also known as a douchebag birthmark.
Bucaram was known as "El Loco" ("The Madman"), a nickname he championed himself, both by calling himself that and by acting like a complete lunatic. After being elected, Bucaram celebrated his victory like Bill Clinton secretly wishes he had: by taking to the stage to do his Spanish Elvis impersonation while dancing with scantily clad dancers. No, we're not kidding, and we have the gifs to prove it.
You don't even have to hear the music to know that it's horrible.
You see, Bucaram was an aspiring pop star, as evidenced by his album A Madman in Love ... which he released while still in office. Bucaram took advantage of his side job as president to circulate his demo to his co-workers at a work meeting, and by that we mean that he gave his demo to other presidents at an Ibero-American conference in Chile.
But don't let Bucaram's obvious musical talent fool you: The guy was a proven sleazebag. One of the first things he did after taking office was place his business buddies in high government positions and fill the rest of the cabinet with his own family. He even put his 18-year-old son, Jacobo, in charge of the Ecuadorian customs office. Five months later, Jacobo threw a massive party. The reason? He had just made his first million dollars. By the way, the country was going through an economic crisis at the time.
None of this stopped Bucaram from offering professional coach Diego Maradona $1 million to play one soccer game with him and ordering a presidential banquet in honor of Lorena Bobbitt, the woman who became famous in the '90s for cutting off her husband's dick.
Via Twitter
"Soccer and castration! Soccer and castration for everyone!"
The Madman was able to run his show for six months. In February 1997, the Ecuadorian Congress deposed him on the basis of "mental incapacity" of being president (or, like, anything else). After leaving Ecuador in such deep shit that they were later forced to drop their currency and just adopt the U.S. dollar, Bucaram sought political asylum in Panama and still lives there. You can now follow him on Twitter, where you'll find out he still has that healthy obsession with Hitler.
Via Twitter
And he's a Cracked reader, apparently! Hola, El Presidente!
#4. Hugo Chavez Spent Millions on the "Penisphone"
Jupiterimages/Brand X Pictures/Getty Images
What separates Venezuela's Hugo Chavez from other bad leaders is that he had to try really, really hard to ruin his country, which wasn't exactly poor when the guy was elected (years after his hilariously half-assed coup attempt). It was during Chavez's rule that Venezuela earned an unheard of trillion dollars in oil revenue, so how the hell was he supposed to get rid of all of that? Easy: by squandering it on wacky projects like supporting moribund communist regimes, a space program, and a penisphone.
And of course the one you want to hear about is the penisphone.
Via Lared.com
Usually it's much bigger. It's kinda chilly out here.
Obsessed with having a phone produced entirely in his country, Chavez paid millions to the Chinese to open a factory in Venezuela that imported raw material from China (which sorta defeated the entire point of opening it in Venezuela, but whatever). And because one of the perks of running your own socialist regime is that you can call dibs on naming stuff, Chavez called the phone "The Vergatario." We'd tell you to Google "verga" to find out what it translates to, but we don't want you to lose your job, so we'll just tell you: It's "penis."
Chavez tried to explain that in the Maracaibo region of Venezuela, "verga" can also mean "cool" or "awesome." Too bad that for the other 300 million Spanish speakers in the world it still means "cock." The penisphone had a strong start, raising mightily as initial sales soared high, but it soon lost its momentum and flopped, leaving Chavez all red-faced and making excuses.
Getty Images/Getty Images News/Getty Images
His second choice was "Bukkake."
While the world laughed at Chavez, Venezuelans probably didn't think it was that funny: Earlier, when the Colombians had made the outrageous request of asking him to stop his support of the terrorist guerrillas that were murdering/kidnapping thousands of people, Chavez responded by cutting all trade ties with Colombia ... even though Venezuela has to import most of its food from there due to a little thing called "geography." Within days, Venezuela still had a shitload of petrodollars to spend, but no food to buy.
Chavez died of cancer in March 2013, and of course we wrote him a heartfelt obituary. His political party is still in power and, in his memory, the widespread shortages of basic consumer goods are still maintained. Last time we checked, Venezuelan society was nearing a collapse because the shops ran out of toilet paper.
Mike Zarrilli/Getty Images Sport/Getty Images
Meanwhile, in the U.S. ...
#3. Colonel Jean-Bedel Bokassa Dressed Like a King from a Disney Cartoon
Jupiterimages/Comstock/Getty Images
Colonel Jean-Bedel Bokassa became ruler of Central Africa after overthrowing the president (his cousin) David Dacko in 1966. After spending a decade playing it safe with his fairly straightforward crazy tyrant stunts like feeding political dissidents to his pet crocodiles or (according to rumors) eating them himself, Bokassa decided it was time to really put Central Africa on the map. And so, in 1976, he officially ended the poor Central African Republic and started the mighty Central African Empire. Just like that.
To prove he really meant business, Bokassa renamed himself "Emperor Bokassa I of Central Africa" and organized an insanely expensive crowning ceremony where everything seemed straight out of a Disney movie, from his royal outfit ...
Via Berkeley.edu
Well? What are you all waiting for? SING!
... to his mile-long cape and his giant golden-eagle-shaped throne:
Via Biography.com
Pretty sure this was a discarded stage prop from a Queen concert.
The whole ceremony was modeled after the crowning of Napoleon, Bokassa's #1 man-crush. The crowning took a year to prepare and cost the country's freaking annual GDP. In a country where two-thirds of the population lived with less than a dollar per day, Bokassa imported 240 tons of French cuisine for the week-long ceremony, dressed 3,000 guards in lavish uniforms, and even sent some of them to France to learn riding skills for the parade. His crown alone cost $3 million and had rubies, emeralds, and 8,000 diamonds.
Of the expected 2,500 guests, only 600 showed up to witness the economic genocide of the Central African people. Bokassa's response? "They were jealous of me because I had an empire and they didn't." Sure you did, pal.
Via Biography.com
Wait, is that Fred Sanford?!
French paratroopers overthrew Bokassa in 1979 for being a child-massacring bastard. In a series of bizarre events, Bokassa came back from exile in 1986 to face trial and was sentenced to death but got pardoned and later released by the government. He died peacefully in his mansion in 1996, claiming that he was the 13th apostle and that he had been having secret meetings with the pope. He's survived by his 62 children, but there's yet to be an Emperor Bokassa II of Central Africa.


text:
Intel® Xeon® Processor E5-2400 Product Family: Thermal Guide
This document provides guidelines for the design of thermal and mechanical solutions for server and workstation processors in the Intel® Xeon® processor E5-2400 product family platform. The processors covered include those listed in the Intel® Xeon® processor E5-2400 product family datasheet - volume one. The components described in this document include:
• The processor thermal solution (heatsink) and associated retention hardware.
• The LGA1356 socket, the independent loading mechanism (ILM) and back plate.
The goals of this document are:
• To assist board and system thermal mechanical designers.
• To assist designers and suppliers of processor heatsinks.
Thermal profiles and other processor specifications are provided in the appropriate datasheet.
Read the full Intel® Xeon® Processor E5-2400 Product Family TMDG: http://www.intel.com/content/www/us/en/processors/xeon/xeon-e5-2400-thermal-guide.html


text:
This week's war-mongering news
About the Author
Margaret O'Brien Steinfels, a former editor of Commonweal, writes frequently in these pages and blogs at dotCommonweal.
16 comments
- All
- Editor Featured
Iran? Front Runner, Herman Cain, told PBS Monday that he feared that China might get nuclear capability. Nobody 'advised' Herman that China has had that capability since 1964. { Herman.. Israel has them now ..a lot too.. Herman]Also I say Iran's potential nuclear armament is not a causa bella and who gives a s--t what the Israel cabinet wants about nuclear war? . . . What's to stop a 100 countries from eventually having nuclear weapons? Ours and theirs, deep political thinkers can't get beyond an electoral cycle in their thinking. I fear for my grandchildren and their children and their children etc.
What is the difference between Iran having nuclear weapons and North Korea having them? Israel? In a real sense nuclear weapons have been a deterrent for war. The wars since WWII have all had at least one side without nuclear weapons. The only reason the US did not invade North Korea was their nuclear weapons. So to invade Iran, as it was with Iraq, folly and immoral. So we have to be vocal in opposition. The neocons who advocate war do not go. Nor do they send their children.
If there is going to be a war, it might be better for the US to have it now, when it is still in a position of domination, than later, when rising countries become serious competitors.Weapons and force are the one domain in which the US are an uncontested leader... for now! A war, if it was world-wide, would enable it to reaffirm its leadership and crush its challengers.
What do we think of this scenario? Israel, the US, the UK, and perhaps a handful of allies, will obliterate the Iranian government and occupy the country for as long as it takes to stabilize the country and engineer a democratic political process that is designed to keep the mullahs out of power; no other countries in the Middle East, most of which are Arab and Sunni while Iran is neither, will come to Iran's aid; a ton of collateral damage will ensue; Hezbollah and Hamas will shell Israel, which will respond with overwhelming force; and terrible casualties and suffering will ensue for the people of Iran, Israel, Gaza and the West Bank. Beyond that, Iran, which is divided between those who support the mullahs and their theocracy and those who don't, will be in for a prolonged, divisive and painful period of destabilization. For Israel, it's hard to think of a downside to this scenario. It gets to continue to exist by eliminating a mortal enemy before it goes nuclear; and it cuts the head off the snake that has been funding the mortal enemies on its borders.The nascent democratic movement in Iraq also benefits because the chief funder of mischief and violence has been taken out of circulation.Of course, almost assuredly it won't play out as I've described it here. Egypt, Syria, Lebanon, Turkey, China - there are all sorts of variables that haven't been taken into account here.
Claire, are you serious? Are you having cockails with the neocons or are you just opining on the best use of power if one thinks in Macchiavelian terms? Your position appears to be in conflict even with the Just War theory. Not to mention Pax Christi. I guess this is the offshoot of our Constantine affiliation that we thing more in Empire/military terms than the Gospel.
Jim: your first paragraph scenario--hard to see the downside for Israel???? Explain or give us the sequel.
Bill, no, I'm not serious. But sometimes I think that that's the cynical reasoning behind those pushing for war.
"? Israel, the US, the UK, and perhaps a handful of allies, will obliterate the Iranian government and occupy the country for as long as it takes to stabilize the country and engineer a democratic political process that is designed to keep the mullahs out of power;"Jim P. --You mean the way the US occupied, stabilized Iraq and are occupying and stabilizing Afghanistan?When will the US learn that it can't do everything that needs doing!)
Oops -- I thought you were actually proposing what you say in your second sentence.
An Israeli attack on Iran will be an incentive for Pakistan to give Iran one or two nuclear weapons. Israel is seven miles across. Check mate.
"Check mate." It does sound something like that old movie "War Games".
Check mate means Israel can bluff but we are staking them to the game. .. Perry just told John King on CNN that if Israel attacks Iran the USA should stand behind our ally. He would turn the US WWIII vote over to the Israeli cabinet. And he is a 'real' American. And that moron wants to be President. ???
Margaret - yes, it would be bad for Israel. But if my scenario is basically right, then the alternative - a nuclear-armed Iran - is much, much worse, for Israel and everyone else besides. At that point, it becomes realistic that nukes start flying. Please realize I am not beating the drum for war. But the point of the exercise, as it has been since before President Obama took office, has been to prevent the Iranian theocracy from acquiring a nuclear weapons capability. There is a point beyond which conventional warfare is less bad than the alternative.
Ann - the Bush/Obama war in Iraq is winding down to a successful conclusion, with Saddam Hussein long gone, and democracy gradually putting down deeper and stronger roots.You may find much to argue about in that statement, but I believe it is already becoming the overarching narrative.
You're an optimist, Jim P., an optimist. I hope you're right.
Jim, I know you don't mean this, but it sounds like a nuclear Iraq to me. We've been their ten years. Israel and the middle east have to start solving their own problems. It may be messy but I don't think we should go to war, or can afford another war.


text:
Request a consultationMUSC students, faculty, residents, and staff may schedule individual consultation sessions with one of the Library Reference staff, or other library faculty, to discuss information related needs and questions. This may include how to organize a departmental library, how to organize a reprint collection, bibliographic management software, or how to gather comprehensive information in a specific subject area. Consultations are provided to staff at hospital libraries and other health science related agency libraries as requested.
Contact the Reference Department of the Library, 792-2372.


text:
? Place an order in the next
Hours Minutes . Overweight charges may apply to some items.
Not the correct shipping zip code? Update your information below.
Enter a valid zip code
Please select options for this product
Estimated Delivery for
Change Shipping Destination
(based on 9 reviews)
of respondents would recommend this to a friend.
Ratings Distribution
5 Stars
4 Stars
3 Stars
2 Stars
1 Stars
Best Uses
Reviewed by 9 customers
Displaying reviews 1-9
Back to top
proud to have them
By old guy on bike
from Tehachapi, California
About Me Avid Cyclist
Comments about Shimano Dura-Ace PD-9000 Road Pedals:
what's great about them is you install them and forget them, they just work!
Bottom Line Yes, I would recommend this to a friend
Was this review helpful? Yes / No
- You may also flag this review
Comment on this review
Great product and great savings
By cycling
from Texas
Great product and great savings on
The Best
By Gatorman
from Yulee, fl
See all my reviews
Hard to get excited about pedals but these babies have a super secure and effortless clip. I have the carbon 105 pedals too and I note that these are a worth the extra $$$ especially at Nashbar prices.
Great pedals
By Tom
from Minneapolis, MN
About Me Casual/ Recreational
Shimano quality. Easy to clip in and out. Adjustable tension. Much preferred to my Speedplay Zeros.
You will get what you pay for
By Left Coast Dave
from Westminster, Ca.
These pedals were a couple of bucks more than I wanted to pay but a friend of mine told me to pop for the extra couple of bucks - he was absolutely correct - I couldn't believe the difference smooth and quick to say the least
best in the business!
By p101
from Campbell, CA
Best ones yes, I have used Ultegra pedals forever, which are absolutely great as well, though the difference is noticeable, these puppies are lighter and easier to clip in!!
(0 of 2 customers found this review helpful)
The perfect pedal for the money....
By csp
from Boston
Great for practice and races
(0 of 1 customers found this review helpful)
great product great price
By Bret
from Salem Utah
Great pedals for a great price
(3 of 3 customers found this review helpful)
I brought this Product.
from Texas City, TX
Great pedals for town and road pedaling. Easy to enter and exit as conditions change. I ride on the lowest tension settings and have had no problem with pedals holding me. I upgraded from the PD6800 pedals which were extremely hard to enter and exit. I ride 2-3 times a week. Once you get used to the lateral play of the PD-9000 I prefer it over the yellow cleats of the PD-6800. Product appears to be built extremely well. I am waiting to see how the cleats hold up, so far so good. Manufacturer warranty on pedals and cleats is another plus for this product. Bike Nashbar stands behind the products they sell. I am looking forward to using these pedals for a long time.
Item No. »
We Make Shopping Safe, Secure and Easy
© 2016 Nashbar. All Rights Reserved.
Return to Mobile


text:
Hello i'm using this :
add_action('publish_post', 'send_admin_email'); function send_admin_email($post_id){
$to = 'email@example.com';
$subject = 'subject';
$message = "Here is :".get_permalink($post_id);
wp_mail($to, $subject, $message );
to send out a mail to wordpress admin when a post is publish by author. And I would like to add the post author in $message.
I try
get_the_author(); and
but nothing happens.
Any ideas guys ?
Thank u !
(Sorry i'm french)


text:
I'm curious to know how requiring certain pieces of personal information affect a user's likelihood to register on a website and opt-in to receive communications. Is there some "amount," of personal info where it becomes a significant deterrent for most people? At what point will people begin to abandon the registration process due to making personal information required? Any studies/articles are also appreciated.
How does the collection of personal information affect a user's likelihood to register to a website?
Ask as much as you need to and as little as you can afford to.
The more information a user has to give up, the more work it required of them to register and thus the completion rate goes down. Asking irrelevant things will also increase the feeling that your application is trying to accumulate data on the user rather than asking things that will make their experience better.
The above has served me, personally, as a good guideline. Never ask anything that you do not absolutely need. If age is irrelevant, don't require it. If your website mails users items, you will need an address. If your users don't need a nickname, don't ask for one. If you need the shoe size only if user that buy shoes, ask only those that buy shoes and not everyone. Ask as little as you can - you can always enhance the user profiles later or offer voluntary fields user can fill in their profiles.
Not sure how relevant this is to your question depending on the site, but it may help.
How much information should you ask for when users register?
However, from my experience, less is always more. Especially when it comes to registration.
It's not a binary issue. We know that the more information you request, or the longer your forms are, the higher your fall off rate will be.
My recommendation is to ask for as little information as possible in the sign up stage, and then try to encourage people to fill in additional information in their profiles later on.


text:
Mother's Day has normally been melancholy for me. My mother and sister died in 2006, the same year my marriage ended. After they died, my nephew moved to Kentucky to live with me while he attended college at Eastern Kentucky University.
My mother and his mother were single mothers. We weren't the Brady Bunch or the Waltons; our moms were all we had.
On 2007, Mother's Day hit on my sister's birthday, which also happened to be the anniversary of my crumbled marriage.
My nephew is an über macho guy but suddenly started crying. When he started, I joined him for the rest of the day.
No tears this year. I used the day to reflect on what a terrific role model my single mother was.
And why Mother's Day is a 365 day a year position for single mothers.
I'm surrounded by a lot of terrific single mothers. I am marrying one in a few weeks.
In the past ten years, she raised three children, became a highly acclaimed school principal and obtained a series of advance degrees and education honors.
I figured that after all that, she can tolerate my egocentric traits, or at least some of them.
My youngest daughter is currently engaged but has raised my 11-year-old grandson as a solo act. A key staff member is doing her first Mother's Day as a single mom.
None of them complain about how hard it is, they just do it. The way my mother, Ollie McNay, did.
I was too young to appreciate the sacrifices my mother made. She went from being a homemaker in a comfortable suburb to loading boxes at night in a potato chip factory.
During the day, she went to nursing school.
Once she became an operating room nurse, she had the steady income and steady career to raise us. It also meant that she worked insane hours and normally missed major holidays.
Mom wasn't a "soccer mom." I didn't play soccer and if I had, she didn't have time to attend. She was lucky to catch a football game now and then.
Her focus was to keep us in our house, in a nice neighborhood, and to pay for me to attend a terrific Catholic high school.
The tuition was about 10 percent of her net income. I suspect she did it by juggling credit cards and all the things I tell you not to do in my book, Wealth Without Wall Street, but it put me in a position to receive a high powered education and successful career.
Thank you, Mom. I wish I had been mature enough to thank you then.
It's easy to bash on the next generation as being self-absorbed, unable to communicate and happier interacting with technology than people.
Then I see the children of the single mothers who touch me.
My fiancée's children spent the weekend fixing things around her house, doing yard work and gave her a big mother's day celebration. They truly adore her.
My daughter posted on Facebook that her 11-year-old son made her breakfast in bed. I never thought about doing something that sweet and meaningful.
My staff member and her near teenage son did a mother-son outing where he did a number of things to make his mom feel special. I would have never dreamed of spending a day, or an out-of-town trip, with my mom during my teen years.
Being the son of a single mother, I spent time feeling like I missed out.
I felt particularly isolated as one of the very few children of a divorced family in my neighborhood and schools.
I was lucky that my dad remained a strong part of my life, but divorce was a stigma that I felt every day.
Along the way, I embraced the idea that being "different" was one of the keys to my success and happiness.
It's no accident that I fell in love with a single mother. They know how to give unconditional love in a way the average person can't. Being a single mom was not really a choice. It was a decision made motivated by leaving an intolerable situation, losing most of her money and material possessions, and seeking a better life for herself and her children.
Just like my mother, it showed her that she had unique and special talents. It let her understand that she was smart, resourceful and has a work ethic that stuns and amazes people.
Like Nietzsche said, "That which does not kill us makes me stronger."'
What I know is that single mothers are stronger than I am. They draw upon strengths they didn't know they had.
It's easy to say that I missed my mother on Mother's Day. Then I realize that she is part of me and always will be. Every day of every year.
Thank you, Mom.
Don McNay, who lives in Richmond, Ky., is an award-winning financial columnist for Huffington Post Contributor. You can learn more about him at www.donmcnay.com.