text:
Frigid, cold winter nights have Springfield's homeless seeking shelter
By Steve Pokin;
t's 6:30 p.m. Monday and minus 4 degrees with a wind chill of minus 12 in Springfield.
The small room holds several people. When the glass door lingers open for more than a few seconds, the cold enters and The Salvation Army staffer on the other side of the sliding glass window orders, "Close the door!"
This is where you sign up for shelter on a night cold enough to kill. This is the starting point for a cot and a breakfast of pancakes and ham.
She wants to know your name, if you have an ID and where you spent last night. In the coming hours, she will run about 80 names for outstanding warrants. She will check if anyone is on the sex offender registry. After all, it is not unusual for children to stay at The Salvation Army's extreme cold weather shelter at Chestnut and Kansas expressways.
The homeless men and women are invariably polite, reminding a bundled-up observer, a reporter, that he should be next in line.
Regarding where they stayed last night, they answer: with family; right here at the shelter; or, as one man says, "the Greene County Jail and hotel."
The man next in line nods: "It's warm there."
Those with outstanding warrants and who are on sex-offender lists will spend the night in the lobby, separated from the others who will receive a cot.
The men given cots will take up residence in the cavernous gymnasium. The women and children, fewer in number, will set up in the cafeteria.
About an hour later it is minus 9 degrees with a wind chill of minus 20. The homeless do not have to stand in line, in the cold, outside the small room. They can wait in the lobby of the nearby Salvation Army community center.
One homeless person signs up and leaves the small room. His departure makes room for another. Soon, someone else enters.
"Close the door!"
After they sign up, the 86 men and women here this night wait to receive their cot in the community center, where they will spend the night. There are 74 men, 12 women and no children (although there is a mother with her 17-year-old son.) The night before there were 100 people — 82 men and 18 women. These are the highest totals of the 23 days in which the shelter has been open this winter. The threshold for opening the Extreme Emergency Cold Weather Shelter is a wind chill of 14 degrees.
They are young and old, their worldly possessions compressed into backpacks and sacks. A few have sleeping bags. Some work their smart phones as they wait. A few have tablets. Some chat. Others collapse into chairs and stare.
George Patten, 51, wears a Titleist cap and has a brace on his knee. He had a knee replaced in August.
He had a Plan B for tonight, he said. If he had been unable to stay at The Salvation Army, he would have bunked in a friend's 9-by-9 unheated shed.
Patten says he is homeless "by choice." He explains his love of unencumbered travel, not having "honey-do" lists, working the occasional day job. But there is another theme in his life, as well.
"I am an alcoholic," he says. Yes, he is sober tonight.
"If I had the money I would probably have already had some."
The person in charge at the shelter is Michele Rutayuga, housing program manager. When it's this cold, she explains, intoxication becomes an issue only if someone is combative or threatening. If necessary, police are called.
Michael Grabowski looks younger than his 22 years. He wears a golf cap, too, and red sweatpants. His ear buds dangle outside his orange coat. He's homeless, he says, in large part because he was too old to stay in foster care any more. He's been living on the streets for seven months.
He grew up in Houston, Texas.
How did he end up in Missouri?
"Ask my mom that," he says. Then he laughs. "She crazy. No, she's cool."
Michael Yarga, 26, has a job. He works at a fast-food restaurant but doesn't earn enough to have his own place. He says his apartment roommate kicked him out and he's been homeless "off and on" for two years.
Andrea Woodbridge, 45, says she is homeless "to a degree."
Her two sons live in the Springfield area and her daughter lives in Georgia. She has three grandchildren.
She can't criticize her children, she says, because she's never asked if she could live with them.
William Druskis, 49, became "kind of homeless" when he lost his job as a certified nursing assistant at a Chicago nursing home. He said he complained about a nurse and, as a result, was let go.
Druskis occasionally has slept in a wooded area in Springfield, he said. Sometimes he has unrolled his sleeping bag — good to zero degrees — in the entries of abandoned businesses.
Thus far, he has walked 405 miles from Joliet, Ill., to Springfield, he said. (He does not count the mileage covered on a bus ride from St. Louis to Eureka.) He has another 1,200 miles to walk.
The walking mileage is vital to his grand plan; hitching a ride would be counter-productive, he says. When he reaches Las Vegas, he says, the magnitude of his walking will generate media coverage which should, in turn, land him a job, maybe at a nursing home in Sin City.
"I might get four more job offers," he explains.
At 9 p.m., most of the homeless have set up their green cots. Two volunteers from the Red Cross are on hand to assist The Salvation Army staff. The Red Cross volunteers will spend the night.
The men lie on their cots. Half are tucked in, already sleeping. Some have their phones out. One man reads Rush Limbaugh's "The Way Things Ought to Be." Another reads "The Spire," a Richard Patterson novel. From his cot he recommends John Grisham.
Lights go out at 10 p.m.
The next morning, Rutayuga is pleased that the night was uneventful.
Winter's icy finger, like the ghost of Christmas future, passed without claiming a life.
Yes, Rutayuga says, she believes someone might have died had the homeless had to fend for themselves on the streets.
There are other shelters in the city, says Audrey Esther, including the East Sunshine Church of Christ. The shelters coordinate the nights when they are open to ensure that the homeless have at least one place to go when it is brutally cold.
Leslie Bland, 23, a Salvation Army staffer, kept watch through the night.
"You meet a lot of people," she says. "They are a motley crew. I have learned a lot from them. I was kind of naive and they taught me the ways of the world."
The common threads she sees in their lives are mental illness and substance abuse.
Bill's Place
The sun shines at 9 a.m. Tuesday. The temperature has climbed to 8 degrees. Several of those who spent the night at the shelter gather at Bill's Place, on East Commercial Street next to the Missouri Hotel, which provides housing and services for the homeless. Bill's Place is run by Burrell Behavioral Health.
Stan Crandall, program coordinator at Bill's Place, says Burrell helps those willing to accept help. It provides mental health and substance abuse counseling. The homeless typically are able to shower and wash their clothes at Bill's Place. But not this morning. The cold has frozen the water pipes.
Jeremiah Moorhead, an outreach specialist, says he talked to a man who slept outdoors last night whose fingertips were blackened by frost bite. The man told Moorhead he did not know The Salvation Army shelter was open.
Three volunteers from National Avenue Christian Church — Don Hedenberg, Jill Nance and Linda Bossi — are ready to serve a meal of corn bread, bread pudding, beans and ham — and the special treat of a chocolate bar.
"Today is a good day," says Rick Finnegan, 43. He is here for the meal with his wife, Priscilla, and their children Hailey, 6, and Nicholas, 3.
They have been living with friends for four months because he can't find work as a welder. Today, he says, he will work on obtaining a new copy of his birth certificate. The original was destroyed in a fire years ago when he lived in California. He needs one now because his California driver's license expired.
"No birth certificate means no ID and no ID means no job," he says.
Also in line are Jeremy and Vallorie Marconnet, who this winter have been living in their home, but without power and without water. The windows are caked in ice, inside and outside, she says. They have just enough money to pay the mortgage. He is 37 and she is 46. He has suffered several strokes, she says. He speaks with difficulty.
They choose not to go to homeless shelters because they do not want to be in separate sleeping areas.
Mitch Davis, a homeless 23-year-old who spent the night at The Salvation Army, says that on other nights, ones not so cold, he and his girlfriend stay in an unheated abandoned shed. He declines to reveal its general location.
"I do not want to give up my hot spots," he says.
The church volunteers ask for someone to bless the meal.
Davis raises his hand: "Lord bless this food and hopefully we will all stay warm and have a good day."
Shelters and housing for the homeless
? 1707 W. Chestnut Expressway.
? www.usc.salvationarmy.org/springfield-mo
? The cold weather shelter opens when the wind chill is forecast to drop to 14 degrees or lower.
? (office) 417-862-5509
? Open to all. Seeking volunteers for the cold weather shelter. Call 862-5509, ext. 116.
East Sunshine Church of Christ
? 3721 E. Sunshine St.
http://eastsunshine.org/local/
The church serves as an emergency cold-weather shelter for up to 49 men. The shelter opens when if it is forecast to be 32 degress or colder between 10 p.m. and 4 a.m. It is not open if the wind chill is 14 degrees or lower because at that point The Salvation Army opens its shelter.
Seeking volunteers.
Harmony House
(formerly the Family Violence Center)
? 519 E. Cherry St.
? www.myharmonyhouse.org
? For women and children who are victims of domestic violence
? (office) 417-837-7700 (crisis line) 417-864-7233 (crisis line) 1-800-831-6863
? Seeking volunteers, particularly in the area of kitchen assistance.
Missouri Hotel
Operated by The Kitchen
? 420 E. Commercial St.
? www.thekitcheninc.org/missouri_hotel.php
? The Missouri Hotel is open to everyone but single men.
? (the hotel) 417-837-1540 (The Kitchen) 417-837-1500
? Seeking volunteers.
? www.thekitcheninc.org/bills_place.php
? This is a day shelter for the homeless where staff from Burrell Behavioral Health provide services, including help for those with a mental illness or a substance abuse problem.
? 417-761-5520
? Open Monday through Friday 8 a.m. to 4 p.m. Local church volunteers provide a meal at 10:30 a.m.
? Not seeking volunteers.
? 300 E. Central St. (part of the Affordable Housing Center)
? www.commpartnership.org/what-we-do/by-division/housing/one-door/
? One Door works to prevent homelessness by coordinating services and by helping people accomplish tasks such as getting food stamps, applying for Medicaid or obtaining a copy of a birth certificate.
? Those who want to volunteer will be referred to agencies that fight homelessness and need volunteers. For example, volunteers are needed for the Jan. 30 homeless count for Springfield and Greene County.
Safe to Sleep
? Sponsored by the Council of Churches of the Ozarks. The shelter site is at Pathways United Methodist Church, 1232 E. Dale St.
? www.ccozarks.org/?i=16085&mid=1000&id=401369
? The shelter is for women 18 and older only. It is open year-round.
? 417-862-3586, ext. 225 (Council of Churches, Ramona Baker)
? The pick-up site is at Cook's Kettle, 200 W. Commercial St., 7:30 p.m. weekdays and 6:30 p.m. weekends. Women must first contact One Door at 417-225-7499
? Seeking volunteers to work a shift at the shelter within the 6 p.m. to 8 a.m. time period, as well as volunteers to pick up supplies and work in the office.
? A program of Victory Mission
? www.victorymission.com/index.php?option=com_content&view=article&id=13&Itemid=98
? 1610 N. Broadway
? This is a year-round men's shelter with 150 beds.
? Seeking volunteers at the reception desk for two shifts: 3-6 and 6-10 p.m.
Veterans Coming Home
? A program of the Rev. Larry Rice's New Life Evangelistic Center.
? http://keepourveteranssafe.com/vets_come_home_program.htm
? 806 N. Jefferson Ave. (former Social Security building)
? This is a year-round day shelter for all, not just veterans, that is open 8 a.m. to 4 p.m. Monday through Saturday and noon to 4 p.m. on Sunday. Provides hot meals or sandwiches, showers, blankets, hygiene products, clothing and food.


text:
Davenport Commissioners Approve Fire Agreement
By MIKE GROGANLEDGER CORRESPONDENT
DAVENPORT | Nearly two years after assuring city residents they would keep their local fire department and not bring in Polk County firefighters, city commissioners Monday approved an interlocal agreement with the county to share firefighting duties.
"I think it's a good agreement," City Manager Amy Arrington told commissioners before they voted unanimously to go forward with it. "I think it's a fair agreement."
The pact, which has to be approved by Polk County commissioners, would mean city and county firefighters would share the station house in Davenport with the county paying for a much needed renovation of the building that was constructed in the 1960s.
That renovation would include adding on to the station in order to house county firefighters who will work there.
The county department would also station one fire truck in Davenport.
Although all five city commissioners voted for the agreement, at least one, Tom Fellows, said he was not happy with how it came about.
"My problem is how we got here," he said. "We heard resistance (from citizens) towards it. We said we weren't going to do it."
After Polk County Fire Chief David Cash went before city commissioners in early 2009 with a proposal for either taking over the Davenport department or sharing the station house in Davenport, city residents packed commission chambers in February to tell commissioners they wanted to keep their home town fire department.
Commissioners then voted to turn down the county offer.
Since then, however, Arrington and the commissioners have completely restructured the department, turning over its management to a part-time fire administrator and relying on a newly hired staff of six paid firefighters.
In doing that, the city angered members of the volunteer department that had served as the city's primary fire and rescue operation for decades. Refusing to operate under new city guidelines, most of the volunteers walked away.
"We went through a lot of heartache and grief," Fellows said in describing the months-long dispute between the volunteers and the city.
The agreement the commissioners approved, would tie the city and county firefighting effort together for five years, after which it can be renewed for another five years unless it is terminated by either side.
"For us it's a win-win situation," Lt. J.T. Torrance of the Davenport Fire Department told commissioners. "We're getting a new fire station."
He added that the two fire departments are used to working together on emergency situations in the area and that the only difference the new agreement will make is that Davenport and county firefighters will be "eating at the same table."
But Commissioner H.B. Robinson III said he thinks the agreement will change the dynamics within the local department because it will mean lower-paid Davenport firefighters will be sharing quarters with their higher-paid brethren from the county.
"I predict that in five years we won't have a fire department," he said, adding that city firefighters will eventually move to the county department for the higher pay and better benefits.

redpajama_set_name: RedPajamaCommonCrawl


text:
Democrats' Long-Sought Plan for Lowering Drug Costs Is at Hand
Music and Marketing August 6, 2022 7 min read
WASHINGTON — For decades, as prescription drug costs have soared, Democrats have battled with the pharmaceutical industry in pursuit of an elusive goal: legislation that could drive down prices by allowing Medicare to negotiate directly with drug makers.
Now they are on the verge of passing a broad budget bill that would do just that, and in the process deliver President Biden a political victory that he and his party can take to voters in November.
Empowering Medicare to negotiate prices for up to 10 drugs initially — and more later on — along with several other provisions aimed at lowering health care costs, would be the most substantial change to health policy since the Affordable Care Act became law in 2010, affecting a major swath of the population. It could save some older Americans thousands of dollars in medication costs each year.
The legislation would extend, for three years, the larger premium subsidies that low- and middle-income people have received during the coronavirus pandemic to get health coverage under the Affordable Care Act, and allow those with higher incomes who became eligible for such subsidies during the pandemic to keep them. It would also make drug makers absorb some of the cost of medicines whose prices rise faster than inflation.
Significantly, it also would limit how much Medicare recipients have to pay out of pocket for drugs at the pharmacy to $2,000 annually — a huge benefit for the 1.4 million beneficiaries who spend more than that each year, often on medicines for serious diseases like cancer and multiple sclerosis.
Lower prices would make a huge difference in the lives of people like Catherine Horine, 67, a retired secretary and lung recipient from Wheeling, Ill. She lives alone on a fixed income of about $24,000 a year. Her out-of-pocket drug costs are about $6,000 a year. She is digging into her savings, worried she will run out of money before long.
"Two years ago, I was $8,000 in the hole," she said. "Last year, I was $15,000 in the hole. I expect to be more this year, because of inflation."
Between 2009 and 2018, the average price more than doubled for a brand-name prescription drug in Medicare Part D, the program that covers products dispensed at the pharmacy, the Congressional Budget Office found. Between 2019 and 2020, price increases outpaced inflation for half of all drugs covered by Medicare, according to an analysis from the Kaiser Family Foundation.
The budget office estimates that the bill's prescription drug provisions will save the federal government $288 billion over 10 years, in part by forcing the pharmaceutical industry to accept lower prices from Medicare for some of its big sellers.
Opponents argue that the measure would discourage innovation and cite a new analysis from the budget office that projects that it would actually lead to higher prices when drugs first come on the market.
With midterm elections looming, here's where President Biden stands.
Drugs for common conditions like cancer and diabetes that affect older people are most likely to be picked for negotiations. Analysts at the investment bank SVB Securities pointed to the blood thinner Eliquis, the cancer medication Imbruvica and the drug Ozempic, which is given to manage diabetes and obesity, as three of the first likely targets for negotiation.
Until recently, the idea that Medicare, which has about 64 million beneficiaries, would be able to use its muscle to cut deals with drug makers was unthinkable. Democrats have been pushing for it since President Bill Clinton proposed his contentious health care overhaul in 1993. The pharmaceutical industry's fierce lobbying against it has become Washington lore.
"This is like lifting a curse," Senator Ron Wyden, Democrat of Oregon and the architect of the measure, said of the Medicare negotiation provision. "Big Pharma has been protecting the ban on negotiation like it was the Holy Grail."
David Mitchell, 72, is among those who would be helped. A retired Washington, D.C., public relations worker, he learned in 2010 that he had multiple myeloma, an incurable blood cancer. He pays $16,000 out of pocket each year for just one of four medicines he takes. He also founded an advocacy group, Patients for Affordable Drugs.
"Drugs don't work if people can't afford them, and too many people in this country can't afford them," Mr. Mitchell said. "Americans are angry and they're being taken advantage of. They know it."
Still, the measure would not deliver every tool that Democrats would like for reining in prescription drug costs. The negotiated prices would not go into effect until 2026, and even then would apply only to a small fraction of the prescription drugs taken by Medicare beneficiaries. Pharmaceutical companies would still be able to charge Medicare high prices for new drugs.
That is a disappointment to the progressive wing of the party; The American Prospect, a liberal magazine, has dismissed the measure as "exceedingly modest."
Prescription drug prices in the United States are far higher than those in other countries. A 2021 report from the RAND Corporation found that drug prices in this country were more than seven times as high as in Turkey, for instance.
The pharmaceutical industry spends far more than any other sector to advance its interests in Washington. Since 1998, it has spent $5.2 billion on lobbying, according to Open Secrets, which tracks money in politics. The insurance industry, the next biggest spender, has spent $3.3 billion. Drug makers spread their money around, giving to Democrats and Republicans in roughly equal amounts.
At a media briefing last week, Stephen J. Ubl, the chief executive of PhRMA, the drug industry's main lobbying group, warned that the bill would reverse progress on the treatment front, especially in cancer care — a high priority for Mr. Biden, whose son died of a brain tumor.
"Democrats are about to make a historic mistake that will devastate patients desperate for new cures," Mr. Ubl said, adding, "Fewer new medicines is a steep price to pay for a bill that doesn't do enough to make medicines more affordable."
But Dr. Aaron S. Kesselheim, a professor of medicine at Harvard Medical School and Brigham and Women's Hospital, said he believed the measure would spur innovation, by "encouraging investment in important new products rather than encouraging pharmaceutical companies to try to keep pushing the same product and delaying generic entry as long as possible."
In 1999, after his health care plan failed, Mr. Clinton resurrected the idea of Medicare prescription drug coverage. But this time, instead of proposing that Medicare negotiate with companies, he suggested leaving that to the private sector.
"At that point, what we were trying to do was to accommodate the recognition that Republicans were lockstep in opposition to any type of government role," said Tom Daschle, the former Senate Democratic leader.
But it took a Republican president, George W. Bush, and a Republican Congress to push the prescription drug benefit over the finish line.
Medicare Part D, as the benefit is known, had the backing of the drug industry for two reasons: The companies became convinced that they would gain millions of new customers, and the bill contained a "noninterference clause," which explicitly barred Medicare from negotiating directly with drug makers. Repealing that clause is at the heart of the current legislation.
The architect of the benefit was a colorful Louisiana Republican congressman, Billy Tauzin, who led the House Energy and Commerce Committee at the time. In Washington, Mr. Tauzin is best remembered as an example of the drug industry's influence: He left Congress in January 2005 to run PhRMA, drawing accusations that he was being rewarded for doing the companies' bidding — an accusation Mr. Tauzin insists is a false "narrative" created by Democrats to paint Republicans as corrupt.
Joel White, a Republican health policy consultant who helped write the 2003 law that created Medicare Part D, said the program was designed for private insurers, pharmacy benefit managers and companies that already negotiate rebates for Medicare plan sponsors to use their leverage to drive down prices.
"The whole model was designed to promote private competition," he said.
In the years since Medicare Part D was introduced, polling has consistently found that a vast majority of Americans from both parties want the federal government to be allowed to negotiate drug prices. Former President Donald J. Trump embraced the idea, though only during his campaign.
The new legislation targets widely used drugs during a specific phase of their existence — when they have been on the market for a number of years but still lack generic competition. The industry has come under criticism for deploying strategies to extend the patent period, like slightly tweaking drug formulas or reaching "pay for delay" deals with rival manufacturers to postpone the arrival of cheap generics and "biosimilars," as the generic versions of biotechnology drugs are called.
The drug maker AbbVie, for instance, piled up new patents to maintain a monopoly on its blockbuster anti-inflammatory medicine Humira — and it has reaped roughly $20 billion a year from the drug since its main patent expired in 2016.
Ten drugs would qualify for negotiation in 2026, with more added in subsequent years. The bill outlines criteria by which the drugs would be chosen, but the ultimate decision would rest with the health secretary — a provision that Mr. White, the Republican consultant, warned would lead to "an incredible lobbying campaign" to get drugs on the list or keep them off it.
Analysts say the bill would hurt drug makers' bottom lines. Analysts at the investment bank RBC Capital Markets estimated that most companies affected by the measure would bring in 10 to 15 percent less revenue annually by the end of the decade.
But while PhRMA has warned that a decline in revenue will make drug makers less willing to invest in research and development, the Congressional Budget Office projected that only 15 fewer drugs would reach the market over the next 30 years, out of an estimated 1,300 expected in that time.
The Senate is expected to take up the bill as early as Saturday, then send it to the House. If it passes, as expected, it will pierce the drug industry's aura of power in Washington, opening the door for more drugs to become subject to negotiations, said Leslie Dach, founder of Protect Our Care, an advocacy group.
"Once you lose your invincibility," he said, "it's a lot easier for people to take the next step."
Strong July jobs growth defies recession fears
Dragonfly Capital's Managing Partner Says Cardano Has Religion Without Technology, Charles Hoskinson Reacts


text:
contact@igauge.in
About Us Advisory Board Methodology The Process FAQs
Past Events Upcoming Events Webinars
Sri Venkateshwara University
Tirupati, Andhra Pradesh · University · Public · Visit site
India Ranking # 44
» Ratings» Sri Venkateshwara University
Sri Venkateswara University, Tirupati, is established in 1954 in the world famous holy temple town of Tirupati on the sprawling campus of 1000 acres with a panoramic and pleasant hill view. The University stands as a testimony to the wisdom and foresight of great visionaries Late Sri Tanguturi Prakasam Pantulu, the then Chief Minister of Andhra and Late Sri Neelam Sanjiva Reddy, to cater the educational needs and aspirations of the people of Rayalaseema area. With great wisdom, the founder of this University has rightly coined the motto Wisdom lies in proper perspective for it. Right from its inception, the University has been laying more emphasis on teaching, research and extension activities in different subjects. The range of subject departments, courses, and research programs undertaken and promoted during the last 60 years reflect Sri Venkateswara University's commitment to promoting socially relevant and interdisciplinary programs. The University was started with six departments of Chemistry, Physics, Mathematics, Botany, Zoology, Economics and Philosophy. The University has 4 constituent colleges concerning various conventional and advanced subjects, in order to provide good academic and smooth administrative service to one and all.
The University has 53 departments, wherein 72 different PG Courses and several Diploma and Certificate courses are being run with a total academic faculty strength of around 400 and 1500 non-teaching and a student strength of 5000, including research scholars. Several novels and newly emerging PG courses have also been introduced during this academic year. The University has been moving forward in achieving academic excellence with a strong commitment and dedicated approach, by clearly setting up of a vision of its own. The initiatives taken by the Vice-Chancellor have already started yielding excellent results, in terms of research funding, extension activities keeping the University on the path of excellence.
QS I·GAUGE Rating for Sri Venkateshwara University
Teaching and Learning Faculty Quality Employability
Student Diversity Facilities Social Responsibility
Accreditation Research Entrepreneurship
Subscribe to I·GAUGE
Salutation Mr Ms Dr Prof
QS I·GAUGE is a brand incorporated in India as an independent private-sector initiative specialised in rating universities and colleges, and brings together the global expertise, experience and reputation of QS, along with local knowledge from partners.
Designed by Tingg


text:
@implementation AboutWindowController

// Singleton, because...
+ (instancetype) defaultController {

    static id staticInstance = nil;
    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{
        staticInstance = [[self alloc] init];
    });

    return staticInstance;
}

#pragma mark - Initialization

- (instancetype) init {
    return [super initWithWindowNibName:@"AboutWindow" owner:self];
}

#pragma mark - NSWindowController

- (void) windowDidLoad {

    [super windowDidLoad];

    // (window has loaded; all subview outlets are initialized...)

    // 1. Customize the window's overall appearance:

    // In this example, we are making the window 'dark' (like e.g.
    // Pixelmator.app):
    self.window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantDark];

    // 2. Read the app's info and reflect that content in the window's subviews:

    // App icon:
    self.appIconImageView.image = [NSApp applicationIconImage];

    // The contents of Info.plist:
    NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

    // Configre all labels:
    self.appNameLabel.stringValue      = [infoDictionary objectForKey:@"CFBundleName"];
    self.appVersionLabel.stringValue   = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
    self.appCopyrightLabel.stringValue = [infoDictionary objectForKey:@"NSHumanReadableCopyright"];

    // If you add more custom subviews to display additional information about
    // your app, configure them here
}

@end

redpajama_set_name: RedPajamaGithub


text:
package ru.histone.acceptance.tests.synthetic;

import org.junit.runner.RunWith;
import ru.histone.acceptance.support.AcceptanceTest;
import ru.histone.acceptance.support.AcceptanceTestsRunner;

@RunWith(AcceptanceTestsRunner.class)
public class Synthetic13Test extends AcceptanceTest {

    @Override
    public String getFileName() {
        return "/synthetic/examples13.json";
    }
}


Are you searching for funny dog memes? Get ready to see the funniest dog meme right now and here. As practice shows, people love pictures of animals. That is why they will enjoy your funny dog memes, once you decide to share them online on social media networks, such as Twitter, Instagram or Facebook. The following hilarious dog memes are awesome. Animals are our friends, they bring so much fun and positivism into our daily life. Once you decide to post something on your Facebook wall, make sure that the meme, picture or joke are unique. The best dog memes will guarantee you much attention, new subscribers and a lot of smiles and comments. If you want to share something, choose something cut and positive, like these pictures and memes of puppies.
Most people love cute animals. They will like even more these cute dog memes. Dogs are awesome creatures. They are very fun, full of positive energy and love. Hurry up to choose a cute puppy meme and share it with your social media subscribers.
Do you need a puppy meme? We have a great selection of puppy memes for you and your friends. Such positive pictures of puppies look very cute. If you are in a bad mood, these sweet puppies will help you relax and pass over.


Among the great books in this series that address the human condition, Awakenings stands out as a profoundly influential medical classic from the 1970s, whose extraordinary narrative continues to reverberate.
Awakenings has inspired short stories, poems, novels and plays, notably Harold Pinter's A Kind of Alaska. Its central themes – falling asleep, being turned to stone, being awakened, decades later, to a world no longer one's own – grip the imagination like the best drama, with this difference: the events described by the late Oliver Sacks actually happened.
The "sleepy sickness" pandemic of 1916-17, which persisted into the 1920s, ravaged the lives of nearly 5 million people before it disappeared, as mysteriously and suddenly as it had appeared, in 1927. A third of those afflicted by encephalitis lethargica died in its acute stages, in advanced states of coma or sleeplessness. Other patients who suffered an extremely severe somnolent/insomnia attack often failed ever to recover their original vitality and lived out their days, cut off from humanity, in a deeply strange, inaccessible, frozen state ("a kind of Alaska"), oblivious to the passage of time or what had befallen them. These survivors were described by the doctor who first identified encephalitis lethargica as "extinct volcanoes". They would sit motionless and speechless all day in their chairs, totally lacking energy, impetus, initiative, motive, appetite or desire.
In the majority of cases, these patients had their thoughts and feelings unchangingly fixed at the point at which their long "sleep" had closed in on them. For many survivors, this was the 1920s, a time that would remain more real to them than any subsequent decade. Their minds, however, remained clear and unclouded. And yet, unable to work or see to their needs, frequently abandoned by their friends and families, these patients were put away in hospitals, nursing homes and lunatic asylums and forgotten, like lepers of the 20th century. Yet some lived on, getting older and frailer, inmates of institutions, profoundly isolated, deprived of experience, half-forgetting, half-dreaming of the world they had once lived in.
In 1969, after more than 40 years of lives as insubstantial as ghosts and as passive as zombies, these "extinct volcanoes", scattered in hospitals for chronic neurological disability in Britain, Europe and the US, erupted into life through the intervention of a remarkable new "awakening" drug, L-Dopa (laevodihydroxyphenylalanine). In one hospital in particular – the Beth Abraham in the Bronx – some 80 patients, long regarded as effectively moribund, returned explosively to life.
Young Dr Sacks was not just a gifted neurologist blessed with a brilliant idea for a revolutionary treatment – he was also a passionate writer, committed to reporting an extraordinary story that was unfolding before him from day to day. In the spring of 1969, he writes: "I moved to an apartment a hundred yards from the hospital and would sometimes spend 12 or 15 hours a day with our patients – observing them, talking with them, getting them to keep notebooks, and keeping voluminous notes myself, thousands of words each day. And if I had a pen in one hand, I had a camera in the other: I was seeing such things as had never, perhaps, been seen before – and which, in all probability, would never be seen again." It was, said Sacks, his duty and his joy "to record and bear witness". The upshot was Awakenings.
The tales Sacks tells of the lives of Frances D, Rolando P, Lucy K and George W are deeply moving, often shocking and sometimes tragic. Through these case studies, Sacks explores the questions of illness and wellness, suffering, isolation and the psycho-drama of lives renewed by L-Dopa. The strangeness of life in Sacks's Mount Carmel is captured in the concluding moments of the life of Magda B, who had "a sudden premonition of death". In Sacks's account, "her tone was quite sober and factual, wholly unexcited… In the evening Mrs B went round the ward, with a laughter-silencing dignity, shaking hands and saying 'Goodbye' to everyone there. She went to bed," Sacks continues, "and she died in the night." Awakenings, which pitches the reader into the drama of many such moments, is a voyage into the strange and often disturbing mystery of the human brain.
Sacks's stories become a kind of memoir, a neurological romance and a profoundly sympathetic essay on the human condition. Readers who watch Duncan Dallas's TV documentary Awakenings, in conjunction with the book, will have an unforgettable insight into a unique neurological experiment.


text: William Marsh (1877–1915) – brytyjski szermierz, uczestnik igrzysk olimpijskich w 1908,1912,1920 oraz 1924 r.

redpajama_set_name: RedPajamaWikipedia


It is now more common than ever before, that people starting their own business and leverage online platform or media for promotion. As with the large quantity of people starting something elated to online, there had been considerable amount of fallouts and shutdowns. Despite the enormous amount of guidelines and resources for online business mistakes continue to happen.
Are you an Entrepreneur struggling with your online business or with your client's business? Well, This article is for you then. If not, this will be an article for a friend of yours who is struggling his way forward in his business.
To make it easier, therefore, we have compiled the Ten most common mistakes you should avoid when it comes to starting/marketing your business online.
Being told and repeated by a good number of people, this no.1 mistake is here to stay for more sometime. For most business it is no hidden truth that search or site visit happens through mobile and still when designers design the site they keep desktop first and mobile secondary. Looking closely at the successful business online they have done it the other way around.
Unfortunately good Online/SEO tools doesn't come for Free 🙁 , spare a few trial and strip down versions. This leaves an Online marketing entrepreneur in blind sight if he doesn't have enough resources at his disposal to buy tools.
Also, as a part of supporting Online Marketing I would be happy to get you a FREE Audit done for your Business/Website with our paid tools and expertise that help you perform better. Interested Entrepreneurs can Get in touch with me through LinkedIn chat @kirucn . * Limited to First 3 contacts due to Time constraints.
Price wars have become an inevitable option Online. When consumers are drowned with discounts and coupons from other sellers and buyer, you need to give them an incentive to chose your product/service. This is true especially for market penetration during an early stage of your business.
When was the last time and visited a website for first time and bought its product/service right away? Not recently and not many in your lifetime, right? How can you expect your consumers to do the same? So, its time to start focusing on Remarketing and return visitors.
Digital Marketing skills and knowledge isn't something easy to gain. It comes with years of experience and so, its a must for an entrepreneur to hone his skills or higher a talented Digital marketing professional or a Consultant or and an Agency.
Content is King – Now and always. Lot of brands lose focus online as consumers get exposed to their content first and later on to their offerings. Thus giving your visitors a vague idea of your brand demotivates them to go further and most importantly when you drive traffic through social media.
Numbers might be scary but they tell you the truth like no one else about your business. Ignoring analytics is one of the biggest mistake I see Online business make. This means you are missing out the most important feature of Online Marketing.
Why will a visitor come see your same content on your website everyday? Why will he read the same product description & services offered every time he visits your website? Think twice. You definitely need Fresh and Interesting content to gain loyal followers on site. This becomes possible with a Blog and is a huge boost on SEO perspective as well.
Customer Behaviour changes from time to time just like Goole Algorithm updates. All it takes is a new trend or a new competitor in picture who targets your audience. Thus your business and idea needs to be flexible and dynamic based on your customer behaviour.
Goals! makes the biggest difference if you look forward to have constant growth. SMART goals as most people are aware of is a good way to set goals and review them every month, Quarter, MOM or YOY as per your industry. Look for Standard metrics thats suitable to track online and that makes sense. Apart from just sales, go for metrics like Abandoned Carts %, COD Vs Pre Paid, Avg Time spent Bounce rate, Exit rate,.. etc.
Hope this article helps you with your online business and helps you overcome atleast a single objective. Please do Comment any other mistakes that you feel is much common among Online Business.


text:
Olympus Riviera, Pieria: Land of famous Olympus, of the 12 gods of Greek mythology, of the Pieria mountains of the 9 Muses, of Dion, Pydna, of the Byzantine Castle of Platamonas, of archaeological sites and Byzantine monuments, of traditional villages, of traditional tastes and pleasures, of water landscapes and 70 km of wonderful coastline. Ideal choice for alternative tourism.
Traditional villages: The traditional villages which are dotted across Mount Olympus (Paleos Panteleimonas, well known for its architecture, Palei Pori with stone houses dating from the 17th and 18th centuries and Palea Skotina) and Skotina (Morna) at the Pieria Mountains, even also Petra, Palea Vrondou, Palea Leptokarya, Litochoro, Dion, Ano and Kato Milia, Paleo Elatohori and Kolindros are famed for their excellent cuisine and comfortable accommodation. You will be rewarded with the exceptional natural landscape. Surrounded as they are by impressive forests, they stand out for their interesting Macedonia architecture, where stone is the main building material and have managed to keep alive aspects of traditional life.
Dion, the "city of Zeus", the sacred city of the ancient Macedonians, where Alexander the Great used to thank the gods of Olympus, with sacrifices to Zeus. At the Archaeological Park the visitors can admire the Greek theatre built during the 4th century, the sanctuary dedicated to Isis, the sanctuary of Zeus, the Dionysus Villa with its breath-taking mosaics, the Roman public baths, the sanctuary of Demeter, the monument of the shields and visit the nearby Archaeological museum.
The Prehistoric settlement at Makrygialos, dating back to 5.000 BC, ancient and Byzantine Pydna, the Louloudies site, where a fortified post-Byzantine settlement has been uncovered including a Palaeo-Christian basilica dating from the 6th century, an Episcopal palace, tombs and workshops, ancient Livithra where Orpheus founded a ritual site of the Orphean Mysteries and taught the worship of Dionysus, await for a pilgrimage to antiquity.
Sea sports: 16 organized beaches each with its own different character stretch out in succession along a distance of 70 kilometers allowing you, the visitor, to enjoy all the benefits from different yet neighboring locations while ensuring a large gamut of choices: swimming, windsurfing, water skiing, jet skiing, pedaloes, canoeing, yachting and scuba diving with the assistance of experienced divers.
Olympus and the Pieria Mountains: Traveling along quiet forest roads, along isolated paths, where only the sound of nature can be heard, lovers of adventure can engage in mountain biking, horse riding and rock climbing.
For mountaineers Olympus is an ideal location. Mountaineering Associations have carefully organized routes (European mountain path E4 etc) and special, hospitable refuges on Olympus and Pieria Mountains. The roads and paths crossing the mountain nonetheless allow visitors to become acquainted with the mountains, the diverse flora and fauna and the natural beauty up close. Also one can enjoy para-gliding and hang-gliding.
Ski Center: At Elatohori, Pieria Mountains, there is an organized ski center with a central piste of 2.300 meters, a peripheral piste 4.800 m long and a beginner's one 250m long and a warm chalet. Palio Elatochori has recently seen a rise in its popularity as a mountain destination. Offering hospitable accommodation in excellent facilities and authentic traditional tastes, the village also serves as a base for excursions in the mountains.
Coastal wetlands: The River Aliakmonas Delta with 215 species of bird, 33 fish species and more than 500 plant species, Alikes Kitrous, with pink flamingos (Phoenicopterus rubber) and Nei Pori wetland, with 600 plant species.
The picturesque landscape and the extraordinary colors of the magical combination of water and rare plants will enchant all visitors.


text:
Breeders' Cup Classic Odds: Preview And Future Bets
Brent Sedo | Thu 19/10/2017 - 13:23 EDT
As a betting race, the Classic over the past decade has returned a modest +600 average for a win, a number skewed a bit by the fact the past two winners have gone off at odds of - 333 and -110. During that time there have been two winners at high odds of +1400. It could be noted that the French colt Arcangues holds the record for the highest odds win in all Breeders' Cup races when he took the 1993 Classic at +13300.
Gun Runner - Was a very good horse at age three, picking up a couple graded-stakes wins and running third in the 2016 Kentucky Derby. Has become a great horse at four, winning four Grade 1 stakes. But he's lost to Arrogate all three times they've met.
Arrogate - Rolled over the opposition in 2016 and the first part of this year, racking up 7 consecutive wins, and 4 straight Grade 1 wins, including last year's BC Classic. But he's been beaten in his last two, and both of those came on the Del Mar dirt.
West Coast - Like Arrogate, he's trained by Bob Baffert, and like Arrogate last year, he skipped the 2017 Triple Crown series and burst on the scene with a big win in the (G1) Travers Stakes, where he easily beat 7 horses that had run in the Kentucky Derby.
Collected - Beat Arrogate to win the (G1) Pacific Classic at Del Mar in his last start, running his record to four consecutive wins, although some of those have come against much weaker fields than this.
Classic Empire - Talented but injury prone colt has been retired to stud and won't be in the field.
Mor Spirit - Has been on a winning streak lately, including a Grade 1 last out in the Metropolitan Handicap, but he's all-but-declared to run in the BC Dirt Mile.
Shaman Ghost - Competitive Ontario-bred has been in the money in his last 6 starts, with a pair of Grade 1 wins in there, may be just a notch below the top three here. Not yet declared for the Breeders' Cup.
McCraken - Had high hopes going into the Kentucky Derby, where he ran 8th. Has added another win and a runner-up finish in graded-stakes since then, but he was a non-factor in his last race and has not yet been declared for the Breeders' Cup.
Keen Ice - Come-from-behind runner almost always manages to crack the top 3, but doesn't win very often. He's run 2nd or 3rd in 5 of his last 8, with 1 win. Finished 3rd in this race last year.
Practical Joke - Has shown steady improvement through the year and has a pair of recent wins, but like Mor Spirit 1 1/4 miles isn't his distance and he'll likely run in the BC Dirt Mile.
Cupid - Won two starts back at Del Mar for his 6th win in 12 tries, 4 of those in graded-stakes. He's also thrown in some clunkers, and was the beaten favorite last out in the (G1) Awesome Again Stakes. Not yet declared for the Beeders' Cup.
Send It In - Five-year-old New York bred has lots of good results to his name, but almost all of those have come at a much lower level than he would face here. Not yet declared for the Breeders' Cup.
Vivios - Japanese-bred colt has not been entered in the Breeders' Cup.
Gunnevera - Is emerging from the pack as one of the better horses to have run in the 2017 Triple Crown without getting a win. Ran well through lots of traffic trouble getting up for 2nd last out in the Travers.
2017 Breeders' Cup Classic Betting
The Classic is the final of 9 races held on the second day of the Breeders' Cup, on Saturday, November 4 from Del Mar race track. Scheduled post time is 8:35 PM Eastern. The race is open to horses age three and older, and is run on the dirt track at 1 1/4 miles, for a purse of $6 million. The field is limited to 14 runners.
The Key Betting Trends
Other possible starters include Diversify, Mubtaahij, Pavel, Win The Space, War Decree
Arrogate, West Coast, Collected trainer Bob Baffert has won last three Classics
Five of last 10 Classic winners won their last race prior to the BC, four others finished 2nd
Past two winners won the Travers Stakes, four of last 10 won the Jockey Club Gold Cup
Future Bet Overlays
Keen Ice and Gunnevera could both see their numbers drop from where they are in the futures, with both more likely in the +2000 range.
Future Bet Underlays
Either Gun Runner or Arrogate or both could move slightly, but West Coast is probably the best candidate of the top 3 to move up from +450 by post time.
Next: Breeds' Cup Filly & Mare Turf Odds: Preview and Future Bets
Tag : Breeders Cup , Horse Racing


text:
Get your full text copy in PDF
Sildenafil enhances locomotor activity in young mice and exerts anxiogenic effects in both young and aged mice
Deniz Demirci, Oguz Mutlu, Furuzan Akar, Ipek Komsuoglu Celikyurt, Guner Ulak
(Department of Trainer Education, Kocaeli University Physical Education and Sports School, Kocaeli, Turkey)
Med Sci Monit Basic Res 2014; 20:15-21
DOI: 10.12659/MSMBR.890280
Background: Sildenafil is a selective PDE5 inhibitor that increases cGMP levels in the target tissues and is an effective treatment agent for erectile dysfunction. The nitric oxide-cGMP pathway might be implicated in regulation of certain CNS functions, including locomotor activity and anxiety.
Material and Methods: The aim of the current study was to investigate effects of sildenafil (3 and 10 mg/kg) on anxiety and locomotor activity in open field and elevated plus maze (EPM) tests in young and aged mice.
Results: Sildenafil (3 and 10 mg/kg) significantly decreased the percent of time spent in the open arms compared to the control group in young animals in the EPM test, but only the 10 mg/kg dose significantly decreased the percentage of total number of entries to the open arms in young animals. Sildenafil (3 and 10 mg/kg) significantly decreased the percentage of total number of entries to the open arms in aged animals in the EPM test, but it significantly increased total distance moved and speed of the animals in the locomotor activity test in young animals. The total distance moved and the speed of the animals significantly decreased in aged animals compared to the young control group, although sildenafil (3 and 10 mg/kg) did not alter these parameters in aged mice.
Conclusions: Our results show that sildenafil had anxiogenic effects in young as well as aged mice, but it enhanced locomotor activity only in the young mice in the EPM test. Thus, sildenafil seems to exert different effects on anxiety and locomotion in young and aged animals.
This paper has been published under Creative Common Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) allowing to download articles and share them with others as long as they credit the authors and the publisher, but without permission to change them in any way or use them commercially.


text:
Q: Why there is no any Sql Server in Add Connection list I use Microsoft Visual Studio 2010 Professional (I installed all components).
Here is what I'm trying to do. I create a new ASP.NET project. Then I open Server Explorer (View->Server Explorer), right click on Data Connections and choose Add Connection. Then I choose Microsoft SQL Server and press Continue, but the 'Server name' list is empty.
I launch Sql Server Configuration Manager and it shows that SQL Server is in running state (Agent and Browser are stopped)
Why there is no any Sql Server in Add Connection list?
--------------------------------------------------------------
I allow remote filestream for SQl Server, so no I can choose server in the list, but when I enter new database name and click Ok I get a error "sql server was not found or was not accessible"

--------------------------------------------------------------
Here is a list of installed programs with 'SQL' filter

A: Have you configured SQL Server to allow remote connections? By default, SQL Server Express Edition and SQL Server Developer Edition do not allow remote connections.
For SQL Server 2005:
How to configure SQL Server 2005 to allow remote connections
For SQL Server 2008:

*

*From start menu of SQL Server 2008, run SQL Server Configuration Manager.

*From left side view of SQL Server Configuration Manager, expand SQL Server Network Configuration.

*In the right view, you will see the list of SQL Server protocols. By default only Shared Memory is enabled. Enable the other protocols to get your SQL server to accept connections over the network.
Your problem appears to be that you have more than one SQL Server instance installed locally. You will need to use the fully qualified name.

redpajama_set_name: RedPajamaStackExchange


text:
#include "pa_core.h"

#include <inttypes.h>
#include <stdlib.h>
#include <string.h>

#include "prefix.h"

#ifndef container_of
#define container_of(ptr, type, member) (           \
    (type *)( (char *)ptr - offsetof(type,member) ))
#endif

#ifdef PA_HEX_DUMP
const char *pa_hex_dump(uint8_t *ptr, size_t len, char *s) {
	char n;
	s[2*len] = '\0';
	for(;len;len--) {
		n = (ptr[len] & 0xf0) >> 4;
		s[2*len - 2] = (n > 9)?('a'+(n-10)):('0'+n);
		n = (ptr[len] & 0x0f);
		s[2*len - 1] = (n > 9)?('a'+(n-10)):('0'+n);
	}
	return s;
}
#endif

/* Returns whether the Advertised Prefix takes precedence over the Assigned Prefix. */
#define pa_precedes(advp, ldp) \
	((!ldp->published) || ((advp)->priority > (ldp)->priority) || \
	(((advp)->priority == (ldp)->priority) && memcmp((advp)->node_id, (ldp)->core->node_id, PA_NODE_ID_LEN*sizeof(PA_NODE_ID_TYPE))))

#define pa_for_each_user(pa_core, pa_user) list_for_each_entry(pa_user, &(pa_core)->users, le)

#define pa_user_notify(pa_ldp, function) \
	do { \
		struct pa_user *_pa_user_notify_user; \
		pa_for_each_user((pa_ldp)->core, _pa_user_notify_user) { \
			if(_pa_user_notify_user->function) \
				_pa_user_notify_user->function(_pa_user_notify_user, ldp);\
		} \
	} while(0)

#define pa_routine_schedule(ldp) do { \
	if(!(ldp)->routine_to.pending) \
		uloop_timeout_set(&(ldp)->routine_to, PA_RUN_DELAY); }while(0)

#define PA_ADOPT_DELAY_r(ldp) (pa_rand() % (ldp)->core->adopt_delay)
#define PA_BACKOFF_DELAY_r(ldp) ((ldp)->core->adopt_delay + pa_rand() % ((ldp)->core->backoff_delay - (ldp)->core->adopt_delay))

static void pa_ldp_apply(struct pa_ldp *ldp)
{
	if(ldp->applied)
		return;

#ifdef PA_HIERARCHICAL
	if(ldp->dp->ha_ldp && !ldp->dp->ha_ldp->applied) {
		PA_DEBUG("Apply of "PA_LDP_P" must wait for "PA_LDP_P" being applied", PA_LDP_PA(ldp),  PA_LDP_PA(ldp->dp->ha_ldp));
		ldp->ha_apply_pending = 1;
		return;
	}
#endif

	PA_DEBUG("Applying "PA_LDP_P, PA_LDP_PA(ldp));

	ldp->applied = 1;
	ldp->ha_apply_pending = 0;
	pa_user_notify(ldp, applied);
}

static void pa_ldp_unpublish(struct pa_ldp *ldp, bool cancel_apply)
{
	if(!ldp->published)
		return;

	PA_DEBUG("Un-publishing "PA_LDP_P, PA_LDP_PA(ldp));
	ldp->rule = NULL;
	ldp->priority = 0;
	ldp->rule_priority = 0;

	if(cancel_apply && ldp->backoff_to.pending)
		uloop_timeout_cancel(&ldp->backoff_to);

	ldp->published = 0;

	pa_user_notify(ldp, published);
}

static void pa_ldp_unadopt(struct pa_ldp *ldp)
{
	if(!ldp->adopting)
		return;

	PA_DEBUG("Un-adopting "PA_LDP_P, PA_LDP_PA(ldp));
	ldp->rule = NULL;
	ldp->priority = 0;
	ldp->rule_priority = 0;

	ldp->adopting = 0;

	//Un-adopt means we are going to either publish, destroy, or someone else publishes
	if(!ldp->applied)
		uloop_timeout_set(&ldp->backoff_to, ldp->core->flooding_delay * 2);
}

static void pa_ldp_publish(struct pa_ldp *ldp, struct pa_rule *rule,
		pa_priority priority, pa_rule_priority rule_priority)
{
	if(ldp->published)
		return;

	//publish and adopt are incompatible states
	pa_ldp_unadopt(ldp);

	//Assignments are published by rules,
	//with associated rule and assignment priority
	ldp->rule = rule;
	ldp->priority = priority;
	ldp->rule_priority = rule_priority;

	ldp->published = 1;
	PA_DEBUG("Published "PA_LDP_P, PA_LDP_PA(ldp));

	pa_user_notify(ldp, published);
}

static void pa_ldp_adopt(struct pa_ldp *ldp, struct pa_rule *rule,
		pa_priority priority, pa_rule_priority rule_priority)
{
	if(ldp->adopting)
		return;

	//publish and adopt are incompatible states
	pa_ldp_unpublish(ldp, 1);

	//Assignments are adopted by rules,
	//with associated rule and assignment priority
	ldp->rule = rule;
	ldp->priority = priority;
	ldp->rule_priority = rule_priority;

	ldp->adopting = 1;
	uloop_timeout_set(&ldp->backoff_to, PA_ADOPT_DELAY_r(ldp));

	PA_DEBUG("Adopting "PA_LDP_P, PA_LDP_PA(ldp));
}

static void pa_ldp_unassign(struct pa_ldp *ldp)
{
	struct pa_ldp *ldp2;
	if(!ldp->assigned)
		return;

#ifdef PA_HIERARCHICAL
	ldp->ha_apply_pending = 0;
#endif
	if(ldp->applied) {
		ldp->applied = 0;
		pa_user_notify(ldp, applied);
	}

	pa_ldp_unpublish(ldp, 1);
	pa_ldp_unadopt(ldp);
	uloop_timeout_cancel(&ldp->backoff_to);
	PA_INFO("Un-assign prefix: "PA_LDP_P, PA_LDP_PA(ldp));

	btrie_remove(&ldp->in_core.be);
	ldp->assigned = 0;
	pa_user_notify(ldp, assigned); /* Tell users about that */

	/* Destroying the Assigned Prefix possibly freed space that other interfaces may use.
	 * Schedule links for the same dp, if there is no current prefix.
	 * This can be ignored when no prefix is ever created by the local node. */
	pa_for_each_ldp_in_dp(ldp->dp, ldp2) {
		if(!ldp2->assigned && (ldp2 != ldp))
			pa_routine_schedule(ldp2);
	}
}

static int pa_ldp_assign(struct pa_ldp *ldp, pa_prefix *prefix, pa_plen plen)
{
	if(ldp->assigned) {
		if(!pa_prefix_equals(prefix, plen, &ldp->prefix, ldp->plen))
			PA_WARNING("Could not assign %s to "PA_LDP_P, pa_prefix_repr(prefix, plen), PA_LDP_PA(ldp));
		return -2;
	}

	pa_prefix_cpy(prefix, plen, &ldp->prefix, ldp->plen);
	if(btrie_add(&ldp->core->prefixes, &ldp->in_core.be, (const btrie_key_t *)prefix, plen)) {
		PA_WARNING("Could not assign %s to "PA_LINK_P, pa_prefix_repr(prefix, plen), PA_LINK_PA(ldp->link));
		return -1;
	}

	//Cancel backoff timer and set apply timer
	PA_DEBUG("Set apply timer %d", 2 * ldp->core->flooding_delay);
	uloop_timeout_set(&ldp->backoff_to, 2 * ldp->core->flooding_delay);

	ldp->assigned = 1;
	PA_INFO("Assigned prefix: "PA_LDP_P, PA_LDP_PA(ldp));
	pa_user_notify(ldp, assigned); /* Tell users about that*/
	return 0;
}

static bool pa_ldp_global_valid(struct pa_ldp *ldp)
{
	/* There can't be any ldp except the one which is checked.
	 * If there are overlapping DPs, this assumption may be wrong and
	 * this code would bug. */
	struct pa_advp *advp;
	btrie_for_each_updown_entry(advp, &ldp->core->prefixes, (btrie_key_t *)&ldp->prefix, ldp->plen, in_core.be) {
		if(&advp->in_core != &ldp->in_core && pa_precedes(advp, ldp))
			return false;
	}
	return true;
}

/*
 * Prefix Assignment Routine.
 */
static void pa_routine(struct pa_ldp *ldp, bool backoff)
{
	PA_DEBUG("Executing PA %sRoutine for "PA_LDP_P, backoff?"backoff ":"", PA_LDP_PA(ldp));

	/*
	 * The algorithm is slightly modified in order to provide support for
	 * custom behavior.
	 * 1. The Best Assignment is fetched and checked.
	 * 2. The validity of the Current Assignment is checked.
	 * 3. Rules may be applied to create/adopt/delete assignments.
	 * 4. The prefix is removed if still invalid, and the routine
	 * is executed assuming existing assignment validity (That is, we assume
	 * rules provide valid assignments).
	 */

	/*********************************
	 * 1. Look for best Adv. Prefix  *
	 *********************************/
	struct pa_advp *advp;
	struct pa_pentry *pentry;
	ldp->best_assignment = NULL;
	btrie_for_each_updown_entry(pentry, &ldp->core->prefixes,
			(btrie_key_t *)&ldp->dp->prefix, ldp->dp->plen, be) {
		if(pentry->type == PAT_ADVERTISED) {
			advp = container_of(pentry, struct pa_advp, in_core);
			if(advp->link == ldp->link &&
					(!ldp->best_assignment ||
					advp->priority > ldp->best_assignment->priority ||
					((advp->priority == ldp->best_assignment->priority) &&
							(PA_NODE_ID_CMP(advp->node_id, ldp->best_assignment->node_id) > 0))))
				ldp->best_assignment = advp;
		}
	}

	/*********************************
	 * 2. Check Assignment Validity. *
	 *********************************/

	if(!ldp->best_assignment || !pa_precedes(ldp->best_assignment, ldp))
		ldp->best_assignment = NULL; //We don't really care about invalid best assignments.

	if(ldp->assigned) { //Check whether the algorithm would keep that prefix or destroy it.
		bool valid;
		if(!ldp->best_assignment) {
			valid = pa_ldp_global_valid(ldp); //Globally valid
		} else {
			valid = pa_prefix_equals(&ldp->prefix, ldp->plen, //Different from Best Assignment
					&ldp->best_assignment->prefix, ldp->best_assignment->plen);
		}
		if(!valid)
			pa_ldp_unassign(ldp);
	}

	/* If there is a best assignment, we can't adopt the prefix. */
	if(ldp->best_assignment)
		pa_ldp_unadopt(ldp);

	/*********************
	 * 3. Execute rules. *
	 *********************/

	struct pa_rule *rule, *r2;
	struct list_head rules, *insert;
	INIT_LIST_HEAD(&rules);
	ldp->backoff = backoff?1:0;

	/* First, sort the rules with their max priority. */
	list_for_each_entry(rule, &ldp->core->rules, le) {
		/* Apply rule filter */
		if(rule->filter_accept && !rule->filter_accept(rule, ldp, rule->filter_private))
			continue;

		/* Get priority */
		rule->_max_priority = rule->get_max_priority?
				rule->get_max_priority(rule, ldp):rule->max_priority;

		if(!rule->_max_priority)
			continue;

		/* Insert the rule in descending order. */
		insert = &rules;
		list_for_each_entry(r2, &rules, _le) {
			if(r2->_max_priority < rule->_max_priority)
				break;
			insert = &r2->_le;
		}
		list_add(&rule->_le, insert);
	}

	/* Now get the best rule result. */
	enum pa_rule_target target,
				best_target = PA_RULE_NO_MATCH;
	pa_rule_priority best_prio;
	struct pa_rule_arg arg, best_arg;
	struct pa_rule *best_rule = NULL;

	//Get existing rule priority
	best_prio = (ldp->published || ldp->adopting)?ldp->rule_priority:0;

	list_for_each_entry(rule, &rules, _le) {
		if(rule->_max_priority <= best_prio)
			break; //Stop here as it is a sorted list

		/* For now, we assume rules behave correctly.
		 * They only return a match when they have the best
		 * priority, and everything they say is valid.
		 */
		if(!rule->match || !(target = rule->match(rule, ldp, best_prio, &arg)))
				continue;

		best_arg = arg;
		best_target = target;
		best_prio = arg.rule_priority;
		best_rule = rule;
	}

	if(best_target == PA_RULE_NO_MATCH)
		PA_DEBUG("No matching rule was found.");
	else
		PA_DEBUG("Rule "PA_RULE_P" matched", PA_RULE_PA(best_rule));

	/* Now act upon the best rule */
	struct pa_ldp *ldp2;
	struct pa_pentry *pentry2;
	switch (best_target) {
		case PA_RULE_ADOPT:
			PA_DEBUG("Target: Adoption %s - priority="PA_PRIO_P" rule_priority="PA_RULE_PRIO_P, pa_prefix_repr(&ldp->prefix, ldp->plen),
					best_arg.priority, best_arg.rule_priority);
			pa_ldp_adopt(ldp, best_rule, best_arg.priority, best_arg.rule_priority);
			break;
		case PA_RULE_BACKOFF:
			PA_DEBUG("Target: Backoff");
			if(ldp->best_assignment) {
				PA_WARNING("Backoff is not a valid rule target, as there is a best assignment.");
				break;
			}
			//Unassign if assigned.
			//Backoff only makes sense for not assigned ldps
			pa_ldp_unassign(ldp);
			//If already pending, we can keep waiting.
			if(!ldp->backoff_to.pending) {
				int delay = PA_BACKOFF_DELAY_r(ldp);
				L_DEBUG("Backoff delay is %d", delay);
				uloop_timeout_set(&ldp->backoff_to, delay);
			}
			break;
		case PA_RULE_DESTROY:
			PA_DEBUG("Target: Destroy %s", pa_prefix_repr(&ldp->prefix, ldp->plen));
			pa_ldp_unassign(ldp);
			pa_routine_schedule(ldp); //We will have to start again
			break;
		case PA_RULE_PUBLISH:
			PA_DEBUG("Target: Publish %s - priority="PA_PRIO_P" rule_priority="PA_RULE_PRIO_P, pa_prefix_repr(&best_arg.prefix, best_arg.plen),
								best_arg.priority, best_arg.rule_priority);

			/* Unassign conflicting prefixes on other ldps */
			btrie_for_each_updown_entry_safe(pentry, pentry2, &ldp->core->prefixes, (btrie_key_t *)&best_arg.prefix, best_arg.plen, be) {
				if(pentry->type == PAT_ASSIGNED && (pentry != &ldp->in_core)) {
					ldp2 = container_of(pentry, struct pa_ldp, in_core);
					pa_ldp_unassign(ldp2);
					pa_routine_schedule(ldp2);
				}
			}

			if(ldp->assigned &&
					!pa_prefix_equals(&best_arg.prefix, best_arg.plen, &ldp->prefix, ldp->plen)) {
				pa_ldp_unassign(ldp);
			}

			if(ldp->assigned) {
				pa_ldp_unpublish(ldp, 0);
				pa_ldp_unadopt(ldp);
			} else {
				pa_ldp_assign(ldp, &best_arg.prefix, best_arg.plen);
			}
			pa_ldp_publish(ldp, best_rule, best_arg.priority, best_arg.rule_priority);

			//publish must return a valid advertisement
			ldp->best_assignment = NULL;

			//TODO: Send an update to FM instead of un-publish+publish
			break;
		case PA_RULE_NO_MATCH:
		default:
			break;
	}

	/*********************************
	 * 4. End the routine            *
	 *********************************/

	if(ldp->assigned) {
		//Assigned and valid

		if(ldp->best_assignment) {
			//Same prefix is advertised by someone else
			pa_ldp_unpublish(ldp, 0); //Give-up prefix
			pa_ldp_unadopt(ldp); //Cancel adoption
		} else if(!ldp->published && !ldp->adopting) {
			//Nobody advertises the prefix, and no rule tried to save the prefix
			//So it shall die.
			pa_ldp_unassign(ldp);
		}

	} else if (ldp->best_assignment) {
		//Should accept the best_assignment
		pa_ldp_unassign(ldp);
		pa_ldp_assign(ldp, &ldp->best_assignment->prefix, ldp->best_assignment->plen);
	}
}

static void pa_backoff_to(struct uloop_timeout *to)
{
	struct pa_ldp *ldp = container_of(to, struct pa_ldp, backoff_to);
	if(ldp->adopting) { //Adopt timeout
		pa_ldp_publish(ldp, ldp->rule, ldp->priority, ldp->rule_priority);
	} else if(ldp->assigned) { //Apply timeout
		pa_ldp_apply(ldp);
	} else { //Backoff delay
		pa_routine(ldp, true);
	}
}

static void pa_routine_to(struct uloop_timeout *to)
{
	struct pa_ldp *ldp = container_of(to, struct pa_ldp, routine_to);
	pa_routine(ldp, false);
}

/*
 * Create a new empty link/dp pairing.
 */
static int pa_ldp_create(struct pa_core *core, struct pa_link *link, struct pa_dp *dp)
{
	struct pa_ldp *ldp;
	if(!(ldp = calloc(1, sizeof(*ldp)))) {
		PA_WARNING("FAILED to create state for "PA_LINK_P"/"PA_DP_P, PA_LINK_PA(link), PA_DP_PA(dp));
		return -1;
	}

	ldp->backoff_to.cb = pa_backoff_to;
	ldp->routine_to.cb = pa_routine_to;
	ldp->in_core.type = PAT_ASSIGNED;
	ldp->core = core;
	ldp->link = link;
	list_add_tail(&ldp->in_link, &link->ldps);
	ldp->dp = dp;
	list_add_tail(&ldp->in_dp, &dp->ldps);
	PA_DEBUG("Creating Link/Delegated Prefix pair: "PA_LDP_P, PA_LDP_PA(ldp));
	pa_routine_schedule(ldp);
	return 0;
}

/*
 * Destroy an ldp. All states must be to 0.
 */
static void pa_ldp_destroy(struct pa_ldp *ldp)
{
	PA_DEBUG("Destroying Link/Delegated Prefix pair: "PA_LDP_P, PA_LDP_PA(ldp));
	list_del(&ldp->in_link);
	list_del(&ldp->in_dp);
	uloop_timeout_cancel(&ldp->backoff_to);
	uloop_timeout_cancel(&ldp->routine_to);
	free(ldp);
}

static void _pa_dp_del(struct pa_dp *dp)
{
	struct pa_ldp *ldp, *ldp2;
	//Public part
	pa_for_each_ldp_in_dp(dp, ldp)
		pa_ldp_unassign(ldp);

	//Private part (so the whole deletion is atomic for users)
	pa_for_each_ldp_in_dp_safe(dp, ldp, ldp2)
		pa_ldp_destroy(ldp);
	list_del(&dp->le);
}

void pa_dp_del(struct pa_dp *dp)
{
	PA_INFO("Removing Delegated Prefix "PA_DP_P, PA_DP_PA(dp));
	_pa_dp_del(dp);
}

int pa_dp_add(struct pa_core *core, struct pa_dp *dp)
{
	PA_INFO("Adding Delegated Prefix "PA_DP_P, PA_DP_PA(dp));
	INIT_LIST_HEAD(&dp->ldps);
	list_add_tail(&dp->le, &core->dps);
	struct pa_link *link;
	pa_for_each_link(core, link) {
#ifdef PA_HIERARCHICAL
		/* If dp is from higher level and the link is the child of a higher level link.
		 * Compare the two links.  */
		if(dp->ha_ldp && link->ha_parent && link->ha_parent != dp->ha_ldp->link) {
			PA_DEBUG("Hierarchical Assignment: No state for link %s", link->name);
			continue;
		}
#endif

		if(pa_ldp_create(core, link, dp)) {
			PA_WARNING("FAILED to add Delegated Prefix "PA_DP_P, PA_DP_PA(dp));
			_pa_dp_del(dp);
			return -1;
		}
	}
	return 0;
}

void pa_dp_init(struct pa_dp *dp, pa_prefix *prefix, pa_plen plen)
{
	pa_prefix_cpy(prefix, plen, &dp->prefix, dp->plen);
#ifdef PA_DP_TYPE
	dp->type = PA_DP_TYPE_NONE;
#endif
#ifdef PA_HIERARCHICAL
	dp->ha_ldp = NULL;
#endif
}

static void _pa_link_del(struct pa_link *link)
{
	struct pa_ldp *ldp, *ldp2;
	//Public part
	pa_for_each_ldp_in_link(link, ldp)
		pa_ldp_unassign(ldp);

	//Private part (so the whole deletion is atomic for users)
	pa_for_each_ldp_in_link_safe(link, ldp, ldp2)
	pa_ldp_destroy(ldp);

	list_del(&link->le);
}

void pa_link_del(struct pa_link *link)
{
	PA_INFO("Removing Link "PA_LINK_P, PA_LINK_PA(link));
	_pa_link_del(link);
}

int pa_link_add(struct pa_core *core, struct pa_link *link)
{
	PA_INFO("Adding Link "PA_LINK_P, PA_LINK_PA(link));
	INIT_LIST_HEAD(&link->ldps);
	list_add_tail(&link->le, &core->links);
	struct pa_dp *dp;
	pa_for_each_dp(core, dp) {
#ifdef PA_HIERARCHICAL
		/* If dp is from higher level and the link is the child of a higher level link.
		 * Compare the two links.  */
		if(dp->ha_ldp && link->ha_parent && link->ha_parent != dp->ha_ldp->link)
			continue;
#endif
		if(pa_ldp_create(core, link, dp)) {
			PA_WARNING("FAILED to add Link "PA_LINK_P, PA_LINK_PA(link));
			_pa_link_del(link);
			return -1;
		}
	}
	return 0;
}

void pa_link_init(struct pa_link *link, const char *name)
{
	link->name = name;
#ifdef PA_LINK_TYPE
	link->type = PA_LINK_TYPE_NONE;
#endif
#ifdef PA_HIERARCHICAL
	link->ha_parent = NULL;
#endif
}

static void _pa_advp_update(struct pa_core *core, struct pa_advp *advp)
{
	struct pa_dp *dp;
	struct pa_ldp *ldp;
	pa_for_each_dp(core, dp) {
		/* Schedule all for dps overlapping with the advp. */
		//TODO: Maybe not necessary to schedule if we have Current and advp is not overlapping with it.
		if(pa_prefix_overlap(&dp->prefix, dp->plen, &advp->prefix, advp->plen)) {
			pa_for_each_ldp_in_dp(dp, ldp)
					pa_routine_schedule(ldp);
		}
	}
}

/* Tell the content of the Advertised Prefix was changes. */
void pa_advp_update(struct pa_core *core, struct pa_advp *advp)
{
	PA_DEBUG("Updating Advertised Prefix "PA_ADVP_P, PA_ADVP_PA(advp));
	_pa_advp_update(core, advp);
}

/* Adds a new Advertised Prefix. */
int pa_advp_add(struct pa_core *core, struct pa_advp *advp)
{
	PA_DEBUG("Adding Advertised Prefix "PA_ADVP_P, PA_ADVP_PA(advp));
	advp->in_core.type = PAT_ADVERTISED;
	if(btrie_add(&core->prefixes, &advp->in_core.be, (btrie_key_t *)&advp->prefix, advp->plen)) {
		PA_WARNING("Could not add Advertised Prefix "PA_ADVP_P, PA_ADVP_PA(advp));
		return -1;
	}

	_pa_advp_update(core, advp);
	return 0;
}

/* Removes an added Advertised Prefix. */
void pa_advp_del(struct pa_core *core, struct pa_advp *advp)
{
	PA_DEBUG("Deleting Advertised Prefix "PA_ADVP_P, PA_ADVP_PA(advp));
	btrie_remove(&advp->in_core.be);
	_pa_advp_update(core, advp);
}

void pa_rule_add(struct pa_core *core, struct pa_rule *rule)
{
	PA_DEBUG("Adding rule "PA_RULE_P, PA_RULE_PA(rule));
	list_add_tail(&rule->le, &core->rules);
	/* Schedule all routines */
	struct pa_link *link;
	struct pa_ldp *ldp;
	pa_for_each_link(core, link)
		pa_for_each_ldp_in_link(link, ldp)
			pa_routine_schedule(ldp);
}

void pa_rule_del(struct pa_core *core, struct pa_rule *rule)
{
	PA_DEBUG("Deleting rule "PA_RULE_P, PA_RULE_PA(rule));
	list_del(&rule->le);
	struct pa_link *link;
	struct pa_ldp *ldp;
	pa_for_each_link(core, link)
		pa_for_each_ldp_in_link(link, ldp) {
			pa_routine_schedule(ldp);
			if(ldp->rule == rule) {
				pa_ldp_unpublish(ldp, 1);
				pa_ldp_unadopt(ldp);
			}
		}
}

void pa_core_set_flooding_delay(struct pa_core *core, uint32_t flooding_delay)
{
	PA_INFO("Set Flooding Delay to %"PRIu32, flooding_delay);
	struct pa_link *link;
	struct pa_ldp *ldp;
	if(flooding_delay > core->flooding_delay) {
		pa_for_each_link(core, link)
			pa_for_each_ldp_in_link(link, ldp)
				if(ldp->assigned && !ldp->adopting && ldp->backoff_to.pending)
					uloop_timeout_set(&ldp->backoff_to, uloop_timeout_remaining(&ldp->backoff_to) + 2*(flooding_delay - core->flooding_delay));
	} else if (flooding_delay < core->flooding_delay) {
		pa_for_each_link(core, link)
			pa_for_each_ldp_in_link(link, ldp)
				if(ldp->assigned && !ldp->adopting && ldp->backoff_to.pending && ((uint32_t)uloop_timeout_remaining(&ldp->backoff_to) > 2*flooding_delay))
					uloop_timeout_set(&ldp->backoff_to, 2*flooding_delay);
	}
	core->flooding_delay = flooding_delay;
}

void pa_core_set_node_id(struct pa_core *core, const PA_NODE_ID_TYPE node_id[])
{
	PA_INFO("Set Node ID to "PA_NODE_ID_P, PA_NODE_ID_PA(node_id));
	struct pa_link *link;
	struct pa_ldp *ldp;
	if(memcmp(node_id, core->node_id, PA_NODE_ID_LEN*sizeof(PA_NODE_ID_TYPE))) {
		memcpy(core->node_id, node_id, PA_NODE_ID_LEN*sizeof(PA_NODE_ID_TYPE));
		/* Schedule routine for all pairs */
		pa_for_each_link(core, link)
			pa_for_each_ldp_in_link(link, ldp)
				pa_routine_schedule(ldp);
	}
}

void pa_core_init(struct pa_core *core)
{
	PA_INFO("Initialize Prefix Assignment Algorithm Core");
	INIT_LIST_HEAD(&core->dps);
	INIT_LIST_HEAD(&core->links);
	INIT_LIST_HEAD(&core->users);
	INIT_LIST_HEAD(&core->rules);
	btrie_init(&core->prefixes);
	memset(core->node_id, 0, PA_NODE_ID_LEN *sizeof(PA_NODE_ID_TYPE));
	core->flooding_delay = PA_DEFAULT_FLOODING_DELAY;
	core->adopt_delay = PA_ADOPT_DELAY_DEFAULT;
	core->backoff_delay = PA_BACKOFF_DELAY_DEFAULT;
#ifdef PA_HIERARCHICAL
	core->ha_parent = NULL;
#endif
}

int pa_rule_valid_assignment(struct pa_ldp *ldp, pa_prefix *prefix, pa_plen plen,
		pa_rule_priority override_rule_priority, pa_priority override_priority,
		uint8_t safety)
{
	struct pa_pentry *p;
	struct pa_advp *advp;
	struct pa_ldp *ldp2;

	if(ldp->best_assignment) {
		if(ldp->best_assignment->priority >= override_priority)
			return 0;
	} else if(ldp->assigned) {
		if((ldp->published || ldp->adopting) && (ldp->rule_priority >= override_rule_priority))
			return 0;
		else if(safety && ldp->published && (ldp->priority >= override_priority))
			return 0;
	}

	btrie_for_each_updown_entry(p, &ldp->core->prefixes, (btrie_key_t *)prefix, plen, be) {
		if(p->type == PAT_ASSIGNED) {
			ldp2 = container_of(p, struct pa_ldp, in_core);
			if((ldp2->published || ldp2->adopting) && (ldp2->rule_priority >= override_rule_priority))
				return 0;
			if(safety && ldp2->published && (ldp2->priority > override_priority))
				return 0;
		} else if (p->type == PAT_ADVERTISED) {
			advp = container_of(p, struct pa_advp, in_core);
			if(advp->priority >= override_priority)
				return 0;
		}
	}
	return 1;
}

#ifdef PA_HIERARCHICAL
/***************************
 * Hierarchical Assignment *
 ***************************/

static struct pa_dp *pa_ha_dp_get(struct pa_core *core, struct pa_ldp *ldp)
{
	struct pa_dp *dp = NULL;
	pa_for_each_dp(core, dp) {
		if(dp->ha_ldp == ldp) {
			return dp;
		}
	}
	return NULL;
}

static void pa_ha_dp_del(struct pa_core *core, struct pa_ldp *ldp)
{
	struct pa_dp *dp = pa_ha_dp_get(core, ldp);
	if(!dp) {
		PA_WARNING("The higher-level prefix is not associated with a lower-level dp.");
	} else {
		pa_dp_del(dp);
		free(dp);
	}
}

static void pa_ha_dp_add(struct pa_core *core, struct pa_ldp *ldp)
{
	struct pa_dp *dp = pa_ha_dp_get(core, ldp);
	if(dp) {
		PA_WARNING("The higher-level ldp is already associated with a lower-level dp.");
		return;
	}
	if(!(dp = malloc(sizeof(struct pa_dp)))) {
		PA_WARNING("Cannot create lower-level dp for "PA_LDP_P, PA_LDP_PA(ldp));
		return;
	}

	/* init dp */
	pa_prefix_cpy(&ldp->prefix, ldp->plen, &dp->prefix, dp->plen);
	dp->ha_ldp = ldp;
#ifdef PA_DP_TYPE
	dp->type = PA_DP_TYPE_NONE;
#endif

	/* Add the dp to the child PA structure */
	pa_dp_add(core, dp);
}

static void pa_ha_assigned_cb(struct pa_user *user, struct pa_ldp *ldp)
{
	struct pa_core *core = container_of(user, struct pa_core, ha_user);
	if(ldp->assigned) {
		pa_ha_dp_add(core, ldp);
	} else {
		pa_ha_dp_del(core, ldp);
	}
}

static void pa_ha_applied_cb(struct pa_user *user, struct pa_ldp *ldp)
{
	struct pa_core *core = container_of(user, struct pa_core, ha_user);
	if(core->ha_user.assigned) {
		//Fast mode
		struct pa_dp *dp = pa_ha_dp_get(core, ldp);
		if(!dp)
			return;

		if(ldp->applied) {
			pa_for_each_ldp_in_dp(dp, ldp) {
				if(!ldp->applied && ldp->ha_apply_pending)
					pa_ldp_apply(ldp);
			}
		}
		//A prefix is only unapplied when unassigned
	} else {
		PA_DEBUG("Hierarchical Assignment - Apply callback in safe mode");
		//Safe mode
		if(ldp->applied) {
			pa_ha_dp_add(core, ldp);
		} else {
			pa_ha_dp_del(core, ldp);
		}
	}
}

void pa_ha_attach(struct pa_core *child, struct pa_core *parent, uint8_t fast_assignment)
{
	child->ha_user.applied = pa_ha_applied_cb;
	child->ha_user.assigned = fast_assignment?pa_ha_assigned_cb:NULL;
	child->ha_user.published = NULL;
	child->ha_parent = parent;

	/* Attach to parent */
	pa_user_register(parent, &child->ha_user);

	/* Update dps from parent's applied ldps */
	struct pa_dp *dp;
	struct pa_ldp *ldp;
	pa_for_each_dp(parent, dp)
		pa_for_each_ldp_in_dp(dp, ldp) {
			if(fast_assignment && ldp->assigned)
				pa_ha_assigned_cb(&child->ha_user, ldp);
			if(ldp->applied)
				pa_ha_applied_cb(&child->ha_user, ldp);
	}
}

void pa_ha_detach(struct pa_core *child)
{
	/* Remove all dps that are from the parent. */
	struct pa_dp *dp, *dp2;
	pa_for_each_dp_safe(child, dp, dp2) {
		if(dp->ha_ldp) {
			pa_dp_del(dp);
			free(dp);
		}
	}

	/* Detach from parent */
	child->ha_parent = NULL;
	pa_user_unregister(&child->ha_user);
}

#endif


text:
Alfred Edwin Eaton (1845 - 23 maart 1929 Northam) was een Britse priester en entomoloog.

Eaton was priester in Shepton Montague in Somerset.

Op het gebied van de entomologie was hij vooral geïnteresseerd in de studies van Diptera (tweevleugeligen) en Ephemeroptera (eendagsvliegen). Hij ondernam diverse expedities naar Spitsbergen, Madeira en Tenerife in het voorjaar van 1902 en verzamelde insecten.
Zijn collecties worden bewaard in het Natural History Museum in Londen.

De kerguelenpijlstaart of Eaton-pijlstaart (Anas eatoni) (Engelse naam: Eaton's pintail) is een eend uit de familie van de Anatidae en werd naar Eaton vernoemd door Richard Bowdler Sharpe (1847-1909) in 1875.

Brits entomoloog


text:
Ceropales is een geslacht van vliesvleugelige insecten van de familie spinnendoders (Pompilidae).

Soorten
C. albicincta (Rossius, 1790)
C. bicoloripes Moczar, 1967
C. bipartita Haupt, 1962
C. cribrata Costa, 1881
C. helvetica Tournier, 1889
C. maculata - gele sluipspinnendoder Fabricius, 1775
C. pygmaea Kohl, 1880
C. variegata - rode sluipspinnendoder (Fabricius, 1798)

Spinnendoders


text:
Q: javascript - Exception was thrown in jquery ajax - IE11 but not Chrome - how to locate Looking for suggestions on how to debug this:
Exception was thrown at line 2, column 10440 in http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Happens in IE11 but not Chrome.  No known functional issues, just annoying and faintly worrisome that it might indicate something more serious.
Does not show in IE's F12 console.
Add this to webconfig, no change:
<add key="vs:EnableBrowserLink" value="false" />

I put try/catch around the areas in the JS where it might be happening, haven't been able to trap it.
Unfortunately, the code is very complex, so I'm unable to upload it.
Any suggestions on this would be appreciated.


Constant stirring helps vegetables cook evenly.
Sautéed vegetables develop a tender, crisp texture and a bright color that makes them as beautiful as they are tasty. High heat combined with a small amount of olive oil cooks the vegetables quickly so you can't step away from the stove during the process. Vegetables also cook at different rates. Cutting them into small pieces and adding them in stages helps ensure that all the mixed vegetables are done at the same time and nothing burns.
Slice the vegetables into small pieces. Cut firm, slower-cooking vegetables such as carrots or potatoes into 1/4 inch strips or cubes so they cook more quickly. Cut quick-cooking vegetables such as peppers or onions into strips up to 1/2 inch wide. Tear leafy greens such as spinach into bite-sized pieces.
Heat the pan over medium-high heat until the it is hot. Add just enough olive oil to coat the bottom of the pan.
Add the firm vegetables to the pan in a single layer, leaving space between the vegetable pieces. Stir the vegetables or shake the pan every 20 to 30 seconds so all sides cook evenly.
Place the quicker-cooking vegetables in the pan when the firm vegetables become tender, which usually takes about five minutes. Keep the vegetables in a single layer and continue to stir or shake every 20 to 30 seconds. Cook for two to three minutes more, or until the vegetables are tender.
Sprinkle leaf vegetables into the pan once the other vegetables are crisp-tender and their color brightens and becomes glossy. Stir the leaf vegetables once or twice until they just begin to wilt, then remove the pan from the heat. Serve sautéed vegetables immediately.
Season sautéed vegetables during cooking or immediately after. A little bit of salt combined with a pinch or two of your favorite herbs, such as thyme or rosemary, complements the flavor of the vegetables without overpowering them.


text:
Q: How to divide a number by 10 only in Python? I just need to divide some number by only 10. For instance, if the number is 127, the result should only be 12 and remained to be 7. Is there a way I can get Python to give me these BOTH results?  Because I need to divide that remainder by some number as well for instance 2.
So overall it should be like this:
127 = 12 (10) and 3 (2) and 1(remainder).
Hope that makes sense

A: You can try using double division and modulus division -
quotient = 127 // 10

remainder = 127 % 10

print(quotient) # 12
print(remainder) # 7

Or use divmod -
num = 127
d = 10 # Divisor

quotient,remainder = divmod(num, d) # It returns tuple

print(quotient) # 12
print(remainder) # 7

A: def divide_and_get_remainder(num, divisor):
    quotient = num // divisor
    remainder = num % divisor
    return quotient, remainder

if __name__ == '__main__':
    num = 127
    divisor = 10
    q, r = divide_and_get_remainder(num,divisor)
    print(f'{num} / {divisor} = {q} with remainder = {r}')


text:
View products that support dmairfield.org
This information comes from the listings of Non-Prefixed and Non-Suffixed aircraft reviewed by me in the archives of the National Air & Space Museum, Washington, DC.
---o0o---
Your copy of the "Davis-Monthan Airfield Register" with all the pilots' signatures and helpful cross-references to pilots and their aircraft is available at the link. Or use this FORM to order a copy signed by the author. ISBN 978-0-9843074-0-1.
Fokker Universal NC3193
This aircraft was a Fokker Universal, S/N 423 (ATC #9), manufactured in October 1927 by the Atlantic Aircraft Corporation, Teterboro Airport, Hasbrouck Heights, NJ. It left the factory with a Wright J-5 engine, S/N 8135. It weighed 4,000 pounds.
NC3193 was purchased October 25, 1927 by the Aero Corporation of California, Los Angeles, CA (Davis-Monthan pilots Jack Frye, Walter Hamilton and Paul Richter were principals with the company). From the Register, it appears that NC3193 was operated as a liner for Standard Air Lines between at least December 1927 and March 1928.
NC3193 landed at Tucson seven times during these four months, flown by Jack Frye, Lee Willey and Paul Richter, Jr. All these men were pilots of the line for Standard Air Lines. A total of 29 identified passengers were carried on the seven flights. Los Angeles, CA, Douglas and Phoenix, AZ were their route points.
Aero sold the airplane during August, 1928 to Harry J. Tucker, Santa Monica, CA. No bill of sale was submitted and Tucker wrecked the airplane shortly after purchase. It was sold in wrecked condition on December 27, 1928 to O'Donnell Aircraft, Inc., Long Beach, CA.
Lloyd O'Donnell rebuilt the airplane between August and December, 1928. The fuselage was re-covered and Wright engine S/N 7646 was installed. The wing and spars were rebuilt. For some reason, the wing was three feet longer than the original, which did not conform to the ATC, therefore the airplane was not licensed by the CAA.
By February 1930, O'Donnell reported the airplane being operated in Mexico. Indeed, on January 1, 1930, we find NC3193 landing at Tucson for the final time. It was flown by Lloyd O'Donnell carrying two passengers D. Cole and W. Thornberg. They were southbound from Mesquite to Nogales, AZ.
On February 18, 1930 (or maybe it was 2/23, NASM record not sure), at Oaxaca, Mexico the airplane crashed and was "washed out". The pilot was Milo Burcham of Whittier, CA. He survived the crash. No further information.
THIS PAGE UPLOADED: 07/09/06 REVISED: 02/25/09, 02/25/14
I'm looking for photographs of this airplane to include on this page. If you have one or more you'd like to share, please use this FORM to contact me.
DO YOU LIKE THIS WEB SITE?
You may NOW donate via PAYPAL by clicking the "Donate" icon below and using your credit card. You may use your card or your PAYPAL account. You are not required to have a PAYPAL account to donate.
When your donation clears the PAYPAL system, a certified receipt from Delta Mike Airfield, Inc. will be emailed to you for your tax purposes.
What's New on the Site?
Contact Us | Credits | Copyright © 2008 Delta Mike Airfield, Inc.
This website is best enjoyed in a 1024 x 768 screen resolution.
Web design by The Web Professional, Inc
Home | The Register | People | Places | Airplanes | Events | Cultural | Motion Pictures | Friends | Non-Profit Status
Products & Services | References | Publications | Image Collections | Guest Editors | Press Coverage


Are you a Distributor in need of Wire, Cable and Tubing to serve your clients? We can help.
Jaguar Industries is here for others distributors of wires, cables, heat shrink tubing, as well as PTFE and PVC sleeving. We help provide distributors of all sizes with off-the-shelf delivery of standard and hard to find items which are stored in our 100,000 square foot warehousing facility. Jaguar Industries Wire and Cable Company is big enough to stock thousands of wires, cables, and tubing items (including many unusual, hard to find "specials"), yet small enough to offer the personal service you need. We understand your need to satisfy your clients and we just want to help.
If you are looking for a specific size or specification please keep in mind that we can also accommodate custom wire and cable orders both large and small. Whether you need custom wire cables, coaxial cables or high temperature electrical wires and flexible wire we can provide them for you.
We have an extensive inventory of electrical wires and cables to serve commercial, industrial, and military clients. This includes a selection of high temperature wire for electrical use and coaxial cables for televisions and computers.
Just give us a call for pricing and availability or use the search box or menu above to find what you're looking for. We have a comprehensive selection of our product offerings including high temperature wire insulation, military spec wires, and heat shrink tubing. If we don't have what you're looking for, let us know and chances are we will be able to custom manufacture it for you.