text:
Browse 20 21 22 23
Pikmin 3 Discussion (Nintendo Wii U) [game]
Pikmin 3 on the Wii U
9.2/10 from 30 user ratings
Welcome to the official discussion thread for Pikmin 3 on the Wii U! To start, please add this game to your log, add it to your collection (if applicable), and (when you are ready) rate it using the link above!
This will be the official thread for general discussion on this game, but there may be other threads with more specific discussions. If there are any details about this game that you believe should be in this post, please contact a moderator and ask if they can add them.
Pikmin 3 Review (Nintendo Wii U) (9.8) by
END AUTOMATED TEXT. THREAD CREATOR INFORMATION BELOW.
Just thought this title needed an official thread.
Yesterday, while browsing the interwebs at work, I found a hands-on of the game that mentioned something that I had not heard of anywhere else. Unfortunately, I don't remember where it was, but here's the gist...
Pikmin 3 now has an evade move! From Nintendojo "Handy, then, that our new lead character has a nifty dodge ability that sees both him and his band of Pikmin roll to the side in perfect unison whenever danger's about to rear its ugly head. It took a while to master, especially since there seems to be a small amount of recovery time before you can initiate another one, but it brought a welcome sense of drama to the fights, as well as a greater feeling of control over your large army."
Let's give this launch window game some love! ERRR..... Releases August 4th!
Well, I tried to post the trailer. Thanks Renjaku!
Now lets take a look at Gamexplain of the newest video
Why not sign up for a (free) account and create your own content?
Negative World's latest:
Terraria Discussion (Nintendo Switch)
Rewind feature, Wrecking Crew, Donkey Kong 3 added to NES for Nintendo Switch Online
New Joy-Con colors coming October 4th!
Luigi's Mansion 3 launching October 31st aka Halloween
Super Monkey Ball: Banana Blitz HD announced for Switch, PS4 and Steam
From this author:
Tank! Tank! Tank! (Wii U) discussion
pokepal148
The fruit gimmick was kinda annoying tbh. Especially when Louie steals it all.
DrFinkelstein
@pokepal148
Perhaps during that moment yeah but I can't agree. Survival on a planet is a key quality of interstellar stories which is what Pikmin is. Food, and giant food, is a fun way to provide goals while also providing some striking visual images. What would you suggest had replaced it?
ludist210
I disagree, except in the instance you are referring to. I never felt stressed about my lack of fruit except in the early-going. By the end of the game, I had 49 (I think) days of juice in reserve, so it wasn't a hassle. I think it served its purpose.
PogueSquadron
Once I got into the swing of things towards the end of the game, I was rolling in fruit. For 90% of the game though, I was pretty worried about running out. It was more annoying than anything because I don't think it really reset my progress or anything, but I ran out of fruit a few times. Also this was my first Pikmin game so I was pretty horrible at it.
Mop it up
I like the fruit thing because it gives a sense of danger without being brutally difficult. The level of difficulty I prefer is just scraping by instead of having to retry the same thing over and over, so it was good for me. And there are 99 days worth of fruit so I think the game decently accommodates new payers as well, of which there were probably a decent number because it had been nine years since the last game.
Speaking of, I forgot to report my score. I think it was 37 days that I finished to get all the fruits, with around 250 Pikmin lost. I did a fair amount of restarting days to be more efficient. I would first run around the area to scope out the tasks and fruit that needed to be handled and which Pikmin it would take to accomplish it, and then I would restart and carry out my plan. I also restarted a couple of times when things went badly such as with a couple of bosses.
TriforceBun
Got back into playing this lately. I have Platinums almost entirely across the Solo game board--only missing the Boss 3 one. And my sister-in-law and I have been tackling the 2P co-op medals in the meantime; we have about a dozen or so left to go.
This is definitely a top 5 Wii U title and one of the definitive games on the system to me.
Level: -1 / Member
J.K. Riki
@TriforceBun
Agreed. I need to get back to it myself at some point. The funny thing is I don't have time because there are too many Wii U games to play right now, ha ha! Man... When it comes, it floods, I guess. :P
cooliocuneo
Man, I LOVE this game! And Pikmin in general. Action, strategy, exploration, puzzle-solving. All wrapped up in a gorgeous, semi-real, yet alien world, FILLED with great enemies and lovable protagonists.
I only have a maybe two or three platinums, just don't have the time to play like I used to. On a side note, Pikmin 2 I 100%'d with all of the highest ranked "flowers".


text:
HomeNewsRussia is Ready to Sell Everything it Wants to India, Including Oil...
NewsWorld
Russia is Ready to Sell Everything it Wants to India, Including Oil and Weapons
By Hamza Ahmed
Russia India
Russian Foreign Minister Sergei Lavrov has said that Russia is ready to sell to India everything it wants to buy, including oil and weapons, amid intense pressure from the United States and European countries.
He said the two countries were already paying in their respective national currencies instead of dollars and euros, so despite the restrictions, there should be no difficulty in transacting.
Sergei Lavrov has arrived in Delhi after a two-day visit to China. He told a news conference that India was a close friend of Russia and that Russia appreciated India's "neutral" stance on Ukraine. "No pressure will affect our relationship," he said.
When asked if Russia would supply petrol, gas, and S-400 missiles to India, he replied, "Russia will supply India with whatever it wants to buy."
According to reports, the Russian Foreign Minister in his talks with Indian Foreign Minister SJ Shankar has offered to supply oil and gas at cheaper rates.
The two leaders also discussed the method of payment for purchases. SJ-Shankar also spoke to the Russian leader about the equipment and supplies of the S-400 missile system.
SJ Shankar Said That This Meeting Was Doing Place in a Very Difficult International Situation
The Russian foreign minister's remarks come at a time when US Deputy National Security Adviser Dilip Singh had warned India shortly before his arrival in Delhi to refrain from doing business with Russia.
The United States does not want India to increase its imports of oil, gas, and all other items that have been banned from Russia. Countries that try to avoid sanctions against Russia will have to face the consequences.
He was speaking after news broke that India was about to sign an agreement with Russia to buy oil and gas at cheaper rates. He added that no one should be under the illusion that Russia would be a junior partner in Sino-Russian relations.
"The stronger China is than Russia in the current crisis, the more detrimental it will be to India," he said. Russia will become to its defense if it attacks. "
His statement has provoked strong reactions in Indian diplomatic circles. Syed Akbaruddin, India's former ambassador to the United Nations, said in a tweet that "the language used by the US adviser is not diplomatic but threatening."
"American and European officials have crossed the line with their provocative statements," said Daulat Singh, a foreign affairs analyst.
Ukraine's War Has Opened Up New Ties in The Region
US National Security Adviser Dilip Singh is considered the architect of sanctions against Russia. The US President came to Delhi as Biden's adviser to prevent India from any kind of bargaining with Russia.
He came to India to ally himself with the US in the Russian invasion of Ukraine. India has so far taken a neutral stance in the UN vote on all US and European resolutions against Russia.
India is under intense pressure from the US and European countries to take a stand against Russia in the Ukraine crisis. Recently, Germany's national security advisers came to Delhi for the same purpose.
Participating in a dialogue with British Foreign Secretary Liz Truss, Indian Foreign Minister SJ Shankar had said, "After the rise in oil and gas prices, India will naturally find another market where it can buy cheap oil."
India Buys Most of its Oil Needs from the Middle East
Could find India buys most of its oil and imports it from the Middle East. It buys only 1% of its oil from Russia. We buy about 8% of our oil from the United States, more than 15% from European countries.
After three months, when it is analyzed who bought how much oil from Russia, India will definitely not be in the top ten.
After a bloody clash with China on the border in Ladakh in June 2020, India gradually turned towards the United States. It joined the Quad alliance with the United States, Japan, and Australia.
He was hoping that the US would take a tougher stance against China in India's border dispute. But gradually this illusion of India began to break. Over the past year and a half, Russia has on several occasions helped India reduce tensions with China. Russia is making it a reliable and permanent ally.
After the Russian invasion of Ukraine, the idea has taken root in India that in case of any confrontation, India will have to defend itself and no one will come to its aid.
India knows that if European countries continue to buy 15% of their oil needs from Russia and sanctions do not affect them, then India also has the right to buy oil and weapons from Russia. The position that India has taken has created a complex situation for the United States.
Despite direct warnings from the US, India does not appear to be moving away from its position.
Best Alternative Sites like Solarmovie
iBomma Movies in Telugu 2022 Download
Hamza Ahmedhttps://beingkhas.com/
Hamza Ahmed is graduated from the NED faculty of Software Engineering Karachi. This website is owned and operated by Hamza Ahmed
Top 5 Beautiful Places To Visit In Fort Lauderdale
Safe Needle Disposal: How To Dispose Of Needles Safely
Steelers Depot – Steelers Outside of Pittsburgh

redpajama_set_name: RedPajamaCommonCrawl


text:
"Blue Feather" is a popular song written in 1909 with music by Theodore F. Morse and lyrics by Jack Mahoney. In the song the singer is expressing his love for sweet Blue Feather. The chorus is:

References

Bibliography
Mahoney, Jack. (w.); Morse, Theodore F. (m.). "Blue Feather" (Sheet music). New York: Theodore Morse Music Co. (1909).

External links
"Blue Feather", Ada Jones & Billy Murray (Edison Standard 10162, 1909)—Cylinder Preservation and Digitization Project.

1909 songs
Songs with music by Theodore F. Morse

redpajama_set_name: RedPajamaWikipedia


Sebastian Faulks, who wrote James Bond continuation novel Devil May Care (2008), was born in Berkshire on 20th April 1953. Photo: Sebastian Faulks by Elena Torre. Licensed under CC BY-SA 2.0.
Sean Bean, who played Alec Trevelyan in Goldeneye was born in Yorkshire on 17th April 1959. Photo: Sean Bean 2005 by Tony Shek. Licensed under CC BY 2.0.


For over 30 years Alinox as an industrial manufacturer has been perfecting composite material. The competences gained are used wide beyond merely producing the material. We like to believe that material technology has to go hand in hand with processing technology to optimize the performance of your solutions. And we love to sit together with you to get to the core of your thermodynamic challenges.
The best way to develop innovative thermodynamic solutions is to come together and exchange ideas. Leave your contact details here, and we will get back to you soon.
ALINOX SWISS-PLY® is a registrered trade mark of ALINOX AG. © ALINOX AG, 2013.


Jack: A man poodle. Girls, they wanna take you out on a walk. They wanna feed you, they wanna cuddle you, but make no mistake, no girl wants to do the moodle.
I moved on like you kept telling me to. You're only here because some other girl has shown interest in me.


text:
About Hoover
Located on the campus of Stanford University and in Washington, DC, the Hoover Institution is the nation's preeminent research center dedicated to generating policy ideas that promote economic prosperity, national security, and democratic governance.
The Hoover Story
Hoover Timeline & History
Vision of the Institution Today
About our Fellows
Overseers
Hoover in DC
Visit Hoover
David and Joan Traitel Building & Rental Information
Hoover scholars form the Institution's core and create breakthrough ideas aligned with our mission and ideals. What sets Hoover apart from all other policy organizations is its status as a center of scholarly excellence, its locus as a forum of scholarly discussion of public policy, and its ability to bring the conclusions of this scholarship to a public audience.
View All Fellows
Featured Fellows
Jim Mattis
H. R. McMaster
Tyler Goodspeed
Matt Pottinger
China's Global Sharp Power Project
Economic Policy Group
History Working Group
Hoover Education Success Initiative
National Security Task Force
National Security, Technology & Law Working Group
Middle East and the Islamic World Working Group
Military History/Contemporary Conflict Working Group
Renewing Indigenous Economies Project
Strengthening US-India Relations
Technology, Economics, and Governance Working Group
Taiwan in the Indo-Pacific Region
Books by Hoover Fellows
Economics Working Papers
Hoover Education Success Initiative | The Papers
Hoover Fellows Program
National Fellows Program
Student Fellowship Program
Veteran Fellowship Program
Congressional Fellowship Program
Media Fellowship Program
Silas Palmer Fellowship
Economic Fellowship Program
Throughout our over one-hundred-year history, our work has directly led to policies that have produced greater freedom, democracy, and opportunity in the United States and the world.
Determining America's Role in the World
Answering Challenges to Advanced Economies
Empowering State and Local Governance
Revitalizing History
Confronting and Competing with China
Revitalizing American Institutions
Understanding Public Opinion
Understanding the Effects of Technology on Economics and Governance
Key Countries / Regions
Politics & Public Opinion
Books by Fellows
Published Works by Fellows
Hoover Press
Strategika
Hoover scholars offer analysis of current policy challenges and provide solutions on how America can advance freedom, peace, and prosperity.
China Global Sharp Power Weekly Alert
Hoover Daily Report
Subscription to Email Alerts
California on Your Mind
Defining Ideas
Hoover Digest
GoodFellows
PolicyEd
Hoover Events
Capital Conversations
Matters of Policy & Politics
Saints, Sinners, & Salvageables
Secrets of Statecraft
Law Talk
Pacific Century
Support Hoover
Learn more about joining the community of supporters and scholars working together to advance Hoover's mission and values.
MyHoover
What is MyHoover?
MyHoover delivers a personalized experience at Hoover.org. In a few easy steps create an account and receive the most recent analysis from Hoover fellows tailored to your specific policy interests.
Log In to MyHoover
Login?
Support the Mission of the Hoover Institution
Subscribe to the Hoover Daily Report
Follow Hoover on Social Media
Your gift helps advance ideas that promote a free society.
About Hoover Institution
2020 Democratic Candidates Visit California And Show Just How Much The Party Has Changed
California's decision to move its 2020 primary from June to early March suddenly makes the state more important for choosing the 2020 Democratic Party presidential nominee than in past elections.
Tuesday, June 11, 2019 3 min read By:
Lee Ohanian,
By: Lee Ohanian
Old Master==
California on Your Mind Hoover Daily Report
California's decision to move its 2020 primary from June to early March suddenly makes the state more important for choosing the 2020 Democratic Party presidential nominee than in past elections. No wonder 14 democratic presidential candidates, including Bernie Sanders, Kamala Harris, and Elizabeth Warren, came to San Francisco earlier this month to attend the state's annual Democratic Party convention. And after the candidates' convention speeches, there is no question about where most of the candidates stand on economic policies and how much the US economy could potentially change after the next election.
Joe Biden was the only notable candidate absent from the convention. Biden is probably the most centrist candidate among the group, and his decision to avoid the annual convention was a calculated choice on his part, as any remotely moderate policy position plays poorly within today's California Democratic Party.
This year's convention was best described as a race to see which candidate could be the most progressive and disruptive to the status quo. And there was no quarter given to the very few candidates who attended and who do not see eye to eye with the progressive wing of the new Democratic Party.
Former two-term Colorado governor John Hickenlooper, one of the least-known candidates to attend the convention, was nearly booed off the stage when he gave a speech that did not toe the party line. Hickenlooper argued that socialism was not the answer to addressing the challenges that the country faces, that eliminating private health insurance from the healthcare market in favor of a single-payer system would be a mistake, and that conflating climate-change policies with social and cultural policies, as in the "Green New Deal," was bad policy. After his speech, Hickenlooper remarked that he was not surprised by the booing he received. "We know that this is not a popular message with a certain portion of the Democratic Party, but I think it's a message that's got to be said."
Hickenlooper is correct that these are important messages to present to a Democratic Party that has changed so much over just the previous three years, and which is almost unrecognizable since the days of Clinton's presidency. What you heard at the California convention were calls not just for socialist policies but for the abolition of capitalism. There were calls not just for a government-run healthcare option but for the absolute elimination of any form of private health insurance. These ideas are remarkably dangerous and also grossly at odds with the country's foundational principles of freedom of choice and limited government.
The one other candidate at the convention with relatively moderate views, John Delaney, a former member of the House of Representatives from Maryland, also spoke out against eliminating private health insurance: "Medicare for all may sound good, but it's actually not good policy, nor is it good politics. We should have universal health care, but it shouldn't be the kind of health care that kicks 150 million Americans off their health care. I want everyone to have health care, but it's got to be a plan that works for every American."
Health care options that work for all Americans: what is not to like? Evidently, plenty, because Delaney was effectively booed off the stage. With the new Democratic Party, there are several litmus tests, and one is that private health insurance must be killed. Period. Insurance company profits, or profits of any kind, simply cannot be part of the health-care equation. Government, and only government, should be allowed to choose and administer your health care.
Most European national health-care systems suffer from significant rationing of care and denial of many expensive treatments. But European countries have not outlawed private insurance to cover what the national system does not offer.
The VA health system looks an awful lot like the health care system many Democratic candidates are advancing. This alone should stop anyone in their tracks.
Representative Alexandria Ocasio-Cortez joined in the criticism of Delaney by tweeting, "This awful, untrue line [about the perils of eliminating private health insurance] got boo'ed for a full minute. John Delaney, thank you but please sashay away"
Delaney responded to AOC:
"Intolerance to alternative points of view is not what the Democratic Party should be about. This healthcare debate reminds me of the words JFK never delivered in Dallas: Neither the fanatics nor the faint-hearted are needed. And our duty as a party is not to our party alone, but to the Nation."
Delaney hit the nail on the head, but he is largely talking to himself at this point, as he is now polling about one percent.
Elizabeth Warren generated much more enthusiasm by dispelling any notion that she values moderation: "Big problems call for big solutions," said Warren. "And some Democrats in Washington believe the only changes we can get are tweaks and nudges. If they dream, they dream small." Warren certainly "dreams big," with a proposed wealth tax, a preference for breaking up technology firms, and a proposed bill that would require corporations to operate not in the interest of shareholders but in a way that is "accountable to society."
Pete Buttigieg, who at one time seemed to be one of the more moderate candidates, pivoted sharply left: "In these times, Democrats can no more promise to take us back to the 2000s or 1990s than conservatives can take us back to the 1950s," he said. "[Trump] wins if we look too much like Washington. He wins if we look like more of the same. The riskiest thing we could do is try to play it safe."
Bernie Sanders, who argued for eliminating private health insurance in the 2016 campaign, doubled down on the "moderation is out" theme: "We cannot go back to the old ways. There is no middle ground." Sanders's "no middle ground" meme is now the ninth most frequently cited internet topic in the country.
These are the candidates of the new Democratic Party. Within the party, it appears that you are either one of them and agree with all their positions, or you are against them. Democratic senator Joe Machin of West Virginia recently remarked, "I worry about the perception that people have that the Democratic Party has gone completely off the rails." "Off-the-rails" policies sold well in California. What remains to be seen is just how well this plays outside of the most politically liberal states.
Join the Hoover Institution's community of supporters in advancing ideas defining a free society.
With its eminent scholars and world-renowned library and archives, the Hoover Institution seeks to improve the human condition by advancing ideas that promote economic opportunity and prosperity, while securing and safeguarding peace for America and all mankind.
Key Site Sections
Visit Visit Visit Visit Visit
Subscribe to receive the Hoover Daily Report.
The opinions expressed on this website are those of the authors and do not necessarily reflect the opinions of the Hoover Institution or Stanford University.
by the Board of Trustees of Leland Stanford Junior University.
(XML)


George Bernard Shaw's Arms and the Man is a drama revolving around the War between the Serbians and the Bulgarians. The story depicts Bluntschili, a mercenary for the Serbians being rescued by Raina the protagonist. Raina associated to the prominent Petkoff family is also in love with Captain Sergius who is able to secure a massive victory for the Serbians at Silivinitza. The rest of the play takes place in the home of the Petkoff family. Bluntschili returns to the home and returns a coat belonging to Raina's father. In it was Raina's portrait and a written inscription: 'To My Chocolate Cream Soldier'. When Raina's father demanded the coat, she was able to artfully dodge and remove the inscription.
War is portrayed as a semi-comic antic by Shaw. Both the comic side and the tragic side of war are depicted with an authentic tinge. Raina's room is invaded by Blutnschili the Serbian mercenary. He is covered with mud and blood and is escaping the Bulgarians. Raina takes pity on him and protects him even though she is a Bulgarian. When the Bulgarian soldiers enter her room she brilliantly hides him behind the curtain. Raina becomes a pacifist.
As a mercenary soldier Bluntschili is depicted comically. His revolver does not have bullets and like a small school kid he carries chocolates with him. When Raina hands him chocolate to eat, he goes to the extent of emptying the carton by scrubbing it with his hands and finishing up everything. Raina becomes affectionate towards him and labels him as: 'My Chocolate Cream soldier'. Bluntschili is a child archetype who is least concerned about the seriousness of war. When his life is in danger, he takes protection in Raina's room. Through Bluntschili we come to understand that war is a tragic comedy, an anathema, a volcano that injures peoples mind and bodies. Bluntschili is little bothered about who side wins the war. He is not courageous enough to fight back and tries to save his own skin. Through Raina, we come to understand that even in battle enemies can become friends, a quality that it is basic human instinct to be existentially kind to the other. Raina is prophet of non violence even though her romantic inclinations converge with men being in war and being intrepid, daring and courageous.
Sergius the would-be husband of Raina is characterized as a brave soldier. He by overruling the orders of his superiors makes bold cavalry charge and wins the battle for the Bulgarians at Silivinitza. Sergius is portrayed as a man with war like qualities. Raina and Catherine her mother rejoice at the Bulgarian victory and they feel proud that would be son-in-law and husband is successful at thwarting enemies. The serious aspect of war is given a room for thought through this character.
You may not realize it, but there are certain things which a woman should ask a man in order to set the pace, boundaries, and direction of a relationship. Women, who fail to ask the right questions, always end up getting strung along in a relationship.
A woman, who gets strung along, generally finds that a guy does whatever he wants, when he wants without much consideration of her desires or desires.
This is why it's extremely important to ask the right questions early on, so that you do not throw yourself into a vicious cycle where a man uses you like a door mat. Moreover, the questions you ask help you direct him knowing what exactly it is that you want, and help a man give you what you want.
1. What are your personal goals? – You SHOULD know what it is that he wants to do outside of a relationship, because he is going to want to do them. Most women get in the way of a man's personal goals, because they want all of his goals to involve her. Accept that not all of his goals involve you, as they were formed before you … and some simply will not involve you regardless.
2. What was your childhood like? – Knowing a man's childhood is like being given a key to understanding everything he is about, because it will explain why he is the way he is. This is something every woman should know from top to bottom.
3. What are your insecurities? – These little devils will pop up out of now if you do not ask and do not get clarification. When they do surface, they usually ruin and destroy everything good, so it's something you MUST discuss and find out early on, so that you're aware that it's just insecure when it surfaces.
5. What do you expect from a relationship? – Not everyone's idea of a relationship is the same. It's good to clarify this early on and figure out what a relationship really is to him.


A small version of the popular Shad Assassin family of lures. 1 1/2 inches long and great for crappie and other panfish. Rig it on a small jig head like a grub.
Silver  minnows equal  crappie and pan fish killers.  I got a ton of crappie  on these last year been look for more can't wait to get my order in so I can fill my fridge with more crappie.
Bass Assassin Turbo Shad - 4"
Bass Assassin Shad Assassin - 7"


text:
Why This High School Band Is Buying Music From Composers Of Color This Year
MPR News | By Solvejg Wastvedt
Published February 18, 2017 at 7:54 AM EST
Evan Frost
Spring Lake Park High School junior Kia Muleta has been playing the clarinet since fifth grade. Kia wants more diversity in her band music. She is often the only black student in band, where most of the music was composed by white men.
There's a bulletin board at the front of the band room at Spring Lake Park High covered in portraits of the composers who wrote this year's music selection.
The bulletin board isn't new — it's there every year. What's new are the faces: Instead of primarily white men, there are faces of women and composers of color.
This is intentional. The band directors at Spring Lake Park, outside of St. Paul, Minn., have pledged to include at least one piece by a female composer and one by a composer of color in each concert, for each of the school's bands.
"We made a commitment this year to only buy music from composers of color," says Brian Lukkasson, one of the directors.
Evan Frost / MPR News
Spring Lake Park High School band teachers have made a point of incorporating both modern and classical composers of color into their lesson plans.
He says it's been hard, but not because those composers aren't writing for bands.
"It's really hard to find music because there's just not a lot of composers of color that are being published," Lukkasson explains.
Composers of color and women are shut out of the canon and often stereotyped, so Lukkasson usually has to network with his colleagues to find their music.
Viet Cuong, for instance, is a young Vietnamese-American who wrote the piece "Diamond Tide," inspired by the scientific process of melting a diamond.
"I really, really want other students of color to be able to feel like they are welcomed and appreciated anywhere, that they don't have to check themselves at the door," says junior Kia Muleta, one of Lukkasson's students.
Muleta, who is black, has been playing the clarinet in since fifth grade, and says the students sitting around her are usually white. She says it bothers her that the composers they used to play were usually white too.
"There's a kind of an ideological segregation of who can and cannot be in band, based on who the composers are, and what the music is like," she says.
This year she'll be playing "Of Honor and Valor Eternal," a tribute to the Tuskegee Airmen. It's by Ayatey Shabazz, a black composer from Mississippi. Shabazz says that his grandfather knew one of the African-American airmen, and that stories he heard as a child inspired the composition.
Evan Frost | / MPR News
Band teacher Brian Lukkasson leads a discussion with his class about the perspectives of the composers they play, focusing on composers of color in the civil rights era.
"The more you practice talking about race, culture and ethnicity, the more comfortable you are," says Nora Tycast, one of the other band directors at Spring Lake Park. She and her students wrote to Shabazz to ask about the composing process.
Kia Muleta says the mix of composers on the bulletin board may seem like a small thing, but it's not to her. She says new faces up front are a signal that difference is welcome here.
Copyright 2017 MPR News
Solvejg Wastvedt


This apartment of 61,56 m² (about 662 ft²), built in 2017, in a building of 6 floors comprises 3 rooms including 2 bedrooms, 1 shower room and 1 toilet. It is provided with a living room of 24,66 m² (about 265 ft²), with a fitted, with a balcony, with a terrace, with a cellar and with a parking lot. It's located on the 2nd floor with a lift. Heating : individual gaz. Others : intercom, digicode.


text:
Category: Labour
Processing industry collaborating to keep meat coolers stocked
Meat coolers are going to look a lot different as we navigate COVID-19, but according to the Canadian Meat Council, each step of the livestock processing chain is collaborating, communicating, and committed to keeping food moving to grocery stores. Chris White, president and CEO of the Canadian Meat Council, says the livestock processing sector is… Read More
Federal government shifts summer job funding to essential sectors
Changes to the Canada Summer Jobs Program as a result of COVID-19 could mean real help for the agriculture sector. Because of social distancing and the closure of non-essential services, several companies will not be hiring students and youth to fill summer jobs. The federal government is in the process of re-allocating those funds into… Read More
Government lays out quarantine expectations of temporary and seasonal worker program
Many temporary foreign workers are still in their home countries waiting for the green light (and an available flight) to come to Canada. Once here, the Government of Canada has laid out added measures and precautions for a mandatory 14-day isolation period. There are also new guidelines and rules in relation to seasonal workers, as… Read More
Ontario launches farm and food industry employment portal
Ontario has launched a web portal connecting workers with employers looking to fill positions in the agri-food sector. The initiative is aimed at matching people to essential jobs and training resources throughout the provincial food supply chain in an effort to ensure grocery store shelves remain full during the COVID-19 outbreak. "Right now, there are… Read More
Alberta working on a job matching program for agriculture and food sector
Each province is feeling the incredible economic hit from COVID-19, but Alberta — with its oil and gas-based economy — may be harder hit than some, as the price of oil has plummeted. There are many Albertans out of work, and many Alberta farm and agriculture businesses looking to fill a gap that seasonal workers… Read More
Canadian government confirms temporary foreign workers will be exempt from travel restrictions
Update, as of 11pm EDT Friday, March 20: The Canadian government confirmed late Friday that it will be exempting seasonal agricultural workers from the travel restrictions put in place to help prevent the spread of COVID-19. "The participation of temporary foreign workers on our farms and our food businesses is absolutely necessary," says Minister of… Read More
Temporary workers will not be allowed into Canada, adding uncertainty to farm labour picture
Editor's note: CBC News is reporting that temporary foreign workers will be allowed to enter Canada, but must quarantine for 14 days. RealAgriculture is working to confirm this. As North America adjusts to a "self-isolation" lockdown to limit the spread of COVID-19, farmers are finalizing spring planting and seeding plans. For many farmers and farm… Read More
Finding and keeping great farm employees
How do you find and keep great farm help? That's a question all farmers are wrestling with as labour becomes tougher to find and often equally difficult to retain. With low unemployment rates, it's tough to keep talent on the farm, says Mark Ferguson, business management specialist for the Ontario Ministry of Agriculture, Food and… Read More
Alberta Farm Freedom and Safety Act now in place: what you need to know
Jessika Guse
Starting this month, the Farm Freedom and Safety Act (FFSA) has come into effect. Put in place by the Alberta Government, the Act — known as Bill 26 — is a replacement of Bill 6, introduced by the previous NDP government. In it, there's changes to current employment, workers compensation coverage (WCB), and occupational health… Read More
Immigration as a finite resource: Is Canada thinking strategically enough?
Contrary to an oft-quoted statistic, Darrell Bricker says we are not racing to a population of 9 billion by 2050. In fact Bricker, CEO of IPSOS Public Affairs and author of Empty Planet, argues that population dynamics mean Canada needs to think more strategically about attracting new immigrants and finding new export markets. Bricker says… Read More
Growing the family farm in the face of tragedy
Farmers will hear much talk of the need for resilience in the years ahead. From weather and markets, to trade, to family and managing day-to-day operations, farmers need to be able to cope with the challenges and setbacks that are routinely part of production agriculture. No one personifies resilience more than Springfield, PEI, dairy farmer… Read More
How to build a farm peer advisory group
Terry Betker has worked with farmers to establish peer groups for more than a decade. Traditionally, farmers engage with their peers to share management ideas in informal settings — everywhere from industry meetings to the local coffee shop — but formal peer groups are not common in Canadian agriculture, says Betker, president of Winnipeg-based Backswath… Read More
Recruitment model leverages on-farm and off-farm experiences
When you think about filling part-time, short-term or contract work positions in agriculture, most likely assume the discussion will be about the temporary foreign worker program. But work opportunities in agriculture are as diverse as the industry itself, and AgCall has approached filling these part-time labour and expertise needs with a unique business model. Arron… Read More
New employees key to unlocking Canadian agriculture's $11 billion growth potential
What could Canadian agriculture achieve if it had 123,000 new skilled workers over the next decade? According to RBC Royal Bank, all that new labour would help the sector realize its tremendous economic potential and could contribute an additional $11 billion to Canada's GDP by 2030, making agriculture more productive than auto manufacturing and aerospace… Read More
Working with family can be the most rewarding part of the farm business, but it also has the potential to be one of the most challenging aspects, full of emotion, relationship evolution, and conflict. In this episode of Mind Your Farm Business, host Shaun Haney is joined by Ed and Lyle Peters, father-son farm partners… Read More


text:
#ifndef DRILL_CLIENT_IMPL_H
#define DRILL_CLIENT_IMPL_H

#include "drill/common.hpp"

// Define some BOOST defines
// WIN32_SHUTDOWN_ON_TIMEOUT is defined in "drill/common.hpp" for Windows 32 bit platform
#ifndef WIN32_SHUTDOWN_ON_TIMEOUT
#define BOOST_ASIO_ENABLE_CANCELIO
#endif //WIN32_SHUTDOWN_ON_TIMEOUT

#include <algorithm>
#include <stdlib.h>
#include <time.h>
#include <queue>
#include <vector>
#include <boost/asio.hpp>

#if defined _WIN32  || defined _WIN64
#include <zookeeper.h>
//Windows header files redefine 'random'
#ifdef random
#undef random
#endif
#else
#include <zookeeper/zookeeper.h>
#endif
#include <boost/asio/deadline_timer.hpp>
#include <boost/thread.hpp>

#include "drill/drillClient.hpp"
#include "rpcEncoder.hpp"
#include "rpcDecoder.hpp"
#include "utils.hpp"
#include "User.pb.h"
#include "UserBitShared.pb.h"

namespace Drill {

class DrillClientImpl;
class InBoundRpcMessage;
class OutBoundRpcMessage;
class RecordBatch;
class RpcEncoder;
class RpcDecoder;

/*
 * Defines the interface used by DrillClient and implemented by DrillClientImpl and PooledDrillClientImpl
 * */
class DrillClientImplBase{
    public:
        DrillClientImplBase(){
        }

        virtual ~DrillClientImplBase(){
        }

        //Connect via Zookeeper or directly.
        //Makes an initial connection to a drillbit. successful connect adds the first drillbit to the pool.
        virtual connectionStatus_t connect(const char* connStr)=0;

        // Test whether the client is active. Returns true if any one of the underlying connections is active
        virtual bool Active()=0;

        // Closes all open connections.
        virtual void Close()=0;

        // Returns the last error encountered by any of the underlying executing queries or connections
        virtual DrillClientError* getError()=0;

        // Submits a query to a drillbit.
        virtual DrillClientQueryResult* SubmitQuery(::exec::shared::QueryType t, const std::string& plan, pfnQueryResultsListener listener, void* listenerCtx)=0;

        //Waits as a connection has results pending
        virtual void waitForResults()=0;

        //Validates handshake at connect time.
        virtual connectionStatus_t validateHandshake(DrillUserProperties* props)=0;

        virtual void freeQueryResources(DrillClientQueryResult* pQryResult)=0;

};

class DrillClientQueryResult{
    friend class DrillClientImpl;
    public:
    DrillClientQueryResult(DrillClientImpl * pClient, uint64_t coordId, const std::string& query):
        m_pClient(pClient),
        m_coordinationId(coordId),
        m_query(query),
        m_numBatches(0),
        m_columnDefs(new std::vector<Drill::FieldMetadata*>),
        m_bIsQueryPending(true),
        m_bIsLastChunk(false),
        m_bCancel(false),
        m_bHasSchemaChanged(false),
        m_bHasData(false),
        m_bHasError(false),
        m_queryState(exec::shared::QueryResult_QueryState_STARTING),
        m_pError(NULL),
        m_pQueryId(NULL),
        m_pSchemaListener(NULL),
        m_pResultsListener(NULL),
        m_pListenerCtx(NULL) {
    };

    ~DrillClientQueryResult(){
        this->clearAndDestroy();
    };

    // get data asynchronously
    void registerListener(pfnQueryResultsListener listener, void* listenerCtx){
        this->m_pResultsListener=listener;
        this->m_pListenerCtx = listenerCtx;
    }

    void registerSchemaChangeListener(pfnSchemaListener l){
        m_pSchemaListener=l;
    }

    // Synchronous call to get data. Caller assumes ownership of the recod batch
    // returned and it is assumed to have been consumed.
    RecordBatch*  getNext();
    // Synchronous call to get a look at the next Record Batch. This
    // call does not move the current pointer forward. Repeatied calls
    // to peekNext return the same value until getNext is called.
    RecordBatch*  peekNext();
    // Blocks until data is available.
    void waitForData();

    // placeholder to return an empty col def vector when calls are made out of order.
    static FieldDefPtr s_emptyColDefs;

    FieldDefPtr getColumnDefs(){
        boost::lock_guard<boost::mutex> bufferLock(this->m_schemaMutex);
        return this->m_columnDefs;
    }

    void cancel();
    bool isCancelled(){return this->m_bCancel;};
    bool hasSchemaChanged(){return this->m_bHasSchemaChanged;};
    int32_t getCoordinationId(){ return this->m_coordinationId;}
    const std::string&  getQuery(){ return this->m_query;}

    void setQueryId(exec::shared::QueryId* q){this->m_pQueryId=q;}
    void* getListenerContext() {return this->m_pListenerCtx;}
    exec::shared::QueryId& getQueryId(){ return *(this->m_pQueryId); }
    bool hasError(){ return m_bHasError;}
    status_t getErrorStatus(){ return m_pError!=NULL?(status_t)m_pError->status:QRY_SUCCESS;}
    const DrillClientError* getError(){ return m_pError;}
    void setQueryStatus(status_t s){ m_status = s;}
    status_t getQueryStatus(){ return m_status;}

    void setQueryState(exec::shared::QueryResult_QueryState s){ m_queryState = s;}
    exec::shared::QueryResult_QueryState getQueryState(){ return m_queryState;}
    void setIsQueryPending(bool isPending){
        boost::lock_guard<boost::mutex> cvLock(this->m_cvMutex);
        m_bIsQueryPending=isPending;
    }

    private:
    status_t setupColumnDefs(exec::shared::QueryData* pQueryData);
    status_t defaultQueryResultsListener(void* ctx, RecordBatch* b, DrillClientError* err);
    // Construct a DrillClientError object, set the appropriate state and signal any listeners, condition variables.
    // Also used when a query is cancelled or when a query completed response is received.
    // Error object is now owned by the DrillClientQueryResult object.
    void signalError(DrillClientError* pErr);
    void signalComplete();
    void clearAndDestroy();

    DrillClientImpl* m_pClient;

    int32_t m_coordinationId;
    const std::string& m_query;

    size_t m_numBatches; // number of record batches received so far

    // Vector of Buffers holding data returned by the server
    // Each data buffer is decoded into a RecordBatch
    std::vector<ByteBuf_t> m_dataBuffers;
    std::queue<RecordBatch*> m_recordBatches;
    FieldDefPtr m_columnDefs;

    // Mutex to protect schema definitions
    boost::mutex m_schemaMutex;
    // Mutex for Cond variable for read write to batch vector
    boost::mutex m_cvMutex;
    // Condition variable to signal arrival of more data. Condition variable is signaled
    // if the recordBatches queue is not empty
    boost::condition_variable m_cv;

    // state
    // if m_bIsQueryPending is true, we continue to wait for results
    bool m_bIsQueryPending;
    bool m_bIsLastChunk;
    bool m_bCancel;
    bool m_bHasSchemaChanged;
    bool m_bHasData;
    bool m_bHasError;

    // state in the last query result received from the server.
    exec::shared::QueryResult_QueryState m_queryState;

    const DrillClientError* m_pError;

    exec::shared::QueryId* m_pQueryId;
    status_t m_status;

    // Schema change listener
    pfnSchemaListener m_pSchemaListener;
    // Results callback
    pfnQueryResultsListener m_pResultsListener;

    // Listener context
    void * m_pListenerCtx;
};

class DrillClientImpl : public DrillClientImplBase{
    public:
        DrillClientImpl():
            m_coordinationId(1),
            m_handshakeVersion(0),
            m_handshakeStatus(exec::user::SUCCESS),
            m_bIsConnected(false),
            m_pendingRequests(0),
            m_pError(NULL),
            m_pListenerThread(NULL),
            m_pWork(NULL),
            m_socket(m_io_service),
            m_deadlineTimer(m_io_service),
            m_heartbeatTimer(m_io_service),
            m_rbuf(NULL),
            m_wbuf(MAX_SOCK_RD_BUFSIZE)
    {
        m_coordinationId=rand()%1729+1;
    };

        ~DrillClientImpl(){
            //TODO: Cleanup.
            //Free any record batches or buffers remaining
            //Cancel any pending requests
            //Clear and destroy DrillClientQueryResults vector?
            if(this->m_pWork!=NULL){
                delete this->m_pWork;
                this->m_pWork = NULL;
            }

            m_heartbeatTimer.cancel();
            m_deadlineTimer.cancel();
            m_io_service.stop();
            boost::system::error_code ignorederr;
            m_socket.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ignorederr);
            m_socket.close();
            if(m_rbuf!=NULL){
                Utils::freeBuffer(m_rbuf, MAX_SOCK_RD_BUFSIZE); m_rbuf=NULL;
            }
            if(m_pError!=NULL){
                delete m_pError; m_pError=NULL;
            }
            //Terminate and free the heartbeat thread
            //if(this->m_pHeartbeatThread!=NULL){
            //    this->m_pHeartbeatThread->interrupt();
            //    this->m_pHeartbeatThread->join();
            //    delete this->m_pHeartbeatThread;
            //    this->m_pHeartbeatThread = NULL;
            //}
            //Terminate and free the listener thread
            if(this->m_pListenerThread!=NULL){
                this->m_pListenerThread->interrupt();
                this->m_pListenerThread->join();
                delete this->m_pListenerThread;
                this->m_pListenerThread = NULL;
            }
        };

        //Connect via Zookeeper or directly
        connectionStatus_t connect(const char* connStr);
        // test whether the client is active
        bool Active();
        void Close() ;
        DrillClientError* getError(){ return m_pError;}
        DrillClientQueryResult* SubmitQuery(::exec::shared::QueryType t, const std::string& plan, pfnQueryResultsListener listener, void* listenerCtx);
        void waitForResults();
        connectionStatus_t validateHandshake(DrillUserProperties* props);
        void freeQueryResources(DrillClientQueryResult* pQryResult){
            // Doesn't need to do anything
            return;
        };

    private:
        friend class DrillClientQueryResult;
        friend class PooledDrillClientImpl;

        struct compareQueryId{
            bool operator()(const exec::shared::QueryId* q1, const exec::shared::QueryId* q2) const {
                return q1->part1()<q2->part1() || (q1->part1()==q2->part1() && q1->part2() < q2->part2());
            }
        };

        // Direct connection to a drillbit
        // host can be name or ip address, port can be port number or name of service in /etc/services
        connectionStatus_t connect(const char* host, const char* port);
        void startHeartbeatTimer();// start a heartbeat timer
        connectionStatus_t sendHeartbeat(); // send a heartbeat to the server
        void resetHeartbeatTimer(); // reset the heartbeat timer (called every time one sends a message to the server (after sendAck, or submitQuery)
        void handleHeartbeatTimeout(const boost::system::error_code & err); // send a heartbeat. If send fails, broadcast error, close connection and bail out.

        int32_t getNextCoordinationId(){ return ++m_coordinationId; };
        // send synchronous messages
        //connectionStatus_t recvSync(InBoundRpcMessage& msg);
        connectionStatus_t sendSync(OutBoundRpcMessage& msg);
        // handshake
        connectionStatus_t recvHandshake();
        void handleHandshake(ByteBuf_t b, const boost::system::error_code& err, std::size_t bytes_transferred );
        void handleHShakeReadTimeout(const boost::system::error_code & err);
        // starts the listener thread that receives responses/messages from the server
        void startMessageListener();
        // Query results
        void getNextResult();
        status_t readMsg(
                ByteBuf_t _buf,
                AllocatedBufferPtr* allocatedBuffer,
                InBoundRpcMessage& msg,
                boost::system::error_code& error);
        status_t processQueryResult(AllocatedBufferPtr allocatedBuffer, InBoundRpcMessage& msg);
        status_t processQueryData(AllocatedBufferPtr allocatedBuffer, InBoundRpcMessage& msg);
        status_t processCancelledQueryResult( exec::shared::QueryId& qid, exec::shared::QueryResult* qr);
        status_t processQueryId(AllocatedBufferPtr allocatedBuffer, InBoundRpcMessage& msg );
        DrillClientQueryResult* findQueryResult(exec::shared::QueryId& qid);
        status_t processQueryStatusResult( exec::shared::QueryResult* qr,
                DrillClientQueryResult* pDrillClientQueryResult);
        void handleReadTimeout(const boost::system::error_code & err);
        void handleRead(ByteBuf_t _buf, const boost::system::error_code & err, size_t bytes_transferred) ;
        status_t validateDataMessage(InBoundRpcMessage& msg, exec::shared::QueryData& qd, std::string& valError);
        status_t validateResultMessage(InBoundRpcMessage& msg, exec::shared::QueryResult& qr, std::string& valError);
        connectionStatus_t handleConnError(connectionStatus_t status, std::string msg);
        status_t handleQryError(status_t status, std::string msg, DrillClientQueryResult* pQueryResult);
        status_t handleQryError(status_t status,
                const exec::shared::DrillPBError& e,
                DrillClientQueryResult* pQueryResult);
        // handle query state indicating query is COMPELTED or CANCELED
        // (i.e., COMPELTED or CANCELED)
        status_t handleTerminatedQryState(status_t status,
                std::string msg,
                DrillClientQueryResult* pQueryResult);
        void broadcastError(DrillClientError* pErr);
        void clearMapEntries(DrillClientQueryResult* pQueryResult);
        void sendAck(InBoundRpcMessage& msg, bool isOk);
        void sendCancel(exec::shared::QueryId* pQueryId);

        void shutdownSocket();

        static RpcEncoder s_encoder;
        static RpcDecoder s_decoder;

        int32_t m_coordinationId;
        int32_t m_handshakeVersion;
        exec::user::HandshakeStatus m_handshakeStatus;
        std::string m_handshakeErrorId;
        std::string m_handshakeErrorMsg;
        bool m_bIsConnected;

        std::string m_connectStr;

        //
        // number of outstanding read requests.
        // handleRead will keep asking for more results as long as this number is not zero.
        size_t m_pendingRequests;
        //mutex to protect m_pendingRequests
        boost::mutex m_prMutex;

        // Error Object. NULL if no error. Set if the error is valid for ALL running queries.
        // All the query result objects will
        // also have the error object set.
        // If the error is query specific, only the query results object will have the error set.
        DrillClientError* m_pError;

        //Started after the connection is established and sends heartbeat messages after {heartbeat frequency} seconds
        //The thread is killed on disconnect.
        //boost::thread * m_pHeartbeatThread;

        // for boost asio
        boost::thread * m_pListenerThread;
        boost::asio::io_service m_io_service;
        // the work object prevent io_service running out of work
        boost::asio::io_service::work * m_pWork;
        boost::asio::ip::tcp::socket m_socket;
        boost::asio::deadline_timer m_deadlineTimer; // to timeout async queries that never return
        boost::asio::deadline_timer m_heartbeatTimer; // to send heartbeat messages

        std::string m_connectedHost; // The hostname and port the socket is connected to.

        //for synchronous messages, like validate handshake
        ByteBuf_t m_rbuf; // buffer for receiving synchronous messages
        DataBuf m_wbuf; // buffer for sending synchronous message

        // Mutex to protect drill client operations
        boost::mutex m_dcMutex;

        // Map of coordination id to  Query Ids.
        std::map<int, DrillClientQueryResult*> m_queryIds;

        // Map of query id to query result for currently executing queries
        std::map<exec::shared::QueryId*, DrillClientQueryResult*, compareQueryId> m_queryResults;

        // Condition variable to signal completion of all queries.
        boost::condition_variable m_cv;

        bool m_bIsDirectConnection;
};

inline bool DrillClientImpl::Active() {
    return this->m_bIsConnected;;
}

/* *
 *  Provides the same public interface as a DrillClientImpl but holds a pool of DrillClientImpls.
 *  Every submitQuery uses a different DrillClientImpl to distribute the load.
 *  DrillClient can use this class instead of DrillClientImpl to get better load balancing.
 * */
class PooledDrillClientImpl : public DrillClientImplBase{
    public:
        PooledDrillClientImpl(){
            m_bIsDirectConnection=false;
            m_maxConcurrentConnections = DEFAULT_MAX_CONCURRENT_CONNECTIONS;
            char* maxConn=std::getenv(MAX_CONCURRENT_CONNECTIONS_ENV);
            if(maxConn!=NULL){
                m_maxConcurrentConnections=atoi(maxConn);
            }
            m_lastConnection=-1;
            m_pError=NULL;
            m_queriesExecuted=0;
            m_pUserProperties=NULL;
        }

        ~PooledDrillClientImpl(){
            for(std::vector<DrillClientImpl*>::iterator it = m_clientConnections.begin(); it != m_clientConnections.end(); ++it){
                delete *it;
            }
            m_clientConnections.clear();
            if(m_pUserProperties!=NULL){ delete m_pUserProperties; m_pUserProperties=NULL;}
            if(m_pError!=NULL){ delete m_pError; m_pError=NULL;}
        }

        //Connect via Zookeeper or directly.
        //Makes an initial connection to a drillbit. successful connect adds the first drillbit to the pool.
        connectionStatus_t connect(const char* connStr);

        // Test whether the client is active. Returns true if any one of the underlying connections is active
        bool Active();

        // Closes all open connections.
        void Close() ;

        // Returns the last error encountered by any of the underlying executing queries or connections
        DrillClientError* getError();

        // Submits a query to a drillbit. If more than one query is to be sent, we may choose a
        // a different drillbit in the pool. No more than m_maxConcurrentConnections will be allowed.
        // Connections once added to the pool will be removed only when the DrillClient is closed.
        DrillClientQueryResult* SubmitQuery(::exec::shared::QueryType t, const std::string& plan, pfnQueryResultsListener listener, void* listenerCtx);

        //Waits as long as any one drillbit connection has results pending
        void waitForResults();

        //Validates handshake only against the first drillbit connected to.
        connectionStatus_t validateHandshake(DrillUserProperties* props);

        void freeQueryResources(DrillClientQueryResult* pQryResult);

        int getDrillbitCount(){ return m_drillbits.size();};

    private:

        std::string m_connectStr;
        std::string m_lastQuery;

        // A list of all the current client connections. We choose a new one for every query.
        // When picking a drillClientImpl to use, we see how many queries each drillClientImpl
        // is currently executing. If none,
        std::vector<DrillClientImpl*> m_clientConnections;
		boost::mutex m_poolMutex; // protect access to the vector

        //ZookeeperImpl zook;

        // Use this to decide which drillbit to select next from the list of drillbits.
        size_t m_lastConnection;
		boost::mutex m_cMutex;

        // Number of queries executed so far. Can be used to select a new Drillbit from the pool.
        size_t m_queriesExecuted;

        size_t m_maxConcurrentConnections;

        bool m_bIsDirectConnection;

        DrillClientError* m_pError;

        connectionStatus_t handleConnError(connectionStatus_t status, std::string msg);
        // get a connection from the pool or create a new one. Return NULL if none is found
        DrillClientImpl* getOneConnection();

        std::vector<std::string> m_drillbits;

        DrillUserProperties* m_pUserProperties;//Keep a copy of user properties
};

class ZookeeperImpl{
    public:
        ZookeeperImpl();
        ~ZookeeperImpl();
        static ZooLogLevel getZkLogLevel();
        // comma separated host:port pairs, each corresponding to a zk
        // server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002
        DEPRECATED int connectToZookeeper(const char* connectStr, const char* pathToDrill);
        void close();
        static void watcher(zhandle_t *zzh, int type, int state, const char *path, void* context);
        void debugPrint();
        std::string& getError(){return m_err;}
        const exec::DrillbitEndpoint& getEndPoint(){ return m_drillServiceInstance.endpoint();}
        // return unshuffled list of drillbits
        int getAllDrillbits(const char* connectStr, const char* pathToDrill, std::vector<std::string>& drillbits);
        // picks the index drillbit and returns the corresponding endpoint object
        int getEndPoint(std::vector<std::string>& drillbits, size_t index, exec::DrillbitEndpoint& endpoint);

    private:
        static char s_drillRoot[];
        static char s_defaultCluster[];
        zhandle_t* m_zh;
        clientid_t m_id;
        int m_state;
        std::string m_err;

        struct String_vector* m_pDrillbits;

        boost::mutex m_cvMutex;
        // Condition variable to signal connection callback has been processed
        boost::condition_variable m_cv;
        bool m_bConnecting;
        exec::DrillServiceInstance m_drillServiceInstance;
        std::string m_rootDir;
};

} // namespace Drill

#endif

redpajama_set_name: RedPajamaGithub


Life keeps getting faster — it is always challenging to find time to connect with friends and colleagues. We hope our alumni portal helps you do just that — a place to quickly access updated contact information for former coworkers, events that provide CLE and networking opportunities and Alumni Bulletins that keep you informed about what's happening with fellow alumni.
We have a LinkedIn group to make staying connected even easier — click below to join the Attorney Alumni Group.
What makes this work is you — stay in the know with other alumni activities by signing up for the mailing list (below). You'll receive our newsletters, invitations to events, trainings, and more. Contact us with any questions and stay in touch!


We provide HR starter packs designed for businesses thinking about employing someone for the first time. These provide all the HR documents needed to employ someone i.e. contracts of employment, employee handbook, form etc.
We also offer free HR Audits to see if your existing documentation is compliant. We check whether this is primarily focusing on performance management, management training and development. We will show how to get the most from your team by putting robust/workable HR solutions in place that add value.


text:
class Kuroko2::JobInstance < Kuroko2::ApplicationRecord
  include Kuroko2::TableNameCustomizable

  belongs_to :job_definition

  attr_accessor :log_message

  has_many :logs, dependent: :delete_all do
    def info(message)
      add('INFO', message)
    end

    def warn(message)
      add('WARN', message)
    end

    def error(message)
      add('ERROR', message)
    end

    private
    def add(level, message)
      self.create(level: level, message: message)
    end
  end
  has_many :tokens, dependent: :restrict_with_exception
  has_many :executions, dependent: :restrict_with_exception
  has_one :memory_consumption_log, dependent: :destroy

  before_create :copy_script
  after_create :notify_launch
  after_create :generate_token

  scope :working, -> { where(finished_at: nil, canceled_at: nil) }
  scope :finished, -> { where.not(finished_at: nil) }

  def error?
    working? && error_at?
  end

  def working?
    !finished_at? && !canceled_at?
  end

  def cancelable?
    tokens.first.try(:cancelable?)
  end

  def cancel(by:)
    self.tokens.destroy(*self.tokens)
    self.executions.destroy(*self.executions)
    self.touch(:canceled_at)

    message = "This job was canceled by #{by}."
    self.logs.warn(message)
    Kuroko2.logger.warn(message)

    Kuroko2::Workflow::Notifier.notify(:cancellation, self) if job_definition.hipchat_notify_finished?
  end

  # Log given value if it is greater than stored one.
  # This logging is not so important that we can ignore race condition,
  # so we use `#update` and `#create_association` without bang here.
  # @param [Intger] value
  def log_memory_consumption(value)
    if memory_consumption_log
      max = [value, memory_consumption_log.value].max
      memory_consumption_log.update(value: max)
    else
      create_memory_consumption_log(value: value)
    end
  end

  def execution_minutes
    (((error_at || canceled_at || finished_at || Time.current) - created_at).to_f / 60).round(2)
  end

  def status
    if finished_at?
      'success'
    elsif canceled_at?
      'canceled'
    elsif error_at?
      'error'
    else
      'working'
    end
  end

  private

  def copy_script
    self.script = job_definition.try(:script) if self.script.blank?
  end

  def notify_launch
    if log_message
      Kuroko2.logger.info(log_message)
      self.logs.info(log_message)
      Kuroko2::Workflow::Notifier.notify(:launch, self)
    end
  end

  def generate_token
    unless self.job_definition
      raise 'No parent association is found'
    end

    if job_definition.proceed_multi_instance?
      self.tokens << Kuroko2::Token.new do |token|
        definition = self.job_definition

        token.job_definition         = definition
        token.job_definition_version = definition.version
        token.script                 = self.script
        token.context                = {
          meta: {
            launched_time:       Time.current,
            job_definition_id:   definition.id,
            job_definition_name: definition.name,
            job_instance_id:     id,
          }
        }
      end
    else
      self.touch(:canceled_at)

      message = 'This job was canceled because there is already a working or erred job instance.'
      self.logs.warn(message)
      Kuroko2.logger.warn(message)

      Kuroko2::Workflow::Notifier.notify(:cancellation, self) if job_definition.notify_cancellation
    end
  end
end


Margaret Oliphant and Andrew Lang were impressively prolific authors who responded to each other's periodical criticism and influenced each other's theories of life writing. Their reception history, however, has diverged sharply. While both writers fell out of fashion for much of the twentieth century, Oliphant's autobiography sparked new interest in her work among feminists and life-writing scholars, while Lang's lack of a definitive autobiography, along with the over-quotation of a few hostile letters by others, made him into a caricature. I examine Oliphant and Lang's good-humored sparring in "The Old Saloon" in Blackwood's and "At the Sign of the Ship" in Longman's, as well as their correspondence regarding Lang's Life of Lockhart (1896), as a way of drawing attention to their differing levels of authority as authors of criticism and life writing.


text:
Q: supervisior not auto create stdout_logfile my supervisor conf file like this
[program:xxxsrv]
directory=/data/projects/xxxsrv/
command=/data/projects/xxxsrv/xxxsrv -config=/data/projects/xxxsrv/qcloud.toml
stdout_logfile=/data/log/xxxsrv/xxxsrv.log
stdout_logfile_backups=50
redirect_stderr=true
autostart=true
autorestart=true

when i run command
supervisorctl restart xxxsrv

server running successfully,but nothing my log file ** /data/log/xxxsrv/xxxsrv.log **
when i touch file,everything is ok
vim /data/log/xxxsrv/xxxsrv.log

my question
Should I have to manually create log files every time I start a new project?
when i mkdir log dir,file will created autoly

redpajama_set_name: RedPajamaStackExchange


text:
Mid Cap Stock Fund
Affiliated Fund Bond Debenture Fund Convertible Fund Developing Growth Fund Dividend Growth Fund Fundamental Equity Fund Growth Opportunities Fund High Yield Fund International Equity Fund International Opportunities Fund Mid Cap Stock Fund Multi-Asset Balanced Opportunity Fund Small Cap Value Fund Total Return Fund Value Opportunities Fund
Class A Class C Class F Class F3 Class I Class P Class R2 Class R3 Class R4 Class R5 Class R6
LMCPX
Track this Fund
Add to Hypo Tool
Daily price w/o sales charge as of 01/19/2021
YTD Returns w/o sales charge as of 01/19/2021
Please click here for performance current to the most recent quarter-end and month-end.
Statutory Prospectus
All Fund Documents
Click here to view all legal text including risk information
Dividends & Cap Gains
Fund Documents
What is the Mid Cap Stock Fund?
The Fund seeks to deliver long-term growth of capital by investing primarily in stocks of mid-sized U.S. companies.
Fund Basicsas of 12/31/2020
Total Net Assets
$1.32 B
Fund Expense Ratio
Fund Expense Ratio :
1-YR
10-YR
Since Inception 11/24/1997
w/o sales charge 2.51% 2.51% 2.37% 5.92% 7.46% 7.28%
Lipper Category Avg. Mid-Cap Core Funds 9.18% 9.18% 7.01% 9.83% 9.57% -
Russell Midcap® Value Index 4.96% 4.96% 5.37% 9.73% 10.49% 9.26%
The performance quoted represents past performance, which is no indication of future results. Current performance may be higher or lower than the performance data quoted. Returns shown include the reinvestment of all distributions. Returns shown at net asset value do not reflect the current maximum sales charge, had the sales charge been included, returns would have been lower. The investment return and principal value of an investment will fluctuate so that shares, on any given day or when redeemed, may be worth more or less than the original cost. Therefore, there can be no assurance for future results.
TEN LARGEST HOLDINGS as of 12/31/2020View Portfolio
Discover Financial Services 2.1%
Euronet Worldwide, Inc. 2.0%
Ameriprise Financial, Inc. 1.9%
Lear Corp. 1.8%
CIT Group, Inc. 1.7%
East West Bancorp, Inc. 1.7%
Hartford Financial Services Group Inc/The 1.7%
Masco Corp. 1.7%
Teradyne, Inc. 1.7%
Waters Corp. 1.6%
Aggregate holdings are updated monthly, 30 days after month end. Aggregate holdings are presented to illustrate examples of the securities that the Fund has bought and the diversity of the areas in which the Fund may invest, and may not be representative of the Fund's current or future investments. The figures presented are as of the date shown and may change at any time.
Sector Allocationas of 12/31/2020View Portfolio
Eli Rabinowich
16 Years of Industry Experience
Jeff Diamond, CFA
John C. Hardy
Supported By 32 Investment Professionals with 19 Years Avg. Industry Experience
Your Representative
To contact your representative, enter your zip code and select your channel below.
I work at... I work at a Bank I work at an Independent Firm I work at a Regional Firm I work at a RIA Firm I work at a Wirehouse Firm
Yearly Returns
Fund Returns
Russell Midcap® Value Index
2018 -14.71% -12.29%
2015 -3.68% -4.78%
2010 25.43% -
2008 -39.56% -
2007 0.43% -
2002 -9.86% -
2021 - - - - 5.17%
2020 -30.47% 20.11% -0.04% 22.79% 2.51%
2019 13.33% 1.37% 1.36% 5.37% 22.69%
2018 -1.83% 0.98% 4.05% -17.31% -14.71%
2017 2.48% 1.51% 0.07% 2.64% 6.84%
2016 1.83% 3.68% 4.19% 5.77% 16.35%
2015 3.55% -1.35% -8.37% 2.91% -3.68%
2014 3.19% 5.06% -3.27% 6.45% 11.63%
2012 11.44% -7.10% 5.56% 4.77% 14.49%
2011 8.03% 0.00% -22.34% 14.40% -4.03%
2010 7.29% -9.36% 12.50% 14.64% 25.43%
2009 -12.25% 14.30% 19.51% 5.65% 26.63%
2008 -13.36% 0.07% -11.54% -21.20% -39.56%
2007 4.92% 5.99% -3.81% -6.11% 0.43%
2006 3.63% -2.91% 2.39% 8.91% 12.19%
2005 -0.16% 2.22% 4.20% 1.63% 8.07%
2004 6.53% 2.58% 0.25% 13.17% 23.99%
2003 -7.85% 15.35% 4.56% 12.35% 24.87%
2002 5.72% -6.19% -14.69% 6.54% -9.86%
2001 -2.10% 5.33% -7.98% 13.77% 7.95%
2000 10.79% 6.84% 12.81% 14.81% 53.31%
1999 -7.05% 17.49% -7.37% 2.26% 3.45%
1997 - - - - -10.74%
Performance is shown for each quarter and each calendar year. Past performance is no guarantee of future results.
NAV HISTORICAL PRICES
{{assets}}
Ten Largest Holdings
Discover Financial Services Financials 2.1%
Euronet Worldwide, Inc. Information Technology 2.0%
Ameriprise Financial, Inc. Financials 1.9%
Lear Corp. Consumer Discretionary 1.8%
CIT Group, Inc. Financials 1.7%
East West Bancorp, Inc. Financials 1.7%
Hartford Financial Services Group Inc/The Financials 1.7%
Masco Corp. Industrials 1.7%
Teradyne, Inc. Information Technology 1.7%
Waters Corp. Health Care 1.6%
Corteva Inc Materials 1.8%
Cummins, Inc. Industrials 1.8%
Lundin Mining Corp. Materials 1.7%
Edison International Utilities 1.7%
Hexcel Corp. Industrials 1.7%
Entergy Corp. Utilities 1.6%
Valvoline, Inc. Materials 1.6%
Hartford Financial Services Group, Inc. Financials 1.6%
EMCOR Group, Inc. Industrials 1.6%
Avery Dennison Corp. Materials 1.6%
Hubbell, Inc. Industrials 1.5%
Citizens Financial Group, Inc. Financials 1.5%
Rockwell Automation, Inc. Industrials 1.5%
Wabtec Corp. Industrials 1.5%
Brunswick Corp. Consumer Discretionary 1.5%
Alexandria Real Estate Equities, Inc. Real Estate 1.5%
Ross Stores, Inc. Consumer Discretionary 1.5%
Camden Property Trust Real Estate 1.5%
Alcon Inc Health Care 1.5%
A.O. Smith Corp. Industrials 1.4%
Quest Diagnostics, Inc. Health Care 1.4%
Fidelity National Financial Group Financials 1.4%
CMS Energy Corp. Utilities 1.4%
Everest Re Group Ltd. Financials 1.4%
Synopsys, Inc. Information Technology 1.4%
Acuity Brands, Inc. Industrials 1.4%
Landstar System, Inc. Industrials 1.4%
Leggett & Platt, Inc. Consumer Discretionary 1.4%
Harley-Davidson, Inc. Consumer Discretionary 1.3%
Pinnacle West Capital Corp. Utilities 1.3%
Duke Realty Corp. Real Estate 1.3%
Delta Air Lines, Inc. Industrials 1.3%
Eldorado Resorts, Inc. Consumer Discretionary 1.3%
Omnicom Group, Inc. Communication Services 1.3%
F5 Networks, Inc. Information Technology 1.3%
eBay, Inc. Consumer Discretionary 1.3%
Highwoods Properties, Inc. Real Estate 1.3%
SVB Financial Group Financials 1.3%
Torchmark Corp. Financials 1.3%
Avnet, Inc. Information Technology 1.2%
Axalta Coating Systems Ltd. Materials 1.2%
AmerisourceBergen Corp. Health Care 1.2%
Healthcare Trust of America, Inc. Real Estate 1.2%
KKR & Co Inc Financials 1.2%
Carlsberg A/S Consumer Staples 1.2%
Fox Corp Communication Services 1.2%
Weingarten Realty Investors Real Estate 1.2%
NuVasive, Inc. Health Care 1.1%
Williams-Sonoma, Inc. Consumer Discretionary 1.1%
J.M. Smucker Co. Consumer Staples 1.1%
Parsley Energy, Inc. Energy 1.1%
NetApp, Inc. Information Technology 1.0%
Xilinx, Inc. Information Technology 1.0%
Spectrum Brands Holdings Inc Consumer Staples 1.0%
Choice Hotels International, Inc. Consumer Discretionary 1.0%
Reynolds Consumer Products Inc Consumer Staples 0.9%
ONEOK, Inc. Energy 0.8%
Marathon Petroleum Corp. Energy 0.8%
CoreSite Realty Corp. Real Estate 0.8%
Cabot Oil & Gas Corp. Energy 0.7%
Host Hotels & Resorts, Inc. Real Estate 0.7%
Nexstar Broadcasting Group, Inc. Communication Services 0.7%
American Water Works Co., Inc. Utilities 0.7%
Domino's Pizza, Inc. Consumer Discretionary 0.6%
National Oilwell Varco, Inc. Energy 0.6%
Exelixis, Inc. Health Care 0.5%
Evergy Inc Utilities 0.4%
Ares Capital Corp. Financials 0.1%
{{assets}}% {{number}}
{{assets}}%
SECTOR ALLOCATIONas of 12/31/2020
Fund Change from Previous Quarter
Communication Services 0.3%
Real Estate 0.6%
Utilities 2.0%
Consumer Discretionary 1.1%
Consumer Staples 0.3%
Energy 0.4%
Financials 0.5%
Health Care 0.2%
Industrials 0.4%
Information Technology 1.0%
Materials 0.3%
Portfolio Positioning as of 06/30/2020
The Fund employs a fundamental, bottom-up individual stock selection strategy that focuses on quality companies with compelling valuations over a long term horizon.
Given our longer-term orientation and the focus we place on normalized free cash flow, we believe we have a unique ability to look through some of the shorter-term impacts on companies due to the global pandemic, and we continue to look for opportunities amid the volatility. As a result, we have been able to methodically upgrade the portfolio in areas that have been particularly impacted by adhering to our process.
We also initiated a position in shares of Masco Corp. (1.7%), an architectural coatings and plumbing fixtures manufacturer for the residential market. In our view, the company is well managed, has a strong financial profile and is wellpositioned to benefit from the continued growth in U.S. housing demand. As a result of market volatility, we had the opportunity to invest in Masco at what we believe to be very attractive valuations.
We also initiated a position in Rockwell Automation, Inc., a North American automation supplier for discrete manufacturing applications. We view the company as a high quality industrial company with unique scarcity value and attractive long-term secular growth characteristics driven in part by the potential for re-shoring of manufacturing back to the United States. As a result of market volatility, we had the opportunity to invest in a company at what we believe to be very attractive valuations.
We eliminated the portfolio's position in Zimmer Biomet Holdings, Inc., a musculoskeletal health care services provider, and Consolidated Edison, Inc., a utilities company, which was consistent with our normalized free cash flow methodology.
PORTFOLIO DETAILS as of 12/31/2020
Weighted Average Market Cap.
Portfolio Turnover Ratio as of 12/31/2019
To view definitions for the above Portfolio Details, Click here.
Market Capitalization Breakdown - Morningstar separates stock portfolio holdings into five market-capitalization groups: Giant, Large, Mid, Small, and Micro. Of the 5000 largest domestic stocks in their equities database, the top 1% are categorized as Giant, the next 4% are Large, the next 15% are Mid, the next 30% are Small, and the remaining 50% are Micro. Stocks outside of the largest 5000 are also classified as Micro.
Weighted Average Market Cap - The average market capitalization of all companies held in the portfolio with each company weighted according to its percent held in the portfolio. The result is based upon a weighted average of the securities held in the fund.
P/B Ratio - A ratio that helps determine whether a stock is undervalued or overvalued. It is calculated by dividing a stock's price per share by its book value per share. The result is based upon a weighted average of the securities held in the fund.
P/E Ratio - Is the weighted average of each holding's P/E ratio (price of a stock divided by its earnings per share). The result is based upon a weighted average of the securities held in the fund.
Portfolio Turnover - This is a measure of the Fund's trading activity which is computed by taking the lesser of purchases or sales divided by average monthly market value, excluding short-term investments. The resulting percentage represents the percentage of the portfolio's holdings that have changed over the past year.
Contributors & Detractors as of 12/31/2020
Quarter Ending 12/31/2020 12 Month Ending 12/31/2020 12 Month Ending 12/31/2018 12 Month Ending 12/29/2017 12 Month Ending 12/30/2016 12 Month Ending 12/31/2015 12 Month Ending 12/31/2014 12 Month Ending 12/31/2013
Lundin Mining Corp. 0.8%
Detractors
Exelixis, Inc. -0.1%
Harley-Davidson, Inc. -0.1%
Columbia Sportswear Co. -0.1%
Apollo Global Mgmt Inc -0.1%
Domino's Pizza, Inc. -0.1%
% Contribution reflects the effect of the individual stock's performance on the Fund's overall performance for the period. Individual holdings and their effect on Fund performance may change significantly over time. Investors should consider the overall performance of the Fund before making a decision on whether or not to invest in the Fund.
Attribution Analysis
for Quarter Ending 12/31/2020 12 Month Ending 12/31/2020 12 Month Ending 12/31/2019 12 Month Ending 12/31/2018 12 Month Ending 12/29/2017 12 Month Ending 12/30/2016 12 Month Ending 12/31/2015
Avg. Weight
Base Return
Stock Selection
Group Weight
The total base return displayed for the Fund does not capture daily cash flow and trading activity and therefore is subject to reasonable variance from the Fund's actual return. Please refer to Lord Abbett Growth Opportunities Fund Performance Results for the Fund's longer-term returns. The Fund is actively managed and portfolio characteristics, such as individual holdings and sector weightings, may change significantly over time.
Please see "About Wilshire Attribution" of the performance attribution displayed above by Click here.
About Wilshire Attribution
The Wilshire Atlas Variance Analysis tool provides a methodology for explaining the difference in performance between a portfolio and its benchmark, based on the decomposition of returns. The user specifies the portfolio, index, link frequency, sector and weighting. The weighting can be shown as beginning, average or end weights and is used for display purposes only.
Average Weight (Portfolio): This is the average weight of each group in the portfolio. Alternatively, the weight at the end of the reporting period, or on average across the reporting period, may be selected.
Base Return (Portfolio): This is the weighted average holding period return for the securities in each group. This weighted average is calculated for each link period using beginning weights and then the resulting values are linked together to calculate the displayed value.
Average Weight (Benchmark): This is the average weight of each group in the benchmark. Alternatively, the weight at the end of the reporting period, or on average across the reporting period, may be selected.
Base Return (Benchmark): This is the weighted average holding period return for the benchmark securities in each group. This weighted average is calculated for each link period using beginning weights, then the resulting values are linked together to calculate the displayed value.
Stock Selection Variance: This is the success of selection decisions within each group versus the benchmark. It is calculated for each link period using the following equation: Stock Selection Variance = WP,G * (RP,G - RB,G), where WP,G = Weight of the group in the portfolio, RP,G = Return of the group in the portfolio, RB,G = Return of the group in the benchmark.
Group Weighting Variance: This is the result of weighting decisions in each group versus the benchmark. It is calculated for each link period using the following equation: Group Weighting Variance = (WP,G – WB,G) * (RB,G – RB,T), where WP,G = Weight of the group in the portfolio, WB,G = Weight of the group in the benchmark, RB,G = Return of the group in the benchmark, RB,T = Overall return of the benchmark.
Total Variance: This is the sum of group weighting and stock selection variances. This represents the amount of total variance that is explained by the selection and allocation decisions for each group.
Wilshire generated returns are calculated gross of fees based on end of day prices and do not capture intraday cash flow, price changes or trading activity, and therefore are subject to some variance from Lord Abbett returns. In addition, Wilshire and Lord Abbett may use different pricing sources and methodologies.
Not Classified securities represent those securities which have not been assigned an official GICS Direct classification. GICS Direct, a joint product of Standard & Poor's and MSCI, provides industry classifications for more than 40,000 companies and over 45,000 securities. Not Classified securities may include, but are not limited to: Exchange-Traded Funds (ETFs), pink sheet-listed issues, pre-IPO placements, private placements, secondary issues, open-end funds, closed-end funds, and non-operating establishments.
Under certain circumstances, Lord Abbett may elect to have Wilshire map an ETF holding to the relevant characteristics represented by that ETF's underlying index in order to reflect the exposure and performance contributed by the ETF to the overall portfolio. When this option is selected, Wilshire will remove the ETF from the Not Classified category and instead allocate the ETF's exposures across the relevant attributes based on the composition of the ETF's underlying index.
Source: Wilshire Attribution Software. GICS sector classification; non-GICS securities classified by Lord Abbett. Sectors may include many industries.
{{stockSelection}}% {{groupWeight}}% {{total}}% {{avgWeight}}% {{baseReturn}}%
Dividend Payments
YTD Dividends Paidas of 01/19/2021
Reinvest & Payable Date
Reinvest Price
12/17/2020 12/18/2020 12/18/2020 $0.29010 $27.72
Upcoming Dividend Payment Dates
This section lists all anticipated income and Capital Gain distribution dates and any actual distributions are subject to adequacy of earnings and must be approved by the Board of Directors/Trustees. Please note that dates are subject to change.
Short-term *
12/17/2019 12/18/2019 $0.6596 - $0.6596 $27.44
Taxed as ordinary income
Lord Abbett does not provide tax advice. It is strongly recommended that you discuss the impact of dividends and distributions with your tax advisor.
Upcoming Capital Gain Distribution
EXPENSE RATIOas of 12/31/2020
Download fund documents & literature, create email subscriptions, and place direct mail order
0Documents selected
Portfolio Holdings 1Q
Summary Prospectus
Prospectus (XBRL)
Semi-Annual Report
To order literature visit full website
You may add to your cart by selecting quantities in each row below.
No rows selected. Please Go back and select at least one fund document
View all forms & documents
Coming Soon.......
A Note about Risk: The value of investments in equity securities will fluctuate in response to general economic conditions and to changes in the prospects of particular companies, including market, liquidity, currency, and political risks. Mid cap company stocks tend to be more volatile and may be less liquid than large cap company stocks. Mid cap companies typically experience a higher risk of failure than large cap companies. Investments in value companies can continue to be undervalued for long periods of time and be more volatile than the stock market in general. These factors can adversely affect Fund performance.
Performance data quoted is historical. Past performance is not indicative of future results. Current performance may be higher or lower than the performance quoted. The investment return and principal value of an investment in the Fund will fluctuate so that shares, on any given day or when redeemed, may be worth more or less than their original cost. To obtain performance data current to the most recent quarter-end, go to quarter ending performance on our Website or call Lord Abbett at (888) 522-2388.
CUSIP identifiers have been provided by CUSIP Global Services, managed on behalf of the American Bankers Association by Standard & Poor's Financial Services, LLC, and are not for use or dissemination in a manner that would serve as a substitute for any CUSIP service. The CUSIP Database, © 2011 American Bankers Association. "CUSIP" is a registered trademark of the American Bankers Association.
With Sales Charge - Returns with sales charges reflect applicable fees and expenses and include all distributions reinvested.
Without Sales Charge - Returns shown are without sales charges and have all distributions reinvested. If a sales charge had been deducted, the results would have been lower.
Returns shown at less than a year reflect aggregate total returns.
Double-Digit Returns - instances of high double-digit returns were achieved primarily during favorable market conditions and may not be sustainable over time.
The Russell Midcap® Value Index measures the performance of those Russell Midcap companies with lower price-to-book ratios and lower forecasted growth values. The stocks are also members of the Russell 1000 Value index.
Indexes reflect total return, unless otherwise specified, with all dividends reinvested. Indexes are unmanaged, do not reflect the deduction of fees or expenses, and are not available for direct investment.
Lipper Category Average - Peer group averages are based on universes of funds with the same investment objectives. The average return for the peer group is based on the returns of each individual fund within the group for the period shown. This average assumes reinvestment of dividends.
Fund Expense Ratio Detail: Reflects expenses for the Fund's fiscal year-end and is subject to change. Fund expenses may fluctuate with market volatility. A substantial reduction in Fund assets (since its most recently completed fiscal year), whether caused by market conditions or significant redemptions or both, will likely cause total operating expenses (as a percentage of Fund assets) to become higher than those shown.
The Fund's portfolio is actively managed and portfolio characteristics, such as individual holdings and sector weightings may change significantly over time. The portfolio data is for information only. It does not constitute a recommendation or an offer for a particular security or fund, nor should it be taken as a solicitation or recommendation to buy or sell securities or other investments.
Dividends and Capital Gains: The information presented in this section is intended for general information and is not intended to be relied upon and should not be relied upon, as financial, legal or tax advice for any particular investor. We strongly recommend that you contact your financial, legal or tax advisor regarding your particular tax situation.
The information presented in this section is not written or intended to be used, and cannot be used, for the purpose of avoiding any tax liabilities or penalties.
Select funds to run a Morningstar Hypothetical Report.


text:
Een messias is een bevrijder van een groep mensen. In het jodendom is dit een leider die vrede en welvarendheid brengt, in het christendom is het Jezus.

Etymologie
Messias is de vergriekste vorm van het Aramese woord מְשִׁיחָא, məšîḥā', in het Hebreeuws: הַמָּשִׁיחַ, hammāšîaḥ, dat "gezalfde" betekent. Met enkele uitzonderingen wordt het woord "gezalfde" in de Hebreeuwse Bijbel voorbehouden aan koningen, zowel voor de eerste koning Saul (1Samuel 24:7,11; 26:9,11,16,23; 2 Samuel 1:14,16) als voor David en zijn nakomelingen (1 Samuel 2:10,35; 16:6; 2 Samuel 19:22; 22:51; 23:1; Habakuk 3:13; Psalmen 2:2; 20:7; 28:8; 84:1; 89:39,52; 132:10,17; Klaagliederen 4:20; 2 Kronieken 6:42). In Jesaja 45:1 wordt het gebruikt voor de Perzische koning Cyrus II de Grote en in Psalm 105:15 voor de aartsvaders.

De Griekse transcriptie Μεσσίας, Messias, "Messias" komt in het Nieuwe Testament slechts twee keer voor (Johannes 1:41; 4:25). Op andere plekken wordt de vertaling ervan gebruikt: Χριστός, Christos, "Christus".

Messiaanse verwachtingen in het jodendom

Hebreeuwse Bijbel
De vraag in hoeverre er überhaupt sprake kan zijn van messiaanse verwachtingen in de Hebreeuwse Bijbel, wordt betwist. Geen enkele tekst waarin de titel Messias voorkomt, heeft een toekomstige heerser in gedachten. Aan de andere kant wordt de hoop op vernieuwing of herstel van het koningschap van Jeruzalem gevonden in teksten waarin de titel ontbreekt. Deze omvatten de teksten van de profetische traditie waarnaar traditioneel wordt verwezen als "messiaanse profetieën" (Jesaja 7:14-16; 9:1-6; 11:1-10; Micha 5:1-5; Zacharia 9:9-10) evenals de passages die later als messiaans werden geïnterpreteerd (Genesis 49:8-10; Numeri 24:17-18). De pogingen van vroege onderzoekers om deze teksten te lezen in grote lijnen met de messiaanse opvattingen van het vroege jodendom of het Nieuwe Testament (Hühn, König, Rehm) kunnen vanuit historisch-kritisch oogpunt niet worden volgehouden. Enerzijds speelt het koningschap in het algemeen een ondergeschikte rol in de oudtestamentische verlossingsverwachtingen, en anderzijds kan, zelfs met de verwachtingen geformuleerd in profetische teksten, niet worden uitgesloten dat sommige van de beloften terug worden geprojecteerd (vaticinia ex eventu), die oorspronkelijk waren gebaseerd op een historische koning en niet gerelateerd zijn aan een toekomstige koning. Met name de passages uit Jesaja 7:14, 9:5 en 11:1 zijn geïnterpreteerd als Hizkia of Josia, afhankelijk van de datum en opdracht.

Later jodendom
In het jodendom is de messias vanaf de tweede eeuw v.Chr. een leider die een messiaanse periode van vrede en welvarendheid voor Joden en andere volkeren gaat inluiden, die uiteindelijk leidt tot de eindtijd. De persoon in kwestie zou afstammen van Koning David en zou het leiderschap van zijn koningshuis herstellen. De messias wordt genoemd als belangrijke profeet en koning, onder het voorbehoud dat hij als profeet minder belangrijk is dan Mozes en als koning minder belangrijk dan koning David.

De aard van het herstel dat de messias tot stand zal brengen, was in de Oudheid onderwerp van discussie. Waar sommigen meenden dat de messias een oorlogsleider zal zijn (zoals de targoem-vertalers van Numeri), meenden anderen dat het herstel ethisch van aard zou zijn, zoals de auteur van de zeventiende psalm uit de Psalmen van Salomo. Onder de Dode-Zeerollen zijn teksten die het optreden van twee messiassen vermelden; enkele keren is de messias de glorieuze Telg van David en een fragment zou volgens een omstreden interpretatie de voorspelling van een stervende messias bevatten.

Verschillende keren in de geschiedenis zijn er onder de Joden mannen opgetreden die aanspraak op de titel van messias maakten, maar in geen van deze gevallen werd zo'n claim langdurig gesteund binnen het jodendom. Een dergelijke messias was bijvoorbeeld Sjimon bar Kochba, die tussen 132 en 136 een grote opstand tegen de Romeinen leidde. De uitgebreidste discussie van het messianisme is opgenomen in de Babylonische Talmoed (Sanhedrin 96b-99a).

Eeuwen later wist Sjabtaj Tzwi (1626-1676?) nog grote aantallen joden in beroering te brengen, en in onze tijd kan worden gewezen op Menachem Mendel Schneerson.

De messiaanse profetieën volgens het jodendom
 Het Sanhedrin zal opnieuw worden vastgesteld (Jesaja 1:26)
 Zodra hij koning is zullen de leiders van andere naties naar hem kijken voor begeleiding (Jesaja 2:4)
 De hele wereld zal de ene God van Israël aanbidden (Jesaja 2:11-17)
 Hij zal afstammen van Koning David (Jesaja 11:1) via Salomo (1 Kronieken 22:8-10, 2 Kronieken 7:18)
 De "geest van de Heer" zal zijn op hem, en hij zal een "vreze Gods" hebben (Jesaja 11:2)
 Kwaad en tirannie zal niet in staat zijn om op te staan voor zijn leiderschap (Jesaja 11:4)
 Kennis van God zal de wereld vullen (Jesaja 11:9)
 Hij zal mensen uit alle culturen en naties aantrekken (Jesaja 11:10)
 Alle Israëlieten zullen worden teruggestuurd naar hun thuisland (Jesaja 11:12)
 De dood zal worden verzwolgen tot in eeuwigheid (Jesaja 25:8)
 Er zal geen honger of ziekte meer zijn en de dood zal ophouden (Jesaja 25:8)
 Alle doden zullen opstaan (Jesaja 26:19)
 Het Joodse volk zal het eeuwige vreugde en blijdschap ervaren (Jesaja 51:11)
 Hij zal een boodschapper van de vrede zijn (Jesaja 52:7)
 Naties zullen hun misstanden jegens Israël erkennen (Jesaja 52:13-53:5)
 De volkeren van de wereld zullen voor de geestelijke leiding naar de Joden toewenden (Zacharia 8:23)
 De verwoeste steden van Israël zullen worden hersteld (Ezechiël 16:55)
 Wapens van de oorlog zullen worden vernietigd (Ezechiël 39:9)
 Het volk van Israël zal directe toegang tot de Thora door hun gedachten hebben en de Thora-studie zal de studie van de wijsheid van het hart worden (Jeremia 31:33)
 Hij zal je alle waardige verlangens van je hart geven (Psalm 37:4)
 Hij zal het barre land nemen en het rijk en vruchtbaar maken (Jesaja 51:3, Amos 9:13-15, Ezechiël 36:29-30)

Christendom

In het christendom wordt geloofd dat de Messias werd aangekondigd in het Oude Testament en is gekomen in de persoon van Jezus Christus. De term Messias wordt in het christendom daarom vaak gebruikt om Jezus mee aan te duiden.

De Messias speelt een belangrijke rol in de christelijke eschatologie of eindtijdverwachting; het gaat zelfs om de hoofdrol, want bij de Wederkomst van Jezus zal hij volgens de opvatting van de vroege Kerk en kerkvaders het Laatste Oordeel als goddelijke rechter voorzitten, na eerst de antichrist en diens wereldheerschappij te hebben vernietigd. (In het evangelisch christendom geloven millenniaristische stromingen vaak in een duizendjarig vrederijk op aarde van Christus.)

Rastafari
De filosofie van de Rastafari is gebaseerd op de voorspelling van de Jamaicaan Marcus Garvey, dat er een koning in Afrika zou opstaan die alle zwarte mensen terug zou leiden naar het moederland, Ethiopië (Afrika). Keizer Haile Selassie (voormalig keizer van Ethiopië) zou een directe afstammeling zijn van de Jeruzalemse koning Salomo en de Ethiopische Koningin van Seba. Hun zoon zou de Ark van het Verbond (waarin de Stenen Tafelen met daarop de Tien geboden) van de Israëlieten naar Ethiopië hebben gebracht. Volgens de overlevering bevindt de Ark zich nog steeds in Ethiopië. De rasta's zien Ethiopië als het beloofde land (Zion) alwaar alle zwarten ooit terug zullen keren. De westerse wereld wordt gezien als Babylon dat ooit ten onder zal gaan.

Islam
Binnen de islam wordt algemeen aangenomen dat de profeet Isa (Jezus) de messias (al-masih) is, wat betekent dat hij ten hemel is gevaren en terug zal komen om de rest van zijn leven af te maken en de aarde te zuiveren van afgodendienaren. Jezus is volgens de islam een profeet, de moslims ontkennen de goddelijkheid van Jezus. Jezus is volgens islamitische opvatting niet door mensenhanden gedood en gestorven aan het kruis, maar zou in de nacht van de overlevering aan de Romeinen ten hemel zijn gevaren. Judas Iskariot nam de gedaante van Jezus aan en werd gekruisigd in plaats van de echte Jezus; volgens de Hadith nam een jonge en trouwe apostel van Jezus vrijwillig de gedaante van Jezus aan om zo in het paradijs te komen. Volgens de islam en haar uitleg wordt met de 'plaatsvervanger' waar Jezus over spreekt, niet de Heilige Geest bedoeld, maar de profeet Mohammed. Het inluiden van de eindtijd, het laatste der dagen, wordt volgens moslims gedaan door al-Mahdi, een persoonlijkheid die sterke overeenkomst vertoont met de messiasverwachting van de joden, en die heerschappij op aarde zal voeren na een periode van zonde en oorlogen.

Externe link
  Messiah, overzicht van antieke messianologieën

Bijbelse term
Eschatologie
Islamitische mythologie
Jezus
Joodse mythologie


text:
India's latest 'Make In India' Project Submarine 'Kalvari' starts trials
Tehelka Web Desk
Source: en.wikipedia.org
India's first conventional submarine in 16 years, 'Kalvari', the first of the six French Scorpene class of submarines, was sent to the sea for its first trial on Sunday morning. Made by the Mazagon Dock Shipbuilders, it aims to provide a new combat edge to the Navy against the growing number of international submarines in the Indian Ocean.
This is the first step in the journey for this diesel-electric submarine. Over the next few months the vessel will undergo rigorous testing in weapons, sea and surface movement, diving and noise trials. After clearance, 'Kalvari' will be commissioned into the Indian Navy. This submarine is a part of the project in collaboration with the DCNS of France and MDL.
Currently, the Navy owns thirteen conventional submarines, nine of them of Russian-origin Sindhughosh class and four German or Shishumar-class. Out of the thirteen, ten of the submarines have crossed the prescribed design life. With this in mind, underwater technology of the Scorpene submarines is predicted as a major boost to the Make in India campaign, with state-of-art features for underwater and surface attacks including superior stealth, precision-guided weaponry, including torpedoes, tube-launched anti-ship missiles. 'Kalvari' and the upcoming models of the Scorpene submarines will prove to be an asset to the Indian Navy, enhancing their operations and replacing the older Russian and German models.
Meanwhile, in April 2015, Defence Minister Manohar Parrikar stated that directed efforts will be made to complete the project on schedule in collaboration with MDL, Indian Navy and DCNS. Despite the efforts put in, the submarine is far from immediate use. The Scorpene project can be easily aged back to contracts in October 2005, and has faced cost and time overruns. It is reported that commissioning of the submarine with formal induction into the naval fleet will take place by the end of 2016, following the successful completion of all the trials.
This trial set at the Arabian Sea, can be seen as the first step towards the creation of a naval fleet of submarines equipped with modern technology for missions like anti-surface warfare, anti-submarine warfare, intelligence gathering, mine laying and area surveillance. While India has been one of the exclusive group of submarine-constructing nations since 1992, the creation and integration of 'Kalvari' into Indian Navy will be a monumental asset in the history of submarine technology in India.
anti-surface warfare
Defence minister Manohar Parrikar
Kalvari
scorpene project
Previous articleFour arrested for allegedly starting Uttarakhand forest fire
Next articleVVIP chopper scam: CBI grills ex-IAF chief SP Tyagi