text:
Run for Hope - Keck School of Medicine of USC
OUR HOUSE Grief Support Center
Sunday, April 28, 2013 from 7:00 AM to 11:30 AM (PDT)
Who's Going
San Francisco, California
London, United Kingdom
Florence, Italy
Event Details
On Sunday, April 28, 2013 OUR HOUSE will be hosting the
19th annual Run for Hope – a day dedicated to celebrating and honoring the memory of those close to us who have died.
Schedule of Events
7:30am In Memory Walk
an adult-only early morning intimate and peaceful 1-mile walk led by our Adult Clinical Team and offers the opportunity for participants to share who they are walking in memory of.
9:00am 2.7 Mile Walk/Run
all ages are invited to participate, including all In Memory Walk participants.
10:00-11:30am Festival
DJ Sherpa, magicians, face-painting, tattoo artist, a massage tent, moon bounce, dunk tank, Pressed Juicery and CoolHaus Food Trucks and so much more! Reusable bags will be provided for guests to do their shopping at the adjacent weekly Farmers' Market
Balloons and route sponsors line the 2.7 mile route, water sponsor HINT will be keeping participants hydrated, and upon crossing the finish line, medals are dispersed and a bubble machine will be in full force. Participants will receive a personalized t-shirt with their loved one's picture on the back and children and teams will be recognized at the start of the run with the opportunity to share their shirts and stories.
Sharing Grief. Finding Hope
What are my parking options getting to the event?
Parking will be available in various lots surrounding the event and will be marked by volunteers holding signs. For more detailed parking information, you can visit www.OurHouse-Grief.org/events and click on 'Parking and Map'. You will also receive an email closer to the event with more information!
What should I bring to the event?
Water and refreshments will be provided for you and we may have some surprise Food Trucks donating food! But, you may want to bring cash for additional food and shopping at the adjacent farmers market.
Where can I contact the organizer with any questions?
Please contact email@example.com or firstname.lastname@example.com with any questions, or call 310-473-1511
Is my registration/ticket transferable?
Tickets are not transferable.
Can I update my registration information?
Unfortunately, you cannot update your registration information once it has been submitted. Your information and shirt design are immediately sent to the printer.
Do I have to bring my printed ticket to the event?
You do not need to bring a printed ticket to the event. However, having your physical ticket or a virtual version available on your smart phone will save you time at check in.
When & Where
West Los Angeles Farmers Market
1645 Corinth Ave
Los Angeles,
Sunday, April 28, 2013 from 7:00 AM to 11:30 AM (PDT)
Add to my calendar


text:
TORONTO — As they prepare another batch of butternut squash soup and roast another bunch of heirloom carrots, Toronto chefs are dreaming of spring.
"Fiddleheads are coming soon and wild leeks in late April, and we'll get fresh morels from Forbes Wild Foods and asparagus from Barrie Hill Farms in June," said Jamie Meireles, who plans menus for up to 600 at the five event venues run by Oliver & Bonacini Events.
With O&B's focus on local, seasonal ingredients, Meireles has been using plenty of Ontario beets and celery root this winter while divvying up last year's house-made fruit jam and pickled vegetables.
He said his corporate customers want healthy "brain food" after a day of meetings, and everybody's on a kale kick, raw in salads or quickly sauteed with a little garlic.
The same customers are shying away from chocolate desserts, he said, in favor of healthy berries and other fresh fruit.
For a change of taste, Meireles and his team have been vacuum-packing fresh fruit with different flavors. He's packed large pieces of cantaloupe in a bag with pickled ginger, watermelon with mint or basil and pineapple spears in vanilla syrup.
After sitting four to six hours, the fruit becomes infused with flavor and almost neon in color, he said.
At bustling Richmond Station in downtown Toronto, chef-owner Carl Heinrich also is dreaming of wild leeks and the first Ontario-grown kennebec potatoes for his fries.
"By summer, we'll be dealing with 40-50 local suppliers," said Heinrich, who won the Top Chef Canada competition in 2012.
"It's a little bit of work," he said, "but we know the best food comes from the best ingredients, and the best ingredients are usually a result of a relationship you have with the people that make the food."
Though there's plenty of meat on his menu, the Stratford-trained chef is equally proud of his vegetable preparations.
"Critics have been surprised at the number of vegetable dishes on our menu," he said. "I think it's really smart, especially here in the financial district, to serve lighter fare."
He serves smoked trout over local Jerusalem artichokes slow-roasted in butter, puréed sweet onion, sauteed swiss chard, pickled pearl onions and oyster mushrooms. The fish is topped with a little salad of hydroponic pea shoots and shallot rings.
A recent couscous salad was a vegetarian's delight, paired with local carrots from organic producer Soiled Reputation, toasted hazelnuts, brussels sprout and celery leaves, dill and mint, with a sprinkle of dukkah spice mix and a drizzle of tandoori honey around the plate.
As for trends in Toronto, Heinrich sees blistered shishito peppers as hot, cauliflower is on the rise, parsnips are popular in everything from soup to dessert, and brussels sprouts are showing up everywhere.
At least until spring brings the first wild things.

subset: commoncrawl


text:
Sennheiser CXC 700 Noise-canceling headphones review
Make the noise quiet and the music loud
Some of our articles are written by people outside of our usual writing team. They're typically Crutchfield employees in other departments, but we'll sometimes feature articles written by folks from outside the company as well.
Heads up!Welcome to this article from the Crutchfield archives. Have fun reading it, but be aware that the information may be outdated and links may be broken.
Any college student will tell you that noise can be a constant distraction in daily life. From busy sidewalks to crowded common areas, you find yourself in a state of constant auditory chaos that can be maddening. When I got the opportunity to try out the new Sennheiser CXC 700 noise-canceling headphones, I was excited. Try out a $200 pair of headphones for free? Why, certainly!
On the surface
The new CXC 700's come out of the box looking sleek and clean, in typical Sennheiser fashion. The headphones come with a 54-inch cord, which provides plenty of length for jittery and active people, and attached to said cord is one of my favorite bits of headphone gadgetry, a volume controller.
The volume control on the CXC 700's is in a slide bar format, something I greatly preferred over the typical "push the button for this set amount of more noise" configuration I've experienced on other headphones. This gives you greater precision in volume control.
The volume controller is also where the CXC 700's noise-canceling features are located. There is an easy "slide and pop" housing for the AAA battery required to operate the noise-canceling modes as well as the switches to operate all of the features for Sennheiser's NoiseGard™ technology (more on that later).
The only downside to the housing is that it has the tendency to weigh down the cord awkwardly. While the controller sliding off my desk has never once wrenched the cord out of the headphone jack, it still provoked a terrifying moment of panic when I saw it slip off the edge.
That said, however, the controller is situated perfectly for on the go use. Placed nearer the headphones on the 54-inch cord, the volume control resides at the perfect length to be stored in a pocket without straining the length of cord reaching to the headphones themselves. Its placement also ensures it sits at the opening of whatever storage compartment is being used, making it easy to grab and utilize the controller.
The CXC 700's come with three various sized rubber ear bud sleeves, as well as an airline adapter, headphone adapter, cleaning tool and a conveniently sized carrying case. Everything you need for travel headphones.
Noise cancelation
Noise cancelation is one of those luxury features that someone on my budget can't spare money for. Thanks, college. Nevertheless it's a feature that I swoon at having, and I was eager to see just how well noise canceling on in-ear headphones would work.
On the CXC 700's, Sennheiser provides a set of NoiseGard noise-cancelation features. There are multiple settings options, including talk-through capability.
Activating noise canceling is as easy as flipping a switch, which is precisely what you do. On the volume controller, the frame surrounding the volume control is the "on, off" switch for noise cancelation. Once activated a red LED indicator lights up to let you know it's active. From here, you have three different noise-canceling modes to optimize noise cancelation for particular environments.
- Mode 1: Optimized for commutes on trains, subways, buses, cars and short distance flights. Effective primarily for low-frequency noise (100-400 Hz).
- Mode 2: Optimized for longer flights on large passenger aircraft and air conditioning systems in office buildings. Effective primarily for mid-frequency noise (400-3000 Hz).
- Mode 3: Optimized for on-the-go use in crowded environments or other loud surroundings. Effective primarily for wide-frequency noise (100-3000 Hz).
If you're like me, when you first look at this you probably think, "Well that's unnecessary." It may not be absolutely necessary, but guess what? It's amazing. Between the different modes there is a noticeable difference in the cancelation response.
Mode 3 cut down much of the busy noise in the cubicle forest I call home during the week, eliminating just about everything but keyboard clicks and loud voices (which take on a tinny, radio-like quality through the cancelation). I ended up using Mode 3 a lot, only because it gave me the best noise reduction in the environment I most utilized them in. But these headphones and their noise cancelation are optimized for travel, so it was obvious that I needed to test them for that as well.
|The headphones come with a variety of earbud sleeves, an airplane adapter, quarter-inch adapter, and travel case.
Since chartering a plane, buying a ticket or sneaking on in a suitcase were not options, I decided to create my own "plane" noise environment. How? With a box fan in a small room. Yes, there is a huge difference between the noise outputs of a fan versus that of a jumbo jet, but for my purposes it worked.
On any of the settings, Mode 1 of the NoiseGard did a great job of reducing the white noise to a low hum. Not completely eliminated but definitely easier on the ears and with Mode 2, which does a wonder on any air conditioning buzz; these two modes are a must for the constant traveler.
Talk through option
But wait a minute. What happens when someone approaches you in need of conversation? By pressing the button labeled, "talk through" the noise cancelation cuts off and also turns off any music you are currently playing. It also pumps in outside noise directly to your earphones, allowing you to communicate without ever removing the headphones.
My only peeve with this option is that, when activated, it doesn't pause your music; it simply cuts off current to the headphones, allowing the music to continue playing in silence. It's one of those annoying, nitpicky things, but missing a section of a song or having to backtrack can be bothersome. Besides that point, the talk through option is a simple, one step option that is better than attempting to turn off noise cancelation and mute your music in efficient time. With talk through capability it's one button and bam, you can hear!
Battery life
Another great feature is that when the battery, which lasts a good 16 hours, finally runs out, the CXC 700's will still allow you to listen to your music and use the volume controller. And as far as comfort for those 16 hours, these guys fair better than your average pair of budded head phones. It was only after six hours of continuous use that they started feeling uncomfortable, and anything that stays in the same position without relief for six hours is uncomfortable by that point anyway.
Music quality
As far as in-ear headphones go, these guys have about the best music quality I've ever heard. Granted this is coming from a person whose last pair of in-ear headphones were bought for $20.
When I audition a pair of headphones, my go-to band is Les Friction. Their music, considered "Cinematic Orchestration" or trailer music, covers a wide expanse of both dynamics and instrumentation. From gorgeous classical orchestration to hard hitting electric guitar solos, this band strikes every chord (literally and figuratively speaking).
Listening with NoiseGard on, I got the cozy feeling of hearing my music without annoying background noise. The music came through warm and clear, mid-tones rich and lively. the astoundingly subtle lower vocals Les Friction utilize popped throughout their songs, distinguishable from the more prevalent lead vocals.
Though the cancelation tends to softer high and low ranges, they're still more prevalent than I've ever heard on my own lower quality headphones. The CXC 700's cover the dynamic range wonderfully. and that coverage broadens even more so when noise cancelation is turned off.
In conclusion
To sum it all up, the quality that the Sennheiser CXC 700's provide is outstanding for earbuds. And they're certainly worth the price if you're looking for a good pair of lightweight, noise-canceling headphones. I know I will keep dreaming of them.
- Courtney G. is an intern in the Crutchfield Creative Department.


text:
Bubble Wonders with Geoff Akins
Wednesday, June 25, 2014 - 10:30am - 11:30am
Kimberly Public Library
Bubble caterpillars, volcano bubbles, dancing bubbles, bubbles inside bubbles, a child inside a bubble, and even a square bubble?! You will be inspired as Geoff works magic with bubbles to demonstrate that "anything is possible!" Sponsored by Outagamie Waupaca Library System. This program repeats at 1:30PM.


text:
Jerry MeyerClick Here to view this Link. is the national basketball recruiting analyst for Rivals.com. He tackles your questions in his weekly mailbag feature.
Previous mailbags
Got a question? Click here to send it to Meyer's Mailbag
Louisville just lost one 2012 recruit. Can the Cardinals hold onto elite scoring guard Rodney Purvis?
Will the reclassification of Alex Murphy to 2011 affect the DeAndre Daniels' decision?
And what position is top 10 prospect Jarnell Stokes best suited for at the college level?
These questions and more are addressed by National Recruiting Analyst Jerry Meyer in this week's mailbag.
Louisville to lose another?
Jerry, Do you think Rick Pitino and his new staff can hold on to Rodney Purvis, with the departure of Tim Fuller to Missouri?
- Grant from Lodi
Coach Tim Fuller was the connection between Louisville and Purvis. Despite Fuller's departure to Missouri, Purvis is still committed to Louisville.
The strength of the commitment, however, is in question. Once speculation that Purvis would reopen his recruitment hit a crescendo, Purvis released this statement on April 15:
"At this time I'm focused on getting better. There is not a lot to discuss in terms of my college decision. I just want to win games this weekend. If I'm thinking about college right now that would be selfish and unfair to my teammates."
Purvis didn't decommit from Louisville, but he didn't exactly reaffirm his commitment to Louisville either. So the question is left open, and Coach Pitino and his staff has their work cut out to retain one of the top scoring guards in the country as a Louisville recruit.
Duke and Daniels
Jerry, always a great job on the trail. With Alex Murphy joining Duke's 2011 class, what chance do they have of landing DeAndre Daniels who plays basically the same position?
- Lawrence from Spartanburg
The message I am getting from Daniels and also from sources around his recruitment is that it will not affect his decision even though early playing time is a high priority for Daniels. The working assumption from Daniels' camp is that Murphy will redshirt his first year at Duke.
I would also add that Daniels is much more ready to play next year in the ACC than Murphy is.
So Kansas and Texas fans are still left hoping that they can sign Daniels. Duke is the assumed leader at this point, but there have been number of changes in Daniels' tumultuous recruitment.
Washington's chances
What are the chances of Washington landing Aaron Gordon and Jabari Parker in the class of 2013?
- Jack from Novato
Washington has an excellent shot at landing both Parker and Gordon. The thought of the Huskies putting both of these elite forwards on the court together should be a very scary one for the rest of the Pac-10.
A couple of weeks ago at the Nike EYBL event in Hampton, Virginia, Gordon spoke glowingly about Washington and was not hesitant at all to proclaim the Huskies as his leader.
He has a strong relationship with the coaching staff, playing in the Pac-10 is attractive to him and the style of play at Washington fits Gordon perfectly.
A high level athlete, Gordon is at his best in a wide-open attack where he has both the opportunity to handle the basketball as well as be a finisher. Gordon is the type of talent who could succeed in any system, but a full court, fast-breaking system will accentuate the best aspects of his game.
Parker would excel in Washington's system as well. He actually visited Washington last weekend. A strong connection exist between Parker and Lorenzo Romar, beginning with Parker's dad being teammates with Romar on the Golden State Warriors.
Another factor in Washington's recruitment of Parker is that Parker's older brother Chris Parker is a candidate to join the Washington coaching staff. Presently he is a junior college coach in the area.
As a prospect, Parker is becoming a more explosive athlete, but he isn't at the level Gordon is at. Parker is, however, more of a scorer than Gordon.
The bottom line is that these two prospects would be a formidable tandem together. They are both elite talents and their games compliment each other.
Top 25 class?
Has Donnie Jones reeled in a top 25 recruiting class for 2011?
- Marticus from Memphis
If Coach Jones has reeled in four-star prospect Kevin Ware, then he has reeled in a top 25 class. But it is looking like the Ware recruitment is far from over despite his commitment to UCF earlier this week.
His commitment came as a surprise as he was scheduled to visit Louisville this coming weekend after playing in the adidas Derby Classic and then in early May visit Georgia. In fact on Monday morning these were the plans as state by his father Wesley Junior to Rivals.com only to have Ware commit to UCF later that day.
Now there is widespread speculation that Ware is wavering on his commitment and is still considering other schools. The Ware camp is not commenting on the situation which is only making the speculation grow.
If Ware does sign with UCF, the Knights will have two four-star prospects in the class with Ware and Michael Chandler to go along with three solid three-star prospects giving them a top 25 caliber recruiting class.
Primary position
It sounds like Jarnell Stokes has been one of the top performers out of the 2012 class this spring. What position do you see him playing at the college level?
- Michael from Knoxville
Stokes, who runs with the Memphis YOMCA, has been one of the most productive players on the spring circuit. If he isn't putting up a double-double then there must be a problem.
He is so tough to contain because he can beat you with both a physical game and a finesse game. He is both an explosive athlete and a skilled player.
Stokes primary position in college will be at the four, but he has the strength and athleticism to slide to the five. And offensively, he could conceivably play some three, but it is a stretch to project him as a player who can defend the small forward.
Regardless of position, Stokes is a highly talented and versatile big man who is comfortable making plays anywhere on the court. Unlike a lot of other big men, however, who have perimeter skills, Stokes is not a drifter on the outskirts of the action looking for a jump shot. Like 2011 Louisville signee Chane Behanan, Stokes takes his game to the basket and punishes less physical opponents.
Jerry Meyer is a national basketball recruiting analyst for Rivals.com. Click here to send him a question or comment for his mailbag.


text:
Our view: Highway 70 improvements have come despite the fact the project was all but killed by the bureaucracy a few years back.
A couple of decades ago Caltrans approached Butte, Sutter and Yuba counties, and associated cities, asking them to choose between Highway 99 and Highways 70/149 to be the north valley's freeway.
There wasn't enough money to do both, the locals were told, but if we could pick one, there was a good chance it could be done.
The Highway 70/149 corridor was picked, but a few years after that, Caltrans came back and said, "Ehh, we don't see where we're going to get the funding to do even that."
Quite a bit of money had been spent by then studying alternative routes for the freeway. The need for a bypass east of Marysville ran into a variety of environmental and engineering challenges that sent costs soaring into the range where rural Northern California just didn't have the political clout to compete for the needed cash.
And that might have been that, except the local transportation planners at both the state and local level — in Butte County's case, the Butte County Association of Governments — understood how highway money gets spent. A series of bite-sized projects stood a better chance of getting funded in a rural area like ours than an overarching solution.
And that's exactly what happened. Since Caltrans announced that the Highway 70 freeway as dead, the road has been widened to four lanes all the way from Marysville to Sacramento. Highway 149 is now four lanes between Chico and Oroville. Highway 70 has been widened to four lanes from Highway 162 south through Ophir Road. Work is underway in Marysville to facilitate traffic movement through that city.
And most recently, lengthened passing lanes have been completed south of Oroville, from north of Cox Lane to Central House Road, a stretch of four-lane road perhaps three miles long, with a central left-turn lane.
The previous passing lanes were just plain dangerous. There was a northbound passing lane north of Cox Road, a southbound lane south of East Gridley Highway.
About a half-mile in length, they weren't long enough to pass safely. Instead, long lines of cars caught up behind a slow-moving vehicle (or several slow-moving vehicles) would bunch up, bumper to bumper, and then floor it when the extra lane appeared.
It was like the start of a NASCAR race, albeit with non-professional drivers and vehicles really not built to handle that kind of all-out acceleration.
And yes, it caused problems. Fatal problems. The worst case was in 2003 when a van full of people was passing a semi-truck as the northbound passing lane was coming to an end. With the van in the truck driver's blind spot, he pulled over as the arrows on the pavement directed him, forcing the van into the southbound lane and a head-on collision with a pickup. Four people died at the scene.
The new passing lanes, combined with the other improvements, have resulted in a far better roadway, able to move more traffic, more safely at that. There's still room for improvement, and it's not the perfect answer. The perfect answer would be to build the freeway.
That wasn't happening. But if government is paying attention to its charge to serve the people, things can get done that make things better, even if they aren't ideal.
Too often instead — in Chico particularly — our erstwhile leaders get hung up on "process," without seeming to realize that process doesn't accomplish a darn thing. We spend more money drafting plans than we spend implementing them.
Perhaps the Highway 70 "process" will provide an example our other governments will follow: The measure of success is what's actually accomplished, not what is planned to be accomplished.


text:
Third-ranked Kansas State's perfect season remained intact Saturday night.
So did its national title hopes.
The future of both may be in jeopardy, though, after Heisman Trophy front-runner Collin Klein left in the third quarter of a 44-30 victory over visiting Oklahoma State because of an undisclosed injury.
Kansas State coach Bill Snyder declined to discuss the nature or severity of it afterward, and said he wasn't sure whether Klein would be available for next Saturday's game at TCU.
"Obviously he was injured or we wouldn't have taken him out," Snyder said.
Klein had thrown for 245 yards and run for 64 more before sneaking in for his 50th career rushing touchdown with 9:47 left in the third quarter to give Kansas State a 38-17 lead.
It wasn't clear when he got hurt, but Daniel Sams played the rest of the way.
"Without Collin at quarterback, we had to do some adjustments," said Tyler Lockett, who had a 100-yard kickoff return touchdown. "Collin was still a leader. He was on the sideline getting us going, especially when things weren't going our way. That's what I like about him."
Allen Chapman picked off three passes, returning one for a touchdown, and John Hubert added a pair of TD runs as the Wildcats (9-0, 6-0 Big 12) moved close to a Big 12 title and possibly the BCS title game. The Wildcats entered the weekend No. 2 in the BCS standings behind Alabama.
It was Kansas State's first victory against Oklahoma State (5-3, 3-2) since 2006.
Rare home loss: Boise State entered its game against San Diego State with a 71-1 record in home games dating to 2001.
Now it's 71-2.
Adam Muema rushed for 127 yards and a touchdown and San Diego State's special teams had a hand in two other scores in a 21-19 victory over No. 19 Boise State.
Colin Lockett returned the opening kickoff for a touchdown, then in the third quarter Dwayne Garrett reached over a blocker and deflected Trevor Harman's punt to set up another score.
The Aztecs (7-3, 5-1 Mountain West) held on for the win when the Broncos (7-2, 4-1) scored a touchdown to pull within two points late in the game but were unable to convert a 2-point try.
Buckeyes cruising: Although ineligible to go to a bowl game, No. 6 Ohio State moved closer to an undefeated season with a 52-22 rout of visiting Illinois.
Carlos Hyde rushed for 137 yards and three touchdowns, and Braxton Miller passed for two scores and ran for one as the Buckeyes (10-0, 6-0 Big Ten) maintained their upper hand in the Leaders Division heading into a bye week. They have games remaining at Wisconsin on Nov. 17 and against rival Michigan at home a week later.
It was the sixth consecutive loss for the Illini (2-7, 0-5) and their 11th in a row in the Big Ten.
Stoops moves up: Landry Jones threw for 405 yards and a four touchdowns, and No. 14 Oklahoma beat Iowa State 35-20, moving coach Bob Stoops into a second-place tie with Bud Wilkinson on the Sooners' career win list.
Stoops posted his 145th victory with Oklahoma. He is 12 wins shy of tying Barry Switzer for the most in school history.
Oklahoma (6-2, 4-1 Big 12) bounced back from a loss to Notre Dame. The Sooners have won 20 straight following a defeat in the regular season.
Iowa State (5-4, 2-4) lost its 21st straight home game against the Sooners, a stretch of futility that dates back 52 years.
Aggies roll: Johnny Manziel and the Texas A&M Aggies shredded another Southeastern Conference defense.
The redshirt freshman picked apart Mississippi State by completing 30 of 36 passes for 311 yards and danced around the No. 17 Bulldogs for 129 yards rushing and two touchdowns, leading the 16th-ranked Aggies to a 38-13 victory.
Texas A&M (7-2, 4-2 SEC) has won all five of its road games this season. Mississippi State (7-2, 3-2) has lost two in a row.
Wolverine switch: Devin Gardner replaced Denard Robinson in a surprise quarterback switch by Michigan right before kickoff, throwing two touchdown passes and running for another score to lead the Wolverines past Minnesota 35-13.
Gardner woke up the Wolverines (6-3, 4-1 Big Ten) after they went two straight games without a touchdown, guiding scoring drives of 91, 90, 86 and 79 yards to squash the hope the Gophers (5-4, 1-4) had of an upset with Michigan's senior star on the sideline. Robinson has been bothered by nerve damage in his right elbow.
Minnesota hasn't beaten Michigan at home since 1977.


text:
Happy toddler zone
Everything parents need to know about raising happy, healthy little ones. more
Cold sores are small blisters that develop around the mouth and lips. Cold sores are sometimes called fever blisters. People sometimes mistake cold sores with canker sores, which are very different.
Cold sores are caused by the herpes simplex virus. There are two types of herpes simplex viruses: herpes simplex 1 (HSV-1) which is responsible for most cold sores, and herpes simplex 2 (HSV-2) which is responsible for most cases of genital herpes. Either herpes simplex 1 or herpes simplex 2 can cause cold sores or genital sores.
Cold sores are generally not serious, but they are contagious. The most serious complications may occur when kids with eczema or a compromised immune system (such as in the case of AIDS, cancer, or an organ transplant). The herpes simplex virus can cause blindness if it infects your child's eyes.
The only way to prevent cold sores is to avoid coming into contact with someone who has been infected with the herpes simplex virus. The virus is contagious during an active infection, and coming into contact with the fluid from the sores, or the saliva of an infected person with an active sore or sores, can transmit the virus. Once your child has contracted the virus, there is no way to completely prevent a recurrence of sores.
A child's first infection may be so mild you may not be aware that he has contracted the herpes simplex virus. However, there's no way to predict how severe any given outbreak may be. It may take up to three weeks after initial exposure to the herpes simplex virus for an outbreak to occur. Once your child has been exposed, an outbreak may include any of the following symptoms:
Once your child has contracted the virus that causes cold sores, you can't make it go away. You can, however, treat the cold sores as they appear. After your child has had a cold sore, the virus lies dormant in his skin until it is reactivated, causing another sore. Some kids never get another cold sore. Others may have frequent outbreaks.
Most cold sores outbreaks last a week to ten days and are easily treated with topical antiviral creams such as idoxuridine or acyclovir. It may also help to have your child hold an ice cube on the area for about five minutes every half hour when he first experiences the itching and tingling that signals an oncoming outbreak. Many parents also find that vitamin E oil can be soothing.
Don't let your child scratch or pick the affected area because that can cause an infection. Don't use alcohol to dry the blisters as it may slow healing.
Always call the doctor if your child contracts the herpes simplex virus and has a compromised immune system from AIDS, cancer, or an organ transplant. Call the doctor immediately if the infection has spread to your child's eyes or if the sores become infected. If the sores become infected, your doctor may need to prescribe antibiotics.
Written by Rebecca Stigall for Kidspot, Australia's parenting resource for family health. Sources include Better Health Channel, NSW Health and Health Insite.
Last revised: Monday, 30 November 2009
This article contains general information only and is not intended to replace advice from a qualified health professional.


text:
Citi Olympics: Every Step of The Way Program
May 22, 2013
As a brand tarnished by the financial crisis, Citi saw the Team USA sponsorship as an opportunity to do more than just put rings on their ads. With the insight that nobody reaches the podium alone, they created a program called Every Step of the Way. Citi broke through in surpassing all first-time sponsors and changed brand perceptions amongst core audiences.
Restricted Content
Access to this content item is restricted to:
- ANA Corporate Marketer Members
Please login below or create an account.
You may already be a member. Find out if your company is already an ANA member.


text:
Pirates sign Jose Contreras to a Minor League deal
The Pirates have agreed to terms with RHP Jose Contreras on a minor league contract with an invite to spring training. He is expected to report tomorrow (Sunday).
Contreras is recovering from elbow surgery and will be rehabbing during major league spring training
The 41-year-old Cuban native has posted a 78-67 record in 292 career games (175 starts) in the Major Leagues with the Yankees (2003-04), White Sox (2004-09), Rockies (2009) and Phillies (2010-12).


text:
Get an overview of this hotelThis Los Angeles hotel is located just 6 miles from LAX and offers guests free shuttle service to and from the hotel.
Popular property highlights
Shops nearby
The DoubleTree by Hilton LAX - El Segundo is less than 2 miles from the Manhattan Beach Mall and less than 1 mile from Plaza El Segundo offering a variety of shopping options.
Airport shuttle
The hotel offers a complimentary airport shuttle, an outdoor pool and spa tub with sundeck, a contemporary restaurant and lounge, and a business center and conference rooms.
Wireless Internet
The DoubleTree's guestrooms have wireless Internet access, pillowtop mattresses, mini refrigerators, and new flat panel televisions with high-definition channels including HBO.Information missing or incorrect? Tell us!Opens in a new window
DoubleTree by Hilton LAX - El Segundo
Hotel Amenities
Hotel Amenities
- Outdoor pool
- Spa tub
- Concierge services
- Fitness facilities
- Restaurant
- Bar/lounge
- Breakfast available (surcharge)
- Conference space
- Meeting rooms 6
- 24-hour front desk
- Express check-out
- Multilingual staff
- Safe-deposit box at front desk
- ATM/banking
- Gift shops or newsstand
- Dry cleaning/laundry service
- Total number of rooms - 216
- Number of floors - 7
- Elevator/lift
- Free airport transportation
- Free newspapers in lobby
- Express check-in
- Free shopping center shuttle
- Computer station
- Tours/ticket assistance
- Free WiFi
- Pool umbrellas
- Laundry facilities
- Picnic area
- Luggage storage
- Self parking (surcharge)
- Long-term parking (surcharge)
- Conference space size (meters) - 422
- Number of meeting rooms - 6
- Free area shuttle
- 24-hour business center
- Conference space size (feet) - 4546
- Smoke-free property
- Television in common areas
- Wedding services
Family Friendly Amenities
- Family Hotel
- Outdoor pool
- Free Wi-Fi
- Area shuttle (complimentary)
- Laundry facilities
- Cribs/infant beds (complimentary)
Available in all rooms: Free WiFi
Available in some public areas: Free WiFi
Long-term parking (surcharge), Self parking (surcharge)
Room Amenities
- Premium TV channels
- Pay movies
- Premium bedding
- Room service (limited hours)
- In-room climate control (air conditioning)
- Free weekday newspaper
- Air conditioning
- Phone
- Coffee/tea maker
- Private bathroom
- Free toiletries
- Hair dryer
- In-room massage available
- Shower/tub combination
- Pillowtop mattress
- Desk
- Iron/ironing board
- In-room safe
- Daily housekeeping
- Television
- Free WiFi
- Free cribs/infant beds
- Rollaway/extra beds (surcharge)
- Connecting/adjoining rooms available
Where to Eat
East Grand Bar & Grille - The restaurant is open 6 AM-11 PM daily and serves a variety of cuisine including daily specials. Happy Hour is in the lounge Monday - Friday beginning at 4 PM with half off appetizers and special drink prices. There are multiple televisions in the restaurant/lounge and live entertainment on Wednesday evenings.
Nearby Things to Do
This El Segundo hotel has an outdoor Olympic-sized pool and spa tub surrounded by patio and lounge chairs. The 24-hour fitness center features cardio equipment with individual TVs. Headsets and filtered water are complimentary. Floor-to-ceiling windows offer view of the swimming pool.
Nearby golf courses include the Lakes at El Segundo (one mile away) and Westchester Golf Course (three miles). Ocean beaches are also within a short drive.
The recreational activities listed below are available either at the Doubletree Hotel or nearby; fees may apply.
- Golfing nearby
- Surfing/boogie boarding nearby
- Sailing nearby
- Windsurfing nearby
- Bicycle rentals nearby
- Hiking/biking trails nearby
- Parasailing nearby
- Golf lessons available nearby
Hotel Policies
Check-in time ends at 1:30 PM
Check-in time starts at 3 PM
Special check-in instructions:
Check-out time is noon
Payment types
Children and extra beds
- Children are welcome.
- Kids stay free! Children 12 years old and younger stay free when using existing bedding.
- Rollaway/extra beds are available for USD 10 per night.
- Free cribs (infant beds)!
- Pets not allowed
You need to know
Extra-person charges may apply and vary depending on property policy.
Optional extras
- Breakfast fee: USD 18 per person (approximately)
- Self parking fee: USD 12 per day
- Late check-out fee: USD 79.00
- Rollaway bed fee: USD 10 per night
Hotel Name
- DoubleTree El Segundo LAX
- DoubleTree Hilton Hotel El Segundo LAX
- DoubleTree Hilton LAX El Segundo
- Hilton El Segundo LAX
- DoubleTree Hilton LAX El Segundo Hotel
We should mention
Children 12 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. The property has connecting/adjoining rooms, which are subject to availability and can be requested by contacting the property using the number on the booking confirmation.


text:
15 U.S. Code § 78d–8 - Annual financial controls audit
prev | next
(a) Reports of Commission
(1) Annual reports required
Not later than 6 months after the end of each fiscal year, the Commission shall publish and submit to Congress a report that—
(A) describes the responsibility of the management of the Commission for establishing and maintaining an adequate internal control structure and procedures for financial reporting; and
(b) Report by Comptroller General
(1) Report required
Not later than 6 months after the end of the first fiscal year after July 21, 2010, the Comptroller General of the United States shall submit a report to Congress that assesses—
(A) the effectiveness of the internal control structure and procedures of the Commission for financial reporting; and
(c) Reimbursements for cost of reports
(1) Reimbursements required
The Commission shall reimburse the Government Accountability Office for the full cost of making the reports under subsection (b), as billed therefor by the Comptroller General.
Source(Pub. L. 111–203, title IX, § 963,July 21, 2010, 124 Stat. 1910.)
Section was enacted as part of the Investor Protection and Securities Reform Act of 2010 and also as part of the Dodd-Frank Wall Street Reform and Consumer Protection Act, and not as part of the Securities Exchange Act of 1934 which comprises this chapter.
Effective Date
Section effective 1 day after July 21, 2010, except as otherwise provided, see section 4 ofPub. L. 111–203, set out as a note under section 5301 of Title 12, Banks and Banking.
LII has no control over and does not endorse any external Internet site that contains links to or references LII.


text:
LGBT advocates urge Commissioners Court to add protections for transgender Dallas County employees to nondiscrimination ordinance
DAVID TAFFET | Staff Writer
Three members of the LGBT community spoke Tuesday morning, April 5, during the Dallas County Commissioners Court's regular meeting, calling on the court to add protections for transgender employees to the county's nondiscrimination policy.
Transgender activist Kelli Ann Busey commended the court for adding sexual orientation to the policy covering the county's 7,000 employees a few weeks ago. But she said the court did not go far enough with that effort.
"Transgender people are not the same as gay people," Busey said. "We need to be protected differently."
Busey said many transgender people are homeless after transitioning, often because of discrimination against them in the workplace.
"Without workplace protections, we cannot live up to our potential," she said.
Dave Guy-Gainer spoke on behalf of Equality Texas. He told the commissioners about a poll conducted by Glengariff Group that sampled registered voters in Texas on 12 rights as they pertain to the LGBT community.
"According to the poll, 70 percent of all Texas voters support prohibiting employment and housing discrimination for transgender citizens," he said.
Gainer said that over the past three election cycles, Dallas County has voted for progressive government. He called Dallas County a leader for other jurisdictions across the area as well as nationally.
Pam Curry, who is transgender, told the court she is a former part-time Dallas County employee.
"I was bothered when the non-discrimination policy was passed and I was not included," Curry said, going on to explain the difference between sexual orientation and gender identity.
"I urge the court to move quickly to correct the oversight," she said.
Rafael McDonnell, strategic communications and programs manager for Resource Center Dallas, spoke at the Commissioners Court meeting the previous week and by the court's rules is barred from speaking again for a month. But McDonnell promised to keep the issue before the court by lining up speakers for each weekly meeting.
McDonnell also forwarded to Dallas Voice a copy of an email he received from County Judge Clay Jenkins.
"I believe in equality for all," Jenkins wrote to McDonnell. "The new non-discrimination language was formulated by the county's human resources department at my request and was intended to prohibit discrimination against anyone. Our HR director informs me that her interpretation of sexual orientation includes gender identity and gender expression. Therefore, under our current policy, discrimination will not be tolerated.
"Many people share your concern that the policy needs to be changed to specifically state that gender identity and expression are included. I have requested an opinion from the District Attorney's office about adding identity language to the county code and its overall impact; the first step in a proposed change," Jenkins wrote.
"The vote that passed last month is a positive step, which I consider a victory, and I am asking for your faith and patience as the process moves forward," Jenkins added.
On Monday, April 4, Stonewall Democrats of Dallas unanimously passed a resolution calling on the Commissioners Court to add transgender protections, according to President Omar Narvaez.
The resolution pointed out that "comprehensive nondiscrimination policies, including sexual orientation and gender identity/expression, decrease costs for employers, decrease regrettable loss, raise productivity, and increase recruiting efficiency," and "will serve to further the goals of economic development, marketplace competition, and improved quality of life."
Staff writer John Wright contributed to this report.
This article appeared in the Dallas Voice print edition April 8, 2011.


text:
SAN JOSE -- Steve Bartkowski is the one that people forget. Not all the time. But too often.
With all due respect to Western Pennsylvania, I'll stick with Bay Area high schools when it comes to churning out future NFL star quarterbacks. Jim Plunkett would be one example. He's from James Lick High in San Jose. Tom Brady is a graduate of Serra High in San Mateo. Dan Fouts is out of St. Ignatius in San Francisco. John Brodie is a product of Oakland Tech.
You might make your own list. There are many candidates. What about Jeff Garcia from Gilroy High? Craig Morton from Campbell High? Jim McMahon, who spent time at Andrew Hill High in San Jose?
And then there is Bartkowski. He was the top pick of the 1975 NFL draft (ahead of Walter Payton). He led the Atlanta Falcons to the franchise's first playoff game and victory. He was twice selected to the Pro Bowl and led the league in passing.
Still, for all that, Bartkowski tends to slip through the cracks in terms of Bay Area name association. It's probably because he played his high school ball at ... um, where was it again?
See, there's the problem. Buchser High in Santa Clara no longer exists. Bartkowski's alma mater was dissolved in 1981 because of downsized student enrollment in the city.
I should note, however, that Bartkowski's former attorney and agent Leigh Steinberg has another theory.
"What I tell people," said Steinberg, "is that Steve was so dynamic in sports and everything else at Buchser, they thought it was unfair to have younger people compare themselves to him. So they shut the school down."
Steinberg was joking. But it could almost be true. Bartkowski was a three-sport star at Buchser. He scored more than 50 points in some basketball games. But colleges recruited him in baseball and football. Bartkowski picked Cal and became an All-American there in both sports before joining the NFL. The subsequent prominence of quarterbacks who followed him at Berkeley -- Joe Roth, Kyle Boller, Aaron Rodgers among them -- also might have served to dissipate Bartkowski's achievements.
Which is too bad. In terms of pure all-around athleticism, Bartkowski was better than them all. If history has indeed dimmed his legend, the San Jose Sports Hall of Fame will attempt to rectify the matter Wednesday night. Bartkowski will be inducted into the Hall along with three other prominent former South Bay sports figures -- soccer's Brandi Chastain, golfer Roger Maltbie and auto racing pioneer Willy T. Ribbs.
Steinberg will tell you the induction is long overdue.
"When he was in college, Steve once stood in the end zone and threw the ball 100 yards to the other end zone," Steinberg said in a video interview recorded for Bartkowski's induction. "I don't think there is anybody in the NFL today that has the arm strength Steve had."
"It would be like a Ben Roethlisberger, maybe," Steinberg said. "Steve was more of a classic dropback passer with a real touch but willing to hang in there against everything. He was so strong that one time ... well, the Rams had a killer tackler named Isiah Robertson, a linebacker, and he ran into Steve as hard as he could and just bounced off him and fell down. Steve stood erect and completed the pass."
Steinberg, a recovering alcoholic who is successfully reconstituting his sports representation agency in Southern California after enduring some financial setbacks while battling his disease, will admit that he feels a special devotion to Bartkowski. Why? Because he was Steinberg's first client.
The two men met the day Bartkowski moved into his Cal living quarters. Steinberg, then a graduate student, was the dorm's resident counselor. He was captivated by the way Bartkowski drew all sorts of people to him as a charismatic personality.
"And this was Berkeley in the '70s, remember," said Steinberg. "If you walked up to someone on campus then and told them you were an All-American quarterback, they would say, 'Gee, Steve, that's great if you're into that hyperaggressive Neanderthal type of behavior.' "
That could be another reason Bartkowski might fly under the radar when discussing famous Bay Area athletes: He starred for Cal during an era when football was not much celebrated. The Bears never went to a bowl game in his three years at quarterback. He played for losing teams as a sophomore and junior before his breakout senior season, when he threw for 12 touchdowns on a 7-3-1 team.
Atlanta called his name with the overall No. 1 draft selection. By then, Steinberg had earned his law degree. Bartkowski needed an agent. He chose his former dorm counselor.
"My life was immeasurably changed," said Steinberg, who in the video to be played at Wednesday's induction dinner will also thank Bartkowski for "saving me from a life of corporate litigation drudgery."
Bartkowski, meanwhile, went on to a memorable 12-year professional career -- all but one of them with a Falcons franchise that, until his arrival, was persistently mediocre. Bartkowski led the league in passing touchdowns during the 1980 season and is still Atlanta's all-time passing yards leader. Additionally, he is enshrined in the "Ring of Honor" at the Georgia Dome.
Buchser High might be gone. But the school's other alums can take pride in knowing that the greatest athlete in their history will also now have a Hall of Fame plaque nailed to the HP Pavilion wall. And just like Bartkowski himself, you won't ever be able to knock it down.


text:
Catch This Snap Higher
One of the unintended side effects of the Federal Reserve banking bailout was the boost given to shares of heavily leveraged companies. 2012 saw record-low borrowing rates, with yield-hungry investors soaking up new issues as long as their coupons were above Treasury-bond levels.
In all, low-quality, high-debt firms outperformed blue-chip names last year. Even junk-rated companies don't have to pay much when raising or refinancing debt, as the chart below shows....270 more words left in this article. To read them, just click below and try Real Money FREE for 14 days.
There's no substitute for a trading floor to get great ideas, so Jim Cramer created a better one at Real Money and blogs there exclusively. We then added legendary hedge fund manager, Doug Kass, with his exclusive Daily Diary and best investing ideas. Staffed with more than 4 dozen investing pros, money managers, journalists and analysts, Real Money Pro gives you a flood of opinions, analysis and actionable trading advice found nowhere else, and allows you to interact directly with each expert.
Already a Subscriber? Please login.


text:
By Don Denoncourt, AWS Community Developer
In this article, you develop a Grails-based Web application with which you can browse, add, delete, upload, and download your Amazon Simple Storage Service (Amazon S3) objects. Along the way, you get an introduction to Grails and the Amazon Web Services (AWS) software development kit (SDK) for Java. In 20 or 30 minutes, you'll have the browser for Amazon S3 running on your system:
Generating the Browser for Amazon S3 with Grails
Grails is an amazing framework that provides rapid application development (RAD) for Web applications. One of the cool features of Grails is its ability to generate the infrastructure for an entire application in seconds. Then, after creating a simple domain class, Grails can generate the artifacts required to provide Web-based maintenance for that domain.
You can download the latest Grails release from Grails - Downloads, then extract the .zip file to a local directory (I typically use
/opt/grails on UNIX and
C:\opt\grails on Windows). Grails requires Java SDK 5.0 or later. I usually extract my Java downloads to
/opt/java on UNIX and
C:\opt\Java on Windows.
With Grails and Java installed, you set up set up
GRAILS_HOME and
JAVA_HOME environment variables so that they point to their prospective installation directory. Then, modify the
PATH environment variable to reference the Grails and Java bin directories. (See Grails - Installation for more information on installation.)
To create the browser for Amazon S3, you'll cheat a bit by asking the Grails framework to generate the application infrastructure complete with controller classes and fully styled Web pages. To do that, perform the following steps:
- Use Grails to generate the maintenance infrastructure, including controller classes and HTML pages.
- Create two domain classes
BucketObjectthat roughly approximate basic information about Amazon S3 buckets and bucket objects.
- Use the Grails embedded test server to review the functionality of the generated application.
- Replace the Grails-generated object retrieval, update, and delete logic with application programming interface (API) calls to methods from the classes in the AWS SDK for Java.
- Test the browser for Amazon S3 with live Amazon S3 buckets.
Note: You can really cheat by downloading the completed version of the Grails application. You will have to modify the
AwsCredentials.properties file, change your current directory (in a command window) to the extracted location, and then follow the instructions at Using the Amazon S3 Browser.
Generate the Infrastructure
Begin by asking Grails to generate the infrastructure for the application. Open a shell (Windows command window or UNIX shell), and navigate to a directory in which you want the application's root directory to be generated. Type the following Grails command:
grails create-app s3browser
Grails creates the complete infrastructure for a Spring-based Web application. At this point, you could test the application, but it does little more than throw up an index page.
Create the Domain Classes
Your next step is to add a couple of domain classes. You could create the files yourself, but let Grails do the work, instead. In your shell window, change your directory to the newly generated
s3browser directory, and use the Grails
create command to generate domain objects called
Bucket and
Note: The Grails project is Eclipse ready in that you can import it directly into an Eclipse workspace. NetBeans and IntelliJ also have excellent support for Grails development.
cd s3browser grails create-domain-class Bucket grails create-domain-class BucketObject
Note: When the Grails generator prompts you with a warning about packages, type
y for "yes." You want to keep things simple for now.
Grails generates the skeletons for those classes in the
grails-app/domain directory. Grails also generates unit tests, but you need not concern yourself with those yet.
class Bucket { static constraints = { } } class BucketObject { static constraints = { } }
Using your favorite text editor, modify the domain classes
class Bucket { String id String owner static hasMany = [bucketObjects:BucketObject] static mapping = { id generator:'assigned', column:'name', type:'string' } static constraints = { } }
class BucketObject { String id Date lastModified String contentType int contentLength static belongsTo = [bucket:Bucket] static mapping = { id generator:'assigned', column:'key', type:'string' } static constraints = { } }
Now, generate the maintenance application by typing the following code in your shell window:
grails generate-all Bucket grails generate-all BucketObject
Test the Application's Functionality
The application is ready to test, but you have to have something to display. So, add some dummy objects into the Grails start-up script. Edit the
grails-app/conf/BootStrap.groovy file as follows:
class BootStrap { def init = { servletContext -> def bucketObject1 = new BucketObject( lastModified:new Date(), contentType:'text/plain',contentLength:12) bucketObject1.id = 'key1' bucketObject1.save() def bucketObject2 = new BucketObject(lastModified:new Date(), contentType:'text/plain',contentLength:12) bucketObject2.id = 'key2' bucketObject2.save() def bucket = new Bucket(id:'one', owner:'me') bucket.id = 'one' bucket.save() bucket.addToBucketObjects(bucketObject1) bucket.addToBucketObjects(bucketObject2) bucket = new Bucket(id:'one', owner:'me') bucket.id = 'two' bucket.save() } def destroy = {} }
Now, you can test the application. Again, from the command line, run the Grails test server:
grails run-app
Then, test the generated application from your browser:
Click the BucketController link to access your bucket list:
In the ID column, click one to display a list of bucket objects:
Working with the Generated Code
Now that you've let Grails set up the infrastructure for your browser for Amazon S3, you can make a few changes to get the application to work with live Amazon S3 data. But, before getting into that, let's review the artifacts that Grails generated to manage
Bucket objects:
The important artifacts are the two Groovy classes under
/grails-app/controller, the two classes under
/grails-app/domain, and the Groovy Server Pages (GSP) under
/grails-app/views/bucket and
REST Easy with Grails
Grails uses a RESTful ModelViewController (MVC) strategy. For example, take the URL
http://localhost:8080/s3browser/bucket/list. The component parts of the URL are interpreted as follows:
/s3browser. The good old context root
/bucket. By Grails convention, directs the request to
BucketControllerfor handling
/list. By Grails convention, specifies the name of the action
BucketControlleris to invoke
BucketController consists of a set of actions that respond to HTML form actions. The actions are implemented as Groovy closures. If you are not familiar with closures, you can think of them as methods.
The following table describes the actions of
|Build a list of
Bucket objects from the relational database with built-in pagination.
|Instance a
Bucket object from the relational database to be displayed for update.
|Perform validation on
Bucket object attributes, and persist the changes to the database.
|Retrieve a
Bucket object from the relational database for display.
|Retrieve a
Bucket object from the relational database for update.
|Update a
Bucket row in the relational database from HTTP request parameters.
|Delete a
Bucket row in the relational database.
The following table describes the GSP that Grails generates:
update, and
delete operations as well as list generation on
Bucket objects
|Displays a new
Bucket object in edit mode
|Displays an existing
Bucket object in edit mode
|Displays a paginated list of
Bucket objects
|Displays a
Bucket object with options to edit or delete
You may have noticed that the GSP file names matched the names of the controller's actions. That's Convention-Over-Configuration (CoF) at work. A Grails controller action, unless explicitly specified with
render(view:'gspName'), will build the page whose name matches the controller's action name.
Grails also generated, for maintenance of
BucketObject objects, a
BucketObjectController.groovy file and its associated
list, and
show GSP elements.
The AWS SDK for Java
The first step in modifying the generated code to work with Amazon S3 objects is to download the AWS SDK for Java. After extracting the AWS SDK, copy each of the following Java archive (JAR) files to your
s3browser/lib directory:
In your
s3browser/src/java directory, create a file called
AwsCredentials.properties, and add your AWS access key and secret key:
accessKey=<Your_Access_Id> secretKey=<Your_Secret_Key>
The BucketController
The Grails-generated actions of the
BucketController use Grails Object Relational Mapping (GORM) calls to create, read, update, and delete rows from a relational database. You'll continue to use the same actions, but you'll replace the use of the GORM API with the AWS SDK for Java.
Replace the entire contents of
grails-app/controllers/BucketController.groovy with the following code:
import com.amazonaws.auth.PropertiesCredentials import com.amazonaws.services.s3.AmazonS3 import com.amazonaws.services.s3.AmazonS3Client class BucketController { private static AmazonS3 s3; def beforeInterceptor = { if (!s3) { s3 = new AmazonS3Client(new PropertiesCredentials( this.class.getResourceAsStream("AwsCredentials.properties"))); } } def list = { [buckets:s3.listBuckets()] } def create = { } // show GSP def save = { if (!s3.doesBucketExist(params.bucketName)) { s3.createBucket(params.bucketName); flash.message = "bucket ${params.bucketName} created" } else { flash.message = "bucket ${params.bucketName} already exists" } redirect(action: "list") } def show = { redirect(controller:'bucketController', action: "list") } def edit = {render "edit implemented" } def update = {render "update not implemented" } def delete = { try { s3.deleteBucket(params.bucketName) flash.message = "Bucket ${params.bucketName} deleted" } catch (Exception e) {flash.message = e } redirect(action: "list") } }
private static AmazonS3 s3 object that is instanced in
beforeInterceptor is the controller's hook to your Amazon S3 objects. Amazon knows which Amazon S3 buckets you own from the access and secret keys you placed in the
AwsCredentials.properties file. The
beforeInterceptor closure does what you might guess: Before any of the action closures of the
BucketObject are invoked, the
beforeInterceptor's code is executed.
The following table describes the Amazon S3 functionality that replaces the Grails-generated GORM code in the
BucketController's actions:
|This terse closure simply creates a hash map with a value retrieved from a call to
AmazonS3.listBuckets(). That map is then automatically passed to
list.gsp for rendering.
|This noop closure is simply a placeholder. RESTful requests to the
create action are forwarded to
create.gsp. Subsequent HTTP posts from
create.gsp are handled by the
save action.
|This action double-checks for the bucket's existence before creating a new bucket. An HTTP redirect is made to the
list action to rebuild the list of buckets. Note the
flash.message string, if it exists, will be displayed on the
list page.
|The contents of an Amazon S3 bucket is the list of bucket objects that it contains. The
BucketObjectController knows how to do that, so a redirect is made to its
list action.
|This action is not implemented. Amazon S3 objects are not edited, they are replaced.
|This action is not implemented. Amazon S3 objects are not updated, they are replaced.
|Delete a
Bucket object using the
AmazonS3.deleteBucket method.
In your
grails-app/view/bucket directory, delete the
edit.gsp and
show.gsp files, and then, in
grails-app/views/bucket/list.gsp, replace the contents of the

 division with the following:

id	Create Date

 <g:each in="${buckets}" status="i" var="bucket">
 <g:link action="list" controller="bucketObject" id="${bucket.name}">${bucket.name}</g:link> 	 ${bucket.creationDate}
 </g:each>

Then, delete the

 division in
Next, replace the entire contents of
create.gsp with the following:
  <g:if test="${flash.message}">
${flash.message}
 </g:if> <form action="save" method="post">
Create Amazon S3 Bucket
 Name: <input type="text" name="bucketName"/>
 <input type="submit" value="Create"/> </form>
The Bucket Object Controller
Now, you're ready to move on to the slightly more complex operations of dealing with Amazon S3
Bucket objects.
Replace the entire contents of
grails-app/controllers/BucketObjectController.groovy with the following:
import com.amazonaws.auth.PropertiesCredentials import com.amazonaws.services.s3.AmazonS3 import com.amazonaws.services.s3.AmazonS3Client import com.amazonaws.services.s3.model.GetObjectRequest import com.amazonaws.services.s3.model.ObjectMetadata import com.amazonaws.services.s3.model.ListObjectsRequest import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; class BucketObjectController { private static AmazonS3 s3 private static PropertiesCredentials awsCreds def beforeInterceptor = { if (!s3) { awsCreds = new PropertiesCredentials( this.class.getResourceAsStream("AwsCredentials.properties")) s3 = new AmazonS3Client(awsCreds); } } def list = { params.max = Math.min(params.max ? params.int('max') : 5, 100) def bucketObjects if (flash.bucketObjects && params.page == 'next') { bucketObjects = s3.listNextBatchOfObjects(flash.bucketObjects) flash.page += 1 } else { def lstObjReq = new ListObjectsRequest() lstObjReq.setBucketName(params.id) lstObjReq.setMaxKeys(params.max) bucketObjects = s3.listObjects(lstObjReq) flash.page = bucketObjects?.isTruncated()?1:0 } if (bucketObjects?.isTruncated() ) { flash.bucketObjects = bucketObjects } else { flash.bucketObjects = null } def bucketObjectsSummaries = bucketObjects?.objectSummaries def metadataList = [] bucketObjectsSummaries.each {bos -> metadataList << s3.getObjectMetadata(bucketObjects.bucketName, bos.key).metadata } [bucketName:params.id, bucketObjectsSummaries:bucketObjectsSummaries, metadataList:metadataList] } def create = { def now = new Date()+1 def policy = """{"expiration": "${now.format('yyyy-MM-dd')}T${now.format( 'hh:mm:ss')}Z", "conditions": [ {"bucket": "$params.id"}, ["starts-with", "\$key", ""], {"acl": "private"}, {"success_action_redirect": "${g.resource(dir: '/', absolute:'true')}bucketObject/list/${params.id}"}, ["starts-with", "\$Content-Type", ""], ["content-length-range", 0, 1048576] ] }""".replaceAll("\n","").replaceAll("\r","") .getBytes("UTF-8").encodeBase64().toString() Mac hmac = Mac.getInstance("HmacSHA1") hmac.init(new SecretKeySpec(awsCreds.getAWSSecretKey() .getBytes("UTF-8"), "HmacSHA1")); String signature = hmac.doFinal(policy.getBytes("UTF-8")) .encodeBase64().toString() [policy:policy, signature:signature, params:params, awsAccessKeyId:awsCreds.AWSAccessKeyId] } def save = {render "save not implented" } def show = { params.max = params.max ? params.int('max') : 10000 params.offset = params.offset ? params.int('offset'):0 ObjectMetadata meta = s3.getObjectMetadata(params.bucketName, params.key) GetObjectRequest getObjReq = new GetObjectRequest(params.bucketName, params.key) getObjReq.withRange(params.offset, params.max+params.offset) [text:s3.getObject(getObjReq).objectContent.text,meta:meta.metadata, params:params] } def download = { response.contentType = "application/octet-stream" response.outputStream << s3.getObject(params.bucketName, params.key).objectContent } def edit = {render "edit not implemented" } def update = {render "update not implented" } def delete = { s3.deleteObject(params.bucketName, params.key) flash.message = "bucket: $params.bucketName key: $params.key deleted." redirect(action: "list", id:params.bucketName) } }
You will be modifying the
list, and
show GSPs, but go ahead and delete
edit.gsp. You won't need the edit page, as you don't edit Amazon S3 objects: You can only replace the contents of an existing Amazon S3
Bucket object.
Amazon S3 Bucket Object List Processing
list action of
BucketObjectController uses several of the overloaded Amazon S3
listObjects methods. But because a bucket could contain innumerable objects, pagination is required. The Amazon S3 version of the
list action could not easily use the standard Grails pagination facilities. The
ListObjectsRequest parameter to the Amazon S3
listObjects(ListObjectsRequest listObjectsRequest) method has attributes for bucket name and the maximum number of keys (of bucket objects) you want returned.
list closure sets the maximum key value to the default of 5 (you probably want to change that to a more reasonable number, like 10 or 20). The
listObjects method returns an
ObjectListing object that has an
isTruncated() method. With
list action, if the returned
isTruncated() is true, the
list action stores the
ObjectListing to the Grails flash scope.
The existance of
flash.bucketObjects is then used to predicate the
Next button in
list.gsp. And, when the
list action responds to a Next or First button click,
flash.bucketObjects is used to predicate the use of
listNextBatchOfObjects(ObjectListing previousObjectListing). Also, so users know where they are in the list, a page number is kept in flash and displayed on the pagination line of
Note: Objects with the Grails' flash scope are retained for two HTTP request cycles.
The Bucket Object's List Page
grails-app/views/bucketObject/list.gsp, replace the

 and

 divisions with the following:

id	 last modified	content type	content length	Download

 <g:each in="${bucketObjectsSummaries}" status="i" var="bucketObj">
 <g:link action="show" params="[bucketName:bucketObj.bucketName,key:bucketObj.key]"> ${bucketObj.key}</g:link>	 ${bucketObj.lastModified}	 ${metadataList[i]['Content-Type']}	 ${metadataList[i]['Content-Length']}	 <g:link action="download" params="[bucketName:bucketObj.bucketName,key:bucketObj.key]"> download</g:link>
 </g:each>

 <g:form action="delete" controller="bucket" method="post"> <g:hiddenField name="bucketName" value="${bucketName}" /> <g:submitButton class="delete" name="delete" value="Delete Entire Bucket" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" /> </g:form>
 <% if (flash.page) { %>
 First Page: ${flash.page} <% if (flash.bucketObjects) { %> Next <% } %>
 <% } %>
One last change to
list.gsp: So that the
list action knows the bucket name to list, add the following
id attribute setting to the
<g:link class="list" action="list"> tag that is inside

:
Note: You could easily add search to your Amazon S3 Bucket Object list by using
AmazonS3.listObjects(String bucketName, String prefix).
Uploads to Amazon S3 Using HTML Post
create action builds the information necessary for Amazon S3 to accept an HTML post. Amazon requires the post to contain, among a few other things,
policy and
signature parameters. The
policy parameter is a JavaScript Object Notation (JSON) string that must be Base64, and the
signature needs to be encrypted using your Amazon secret key. The more important values in the
policy JSON string to pay particular attention to are:
bucket. This is the name of the bucket.
content-length-range. Use this value to limit the upload bytes.
expiration. This is the time at which this HTTP
postrequest would no longer be valid. This application sets it to a day later, but you might set it to 5 or 10 minutes later for a tighter security measure.
succes_action_redirect. The request goes to Amazon, not this Web application. Amazon needs the URL of a page to display when the upload is complete.
succes_action_redirect setting bears extra mention, as well. The Grails
grails-app/conf/Config.groovy file has a setting called
grails.serverURL. When in development mode, it is set to
http://localhost:8080/<Your_App>. But, for production, you will have to set the proper domain and context root in
The Amazon HTTP Post strategy is described in great detail in Browser Uploads to S3 using HTML POST Forms. But whereas the article provides Ruby, Java, and Python code examples,
create action gives you a groovier example.
The Bucket Object Upload Page
In your
grails-app/view/bucketObject directory, delete
edit.gsp. Then, replace the entire contents of
create.gsp with the following:
     <form action="https://${params.id}.s3.amazonaws.com" method="post" enctype="multipart/form-data" onsubmit="setS3BucketObjectKey();" > <input type="hidden" name="key" id="key"/> <input type="hidden" name="AWSAccessKeyId" value="${awsAccessKeyId}"/> <input type="hidden" name="acl" value="private"/> <input type="hidden" name="success_action_redirect" value="${(g.resource(dir: '/',absolute:'true')+'bucketObject/list/'+params.id)}"/> <input type="hidden" name="policy" value="${policy}"/> <input type="hidden" name="signature" value="${signature}"/> <input type="hidden" name="Content-Type" value="text/plain"/>
Amazon S3 Bucket: ${params.id}
 Select file to upload: <input type="file" name="file" id="file"/>
 <input type="submit" value="Upload"/> </form>
Note: If you would like to upload a file to Amazon S3 directly from your application instead of an HTTP
post, use the following command:
s3.putObject(new PutObjectRequest('<Bucket_Name>', timeFormat.format(new Date()), new File('<your_local_file_name>'))
Displaying a Bucket Object
Bucket objects can contain huge amounts of data, and that data can be in any format. But the browser for Amazon S3 blatantly displays any Amazon S3 object data in a

 tag of
show.gsp. So, the browser for Amazon S3 has to provide pagination when showing the contents of a bucket object. Luckily, unlike the
list action, the
show action is able to use standard Grails pagination. Grails uses two HTTP request parameters
max and
offsetto control the number of objects to display and keep track of where to start retrieving the next set of objects. With GORM/Java Database Components (JDBC),
max stored the count of domain objects to display, and
offset stored a row number. But with
show action,
max is the number of bytes to display, and
offset is the index of the Amazon S3 bucket objects' byte contents. You certainly don't want to retrieve the complete contents of a 1-GB MySQL backup for display!
Among the
AmazonS3.getObject()'s overloaded methods is one that takes a
GetObjectRequest object.
GetObjectRequest has a
withRange method, which lets you set the byte range to retrieve. Here's the complete code for
show action:
def show = { params.max = params.max ? params.int('max') : 10000 params.offset = params.offset ? params.int('offset'):0 ObjectMetadata meta = s3.getObjectMetadata(params.bucketName, params.key) GetObjectRequest getObjReq = new GetObjectRequest(params.bucketName, params.key) getObjReq.withRange(params.offset, params.max+params.offset) [text:s3.getObject(getObjReq).objectContent.text,meta:meta.metadata, params:params] }
So, the use of the
withRange method is why displaying an Amazon S3 backup of a 1-GB MySQL dump is not a problem.
show.gsp, replace the

 and

 divisions with the following:

Bucket: ${params.bucketName} Key: ${params.key}
 <g:if test="${flash.message}">
${flash.message}
 </g:if> <g:if test="${(meta['Content-Length'] > params.max)}">
 <g:paginate total="${(meta['Content-Length'])}" max="10000" params="${params}"/>
 </g:if>

${text}

 <g:form> <g:hiddenField name="bucketName" value="${params.bucketName}" /> <g:hiddenField name="key" value="${params.key}" /> <g:actionSubmit class="delete" action="delete" value="${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');"/>  </g:form>

Then, to the
<g:link class="list" action="list"> and
<g:link class="create" action="create"> tags that are inside the

 near the top of the GSP, add an
id attribute setting so that the
BucketObjectController's list action knows which bucket name to list or create:
Odds and Ends
Here are a few odds and ends to finish up the browser.
Changing the Default Page
If the strange Hello Worldstyle default Grails page doesn't show up, edit
grails-app/conf/UrlMappings.groovy to replace
"/"(view:"/index") with
"/"(controller:'bucket',action:"/list"). Now, whenever you go to the root URL or click Home, the bucket list will be displayed.
The Download Option
You may have noticed the download link in the Bucket Object list. That download is implemented with two Groovy statements in a closure called
download in
response.contentType = "application/octet-stream" response.outputStream << s3.getObject(params.bucketName, params.key).objectContent
Using the combined magic of Groovy and Grails, the
InputStream returned from the
AmazonS3Client.getObject() method is left-shifted
<< into the HTTP output response stream. The browser then prompts the user to open or save the file. Between the upload option (invoked by clicking the New Bucket Object button) or the download links, you have a simple way to back up (and version) important files.
Note: If you would like to download a file locally, use the following one-liner:
new File('<your_local_file_name>').append(s3.getObject('<Bucket_Name>', '<Bucket_Key>').getObjectContent())
Deleting Buckets and Bucket Objects
Deletion of buckets and bucket objects is enabled with
Delete links that point to the
delete action of
BucketController or
BucketObjectController. Those links pass the bucket name and (if the deletion is for a
Bucket object) the object's key. The Controller code is trivial.
delete action simply executes the following:
s3.deleteObject(params.bucketName, params.key)
delete action then puts an informational message in the flash scope and redirects to the
list action. Subsequently, the
list.gsp page displays the deletion message.
delete action does pretty much the same thing as
BucketObjectController, except that it wraps
s3.deleteBucket(params.bucketName) in a try/catch block. I found that I had to add the try/catch to monitor for the Amazon "The bucket you tried to delete is not empty" error. If an error occurs, the
delete action stuffs the message in the flash scope and redirects to the
list action.
There are a couple of areas where the browser for Amazon S3 application could be improved:
- Add error handling. (To keep the code terse, I added error handling only where explicitly required.)
- Add the
updateoperations back into the Bucket controller to maintain ACL, logging, and versioning information.
- Add the
updateoperation back into the Bucket Object controller to maintain standard Amazon S3 metadata and custom user metadata.
- Add search facilities to the Bucket Object controller using
- Add pagination to the bucket list.
Using the Browser for Amazon S3
The browser for Amazon S3 is now ready. You can run it locally by running the Grails embedded server in your shell window:
grails run-app
Then, test the generated application from your browser from
Or, you can create a Java 2 Platform, Enterprise Edition (J2EE) Web archive (WAR) file with:
grails war
and deploy the Amazon S3 browser application to your favorite Java servlet container.
The Browser for Amazon S3's Bucket List Home Page
The Amazon S3 Bucket List displays all the buckets you own. If you click New Bucket, you will be prompted for the name of the bucket you want to create. The browser for Amazon S3 application will add the bucket (or display an error, such as "The bucket already exists") and rebuild the Bucket Object List to show the newly added bucket.
Create a Bucket Prompt
On the home page (the Amazon S3 Bucket List,) if you click one of the Bucket Object links, a paginated list of the objects in that bucket is displayed.
The Amazon S3 Bucket Object List
Click one of the bucket object links to see a paginated list (where each page is 10,000 bytes) of the contents of that object.
The Amazon S3 Bucket Object Display
The Bucket Object page, in addition to pagination buttons, has a New BucketObject button and a Delete button. A click of Delete deletes the object for the Amazon S3 bucket and redisplays the Amazon S3 Bucket Object List. A click of New BucketObject prompts you with the Amazon S3 Bucket Object Create page.
The Amazon S3 Bucket Object Create Page
The Create page's HTTP
post goes directly to Amazon, so the page is built with the Amazon S3required encryption policy and signature variables. When you have selected a file to upload and click Upload, Amazon adds the bucket and redirects your browser to the browser for Amazon S3's Bucket Object List.
If, on the Amazon S3 Bucket Object List, you click one of the download links, the browser for Amazon S3 application pulls the object from Amazon and passes it to the browser, where you will be prompted to save the file.
The S3 Bucket Object Download Page
The Download page is self-explanatory.
Stats and Usage
The browser for Amazon S3 application gives you a simple interface with which to manage your Amazon S3 objects. You pay Amazon to store those objects, but without a browser, the number and size of your Amazon S3 objects can easily get out of control. It's also nice to have a simple facility to quickly back up, restore, or transfer files. For example, I've been using the browser for Amazon S3 to save some of the oddball files I have from spread sheets to MySQL dumps.
What is impressive about Groovy and Grails is that this application contained a mere 127 lines of code (not counting the HTML.) Grails generated the application infrastructure, mananged the REST-based MVC architecture, and provided the simplified user interface of GSP. Groovy made the interface with the AWS SDK for Java trivial.
Regardless of whether you use the browser for Amazon S3, a benefit of this article is that it provides a tutorial on the use of the AWS SDK for Java. You now have a kit-bag of 13 liners of Groovy code that gives you easy access to maintenance operations on your Amazon S3 objects.


text:
found a new home!
Plenty of my friends are looking
for one too. Find a pet to adopt.
****My adoption fee is $325.****
The Animal Rescue Project (www.animalrescueproject.org) is committed to the best possible veterinary care for the pets it rescues and it is looking for adopters who will be similarly committed.
All dogs and puppies are given a general check-up when they enter our program. They receive medication to remove any intestinal parasites (worms), fleas, and ticks they may have. Dogs greater than six months of age are checked for heartworm. If heartworm positive, the Animal Rescue Project treats the disease. Dogs and pups receive all age-appropriate vaccinations for distemper, and dogs greater than four months of age are also vaccinated for rabies, in compliance with State of Michigan laws.
Most dogs and older puppies are spayed or neutered before adoption. In the case of puppies not old enough to be safely sterilized, a $50 deposit is required at the time of adoption and is refunded to the adopter with proof of sterilization.
The Animal Rescue Project requires every adopter to establish an active relationship with a veterinarian no later than 10 days after adoption. Adopters will receive a plan for routine veterinary care at the time of adoption and are expected to work with their vet to complete the plan.
Diva, a Kalamazoo Terrier (Unknown Type, Medium) dog was adopted! Here's how you can benefit by looking at adoption as an option to buying a Terrier (Unknown Type, Medium) for sale in Kalamazoo, or seeking a Terrier (Unknown Type, Medium) dog from a breeder in Kalamazoo.


text:
Our mission is to save as many animals as possible, removing them from the shelter, having their veterinary needs met prior to traveling and then finding them loving homes throughout New England. We do this only with the assistance of many people volunteering their time by going to the shelter, transporting the dogs to the vet, fostering dogs who need special care, and arranging for their new and happy homes in this area. Most importantly, we cannot do any of this without those people willing to open their homes and hearts to these lovely creatures.
Interested in adopting this wonderful dog? Please visit our website and complete an online adoption application.
The adoption donation covers all pre-adoption vet costs (general health exam, vaccinations, heartworm testing/treatment when necessary)
Puppies under the age of 4 months will not be spayed/neutered prior to adoption upon advice of our veterinarians; small dog breeds may not be altered prior to six months if size prohibitive. Paw New England has a spay/neuter program in place with partner vets or if adopter chooses veterinarian of their own choice, reimbursement of $60.00 provided to adopter.
Thank You!
Your message has been sent to PAWS NEW ENGLAND.
You'll receive a copy, too, at to help you keep track of which pets you've inquired about, and which shelters and rescues you've emailed.
NOTE: Some shelters have physical locations you can visit; some of these shelters may only have pets for a limited time, so please do not wait for a reply—just go visit the shelter! Other organizations are rescue groups run by busy volunteers who may take a while to reply. You can find information about the shelter or rescue group caring for this pet, and their adoption procedures, on the pet's details page on Adopt-a-Pet.com.


text:
Pacers get: Paul Millsap, Ben Wallace, #2 pick Derrick Williams
Jazz get: Granger, Fran. Garcia, Udrich
Kings get: Hamilton, Raja Bell, #12 pick
Pistons get: James Posey, Okur
Twolves get: Biyombo with #8 pick, #15 pick and rush or jones
Pistons trade Rip's contract away for 2 exprings.
Pacers get Derrick Williams to replace Granger . Ben Wallace is an expring and a backup center. Millsap is now the starting PF.
Kings aquire Rip and Bell while clearing our their own bad contracts in Udrich and Garcia while picking up the #12 pick for a chance to draft Jimmer and keep their #7 pick.
Jazz trade for a star wing and great backups .
Wolves are said to have interest in Biyombo even thinking about taking him with the 2ndpick. Khan now owns the 8th, 15th and 20th picks. He loves his draft picks.
Pacers come away with Derrick Williams, Paul Millsap, and Ben Wallace for basically just Granger and #15 pick. ( Pacers would aqquire #8 pick fist then trade it to Minnisota for #2 pick along with #15 and Rush or D. Jones)


text:
Welcome to the Muppet Central Forum!
You are viewing our forum as a guest. Join our free community to post topics and start private conversations. Please contact us if you need help with registration or your account login.
"I Am Big Bird: The Caroll Spinney Story" documentary in development
Discussion in 'Henson People' started by Phillip, Mar 23, 2012.
- Thread Status:
- Not open for further replies.
Page 1 of 14
Page 1 of 14
- Thread Status:
- Not open for further replies.


text:
Customer Service
Customer Service
Whether you want to check on an order, ask a question or need to contact Olympus, we're here to help.
Whether you want to check on an order, ask a question or need to contact Olympus, we're here to help.
Order Status
We know you're excited about your latest Olympus purchase. Check your order status once it ships to track your delivery.
Find answers to frequently-asked-questions by users like you.
Contact us
We're here for you! Get in touch with an Olympus expert via mail, email or phone.
Contact Olympus
Order Support
We are happy to assist you with your product order, Olympus Rewards and any other order-related questions.
Call: 1-800-201-7766 (Monday-Friday, 9am-5pm ET)
Email: email@example.com
Technical Support
We are happy to assist you with technical or repair related questions.
Call: 1-888-553-4448 (Monday-Friday, 9am-9pm ET)
Email: Product Support
We are closed on weekends and most national holidays such as Thanksgiving, Christmas and New Years Day.
Service & Technical Support
Customer service is available via phone and email for all Olympus consumer products.
International Orders
- Only orders with USA billing and shipping addresses can be accepted at the Olympus Store.
- If you are attempting to place an order from Puerto Rico, please note that we are temporatily unable to ship product to this location. We are working on a solution that should be in place shortly. Please contact firstname.lastname@example.com for additional information.
- Shopping in Canada? Visit the OLYMPUS STORE CANADA.
- For additional international Olympus buying options, please visit OLYMPUS.COM.
Tax Exempt Orders
The Olympus Store accepts tax exempt orders submitted from all organizations with a valid Tax Exempt certificate. VIEW DETAILS.
The Olympus Store will accept returns within 30 days of the original ship date according to the terms and conditions of this policy.
Prior to returning your product Olympus recommends:
- Calling technical support first at 1-888-553-4448 (Mon-Fri, 9am-9pm ET) if your product is not working.
- Or, visit Support for online support or view our FAQ'S for assistance.
"Build Your System" Returns:
If a customer returns any lens purchased under the "Build Your System" lens promotion, Olympus shall refund customer the amount equal to the price of the lens minus the discount/rebate received by the customer under the promotion for such lens. If a customer returns a camera body purchased under the "Build Your System" lens promotion, Olympus shall refund customer the purchase price of the camera minus any discount/rebate received by customer for any lens purchased under the promotion. Should the discounts/rebates received exceed the purchase price of the camera, no refund shall be provided to customer. If customer returns all products purchased under the "Build Your System promotion", customer will receive a 100% refund of the purchase price customer paid for such products.
Olympus Gear Shop Returns:
Olympus logo branded merchandise must not be worn, altered, or washed. Items must have all original labeling and tags attached and include the original poly bag and/or product packaging in which such product was shipped. Please note that select Olympus Gear Shop merchandise that is marked as "final sale", "no returns" and/or "non-refundable" is not eligible for any refund/credit.
Additional Terms, Conditions and Restrictions:
- Original and return shipping and handling fees are non-refundable.
- If returning "Label A" items AND "Label B" items, please make a photocopy of the return form and include such copy within each package of returned merchandise your are shipping.
- Software & DVD's: Opened software and DVD's cannot be returned.
- All returns are subject to our Return Policy.
- To submit your product for return, please download and complete the Olympus Return Form.
- Please allow approximately 25 business days to process a credit from the date we receive it back.
- If you have any questions about exchanges or returns, please contact us.
If you are ready to return your product please follow the following steps:
- Review the terms and conditions above for returns related to "Build Your System" products, "Olympus Gear Shop" products, and Software & DVDs' as some items have special return procedures, criteria and return locations.
- Fill-in the requested information on the return form, make a copy of the form for yourself and enclose the form with your return.
- Repack item(s) in its original packing material and include all accessories and literature that came with the product.
- Determine which return shipping label you need from the 2 options on the form and provide the requested information.
- LABEL A for Cameras, Lenses, Audio, Accessories & Parts.
- LABEL B for Olympus Gear Shop logo branded clothing & merchandise.
- Cut out the respective label and affix it to your package(s).
- Ship your item via any carrier that permits you to track your package(s) and to insure the package(s) against loss or damage in shipping.
- Retain your tracking number to show proof of delivery and allow approximately 25 business days to process a credit from the date we receive it back.
- Speed up processing by emailing a copy of this completed form to email@example.com, subject line: Return Form
Privacy & Security
The ordering information you provide to Olympus will be protected from disclosure to third parties. You may place your order online using our secure server. For your protection, all exchanges of information between your browser and our servers will be encrypted during the checkout process. SSL encrypts the entire transaction making your credit card number and any other information you provide unreadable by anyone on the Internet.
This technology is compatible with most modern browsers. For better security, we recommend upgrading your browser to 128-bit encryption (see your ISP regarding your particular browser), this will provide the highest level of security for any and all of your online transactions and is fully supported by our servers.
Immediately after your order is transferred into our order system, we obliterate the credit card numeric data from our internet transaction history. This eliminates the possibility of accessing it thru an internet browser. We highly recommend that you place orders from a firewall protected PC and security enabled network when placing orders online to protect your PC from outside intruders.
Payment Details
All prices are stated and payable in U.S. dollars.
Prices quoted on the website do not include taxes. Tax will be determined at checkout based on the shipping address. For all orders placed in the United States, we must charge sales tax in all states where sales tax is applicable.
Olympus accepts Visa, MasterCard, Discover and American Express as the payment options for your purchase. Your credit card will not be charged until the product is shipped. However, you will see a pending authorization charge on your statement until it drops off according to your bank's terms. We are unable to process any credit cards that are issued or billed outside of the United States or Canada.
Please mail Check or Money Order to:
Olympus America, Inc.
Attn: Olympus Store
3500 Corporate Parkway
P.O. Box 610
Center Valley, PA 18034-0610
Pre-order Payment and Shipping
Shipping: Orders containing pre-order items will ship in their entirety once all items in the order (pre-order and in-stock items) are available. Please contact the Olympus Store should you require your items to ship separately or as available. Additional shipping charges may apply.
Please note your expected shipping date may change. While we do our best to project the shipping date based on the available information we have at the time, unforeseen circumstances such as delays in manufacturing, ocean shipments, weather, etc. may impact your product's shipping date. In such cases, we will keep your order on backorder until we have available product. If you need your order by a specific time (i.e. for a trip, occasion, etc.), we suggest you contact us within a week of your time frame to discuss product availability and the likelihood of delivery by your event date.
When checking on the status of your order on your account page, please understand that the label "complete" simply means that the order has been successfully submitted into our system. It is not referring to shipment completion. Orders showing "complete" may still be on backorder. Shipped orders will display tracking information through the "Track Your Order" link on the order detail page.
Credit Card Payments: Your credit or debit card will not be charged until your order ships, but it will be authorized for payment at the time of your order. The amount of this temporary authorization may vary and can be up to the full price of the product(s) ordered. The temporary authorization amount may also be reflected in your available credit, but it will not impact your actual balance until the order is ready for shipment.
Depending on the time between when the item is pre-ordered and the shipping/availability date, your credit or debit card may require reauthorization. This is an automatic process. If your payment method is unable to be reauthorized, we will contact you before your order is fulfilled. An alternate payment method may be required at that time.
PayPal Payments: Payments made via PayPal will be debited from your PayPal account or specified PayPal payment source immediately. Cancellation or refund requests for PayPal orders should be made directly to Olympus for the most expedient refund.
Cancellations: To cancel your unshipped order, please call the Olympus Store. Please understand that when you contact us, the order may be packed and ready to ship at our warehouse. At that point we are not able to cancel the order, as it is already processed in our system and sealed on a larger shipping pallet to be picked up by our shipper. We will certainly do our best to determine the exact status and cancel if possible.
Shipping and Handling
Products for sale at the Olympus Store can only be shipped within the United States (including Alaska and Hawaii). Expedited shipping is not available for Alaska or Hawaii. Please note, we are not able to ship to a Freight Forwarder at this time. Any order shipping to a Freight Forwarder will be cancelled.
All orders regardless of ship method chosen require additional time from when they are placed to process.
- Allow 1 business day for new products. Allow 2 business days for recondtioned product.
- Please understand we do our best to shorten the processing time so orders placed by 2pm ET Mon-Fri may ship same day, but is not guaranteed.
- Items will ship as they become available to the order. Therefore, you may receive multiple shipments.
Ground delivery will ship via UPS, FedEx, or USPS mail. Orders requiring Next Day and 2 Day delivery must be placed by 2pm ET Monday to Friday. All orders ship from our warehouse in Swedesboro, NJ (New Product) or Ft. Worth, TX (Reconditioned Product & Parts).
Orders placed on Friday by 2pm ET for Next Day delivery will be delivered on Monday. Orders placed on Saturday or Sunday for Next Day delivery will ship out Monday for Tuesday delivery. For extremely time sensitive orders, we suggest you call us at 1-800-201-7766 (Monday-Friday, 9am-5pm ET).
Shipping and Handling rates for orders are as follows:
|Merchandise Total
|Standard (7-10 days)
|*2 Day (2-3 days)
|*Next Day
|Up to $99.99
|Over $100.00
*BATTERY EXCEPTION - DUE TO NEW FEDERAL REGULATIONS all orders containing additional stand-alone batteries (except if included w/camera) will be shipped GROUND ONLY including your ENTIRE ORDER, regardless of shipping method chosen. To expedite other items, please order the additional battery separately. Batteries cannot be shipped to AK, HI, VI, or PR at this time since we do not currently have a ground shipping method for these destinations.
OLYMPUS shall not be liable for any delay in the delivery of any Products resulting from any cause or circumstance which is not within the control of OLYMPUS, including but not limited to acts of God, acts of the third party delivery service, acts or orders of governmental authorities having or asserting jurisdiction, fires, floods, inclement weather, transportation delays and interruptions as the result of strikes, lockouts, riots or civil disturbances, war, or shortages. Any such occurrence which, directly or indirectly, delays or prevents OLYMPUS' performance will suspend the duty of OLYMPUS to perform during the period that such cause or circumstance continues, and shall extend the time for OLYMPUS' performance by an amount of time equivalent to such delay.
Delivery to Military Personnel
At this time Olympus is unable to process orders for PO, APO or FPO Boxes online, and we apologize for any inconvenience this may cause. To place an order to be delivered to a APO or FPO Box, please call 1-800-201-7766 (Monday-Friday, 9am-5pm EST)
Store Policies and Terms
Olympus is not responsible for errors or omissions in pricing.Olympus reserves the right to limit quantities.
In addition to the above policies, use of the Olympus Store is governed by the following Olympus America terms and policies.