text:
Raymond James & Associates buys 6,075 Coupa Software Incorporated shares (NASDAQ:COUP)
Home»Education»$10 Million in PAsmart Grants Available to Advance Science and Technology Education
$10 Million in PAsmart Grants Available to Advance Science and Technology Education
Secretary of Education Dr. Noe Ortega announced up to $10 million in PAsmart grants are available to prepare students for the fast-growing fields of science, technology, engineering, and math (STEM) and computer science (CS).
"PAsmart is strategically investing in science and technology education so students get the skills they need for the workforce," said Secretary Ortega. "These grants encourage partnerships between schools and businesses to focus on the skills students will need in rapidly growing tech industries."
Governor Wolf launched PAsmart in 2018 and the administration has distributed nearly $60 million statewide to support STEM and computer science education in hundreds of schools and expand job training through registered apprenticeships and industry partnerships.
Pennsylvania remains a leader in STEM education. The grants support high-quality STEM and computer science learning and professional development opportunities to communities across Pennsylvania, including within early learning centers, libraries, out-of-school time providers, career and technical education centers, post-secondary institutions, and K-12 schools.
PAsmart Advancing grants of up to $500,000 each support cross-sector partnerships that provide quality STEM and CS experiences to learners of all ages – early childhood, PreK-12, postsecondary, and adult learners – as part of high-level strategic approaches to workforce readiness.
The grants enable regions to expand STEM ecosystems; grow partnerships between Local Education Agencies, postsecondary institutions, and businesses; expand CS/STEM opportunities to historically underserved populations; and expand the pool of CS/STEM educators at all levels of education.
Advancing grant applications must be submitted to PDE by Monday, March 21, 2022.


Improve search engine rankings and results.
Never miss an opportunity to increase traffic from search.
TheВ SEO tools in Alexa's Marketing Stack help you get better results from search engine optimization. Keyword tools and SEO checkers make it easy to find opportunities to drive more organic traffic.
Uncover new keywords your competitors already get traffic for. Spot trends in your industry.
Uncover link building opportunities by finding sites linking to multiple competitors, but not to you.
Discover low competition keywords your site has the highest chance of ranking for.
Follow on-page SEO best practices with a content SEO test. Find quick fixes to boost performance.
Run a site audit to find and fix technical SEO problems standing between you and more organic traffic.
Know what keywords you are missing out on. Get ideas from keywords that are working well for your competitors.
Discover who is winning the most relevant search traffic. Compare SEO keywords of up to 10 sites to see who has the best keyword profile.
Find topic ideas by comparing keywords shared by sites in your industry. Filter by "keyword gaps" to identify where your site is missing out on traffic.
Discover easy-to-rank keywords your site has the best chance of ranking for. Find low competition keywords within your site's Competitive Power.
Make keyword decisions with confidence you'll get results. Our Competitive Power score helps you choose keywords that are the best opportunities for your site.
Ensure your SEO content follows best practices for on-page optimization. Get an actionable list of opportunities to improve your SEO.
Confirm that your target keyword is in all the right places. Preview your title tag and meta description to see how your content might appear in search engine results.
Get an actionable list of SEO tasks to improve your search engine rankings. Easy-to-follow instructions will help you fully optimize your content.
Uncover missed opportunities to make your site more easily found in search. Check your website SEO health by running a quick technical audit.
Get a clear action plan for fixing SEO problems. Step-by-step instructions make it easy to tackle each item on your list.
Know whether you've successfully tackled your action items. Recurring reports track changes to your grade.


Several times a week, LEVO Health is approached by physician groups or surgery centers looking for help with their website, or ways to increase patient appointments volume. Before each discovery call, our team goes through their online presence and begins to build an online scorecard, highlighting any strengths and weaknesses for discussion during our call.
The most prevalent weakness our analysis shows is that most of these doctors offices aren't fully leveraging online patient scheduling properly – or at all. Tech-savvy consumers and younger populations, such as millennials, don't want to pick up the phone to schedule an appointment if they can do so from their phone or computer. Even more important is, unlike a medical practice's front office, these online patient scheduling platforms work 24 hours a day, 7 days a week.
What Happens if There's No Option to Schedule Online?
Today's healthcare consumers are conditioned to expect information, results, and purchases to be readily available at the click of their mouse. The feelings of instant gratification are no different when ordering a pair of shoes than when finally getting an appointment with a specialist with a 4-week wait list. If the option to schedule an appointment, or at least fill out a request for an appointment online isn't available, these potential patients may head elsewhere.
Regardless of tech-savviness or age, calling the doctor's office to schedule an appointment can be time-consuming. A provider-focused study from the consulting firm Accenture found that, on average, patients spent 8 minutes on the phone with front office staff scheduling an appointment. In comparison, the average time to fill out an online patient appointment request is less than 2 minutes.
How Can Doctor Offices Integrate Online Patient Scheduling Within Their Practices?
The process of integrating an online patient appointments scheduling platform depends on the end goals of the practice, and the capabilities of the staff and current EHR/EMR. While companies like Zocdoc make it easy for practices to integrate online scheduling, the downside is, by design, these companies provide patients access to other doctors from competing medical practices as part of their platform. Groups should weigh the benefits between the ease of implementation, and the potential erosion of patient loyalty to specific doctors. In an effort to capture these potential patients, practices should look for ways to keep patients on their websites as long as possible.
Whether it was paid marketing, organic SEO or other referral sources that brought the potential patient to the practice's website, the hard work has already been done. Now the pathway to scheduling needs to be clearly defined to easily find the right doctor; matched with the patient's symptoms and requested date/times. This way the practice's patient care coordinators can quickly follow up with these potential patients and more easily convert them into patients. Setting up these types of captive online patient scheduling platforms is just a small piece of what LEVO Health does for each client engagement.
If you are interested in learning more about ways that LEVO Health can help your medical practice, surgery center, and multi-specialty clinic implement online patient appointments scheduling, please give our office a call at 855-234-0232.


text:
Dragon Crafts
Jan 1st, 2023
Happy New Year! Before we get too far away from 2022, we want to let you know about some cool things we found at Midwest FurFest last month. Among them was an artist who goes by the name of Straya Obscura. They specialize in dragons, all sorts of colors, all sorts of media: Standees, custom pins, prints, and so forth. But more recently they've branched out into a new and rather unique form of craft: Ita bags and "wing wallets". It's all part of the Dragon Companion series. Visit their web site to find out more, but be prepared to spend some time there — they have a lot of different designs!
image c. 2022 by Straya Obscura
A School for Dragons?
At a recent convention we met self-published fantasy author Amy Wolf. We'll let her describe A School For Dragons, the first book in her Cavernis series: "Mattie Sharp was never special–except when it came to getting in trouble. Then, she was exceptional. So when she falls into a portal and winds up in dragon-filled Cavernis, imagine her surprise when she discovers she's the heir to a magical prophesy and must train to be the hero she never thought she could be. Though Mattie has always been a top student, studying at a school for dragons puts even her to the test! Join Mattie and her crew of new friends as they learn not just how to survive in the world of dragons, but to save it as well." Ms. Wolf has many other fantasy titles for sale as well, and not all of them feature talking dragons. But some of them sure do!
image c. 2022 Lone Wolf Press
Same Canada?
The Oates & The Elphyne is the interesting title of a new full-color graphic novel written and illustrated by Michael Walsh (Comeback). The description goes like this: "The Oates family moves to their ancestral home in Newfoundland following a pair of tragedies.They arrive at their Grandmother's house, where they reunite with their orphaned cousin. Shortly after arriving, Beth, the youngest sibling, is kidnapped by a dark creature. Her older siblings set out to find her and bring her back, finding themselves in the Elphyne—a magical world that exists between the ordinary world and the afterlife. In the Elphyne, the imagination of children has the power to shape everything around them. The children, along with some new allies, must travel through the Elphyne to confront The Dark King, a mysterious being whose arrival has started to corrupt the Elphyne in frightening and unexpected ways. It is up to Beth's siblings to rescue her from his clutches." Not mentioned in that description is the fact those "new allies" include an anthro bear and a winged fairy. It's available now in hardcover from Humanoids.
image c. 2022 Humanoids
Female Flame-Breathers to the Fore
The Sparkle Dragons is a new full-color graphic novel written by Emma Carlson Berne and illustrated by Luke Flowers. "Meet the Sparkle Dragons: The spunkiest crew in all of Princess Puff's queendom! Trixie is fierce with brains and beauty. Rue is tough as nails with a heart of shimmering gold. And, last but not least, Glinda, who often has her head in the clouds, but her out-of-the-box problem-solving can be her strongest asset. With their unique powers combined, they are an unstoppable force! And let's be honest: Fighting off bad guys with glitter beams can be pretty hilarious . . . and sticky!" Do tell. It's available now in hardcover or trade paperback from Harper-Collins.
image c. Clarion Books
Where The Scaled Things Are
Ireland's Cartoon Saloon has done a fine job in the past of providing us with many fine and furry animated movies. (Wolfwalkers, anyone?) Now they're back with a brand new project that's coming soon to Netflix. And the first trailer just dropped: "Netflix has shared a trailer and key art for its highly anticipated upcoming 2D animated feature, My Father's Dragon, inspired by Ruth Stiles Gannett's Newbery-honored children's book of the same name, and directed by Academy Award-nominated director Nora Twomey (The Breadwinner)… In the film a young boy, Elmer, struggling to cope after a move to the city with his mother, runs away in search of Wild Island and a young dragon who waits to be rescued. Elmer's adventures introduce him to ferocious beasts, a mysterious island, and the friendship of a lifetime." Coming to Netflix on November 11.
image c. 2022 Cartoon Saloon
Many Girls Like Ponies, But…
More interesting reads we came across at this year's L.A. Time Festival of Books. The Glitter Dragons — Dragon Girls is a new fantasy series for young readers, written by Maddy Mara. The first book is Azima the Gold Glitter Dragon. "Azmina, Willa, and Naomi are thrilled to learn they're Glitter Dragon Girls. Summoned to the Magic Forest by its magnificent ruler, the Tree Queen, the girls quickly find out their dragon-selves have unbelievable abilities. They can soar above the treetops, breathe glitter-y bursts of fire, and roar loud enough to shake the ground.With this newfound magic comes a big responsibility, however. As Dragon Girls, they are sworn protectors of the forest and must help keep it safe from the troublesome Shadow Sprites, who are determined to take the forest's magic for their own." All this and more are available now in trade paperback from Scholastic. Roar!
image c. 2022 Scholastic
Wish We Had Summer Camp Like That!
Another book series we came across: Dragon Mountain by Katie Tsang and Kevin Tsang. "When 12-year-old Billy Chan finds out his parents are sending him to a summer camp in middle-of-nowhere China, he doesn't know what to expect. There he meets fellow campers Dylan, Charlotte, and Ling-Fei, and together they stumble upon an age-old secret: Four powerful warrior dragons, hidden deep within the mountain behind the camp. They have been trapped since an epic battle with the Dragon of Death and need the children's help to set them free before terrible evil is unleashed on the earth. Billy and his friends must set off on a dangerous adventure that will take them to the heart of the Dragon Realm. But can they save the dragon and human worlds from destruction?" Several titles in the series are out now, available in hardcover and paperback.
image c. 2022 Simon & Schuster
Hard Times for Humans
While we were exploring the LA Comic Con we met John J. Perez, a prolific comic book writer. Among his projects is a comic called Archon, illustrated by Monika Maccagni and Bobby Hernandez and published by Action Lab. "Gareth Thompson, a Vietnam veteran and single father, has just accepted a Security Job at the new fantasy-themed Hotel and Casino, The Archon. On his first day he discovers his co-workers are not simply people in costumes but actual creatures of Myth and Legend hiding in plain sight." More recently though, Mr. Perez has been running a Kickstarter campaign for his new comic series — Social Fiends, illustrated by Javier Martin Caba. "Forty years after the collapse of human civilization vampires and werewolves have crawled out of the shadows to reclaim the day. Fallout blocks out the the sun and sea level rise has made all coastal cities diseased swamps. Hell for humans. Paradise for fiends. In New York City, renamed 'Neoropa', an alliance of fiends have banded together to create a quasi Anarcho-Syndicalist commune. Unfortunately, power corrupts and the vampire elite have placed themselves at the top of the City State's power structure – relegating werewolves to government serfs." John's official web site has information on these and other projects too.
image c. 2022 John J. Perez
Hatching A Plot
Sometimes you really just gotta love the titles of Japanese media creations. Reincarnated As A Dragon Hatchling. You're going to remember that one, yes? And it perfectly describes this new black & white manga written by Nekoko and Naji and illustrated by Rio. "If you woke up as a sentient egg in some random forest, I bet you'd be confused, too. That's exactly what happened to me in the oddest turn of events…Being reborn as a little egg has its challenges, but luckily, with all these monsters out to eat me, I'm gaining experience quick. Once I bust out of this shell, a cool new form better await me–that is, if I survive long enough!" And that's just the first volume. You'll find even more from Seven Seas.
image c. 2021 Seven Seas Entertainment

redpajama_set_name: RedPajamaCommonCrawl


I made this Swirly Scribbles card using some pieces from my craft table and adding others. You can choose the colors the person you are giving the card to will like if you want.
1. Cut your Soft Sea Foam Card base at 5-1/2″ x 8-1/2″. Score and fold at 4-1/4″.
If you remember, you can put Multipurpose Adhesive Sheets on the back of the cardstock you are cutting your Swirly Scribbles pieces from. Then these pieces will attach like stickers you have to peel the back off. Otherwise, just use Tombow Glue.
~White Foliage Frame will need to be die cut and embossed. Die cut as normal, just leave the cardstock inside the die to emboss. Recommended Embossing sandwich: Big Shot Platform without Thin Die Adapter plate (OR Multipurpose Platform with at least tab 1 open), Standard Cutting Pad, Die with cardstock still in it and cutting edge and cardstock facing up, Thick Gray Silicone Mat, White Impressions Pad.
~Lay our all your pieces where you want them.
~Attach the Mint Macaron Swirly Scribble Lines first, the put the Coastal Cabana Lines on top so some of the Mint Lines show underneath-like a shadow.
~Put the Melon Mambo Swirly Circle on the Foliage Frame.
~Attach the Foliage Frame with Stampin' Dimensionals.
Spend $50 in My Online Store in August and receive a $5 Coupon Code to spend in September!
Fall always reminds me of Pumpkins and bales of hay. So I used the Swirly Scribbles Thinlits to make a Pumpkin and a couple bales of hay. Hope you enjoy it!
2. Cut your Crumb Cake card front at 4″ x 5-1/4″. Run it through your Big Shot wiht the Woodgrain embossing folder. Glue to card base.
3. Stamp your Banner and Welcome with Cajun Craze ink on Whisper White card stock. Cut out with coordinating Framelit.
4. Cut the smallest swirl from Pumpkin Pie card stock and one of the long scribbles from Crushed Curry card stock.
5. Stamp the Pumpkin from My Hero on Crushed Curry card stock with Tangerine Tango ink. Cut out the eyes, nose and mouth. Glue to pumpkin.
6. Lay about half the Crushed Curry Scribbles on your card front to help you position your Pumpkin. Glue your Pumpkin in place.
7. Tie Baker's Twine around part of the scribble. It is kind of tricky to tie it without scrunching the scribbles together. Tie either a bow or a knot. Put glue on the back of the "half" Crushed Curry scribbles, centering the Baker's Twine. Glue to card.
8. Attach your Welcome with Stampin' Dimensionals.
When I was thinking of an American Flag to make the Swirly Scribbles Thinlits came to mind. This is a pretty quick and easy card to make. I hope you have a fun day spending time with your family and celebrating our great country! If you live outside the United States of America show appreciation for your family and the country you live in.
2. Get out your Big Shot. I just cut everything using my Multipurpose Platform and two cutting plates.
~Cut three Real Red Swirly Scribbles lines die cuts. I cut the full length.
3. Cut one Star (the second to the smallest) from Dazzling Diamonds Glimmer Paper.
4. Cut one 2-1/4″ square from Pacific Point card stock.
~Lay out your Real Red Scribbles lines going the direction you want. I would recommend you have all of them going the same direction. (I did not do that and wish I had.) Attach them to your card base remember to just use small dots of Glue.
~Glue your Pacific Point square to the upper left corner of your Flag.
~Glue your Star to the center of your Pacific Point square.


One of the most famous actors of all time, Humphrey Bogart was a colorful character with a fondness for alcohol. One boozy evening, he decided it would be a good idea to buy a stuffed panda. But when a young model tried to steal his stuffed bear, Bogart got physical and was forced to defend himself in court.
With his well-known fedora, trademark scar, and tough guy persona, it's easy to see why Humphrey Bogart is a Hollywood legend. The man has made some truly classic films, including The Maltese Falcon, Casablanca, and The African Queen. Of course, if you know anything about Bogey, then you know there were two things in life he loved more than anything else: Lauren Bacall and booze. Bogart drank like there was no tomorrow, and on more than one occasion, his alcoholic ways got him into trouble.
For example, in September 1949, Bogart and a drinking buddy were boozing their way through New York City. Somewhere along the way, they stumbled across a store selling 9-kilogram (20 lb) stuffed pandas. In their alcohol-induced fog, Bogart and his friend thought it would be a good idea to buy a couple of these giant bears. Then, with their "dates" in tow, the duo made their way to the El Morocco nightclub and requested a table for four.
But during their whiskey-soaked evening, Bogart was spotted by a young model named Robin Roberts. Perhaps in an attempt to flirt, or more likely to gain some free publicity, Roberts made her way over to Bogart's table and grabbed his new toy. When Bogart saw her manhandling his bear, the actor shouted, "Get away from me! I'm a happily married man. And don't touch my panda!" He then shoved her away, causing Ms. Roberts to fall over. And as you might expect, this story did not end quietly.
The judge let Bogart walk free, and as he exited the courtroom, he was greeted with cheers from happy New Yorkers. Robin Roberts was jeered as she walked down the street, and as for the panda, well, she refused to ever talk about the incident.
Previous story Which Sentence Would You Choose: Prison Or Castration?


text:
Q: data processing workflow: aws lambda or ec2 instance? I'm building an app, one aspect of it is the user can export images along with some csv files.
This usage of this function of the app would be intermittent. In other words there would be likely large amounts of time (months) between usage and then a period of time where it's hit pretty hard.
Currently I have this implemented using a python script that runs on an ec2 instance. The python script polls a sqs queue for json that contains the export details. The export json contains an array of images stored in s3, this array could contain between 1 and 5000 images, possibly more.
The script basically does the following:

*

*polls sqs for export message

*downloads s3 images

*resizes (imagemagick) /renames images based on data from export message

*groups images in directories based on data from export message

*creates csv files based on data from export message

*creates a .zip archive

*uploads .zip to s3

Would this workflow be better for aws lambda considering the intermittency of use?
Can this workflow be done using lambda?
Would resizing 5k images be too time intensive for lambda?

A: The major issues you will experience using an AWS Lambda function would be:

*

*Each function can run for a maximum of 5 minutes

*Each function only has 500MB of disk space

*Functions cannot be triggered by messages in an Amazon SQS queue (they should be triggered directly by the process that puts messages in the queue)

It is likely that your app would hit one of these limits. You could workaround the timing issue by chaining functions, but this is not recommended.
If you do not need to process such requests immediately, an alternate design could be:

*

*Create an Auto Scaling group that runs your application, with a minimum of zero instances and an appropriate maximum (that could even be just one instance)

*Configure scaling policies to scale-out when there are messages in the queue and scale-in when there are no messages in the queue

*Use Spot Instances to save money (just set the price to the On Demand price)

redpajama_set_name: RedPajamaStackExchange


text:
/ Newsroom / Whitman Magazine / 2009 / March / Features / Collaborative spirit / Economic forecasting
For Ben Keefer '08, a favorite pastime growing up in Connecticut was solving puzzles. The interest hasn't changed, but the size and scope have.
These days, using macroeconomics, he could, for example, take on the big Argentina puzzle. The perplexing problem: Why has that country — which in 1870 was as wealthy per-capita as Canada and Germany — been left behind in the past 100 years while countries once in its shadow, such as Japan, have leapt forward?
Ben Keefer
Halefom Belay
Keefer, now a graduate student in economics at the University of Washington, said that's one of countless examples of the types of problems for which macroeconomics is a good tool — a tool that became a strong focus at Whitman during a collaboration with his revered adviser, Halefom Belay, associate professor of economics.
Keefer, who aspires to be an economics professor some day, related that in his senior year at Whitman he wanted to learn more about economic forecasting, and wanted to test research that concluded unemployment rates were a tool to predict inflation rates. So he plunged into an honors thesis project titled, "Macroeconomics and the Phillips Curve" — the Phillips Curve created by a New Zealand economist, Allban William Phillips, which showed a correlation between unemployment and inflation rates.
The honors thesis wasn't required to graduate. "I wanted to prepare for grad school," Keefer said. "It was a great way to do that."
For this project, Keefer brought Belay with him.
Belay's expertise is in macroeconomics — specializing in monetary economics — not forecasting. So he went back to his own graduate school material to study it to acquire needed information for Keefer's project.
Belay said the project "improved my understanding of the subject matter at hand and made me a more informed individual. It was intellectually stimulating to see Ben expand the depth and robustness of evidence while using past literature to explore ways in his research."
Belay said in recognition of Keefer's thesis, he was awarded the James F. Shepherd Economics Award, which is the highest award given by the department and in essence recognizes the student receiving it as the top senior economics student for the year.
Keefer's results on the unemployment rate question, based on models he used, showed they aren't a good gauge to forecast inflation rates. But he doesn't eliminate the possibility that people with more experience in forecasting might have come to a different conclusion, he said.
The way Keefer approached the project "was truly gigantic given that devising possible scenarios for understanding the subject matter requires taking into account very comprehensive understanding of economic forecasting and mathematics," Belay said.
Keefer said as a first-year Whitman student he got a head start. He marveled how Belay was always available to answer questions and to suggest reading materials that gave him tools, such as knowledge of differential equations, that first-year undergraduates normally don't have.
And at this stage, Keefer said, he has knowledge many of his graduate school classmates don't have, because Belay pushed him to take mathematical courses he otherwise might not have taken.
Also, he remembers how at Whitman, when Belay found out Keefer's parents were visiting from Connecticut, he took them all out to lunch.
"He always has time for his students," Keefer said. "He's a great, great guy."


A|Bass Mini was created completely from scratch using the Subtractor, Malstrom and Thor synths in Reason which were then routed through the new effects on offer in Reason 6 including the Line 6 effects and the Pulveriser.
5 separate sounds fully multisampled for the .wav users @81mb.
Full Reason 6 Refill including all created patches for each of the effects and synths.
Includes the samples mapped to NNXT and NN-19.
A|Bass Mini is available to download from MrTheBigMan at no cost.


text:
Q: How to instantiate subclasses of an abstract class? I am stumped at the end of my program. I am making a bank account java program and am having issues integrating an abstract class and a subclass together.
public abstract class Account {
    public static void main(String args[]) {
        CheckingAccount Account1 = new CheckingAccount();
    }
    public Account() {
        //
    }
    public class CheckingAccount extends Account {
        //
    }
}

I have tried the CheckingAccount class outside and taking away the public from the class however, then I get the error message that it cannot find the main for the Account class.
The same error comes up as stated above if I add static to the CheckingAccount class.

A: You can't instantiate an instance class (CheckingAccount) from a static method (main). You have to make the inner class static:
public abstract class Account {
    public static void main(String args[]) {
        CheckingAccount Account1 = new CheckingAccount();
    }
    public Account() {
        //
    }
    public static class CheckingAccount extends Account {
        //
    }
}

By the way, this is a quite strange design. I would avoid to:

*

*mix your main method with your classes, just make a new separated Account class instead

*declare an inner class as an extends of the container class, use two classes (in two different classes) instead.

A: The problem with inner classes is - you should only use it when you absolutely know that you need it. Else you would face such issues.
So what's the issue? Basically an inner class instance always encloses an instance of the enclosing class. So to access them, you need an instance of enclosing class. But, you are trying to instantiate the CheckingAccount class from a static method. And since static method doesn't have a reference to this instance, that way of instantiation is illegal.
Problem might go if you change that instantiation to this:
public static void main(String args[]) {
    CheckingAccount Account1 = new Account().new CheckingAccount();
}

But that wouldn't work either, as Account class is abstract. So, you've should do two immediate changes here:

*

*Move the main() method outside the Account class. Ideally you shouldn't have main() method in your domain classes. Create a separate class for that.

*Move CheckingAccount class outside the Account class. It will be easier for you.

A: You can't have two public classes in one java class file. And, the Java file should be named with the public class in it.


Encompassing the dense tropical rainforest of the Amazon, the arid desert region of Nazca, the dune-filled beaches of Paracas and the snow-capped volcanic peaks of Arequipa, Peru offers a dramatically varied landscape and spectacular biodiversity.
Depart London on your scheduled, overnight flight to Lima, via Sao Paulo.
On arrival in Lima, you will be met and transferred to your hotel in Peru's elegant capital. Your afternoon tour of Lima, the City of Kings, takes you past the stately Government Palace, located in the Main Square, to the city cathedral, where the remains of conqueror Francisco Pizarro lie. Explore the highly embellished cloisters and entryway of San Francisco Monastery and its network of underground catacombs, used as cemeteries during the colonial period. Wander through the picturesque neighbourhood of San Isidro and the modern district of Miraflores with its beautiful parks, squares, cafes and restaurants. Return to your hotel, re-joining your group later this evening for a welcome dinner.
After breakfast, transfer to the airport for your flight to the city of Puerto Maldonado, the gateway to the Amazon rainforest. Travel by boat to Corto Maltes Lodge, your Amazonian home, arriving in time for lunch. In the afternoon, trek to a brazil nut harvesting camp and learn more about this important Peruvian staple crop and its cultivation. Back at the lodge, relax by the pool or unwind in a hammock on the terrace before a night-time pre-dinner boat excursion to observe lurking caimans and the nocturnal animals of the Amazon.
A 3-kilometre morning hike through the wildlife haven of Tambopata National Reserve takes you to Lake Sandoval where a ride in a rowboat allows you to appreciate the biodiversity capital of Peru. Spot river otters, macaws, howler monkeys and one of the world's biggest freshwater fish, the Paiche, from your lookout on the river and, conditions permitting, encounter the primates of the Amazon on Monkey Island. Ascend into the treetops after lunch and enjoy animal viewings and a spectacular sunset from the lodge's two lookout towers. A visit to a Shiringuero encampment gives insight into the collection of rubber and takes you into the evening, which can be enjoyed at your leisure.
After breakfast, venture downriver by boat to a native farm for a tropical fruit tasting before visiting a native Machiguenga family, one of the ethnic groups of the Peruvian Amazon. Learn about the intriguing customs and language of this group, as they teach visitors about their ayahuasca ceremonies, hunting gear and medicinal plants before sharing one of their unique indigenous dishes. Return to the lodge for an afternoon at leisure and the chance to enjoy a refreshing swim, a cool cocktail or a relaxing massage (at a fee) before dinner.
Experience an early morning cacophony of sound and colour at a nearby clay lick, where parrots congregate to nibble on a type of clay native only to this region. After breakfast, a boat will carry you to the city centre of Puerto Maldonado where you can browse through regional products at a local market before catching your flight to Cusco. On arrival in Cusco, uncover the remnants of the city's Incan and colonial past on an afternoon tour. Marvel at the gold and silver leafed walls and skilful masonry of the Incas at Koricancha, enjoy the vibrancy of the colonial city square at the Plaza de Armas and visit the Cusco Cathedral with its ornately carved woodwork, crypts and paintings. Explore the masterfully constructed Incan rock fortress of Sacsayhuaman and the underground cave and temple of Kenko, then take in the panoramic views over the rocky ruins of Puca Pucara, an ancient military fort. Wander through Tambomachay, the Baths of the Inca where aqueducts and canals flow and pool in sacred baths, before stopping at "Inka's Expression" workshop to watch local artisans create beautiful silver pieces, paintings and wood carvings.
Journey by train to one of the New Seven Wonders of the World - Machu Picchu. A full-day tour takes you around the tombs, temples and palaces of this ancient city of ruins, believed to be built for an Incan emperor. A city never uncovered by colonizing Spaniards, the structures and agricultural terraces of Machu Picchu are an untouched testament to the culture of this lost civilization. Set between two forested Andean peaks beneath swirling clouds, with llamas often roaming the mountainside, the 550-year-old site offers spectacular views in addition to its archaeological wonders. Have lunch in the nearby town of Aguas Calientes and journey home by train after the day's tour.
Depart Cusco and travel to Puno, visiting a number of fascinating attractions along the way. Your first stop is Andahuayillas, the 'Sistine Chapel of America', which boasts church walls covered with frescoes and a gilded roof. Continue onward to Raqchi, an Inca archaeological park. Explore the towering Temple of Wiracocha, built to honour and appease the supreme god of the Incas before visiting The Raya, a well-placed viewpoint that provides panoramic vistas over the Andes. Arrive in Puno in the early evening, with the remainder of the day at leisure.
Today's highlight is a trip to Lake Titicaca, the highest and largest navigable lake on earth. The views from the top of Taquile Island can stretch to Bolivia on a clear day and are well worth the hour-long walk from the port. After lunch in a simple restaurant overlooking the lake, follow 535 stone steps to a fantastic observation point. Later, walk back down to the port and board a boat for a brief visit to the floating reed island of Uros to visit a local family home before returning to Puno.
Witness the natural beauty of Peru on today's journey from Puno to Arequipa. Leaving in the morning, travel first to a lofty lookout point with far-reaching views over the Lagunillas Lagoon and the chance to spot rare Andean birds such as the giant Andean coot and the Andean goose. Stop at a restaurant for refreshments before visiting the plains of Pampa Canahuas where you can observe the unique 'vicunas', a local camelid, roaming the land. Arrive in Arequipa and check into your hotel before dinner.
A scenic 12 to 14-hour drive along the coastline takes you past dazzling white beaches, laidback coastal towns, arid desert plains and lofty mountain passes as you follow the great Pan-American Highway to the city of Nazca for your overnight night stay.
The origin and purpose of the Nazca Lines - a multitude of intricate geometric patterns and figures etched into the rock of Peru's Nazca Desert - has been the subject of mystery and research for decades. The hundreds of figures range in complexity from simple lines to stylized hummingbirds, spiders, llamas and lizards, some as long as the Empire State Building. Get a bird's eye view of this fascinating archaeological feature on a 25-minute flight over the lines (subject to weather conditions). Back on land, trace your way to Paracas, stopping to visit a local winery and explore a traditional pottery studio. Stunning Huacachina Lagoon, your next stop, is a palm-fringed oasis nestled in the barren desert region of Peru. With a handful of quaint shops and dwellings lining the water's edge, the lagoon makes for a unique and quirky pit stop before your overnight stay in Paracas.
Board a shared boat for the morning's excursion to the Ballestas Islands, and the chance to see porpoises leaping through the surf, pelicans and cormorants swooping over the water and the famous prehistoric Paracas Candelabra petroglyph etched into the waterside dunes. An afternoon at leisure gives you time to relax or explore the sights of Paracas at your own pace.
Start your day with a scenic 4-5 hour drive along the Pacific Coastline from Paracas to Lima, stopping for lunch along the way. Check into your hotel in Lima, with the remainder of the day at leisure. Later, re-join your group for a farewell dinner that marks the end of your Peruvian adventure.
After breakfast, transfer to the airport for your return flight to the UK, via Sao Paulo, or continue on to your chosen extension.
British passport holders are not currently required to obtain a visa to travel to Peru. Further advice should be sought from the applicable tourist authority for other nationalities and for general queries. We strongly advise you to check your destinations' Tourist Board or Embassy for the most up to date guidelines regarding passport validity.
Your initial flight is to Jorge Chavez International Airport in Lima (via Bogota) with Avianca (AV), departing from London Heathrow Terminal 2.
Each passenger is entitled to 23kg of hold luggage plus one item of hand luggage providing the exterior dimensions (height length width) do not exceed 115cm and 10kg in weight. Weight restrictions will be finalised on your e-ticket receipt. Should you wish to take additional luggage you will need to pay extra at check-in. Heathrow Airport advises that check-in should be three hours before your flight departure time.
It is important that you bring only necessary clothing and equipment to your lodge during your stay in the Amazon. Due to weight and space limitations on the boat, passenger luggage is limited to 10 kg. (22 lbs.) per person.
Altitude sickness is a common condition that can occur when you ascend to a high altitude (generally higher than 2,500 metres above sea level) quickly. The decrease in atmospheric pressure can make breathing more difficult as the body is not able to take in as much oxygen. Most cases are mild with symptoms that can include: a headache, nausea, dizziness and exhaustion. Several of the places in Peru are located at high altitude (over 2,500 metres above sea level) including Puno, Lake Titicaca and Cusco. Therefore, you may find you experience some symptoms at this altitude. It is advised that at these high altitudes, you keep hydrated and avoid alcohol. If you do experience symptoms of altitude sickness during your tour, ensure you tell your guide immediately who will be able to advise the best thing for you to do. You can contact your GP before you travel for advice on medication for altitude sickness.
This tour is accessible to most people with an average level of fitness and normal mobility. It involves moderate days of walking on uneven paths and small hills and getting on and off coaches. This tour is not suitable for anyone with walking difficulties.
The minimum number of travellers in your group will be 10, and the maximum will be 30. If in the unlikely event there are less than 10 people booked on your tour date, we will endeavour to reduce any disruption to your holiday and try to operate your tour with lower passenger numbers. If we are not able to operate your departure date, then you may be asked to change to a different date and a full refund will be made available to you should this alternative not be suitable.
This is an escorted tour, meaning that a knowledgeable, local, English-speaking guide will accompany you on all excursions.
The currency in Peru is the Nuevo Sol, the symbol is S/. We recommend that you exchange your currency before you leave the UK. US Dollars are widely accepted in Peru should you wish to keep an alternative currency on you. Cash machines are available in all the major cities to withdraw money in local currency.
You will need to take some extra money with you to cover any personal purchases, such as souvenirs, laundry and extra drinks and snacks. Approximately £400 per person will be sufficient for the duration of the tour. Tipping is common practice in South America and it is customary to tip approximately $2-$4 USD per person per day, which is split between the driver and the local guide. Tips can be given at the end of each day, or at the end of the tour. Tips are accepted in US dollars and local currencies.
Our intention is to adhere to the day-to-day itinerary as printed; however order of events and sightseeing may vary according to local conditions or for operational purposes. For this reason, we have indicated approximate times only. Your local guide will inform you of any schedule changes as they are informed of them. Some road construction and/or weather conditions may lengthen the driving times.
Extend your stay in Peru and head to the beautiful beaches of Tumbes for 3 nights of relaxation. With an idyllic coastline and diverse wildlife, Tumbes offers a perfect end to the The Very Best of Peru tour.


Over the past two decades, only a small handful of people can claim to have "redefined" talk radio — among them Rush Limbaugh, Dr. Laura Schlessinger and Howard Stern. Add to that list Art Bell, who turned the "graveyard shift" of radio — 10:00 pm to 3:00 am — into the hottest time slot in the business with his Coast to Coast AM show, and attracted millions of listeners to his offbeat blend of the paranormal, paranoia and politics. And he did it all from a distinctly libertarian perspective.
Bell, born in 1945, got his first taste of the power of radio while operating a pirate rock 'n' roll radio station as a U.S. Air Force medic during the Vietnam War-era. After leaving the military, he worked as a disc jockey in Okinawa, Japan, where he landed in the Guinness Book of World Records by broadcasting continuously for 116 hours and 15 minutes. After returning to the USA, he briefly attended college before getting back in the radio industry as a chief engineer. Over the next decade, he worked both on-air and behind the scenes in the radio and cable television industries.
In 1989, Bell got his big break when KDWN, a 50,000-watt station in Las Vegas, offered him a five-hour, late-night time slot. After dabbling briefly in political talk, Bell switched over to the paranormal, focusing on the occult, UFOs, conspiracy theories, vampire monkeys, time travel, ghosts and pseudo-science. Bell did not claim to believe everything he broadcast — he said he offered only "entertainment" and a non-judgmental forum for speculation — but fans flocked to the far-out format. The show became a huge hit, and was soon syndicated around the nation. By the mid-1990s, Coast to Coast AM was broadcast on almost 500 stations and reached 9 to 15 million listeners weekly. Those numbers made Bell the fourth most popular radio host in America (behind only Limbaugh, Stern, and Schlessinger). Art Bell Chat Clubs sprang up in more than 40 cities. Bell also hosted the popular Sunday night Dreamland show.
In October 1998, Bell's career took an unexpected turn when he vanished from the airwaves for two weeks because of what he called threats against his family. In April 2000, Bell again left his show and did not return until February 2001. Bell later said he had to deal with a sexual abuse case involving his son and a substitute teacher. (The teacher was convicted of sexual assault.) Bell retired in 2002 because of back pain and turned the Coast to Coast AM microphone over to George Noory. Bell returned to host a weekend show in 2003, and semi-retired again in June 2005. He now hosts two Sundays a month on the Premiere Radio Networks, and makes occasional guest appearances on Coast to Coast AM.
Bell is the author of The Quickening: Today's Trends, Tomorrow's World (with Jennifer L. Osborne, 1997), The Art of Talk (1998), The Coming Global Superstorm (with Whitley Strieber, 1999), The Edge: Man's Mysterious Past & Incredible Future (with Whitley Strieber, 1999), and The Source: Journey Through the Unexplained (with Brad Steiger, 2002).


Estimating costs is an important aspect of project preparation and decision-making.
The reliability of cost estimates depends to a large extent on the preliminary work done for a project and the knowledge that Verkís possesses of similar jobs. The company has long experience of cost engineering, and the methodology used is comparable to the well-known programs employed by AACE International to make and ensure the accuracy of cost estimates. Verkís has developed and used its own cost-estimate software, which enables very through and flexible reporting to the client.
The company always aims at achieving the desired success at minimum cost by minimizing overall expenditures, whether this concern the initial plan or the financial plan.


Robinson - who was enshrined in the Hall of Fame in 1982, his first year on the ballot - played 21 seasons in the major leagues with five different teams before retiring as a player in 1976 with 586 home runs. His MLB-best marks of 49 home runs, 122 RBIs, .316 batting average and 122 runs scored helped carry the Orioles to their first World Series title.
Six months later, after Robinson won the Triple Crown and led the Orioles to the pennant, the mayor of Baltimore held a ceremony to rename the street "Robinson Road" for the duration of the World Series. He went on to manage the San Francisco Giants, the Baltimore Orioles and the Montreal Expos. He represented four franchises as a manager, most recently when Baseball returned to Washington, DC with the Nationals in 2005. His No. 20 was also retired by the Reds, Orioles and Indians.
Major League Baseball (MLB) is the most historic professional sports league in the United States and consists of 30 member clubs in the US and Canada, representing the highest level of professional baseball. "He was one of the greatest players in the history of our game, but that was just the beginning of a multifaceted baseball career".
ESPN's Tim Kurkjian writes that "Robinson is one of the most underrated superstar players ever to play the game". We were friends. Frank was a hard nosed baseball player who did things on the field that people said could never be done.
Robinson's career spanned two decades, earning him a Rookie of the Year award for his 1956 season with the Cincinnati Reds and 14 All-Star Game nominations. In 1975, Robinson became manager of the Cleveland Indians, breaking the color barrier.
Though the services are now up and running again for some customers, others have reported they're still experiencing problems. This was the second time in a week Wells Fargo customers had an issue accessing the bank's online system.


Students from Meghan Markle's old high school celebrate her upcoming wedding.
Opinion MEGHAN Markle will be officially giving away her career when she marries Prince Harry. But there's no reason she should do so.


Scud Penguin's compulsive rhythmic rock grooves drive a sharp set full of irony and misplaced affections. Chunky rhythms, fat bass and big chords thump deep into your chest and then cascade on down to your feet where all that energy is transformed into bonkers dancing. Coxy lists his heroes as the great chops players Mick Green (Pirates) and Wilco Johnson (Feelgoods) but the tightness of the beat is firmly underpinned by Westmore's subterranean bass and Walsh's oblique drumming. Put on your bonkers dancing shoes and get down and see them soon.


text:
Nuclear Disarmament Party
The Nuclear Disarmament Party (NDP) was formed in Canberra on 17 June 1984 to contest the approaching federal election. Crucial in its formation was anger that the 1984 Labor Party Conference overturned an anti-uranium mining policy. It became the fastest growing political party in Australia's history: by December 1984 it had 8000 members. The NDP aimed 'to steer Australia on the path to ending uranium mining, closing foreign military facilities and prohibiting the presence of nuclear weapons on our soil or within our waters or air space'. Jo Vallentine was elected as a Senator from Western Australia. In 1985, the NDP fell apart, mainly over arguments about the influence within it of Socialist Workers' Party members.
Nuclear Free Australia Party (1985 - )
Garrett, Peter (1953 - )
Anti-nuclear Activism
Nuclear Disarmament Party, Vote 1 for Rod Lander. Image PDF Details
Peace Studies, vol. 1, no. 7, Victorian Association for Peace Studies, Melbourne, October 1984. Image PDF Details
Maclellan, Nic, 'Disarmament Politics; the election and defection of the NDP', Peace Studies, July 1985. Image PDF Details
Mansell, Ken, 'Making sense of the NDP split', Peace Studies, July 1985. Details
St John, Edward, 'The demise of the Nuclear Disarmament Party', Peace Studies, Aug / Sept 1985. Image PDF Details
First Strike for Nuclear Disarmament, Left Tendency for Nuclear Disarmament, Melbourne, March 1984. Image PDF Details
First Strike for Nuclear Disarmament, Left Tendency for Nuclear Disarmament, Melbourne, February 1984. Image PDF Details
Nuclear Disarmament Party, there are millions of us, 1984. Image PDF Details
Suter, Keith D., Nuclear Free Zones: Some Basic Questions, Australian Nuclear Free Secretariat, 1985. Image PDF Details
Munro, M., Nuclear Free Australia Party, 1987?. Image PDF Details
Beth Hallett
Created: 24 October 2006, Last modified: 5 August 2016


text:
using System;
using System.Collections.Generic;
using System.Text;

namespace AjMessages
{
    class PrintMessageHandler : IHandler
    {

        #region IHandler Members

        public void Process(Context ctx)
        {
            Console.WriteLine("=========");
            Console.WriteLine(ctx.Message.ToString());
            Console.WriteLine("=========");
        }

        #endregion
    }
}

redpajama_set_name: RedPajamaGithub


Zambia's foremost rights activist Lucy Sichone's reputation continues to loom large even beyond her grave.
Sichone's portrait still graces the Oxford University walls, thanks to her polished rights activist reputation.
When new Rhodes scholars first visit the prestigious Rhodes house at Oxford University they are inspired by portraits on the walls of some of the great students who have preceded them. There is the late South African leader Nelson Mandela, the former US president Bill Clinton and pioneering Canadian neurosurgeon Wilder Penfield.
Women scholars will have had a trickier time being inspired, however. Until now there hasn't been a single portrait of a female former Rhodes scholar.
That has all changed thanks to former student Kelsey Murrell, whose campaigning means that the first ever portrait of a female Rhodes Scholar has been unveiled, more than a century after the scholarship was founded.
Zambian activist Lucy Banda Sichone's image will take her rightful place among the other luminaries who went on to achieve great thing in the world of politics, science and the arts.
Described as "a voice of conscience" and "a great daughter of the nation," Ms Sichone made a name for herself by vigorously challenging and chastising government officials before her death in 1998 aged just 44.
The scholarship was founded by Cecil Rhodes in 1902 to enable foreign postgraduates to study at Oxford. Widely considered one of the most prestigious scholarships in the world, it was only opened to women in 1977.
Born in May 1954, in Zambia's second-largest city, Kitwe, Lucy Banda Sichone attended an all-girls secondary school and earned a law degree before coming to Oxford on a Rhodes Scholarship in 1978.
On her return she held a number of positions in government, although she was often its fiercest critic.
This criticism continued in her newspaper columns and she was forced to go into hiding after she lost a lawsuit filed against her.
In 1993 she founded the Zambia Civic Education Association (ZCEA) that continues to teach citizens rights and civic education to this day.
She also represented several displaced villagers who had been accused of squatting, and represented Zambians in court as pro bono clients.
She died five years later, aged 44, reportedly from pneumonia, although those who knew her say the cause was HIV or Aids, leaving behind four children and a number of foster children.
Newspapers printed letters from people mourning her passing, and prominent Zambians described her death as a tragedy and terrible loss, but against popular opinion, the government refused to grant Sichone a state funeral.
The following year Ms Sichone became the first female Rhodes Scholar from Zambia.
After becoming a Rhodes Scholar in 2012, Ms Murrell noticed there were no women depicted on the walls of the University's prestigious Rhodes House.
"I saw only, mostly white men," said the 25-year-old who hails from the US state of Kansas. She added that she spent a lot of time in Milner Hall, where the painting of Ms Sichone will be placed.
After leaving Oxford last year with two masters degrees, Ms Murrell became a deputy director at the Rhodes Project, a research charity that aims to promote gender equality through education and research.
Working with the charity and The Rhodes Trust, which awards the postgraduate scholarship to selected foreign students, her dream to have women immortalised in the halls too, became a reality.
"The Scholarship showed Lucy that life could be different," said Ann Olivarius, her friend and Chair of the Rhodes Project, which jointly commissioned the portrait, painted by another Ms Sichone's friends, Deidre Saunder.
Ms Sichone went onto hold a number of government positions in her home country and founded the Zambia Civic Education Association (ZCEA) in 1993.
Lucy Sichone will remain an icon and an admired brave activist ,her dream still lives on,the Zambia Civic Education Association she founded was brave move towards civil matters and political education.
I came to learn late that we lived together in Mindolo.I think she did her primary education at either Butungwa or Machina!I did mine at Mindolo,then Kitwe Boys!What I am saying I'd that she s humble beginning. So girls you can also do it!!
Dearly missed and always remembered through the great works you did.
sha was indeed an activist who was brave and need to be honoured and remembered.


BLOG: Does optometry have a 'student problem'?
Scott A. Edmonds, OD, FAAO, focuses his blog on the role of the optometrist in health care reform – moving from primary eye care to primary health care. He is the chief medical officer of MARCH Vision Care, the co-director of the Low Vision/Contact Lens Service at Wills Eye Institute in Philadelphia and a member of the Primary Care Optometry News Editorial Board.
Disclosure: Edmonds is a consultant for March Vision.
I have noted a recent trend in our literature and publications that refers to a "student problem." Apparently, some of our leaders think that we have an oversupply of both optometry schools and new graduates.
I have asked my lifelong friend and classmate to assist me in addressing this topic for this blog. Dr. Richard Edlow is not only an optometrist, but also an "eyeconomist." Long-term chair of the Information and Data Committee for the American Optometric Association, Richard is a noted expert in this field.
From my perspective, optometry is a primary care profession. As such, many of us have broadened our scope and become involved with the overall health and welfare of our patients. Our EHRs have required vital signs since 2011, and we have used this data to educate, counsel and refer patients who are at risk of developing chronic medical problems. A recent article by the Association of American Medical Colleges quotes new research that predicts a shortage approaching 120,000 doctors by the year 2030.
In my experience as a consultant and member of the Accreditation Council on Optometric Education, I found that schools and colleges of optometry do an outstanding job in training our new graduates. All programs, new and old alike, are held to the same rigorous standards, and the council extensively studies each program, performing site visits and extensive interviews with faculty, students and all stakeholders.
The problems with the board scores, which is often mentioned when discussing optometry students, is not a student problem, but related to different curriculum at each institution being disconnected to the newly revised and highly secretive body of testing protocols that has been designed by the independent and autonomous National Board of Examiners in Optometry. This is not just a problem with the new schools and colleges, as some of the oldest and well-established programs are also producing students that are struggling with the new examinations.
While the increase in new graduates might be cause for concern, there are some very encouraging trends that should mitigate the fear of too many practicing optometrists. One must not look at optometry as a specialty silo but, instead, as one of the components of the entire eye care delivery system in the U.S. From the proverbial 30,000-foot level, it is best to analyze overall demand for eye care services and the supply of providers, i.e., basic supply and demand dynamics.
First, let's take a look at the future demand for eye care services. We have hard data from Medicare (CMS) as to the number of services provided to fee-for-service Medicare recipients in 2015. From that data – the comparable data for the Medicare Advantage population and historic utilization rates for services in both the commercial insurance population (age 64 years and younger) and the Medicare population (65 year and older) – we can very accurately predict the future demand for medical eye care services. The utilization rates are then combined with the U.S. Census Bureau estimates for the U.S. population, by age category, in 2025. Based on this data, we can very comfortably predict that in the year 2025 demand for medical eye care services will be 16.3 million visits per year greater than it was in 2015. The demand for routine comprehensive exams will also increase, but by a lesser amount, 3.5 million more exams per year. Comparing the demand for office-based eye exams from 2015 to 2025, we collectively need to deliver just shy of 20 million additional eye exams per year.
Aside from increased demand for diagnostic testing (11 million more procedures per year), glaucoma surgical procedures and intravitreal injections, it is projected that the U.S. eye care delivery system will need to perform 1.5 million additional cataract surgeries per year. The general consensus is that the average ophthalmologist performs 400 cataract procedures per year (obviously, some perform thousands per year and others just 100 to 200 per year). So, for just cataract surgery alone, we need an additional 3,750 ophthalmologists from the current 2015 level to 2025.
The challenge for our eye care delivery system is that the supply of ophthalmologists from 2015 to 2025 will only increase by 436 over the entire 10-year period. On average, only 465 will complete the residency program each year as 423 practitioners exit (retirement, death, etc.). Apply calculations for full-time equivalents (FTEs), and the number of new FTE ophthalmologists over this time period will only increase by 301. That is 30 new FTE ophthalmologists each year over the 10-year period. This number not only falls far short of what is needed for just cataract surgery but is expected to create a serious void in delivering care for age-related eye diseases.
During this same period, it is anticipated that the net increase in FTE optometrists will be 5,943 or approximately 594 new FTE doctors per year. It is this increase in newly trained optometrists who will fill the void created by the serious imbalance between the increased demand for age-related eye care services and the relatively flat labor supply of ophthalmologists.
In conclusion, we feel that optometry does not have a student problem. The strength of optometry is in our numbers. High numbers of providers correlates to more access to primary care services, and this is exactly what is needed to improve the health of America. The problem is the narrow and outdated view of optometry that limits us to routine eye examinations and as vendors of eyeglasses and contact lens. When viewed though this lens, as seems to be the case with some outspoken leaders in our profession, it may seem like we have an oversupply. But when viewed in the context of needed low vision care for the aging Baby Boomers; rehabilitation for concussion, brain injury and the host of neurologic problems that result in vision problems; filling the void for the shrinking number of ophthalmologists; and our expansion into true primary care services, we are part of a dramatic shortage of health care providers.
We agree that we need to fix the "disconnect" between the schools and the national board and we need to train and test our new optometrists to meet the broadening need for our service. What we don't need is for our leaders to sit around and complain about why things aren't the same as in the "good ol' days." The brightest days for optometry are still ahead of us.
Association of American Medical Colleges. New research shows increasing physician shortages in both primary and specialty care. Posted April 11, 2018.
Office of Disease Prevention and Health Promotion. HealthyPeople.gov. Access to health services. Accessed May 14, 2018.


text:
package com.angkorteam.pluggable.framework.database;

import java.lang.reflect.Field;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.util.HashMap;
import java.util.Map;

import org.reflections.ReflectionUtils;
import org.springframework.jdbc.core.RowMapper;

import javax.persistence.*;

public abstract class EntityMapper<T> implements RowMapper<T> {

    private Class<T> clazz;

    protected EntityMapper(Class<T> clazz) {
        this.clazz = clazz;
        if (org.springframework.core.annotation.AnnotationUtils.findAnnotation(
                this.clazz, Entity.class) == null) {
            throw new DatabaseException(clazz.getSimpleName()
                    + " is not entity");
        }
    }
}


How to fit exercise into your daily life, for the longer term.
For many of us, the toughest part of exercise is sticking with it for the long haul.
Our motivation lasts for a short period of time before it fades, or other tasks or responsibilities crowd it out.
What's more, most of us don't have hours to spend in a gym. And we're not exactly looking forward to an activity that could potentially be monotonous, boring or painful.
For most of us, moderate exercise is the most beneficial for good health. Most adults require at least 150 minutes of moderate activity per week, according to recent recommendations from the Centers for Disease Control and Prevention. You'll get there by exercising for 30 minutes, five times a week. Can't find 30 minutes in your busy schedule? It's okay to break things up. Two 15-minute workouts or three 10-minute workouts can be just as effective.
Double up on your interests.
Sure, you want to stay fit. But you also want to read books, watch television, have more alone time or talk with friends.
Movies or television, run or walk on a treadmill while you watch your favorite show.
Reading books or listening to podcasts or music, download your favorites and save them for that walk, run, or trip to the gym.
Meeting new people, sign up for group exercise classes.
Getting together with friends, opt for workout time together instead of lunch or coffee dates.
Outdoor adventures, plan new biking, walking or running routes you can try.
Alone time, use exercise as time to get away from it all, focus on your breathing and clear your mind from distractions.
Put it on your calendar and commit to it.
Talk to people who might be affected by your schedule, so they know what to expect.
It's also important to have a backup plan. For example, if you can't make your morning workout, make time to play outside with your kids later in the day, run while you watch a television show in the evening or walk while your daughter is at soccer practice.
Don't let bad decisions keep you from your workout.
"I see this one all the time," says Ryan, who adds that it's perfectly normal to mess up occasionally.
If you don't have time for a full workout, don't write it off completely. Shorter spurts of exercise, such as 10 minutes of walking spaced throughout the day, offer benefits too.
"Some is always better than none," says Ryan.
Let a fitness gadget be your coach.
If it's accountability you're looking for, a wearable health-tracking device could help. The latest fitness gadgets, such as the FitBit® or Jawbone®, can track your fitness goals and progress.
"The great thing about this technology is that it's pretty simple to use, and can really help you stay motivated," says Ryan.
With most fitness gadgets, you can set daily goals, such as how many steps to take in a day. Most offer challenges, providing an incentive for competitive types.
Stay fit with deals from Blue365®.
Fitness club memberships around the country through HealthwaysTM Fitness Your Way.
Healthy eating plans at Jenny Craig® and NutriSystem®.


"Delight your audience with acrobatics"
Fluxo Acrobatics has been performing professionally for many years. Our (aerial) acrobatic shows have been shown on many stages, as well national as international as on TV (Holland's Got Talent with a duo "lucht acrobatiek act")!
Through our aerial performances we strive to inspire our audience. And furthermore, show them the sheer beauty of combining the flow of dance and movement with the human physique. We want to give something special to our audience, something inspirational that will linger long after the show is over. Using the purity of our vigorous strength and virtuosity, Fluxo Acrobatics will surprise you with a show that will leave you in a daze of exitement. Experience the extraordinary dimensions of our aircrobatics yourself; tissu ("lucht act"), hoop, trapeze, acrobatic dance on music that perfectly fits your event. You will not be disappointed.
Fluxo Acrobatics offers a wide range of acrobatic shows. Ranging from graceful aerial tissu ("lucht acrobatiek"), to energetic tumbling and sensual brazilian dance. The artists value technique, expression and the beauty of the movement of the human.
Acrobatic Performances can be created or adapted to suit a wide variety of parties and events. If you have specific ideas about how you would like a performance to look, and even feel, contact us to find out about the many possibilities.


Epson Artisan 700 Driver Download, Wireless Setup, Reviews, Manual Instructions, Scanner Driver Software Download For Mac, Linux, Window – Expose your design as well as streamline your life with Epson Artisan 700. Making Ultra-Definition 6 shades at scorching broadband, this outstanding all-in-one consists of a variety of high-performance functions consisting of 2 paper trays for image and also simple paper. As well as, with a simple cordless network, you could print from throughout the residence or in your office.
Epson Artisan 700 All-in-one is a fantastic mix of performance as well as design. This engaging as well as portable system offers individuals with Ultra Hi-Definition 6-color prints with high-speed lights, together with Superior high quality scanning, and also copying features. Plus it has Wi-Fi connection that enables you to print from throughout your residence. The device additionally offers 2 paper trays – one for simple paper, as well as one for 4 × 6 "or 5 × 7" unframed image paper, so you could promptly switch over from printing service or college records to print your favored images from your weekend break journeys.
Epson Artisan 700 consists of Auto Image Adjustment, so you obtain impressive pictures regularly, or personalize pictures, discussions, cards, schedules as well as even more – all with a couple of touch of switches. After that see just what your image resembles prior to you print it by watching it on the built-in 2.5 inch Shade LCD display. As well as, with straight CD/ DVD printing, you could produce custom-made discs of songs collections, images or house video clips that look specialist. You will certainly be proud to show to your family members. And also do not neglect that Craftsmen 700 is likewise an optimal item for producing sensational service graphics so your service task could enhance past the others.
You are required to have a driver setup or the software file of Epson Artisan 700 . For the file of the driver setup, you simply click the link below for the download.
Next, follow the instruction on how to install Epson Artisan 700 printer with the Setup File.
First, of course, you need to turn on the computer as well as the Epson Artisan 700 as well.
Still, try not to connect the Epson Artisan 700 printer USB cable first before it is suggested.
Download the driver setup of Epson Artisan 700 and install it in your computer by following all of the instruction for the installation progress.
Then connect the USB cable of Epson Artisan 700 when the installation of the driver setup is already finished. In this case, the wizard will analyze when the USB cable has already connected. When the USB cable of Epson Artisan 700 already detected in the computer, it will go to further instructions.
When it is finished, the Epson Artisan 700 printer can be used for the printing process.
You are obliged to have the Software/Driver Setup file of Artisan 700 . You can try to download it from the links provided.
You also require the USB cable of Epson Artisan 700 printer.
The first step, turn on all of your devices, in this case, are the computer and the Epson Artisan 700 printer.
Connect the USB cable of Epson Artisan 700 from the printer to the computer.
When you have done, you can use the Epson Artisan 700 printer is ready to be used on your computer.
A Software/Driver CD Disk of Epson Artisan 700 that included with the printer package is needed.
Follow these instructions for the further installation process of Epson Artisan 700 printer with CD Drive.
First of all, do not forget to turn on your computer and also the Epson Artisan 700 printer.
Do not plug in the USB cable of Epson Artisan 700 printer until needed.
Insert Epson Artisan 700 CD disk to the CD/DVD drive on your personal computer and follow the setup wizard from the CD. Follow all of the instructions for the installation.
Connect the USB Cable of Epson Artisan 700 printer to the computer when the setup wizard asks you to plug in the USB Cable.
Wait until the USB cable Epson Artisan 700 is detected and follow the wizard instructions for the further process of the installation.
When it is done, you will find out the Epson Artisan 700 printer is ready to use.
Install software for Epson Artisan 700 .
Follow by installing software for Epson Artisan 700 .


Today marks one week since I started my gluten-free eating experiment. So far it hasn't been too difficult, and I haven't felt like I'm depriving myself of anything. It's strange, though, to have to remember to ask questions about ingredients when ordering at a restaurant. We made the pancakes pictured above for breakfast yesterday and they were delicious! More to come on the gluten-free front later. In the meantime, here are my favorite things from the Internet lately - just for you. Enjoy!
Sometimes I think I'd enjoy teaching internationally. So many of these places look incredible.
Haha. Let's all go to Rhode Island.
I'm really not a fan of Savannah Guthrie. I'm guessing based on this face, Al Roker's not either.
"I am TOO going to keep chickens, David." Hilarious.
Jon Foreman on the joy of the dance.
Wow. I cannot wait to see this movie.
Oooooh, a scene from Downton season 3!
My friend Kimbo and I would have loved playing this on the bus to Boulder.


Share and enjoy tasty moments for two, with family or friends… one single place offers a variety of restaurants within a luxurious hotel in Marrakech.
To vary the pleasures and let you enjoy a fine culinary experience, the chef has concocted quite a program. In the morning, to start the day at Tigmiza, he offers a hearty and gourmet breakfast, served as a buffet and consisting of breads, pastries, fruit, baked eggs, accompanied by Moroccan delicacies, all homemade.
He then invites you to meet up by the pool, at the "Pool Bar", for a light and tasty lunch inspired by the moment, based on grills of the day and seasonal vegetables.
After an aperitif at the "English Bar" or at the "1st Floor Terrace", depending on the season, he invites you to the table of the "Lallati" restaurant, a true culinary experience, with local scents and colours or to the "Dining Room" restaurant, to enjoy a more Mediterranean cuisine, in a cosy, friendly setting.
The chef is attentive to everyone's tastes, whether it is a question of choice, preferences, intolerance or special desires… he also offers room service on request.


Tell us about your place: "Every culture has a pie, and we are a unique local option in Fayetteville," said Justin Pearson, owner of Fayetteville Pie Company.
He opened the restaurant with his wife, Leslie, on Jan. 6. Fayetteville Pie Company was born from a collaborative effort at another business Pearson owns, Vizcaya Villa, which caters weddings on weekends.
The lunch-combo special provides the best of both worlds. For $14, diners can select a 6-inch deep dish pie from the savory menu and a 4.5-inch pie from the sweet menu.
Some of the savory choices include balsamic beef and arugula, spinach Florentine, and chicken cordon bleu ($10). Sweet pies include cookies n' cream and pineapple paradise ($4).
Most popular dish: "Our No. 1 savory pie best-seller is pulled pork and sweet potato," Pearson said.


text:
Cannabis Claims Management CMPL Construction Coverage DEI Environmental Extra-Contractual Fraud Litigation Management Phenoms Under 40 Product Property RRH Subrogation Transportation Workers' Compensation
SUBMIT AN ARTICLE ISSUES SUBSCRIBE THE CLM
THE CLM
Phil Gusman
Phil Gusman is senior managing editor for CLM Magazine and Construction Claims magazine. phil.gusman@theclm.org
Articles by Phil Gusman
Around the CLM - National May 2017 5/22/2017
The Awards Afterparty 5/19/2017
How will the use of drones improve the insurance claims industry? 5/29/2017
Around the CLM - National June 2017 6/19/2017
What is the claims industry's best pitch to attract young talent? 6/22/2017
Around the CLM - July 2017 7/17/2017
What's driving personal auto claims activity? 7/20/2017
National News - August 2017 8/9/2017
Sneak "Peak" 8/10/2017
Wildfire Frenzy 8/19/2017
Harvey's Coverage Issues 9/18/2017
A Foundation of Support 9/22/2017
National News: September 2017 9/14/2017
How to Take a One-Two Punch 10/13/2017
Tech in Comp 10/26/2017
National News: October 2017 10/27/2017
Help Needed! 11/14/2017
Cyber Trends 11/13/2017
National News: November 2017 11/28/2017
Gift-Giving Ideas 12/26/2017
National News: December 2017 12/28/2017
National News: January 2018 1/18/2018
The Winds of Change 1/25/2018
A Look Toward the Horizon 2/9/2018
The Prospect of Opioid Litigation 2/9/2018
National News: February 2018 2/27/2018
Memory Lane 3/23/2018
National News: March 2018 3/28/2018
Overcoming Challenges 4/24/2018
National News: April 2018 4/26/2018
And the Winners Are…. 5/16/2018
Comp Claims 5/18/2018
National News: June 2018 6/8/2018
Here Comes the Hurricanes 6/5/2018
National News: July 2018 7/3/2018
Pressing Problems 7/19/2018
Inside CLM's Internship Program 8/20/2018
Business Challenges 8/2/2018
National News: August 2018 8/31/2018
Lessons Learned 9/21/2018
CLM National: October 2018 10/26/2018
"How did the industry's hurricane response differ this year compared to last year?" 10/11/2018
Sharpen Your Skills 10/10/2018
"Are you noticing increased consumer awareness about data privacy?" 11/14/2018
CLM National: November 2018 11/19/2018
CLM National: December 2018 12/6/2018
"What was the biggest development or surprise in 2018?" 12/10/2018
CLM National: January 2019 1/3/2019
"What are you looking forward to most in 2019?" 1/24/2019
CLM National: February 2019 2/6/2019
"What would make you love claims even more?" 2/21/2019
Discovering the Future of Risk 2/8/2019
CLM National: March 2019 3/5/2019
"What are you looking forward to most at this year's CLM Annual Conference?" 3/12/2019
CLM National: April 2019 4/4/2019
Winners' Circle 4/8/2019
CLM National: May 2019 5/24/2019
Under the Radar Emerging Risks 5/15/2019
Ask the Expert: Trending Away 5/20/2019
CLM National: June 2019 6/27/2019
Winning and Losing With Cyber Risks 6/22/2019
Ask the Expert: Playing Defense on Wildfires 7/16/2019
CLM National: July 2019 7/26/2019
What are the most important keys to a successful mediation? 7/10/2019
CLM National: August 2019 8/28/2019
Under-the-Radar Risks 8/20/2019
Combating Corrosion 9/25/2019
CLM National: September 2019 9/22/2019
Emerging Developments in Claims Resolution 9/9/2019
Focus on: 2019 Construction Conference 10/16/2019
Between the Lines: October 2019 10/22/2019
Giving Thanks 11/7/2019
CLM National: December 2019 12/10/2019
Cannabis and the Role of Insurance 12/8/2019
The Judges' Perspective 1/8/2020
A Change in the Political Wind 1/8/2020
Ask the Expert: Where Are the Workers? 1/8/2020
CLM National: January 2020 1/17/2020
Resolutions for Improvement 1/24/2020
What should be done to better address flood risk? 2/25/2020
Which insurance lines will be most impacted by the COVID-19? 3/9/2020
CLM National: March 2020 3/20/2020
CLM's Professionals of the Year Sound Off 4/4/2020
CLM National: April 2020 4/29/2020
Insuring and Helping in a Pandemic 5/22/2020
COVID-19's Effect on Commercial Trucking 6/25/2020
CLM's WC/RRH Virtual Conference 7/17/2020
Professional Adjustments 8/28/2020
Eye on Construction 9/26/2020
Scary Claims and Litigation Trends 10/30/2020
What are you most thankful for? 11/26/2020
Covid-19, Construction, and Claims College 12/23/2020
Biggest Opportunity in 2021? 12/12/2020
Developing Minds 1/16/2021
Transitioning Workers' Compensation by Reimagining It 1/27/2021
Tech Expectations 2/8/2021
CLM National: February 2021 2/22/2021
State of Unrest 3/10/2021
Ask the Expert: New Administration; New Opportunities 3/17/2021
Foundations: Dealing with Defect 3/17/2021
Diversifying Neutrals 4/14/2021
Getting Back to "Normal" 4/21/2021
Surprising Trends in 2021 5/5/2021
CLM National: May 2021 5/7/2021
Lessons From the 2020 Atlantic Hurricane Season 6/1/2021
Ask the Expert: Together Again 6/8/2021
Foundations: The New Generation 6/9/2021
Bad Batteries are Back 6/16/2021
Protecting Patrons 6/29/2021
Has the Public Perception of Truckers Changed? 7/20/2021
Virtual Etiquette 8/24/2021
What is the Biggest Change in Your Approach at Claims College? 8/31/2021
Ask the Expert: Modular Momentum 9/7/2021
As Wildfires Heat Up, Contractors' Insurance Options Burning Out 9/7/2021
CLM National: September 2021 9/8/2021
What Does Winning the Professional of the Year Award Mean to You? 9/22/2021
Recruitment During the Pandemic 10/20/2021
See You in Arbitration 10/27/2021
Acting in Good Faith 11/22/2021
Ask the Expert: Construction and the Supply Chain 12/13/2021
The Rising Threat of Cyberattacks 12/21/2021
Quenching Your Knowledge Thirst 1/5/2022
Mediation and Med Mal 1/19/2022
Extending the Ladder Down 3/2/2022
Ask the Expert: Pandemic Trends 3/15/2022
Cannabis Crossroads 5/4/2022
See You in San Diego 6/10/2022
The Cost of an Attorney 6/22/2022
Casting Anchor 7/20/2022
Paying It Forward 8/2/2022
Subrogation Specialists 9/28/2022
According to You 10/11/2022
Ask the Expert: Inflation -- A Rising Concern 10/11/2022
Beating Bad Faith 10/26/2022
Recognizing the Phenomenal 12/7/2022
Ask the Expert: Solving the Labor Shortage 12/16/2022
The Key to Professional Liability Claims 12/20/2022
What's Driving Increased Medical Costs? 1/31/2023
Daily Claims News
Powered by Claims Pages
Top Ten Challenges For The Workers' Compensation Industry
Florida Auto Legislation, On Heels Of 2022 Reforms, Suggests...
Email Scam Losses May Find Recourse Via Cyber Or Business In...
Media Kit/Editorial Calendar
TheCLM.org
Contact CLM
The Institutes
Claims Pages
Insurance Research Council
International Insurance Society
RiskStream Collaborative
Privacy Policy | Terms of Service | Anti-Trust Statement
2023 © Claims and Litigation Management Alliance


The IPCC today announced the approval of the "Summary for Policymakers" of its Special Report on Global Warming of 1.5°C. The full report will soon be released in final form, pending small changes that arose from the consideration of the Summary for Policymakers.
According to the report, limiting global warming to 1.5°C would require rapid, far-reaching and unprecedented changes in all aspects of society: "Limiting warming to 1.5°C is possible within the laws of chemistry and physics but doing so would require unprecedented changes," said Jim Skea, Co-Chair of IPCC Working Group III.
The report captures the current state of science and was produced by all three IPCC Working Groups (that is, on the physical science basis of climate change; on impacts, adaptation and vulnerability; and on mitigation of climate change). It also includes findings on the added benefit of maintaining global warming at a level of 1.5°C when compared with higher levels: "Limiting global warming to 1.5°C compared with 2°C would reduce challenging impacts on ecosystems, human health and well-being, making it easier to achieve the United Nations Sustainable Development Goals," said Priyardarshi Shukla, Co-Chair of IPCC Working Group III.
As laid out in an earlier WCRP news article last week, WMO Chief Scientist and Research Director Pavel Kabat attended the IPCC meeting where its Special Report on Global Warming of 1.5°C was considered. There, Kabat specifically mentioned the role of WCRP in convening the global research community, both to advance our understanding of fundamental processes and to develop and continuously improve climate models. WCRP activities such as the Coupled Model Intercomparison Project are an important underpinning to climate model runs that support the IPCC reporting process.
The report on global warming of 1.5°C is accessible on the IPCC homepage. It is the latest in a series of Special Reports published on particular topics that since 1994 have supplemented the regular IPCC general Assessment Reports. In the decision text for the Paris Agreement, the UNFCCC had invited the IPCC to produce such a Special Report on Global Warming of 1.5°C, for which the IPCC now approved the Summary for Policymakers.


text:
Q: Escaping characters full text search PHP PDO I've got the following prepared query:
SELECT
  b.id b.title b.isbn b.description
FROM
  books b
WHERE
  MATCH(title,subtitle)
  AGAINST(? IN BOOLEAN MODE) LIMIT 0 3

I execute this query where the ? is for example "+term*". This is working great, but it fails if someone enters a term with a special character in it (for example "+term@*"). How can I escape this string in php so the special characters for full-text-search are properly escaped?


Number of Shares: 132 M.
Saudee Group Berhad, an investment holding company, manufactures and sells processed poultry, beef products, frozen goods, and bakery products in Malaysia and internationally. It operates through Manufacture and Sale of Food Products and Property Development segments. The company is also involved in the wholesale and dealership of fresh and frozen foods. In addition, it provides fresh, frozen, and value added chicken and beef products; and flour based and other allied products, such as bread, frozen cakes, biscuits, etc. Further, it trades in raw chicken and beef cuts, as well as processed potato based products. Furthermore, the company is engaged in the property development activities.


Since Daniela started at VC in 2007, it has been apparent that she consistently applies the same diligence to all phases of a project. Her deep immersion into projects is comprised of a keen observation to detail and documentation from start to finish. What can often be overlooked in the presence of deadlines and important transactions is keeping the client informed of all ongoing developments, a crucial element that Daniela never fails to remember. Always looking for new approaches and innovative creations, Daniela's conscientious nature and drive for perfection brings about stimulating, quality results for every project she works on.


text:
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

package org.apache.commons.math3.optimization.fitting;

import java.util.Random;

import org.apache.commons.math3.analysis.polynomials.PolynomialFunction;
import org.apache.commons.math3.analysis.polynomials.PolynomialFunction.Parametric;
import org.apache.commons.math3.exception.ConvergenceException;
import org.apache.commons.math3.exception.TooManyEvaluationsException;
import org.apache.commons.math3.optimization.DifferentiableMultivariateVectorOptimizer;
import org.apache.commons.math3.optimization.general.GaussNewtonOptimizer;
import org.apache.commons.math3.optimization.general.LevenbergMarquardtOptimizer;
import org.apache.commons.math3.optimization.SimpleVectorValueChecker;
import org.apache.commons.math3.util.FastMath;
import org.apache.commons.math3.distribution.RealDistribution;
import org.apache.commons.math3.distribution.UniformRealDistribution;
import org.apache.commons.math3.TestUtils;

import org.junit.Test;
import org.junit.Assert;

/**
 * Test for class {@link CurveFitter} where the function to fit is a
 * polynomial.
 */
public class PolynomialFitterTest {
    @Test
    public void testFit() {
        final RealDistribution rng = new UniformRealDistribution(-100, 100);
        rng.reseedRandomGenerator(64925784252L);

        final LevenbergMarquardtOptimizer optim = new LevenbergMarquardtOptimizer();
        final PolynomialFitter fitter = new PolynomialFitter(optim);
        final double[] coeff = { 12.9, -3.4, 2.1 }; // 12.9 - 3.4 x + 2.1 x^2
        final PolynomialFunction f = new PolynomialFunction(coeff);

        // Collect data from a known polynomial.
        for (int i = 0; i < 100; i++) {
            final double x = rng.sample();
            fitter.addObservedPoint(x, f.value(x));
        }

        // Start fit from initial guesses that are far from the optimal values.
        final double[] best = fitter.fit(new double[] { -1e-20, 3e15, -5e25 });

        TestUtils.assertEquals("best != coeff", coeff, best, 1e-12);
    }

    @Test
    public void testNoError() {
        Random randomizer = new Random(64925784252l);
        for (int degree = 1; degree < 10; ++degree) {
            PolynomialFunction p = buildRandomPolynomial(degree, randomizer);

            PolynomialFitter fitter = new PolynomialFitter(new LevenbergMarquardtOptimizer());
            for (int i = 0; i <= degree; ++i) {
                fitter.addObservedPoint(1.0, i, p.value(i));
            }

            final double[] init = new double[degree + 1];
            PolynomialFunction fitted = new PolynomialFunction(fitter.fit(init));

            for (double x = -1.0; x < 1.0; x += 0.01) {
                double error = FastMath.abs(p.value(x) - fitted.value(x)) /
                               (1.0 + FastMath.abs(p.value(x)));
                Assert.assertEquals(0.0, error, 1.0e-6);
            }
        }
    }

    @Test
    public void testSmallError() {
        Random randomizer = new Random(53882150042l);
        double maxError = 0;
        for (int degree = 0; degree < 10; ++degree) {
            PolynomialFunction p = buildRandomPolynomial(degree, randomizer);

            PolynomialFitter fitter = new PolynomialFitter(new LevenbergMarquardtOptimizer());
            for (double x = -1.0; x < 1.0; x += 0.01) {
                fitter.addObservedPoint(1.0, x,
                                        p.value(x) + 0.1 * randomizer.nextGaussian());
            }

            final double[] init = new double[degree + 1];
            PolynomialFunction fitted = new PolynomialFunction(fitter.fit(init));

            for (double x = -1.0; x < 1.0; x += 0.01) {
                double error = FastMath.abs(p.value(x) - fitted.value(x)) /
                              (1.0 + FastMath.abs(p.value(x)));
                maxError = FastMath.max(maxError, error);
                Assert.assertTrue(FastMath.abs(error) < 0.1);
            }
        }
        Assert.assertTrue(maxError > 0.01);
    }

    @Test
    public void testMath798() {
        final double tol = 1e-14;
        final SimpleVectorValueChecker checker = new SimpleVectorValueChecker(tol, tol);
        final double[] init = new double[] { 0, 0 };
        final int maxEval = 3;

        final double[] lm = doMath798(new LevenbergMarquardtOptimizer(checker), maxEval, init);
        final double[] gn = doMath798(new GaussNewtonOptimizer(checker), maxEval, init);

        for (int i = 0; i <= 1; i++) {
            Assert.assertEquals(lm[i], gn[i], tol);
        }
    }

    /**
     * This test shows that the user can set the maximum number of iterations
     * to avoid running for too long.
     * But in the test case, the real problem is that the tolerance is way too
     * stringent.
     */
    @Test(expected=TooManyEvaluationsException.class)
    public void testMath798WithToleranceTooLow() {
        final double tol = 1e-100;
        final SimpleVectorValueChecker checker = new SimpleVectorValueChecker(tol, tol);
        final double[] init = new double[] { 0, 0 };
        final int maxEval = 10000; // Trying hard to fit.

        final double[] gn = doMath798(new GaussNewtonOptimizer(checker), maxEval, init);
    }

    /**
     * This test shows that the user can set the maximum number of iterations
     * to avoid running for too long.
     * Even if the real problem is that the tolerance is way too stringent, it
     * is possible to get the best solution so far, i.e. a checker will return
     * the point when the maximum iteration count has been reached.
     */
    @Test
    public void testMath798WithToleranceTooLowButNoException() {
        final double tol = 1e-100;
        final double[] init = new double[] { 0, 0 };
        final int maxEval = 10000; // Trying hard to fit.
        final SimpleVectorValueChecker checker = new SimpleVectorValueChecker(tol, tol, maxEval);

        final double[] lm = doMath798(new LevenbergMarquardtOptimizer(checker), maxEval, init);
        final double[] gn = doMath798(new GaussNewtonOptimizer(checker), maxEval, init);

        for (int i = 0; i <= 1; i++) {
            Assert.assertEquals(lm[i], gn[i], 1e-15);
        }
    }

    /**
     * @param optimizer Optimizer.
     * @param maxEval Maximum number of function evaluations.
     * @param init First guess.
     * @return the solution found by the given optimizer.
     */
    private double[] doMath798(DifferentiableMultivariateVectorOptimizer optimizer,
                               int maxEval,
                               double[] init) {
        final CurveFitter<Parametric> fitter = new CurveFitter<Parametric>(optimizer);

        fitter.addObservedPoint(-0.2, -7.12442E-13);
        fitter.addObservedPoint(-0.199, -4.33397E-13);
        fitter.addObservedPoint(-0.198, -2.823E-13);
        fitter.addObservedPoint(-0.197, -1.40405E-13);
        fitter.addObservedPoint(-0.196, -7.80821E-15);
        fitter.addObservedPoint(-0.195, 6.20484E-14);
        fitter.addObservedPoint(-0.194, 7.24673E-14);
        fitter.addObservedPoint(-0.193, 1.47152E-13);
        fitter.addObservedPoint(-0.192, 1.9629E-13);
        fitter.addObservedPoint(-0.191, 2.12038E-13);
        fitter.addObservedPoint(-0.19, 2.46906E-13);
        fitter.addObservedPoint(-0.189, 2.77495E-13);
        fitter.addObservedPoint(-0.188, 2.51281E-13);
        fitter.addObservedPoint(-0.187, 2.64001E-13);
        fitter.addObservedPoint(-0.186, 2.8882E-13);
        fitter.addObservedPoint(-0.185, 3.13604E-13);
        fitter.addObservedPoint(-0.184, 3.14248E-13);
        fitter.addObservedPoint(-0.183, 3.1172E-13);
        fitter.addObservedPoint(-0.182, 3.12912E-13);
        fitter.addObservedPoint(-0.181, 3.06761E-13);
        fitter.addObservedPoint(-0.18, 2.8559E-13);
        fitter.addObservedPoint(-0.179, 2.86806E-13);
        fitter.addObservedPoint(-0.178, 2.985E-13);
        fitter.addObservedPoint(-0.177, 2.67148E-13);
        fitter.addObservedPoint(-0.176, 2.94173E-13);
        fitter.addObservedPoint(-0.175, 3.27528E-13);
        fitter.addObservedPoint(-0.174, 3.33858E-13);
        fitter.addObservedPoint(-0.173, 2.97511E-13);
        fitter.addObservedPoint(-0.172, 2.8615E-13);
        fitter.addObservedPoint(-0.171, 2.84624E-13);

        final double[] coeff = fitter.fit(maxEval,
                                          new PolynomialFunction.Parametric(),
                                          init);
        return coeff;
    }

    @Test
    public void testRedundantSolvable() {
        // Levenberg-Marquardt should handle redundant information gracefully
        checkUnsolvableProblem(new LevenbergMarquardtOptimizer(), true);
    }

    @Test
    public void testRedundantUnsolvable() {
        // Gauss-Newton should not be able to solve redundant information
        checkUnsolvableProblem(new GaussNewtonOptimizer(true, new SimpleVectorValueChecker(1e-15, 1e-15)), false);
    }

    @Test
    public void testLargeSample() {
        Random randomizer = new Random(0x5551480dca5b369bl);
        double maxError = 0;
        for (int degree = 0; degree < 10; ++degree) {
            PolynomialFunction p = buildRandomPolynomial(degree, randomizer);

            PolynomialFitter fitter = new PolynomialFitter(new LevenbergMarquardtOptimizer());
            for (int i = 0; i < 40000; ++i) {
                double x = -1.0 + i / 20000.0;
                fitter.addObservedPoint(1.0, x,
                                        p.value(x) + 0.1 * randomizer.nextGaussian());
            }

            final double[] init = new double[degree + 1];
            PolynomialFunction fitted = new PolynomialFunction(fitter.fit(init));

            for (double x = -1.0; x < 1.0; x += 0.01) {
                double error = FastMath.abs(p.value(x) - fitted.value(x)) /
                              (1.0 + FastMath.abs(p.value(x)));
                maxError = FastMath.max(maxError, error);
                Assert.assertTrue(FastMath.abs(error) < 0.01);
            }
        }
        Assert.assertTrue(maxError > 0.001);
    }

    private void checkUnsolvableProblem(DifferentiableMultivariateVectorOptimizer optimizer,
                                        boolean solvable) {
        Random randomizer = new Random(1248788532l);
        for (int degree = 0; degree < 10; ++degree) {
            PolynomialFunction p = buildRandomPolynomial(degree, randomizer);

            PolynomialFitter fitter = new PolynomialFitter(optimizer);

            // reusing the same point over and over again does not bring
            // information, the problem cannot be solved in this case for
            // degrees greater than 1 (but one point is sufficient for
            // degree 0)
            for (double x = -1.0; x < 1.0; x += 0.01) {
                fitter.addObservedPoint(1.0, 0.0, p.value(0.0));
            }

            try {
                final double[] init = new double[degree + 1];
                fitter.fit(init);
                Assert.assertTrue(solvable || (degree == 0));
            } catch(ConvergenceException e) {
                Assert.assertTrue((! solvable) && (degree > 0));
            }
        }
    }

    private PolynomialFunction buildRandomPolynomial(int degree, Random randomizer) {
        final double[] coefficients = new double[degree + 1];
        for (int i = 0; i <= degree; ++i) {
            coefficients[i] = randomizer.nextGaussian();
        }
        return new PolynomialFunction(coefficients);
    }
}