text:
"I'm tired," she said, tugging at a band on her arm. She'd had a dialysis shunt put in her arm a few days prior and had no way to remove the hospital wristband.
"I don't have no scissors," she said, laughing a little. "You can't pull them off."
A few weeks later, 61-year-old Charlie Orman sat on the same concrete wall smoking a hand-rolled cigarette. His tanned face was scraped and his left eye was red and swollen shut.
Orman said he was attacked with a board and spent the night in the emergency room.
Like Stevens, Orman was still wearing a hospital wristband.
Orman admitted he and his campmates had been drinking and described his assailant as someone "who attacks women, attacks old folks, attacks weak people."
"I told him, 'No more,'" Orman said. "As quick as we turned our back and went to sleep, he attacked us while we were sleeping."
"It's the life of the homeless," he said, shrugging. "It's what happens to us."
Orman and Stevens are among a growing population in Springfield: the elderly homeless.
In most cases, they are in poor health, have limited mobility and are aging at a rapid rate.
Pastor Chris A. Rice is a manager at the Veterans Coming Home Center. There, folks can get a meal, take a shower, use computers and do their laundry.
By all accounts, the Vets Center is a hub for most of Springfield's homeless community. Stevens and Orman both go there every day to get out of the elements and rest.
More:Springfield district uses cabs to get homeless students to school on short notice
Though the center does not record the age of everyone who comes through the door, Rice said he is definitely seeing more elderly people.
"We consistently get anywhere from 150 to 175 people a day," Rice said. "Of those, probably 60 are over the age of 60."
The Springfield Affordable Housing Center (One Door) is the one-stop shop for affordable housing and homeless prevention for Greene, Christian and Webster Counties.
One Door did 77 new and updated housing assessments for people age 62 and older during fiscal year (July-June) 2016-2017.
During the 2017-18 year, there were 96.
In the 2018-2019 year, there were 105.
Currently, the oldest person on One Door's prioritization list is 75 years old.
This local increase mirrors a national trend. And a study from earlier this year predicts the population of individuals who are homeless and elderly will nearly triple over the next decade.
While some of these individuals may be sleeping in shelters or staying with relatives, many — like Stevens and Orman — are literally on the streets.
As of last week, both were sleeping outside on grassy spots around Springfield. Neither have tents — just a blanket or sleeping bag to protect from the elements.
The News-Leader spent time with Orman and Stevens over the summer, and also interviewed service providers about the increase in elderly homeless people, their health and many vulnerabilities.
From dementia to basic care: Addressing the changing health needs
Safe to Sleep is an overnight shelter for homeless women in Springfield. Because the shelter is staffed by two volunteers, women who stay there must be able to care for themselves. That includes setting up a cot, bathing, dressing and using the bathroom unassisted.
With the increased number of elderly women seeking shelter at Safe to Sleep, director Kelly Harris said volunteers are neither equipped nor qualified to provide the level of care some women need.
"I brought this up at the (Continuum of Care) meeting," Harris said. "I was like, 'Hey, people, we've got a problem here. That we have folks we are not equipped to take care of. This elderly population has needs that we can't meet.'"
Incontinence and mobility issues are common, along with chronic health problems and sometimes even dementia or Alzheimer's, Harris said. There have been women who use wheelchairs and CPAP machines. At one time, there were five women at Safe to Sleep who used walkers.
"Our volunteers are cleaning up messes that they probably didn't sign up for," Harris said. "You may have a volunteer that has a bad shoulder. They are trying to pick someone up who weighs twice their size. That is kind of a liability for us. And it isn't what they signed up for, because we are not a nursing home."
Harris, along with Safe to Sleep case manager Robyn Hall, talked to the News-Leader about the issue in July.
At that time, there were four elderly women staying at the shelter whose needs were so great, Hall said she and the other case manager could easily spend their 40-hour workweeks helping only those women. (Never mind about the other 30 or so women who come to Safe to Sleep each evening.)
"Some of them can't even shower or dress themselves," Hall said. "They don't realize their hygiene is horrible. You have to remind them. That is a heartbreaking thing."
Adam Bodendieck, director of homeless services at the Springfield Affordable Housing Center, also sees the impact on people's health and the premature aging that comes with life on the streets.
"What we see a lot of is very minor, preventable, treatable conditions or wounds that turn into something significantly worse just due to lack of immediately accessible treatment," Bodendieck said. "And when you add on the frailty of age, then we see that worsen. We've seen deaths."
"We've seen amputations that were completely preventable," he continued. "It's just because of a relatively minor wound that was allowed to become infected and spread. So now, you are an elderly person (and) not only have you been navigating the street all day, but you are trying to do it on one leg."
Michelle Garand, who works alongside Bodendieck at the housing center, shook her head as Bodendieck spoke.
"If you don't think that doesn't make you more vulnerable in this community, you are crazy," she said.
Elisa Coonrod is a registered nurse and case manager at MSU Care, a health care clinic that serves adults ages 16-64 who have no health insurance, are not eligible for Medicaid or Medicare and have a household income equal to or less than 150 percent of the federal poverty level.
MSU Care is located on the Missouri State University campus and is a collaboration between the university and Mercy Health System.
Coonrod also serves on the board of the Women's Medical Respite, a small shelter that offers a safe, clean place for women to recuperate. At the respite, women are able to rest, have access to nutritious food and get transportation to medical appointments and case management.
(It was at the Women's Medical Respite where the News-Leader first met Janetta Stevens, who has been sent there multiple times to recover from pneumonia. She also goes there twice a week after dialysis to rest. MSU Care is where Charlie Orman receives medical care.)
Coonrod said she is extremely troubled and saddened by the poor physical and mental condition of many of her patients, particularly the older ones who are homeless.
"Life on the streets is very hard — the exhaustion they experience," she said. "Imagine walking all day long and being told they cannot sit in a location for more than an hour. And being so hot outside and looking for shade.
"From a health perspective, the homeless individual is at higher risk for infection because of (lack of) good old hand washing," Coonrod said. "The homeless person is at higher risk for complications from diseases because they are not exposed to proper nutrition (and) adequate rest for the body to heal."
Elderly individuals often have impaired circulation, she said. An elderly person with impaired circulation who walks all day long — often in ill-fitting shoes — is at risk for sores on their feet. Imagine if that person has diabetes, Coonrod said.
More:Pedestrian who died Thursday was beloved homeless man known for helping others
They don't have a refrigerator to store food or medicine, she said. They don't have access to nutritious food. They might not know how to advocate for themselves or know what services are out there. Their voices are sometimes softer, making it more difficult to speak up for themselves.
Reduced hearing or eyesight is another potential hindrance, she said. They may have balance problems and be prone to falls or have back and neck pain yet have to lug their belongings around all day.
"Just performing regular activities of daily living, it's an increased challenge for them," Coonrod said. "One of my biggest concerns is safety. They are not going to fight back, so they might be an easy target."
Then there's the mental health aspect, Coonrod said. She sees a high rate of depression and social isolation among the elderly homeless population.
And in Coonrod's view, the 50- to 61 year-old age group of homeless people is particularly vulnerable. They are not old enough to receive Social Security, may have been denied disability, and are at an age and health condition where they can't work or no one will hire them, she said.
Orman falls into this group. Other than his food stamps, Orman has no income. He turns 62 in June, nine months away.
"I'll make it," he said, joking that he could stand on his head for that amount of time.
Meet Janetta Stevens
Stevens grew up in Iowa. Her family moved to Springfield when she was 15.
She attended Hillcrest High, where she said she was picked on by the other kids. She dropped out in the ninth grade.
Unable to read or write, Stevens spent her adult years working as a maid.
Stevens said she was never able to save for retirement. Her only income is a monthly $771 Supplemental Security Income check.
Her health took a turn for the worse about a year and a half ago. She had a heart attack and a stroke. She has had several battles with pneumonia this past year, landing her in the hospital multiple times.
During one of those hospitalizations, she didn't pay her rent and came home to an eviction notice.
She spent several months living with her grandson in his van. They used to find power outlets around town and park so close, passers-by wouldn't notice the extension cable. That lasted about five months before the van finally broke down.
"It was fun. We done good," Stevens recalled of the van life. "We had a TV. We had heat."
Stevens' eyes light up when she talks about her grandson. The two are very close. Stevens said she'd like to be roommates again someday.
"We get along good," she said. "He looks out for me."
After the van broke down, Stevens began staying at Safe to Sleep, the overnight shelter for homeless women.
Women can stay at Safe to Sleep for three months as they work with a case manager to get into housing. If the woman does not follow a plan to get back into housing, she has to leave after 90 days.
Safe to Sleep is not a housing program, nor does it get any funding or vouchers from HUD. But the two case managers are knowledgeable about Social Security, disability and affordable housing opportunities in Springfield.
So far this year, Safe to Sleep has helped 51 women get into permanent housing.
"If you are working with Jessica (the other case manager) and I diligently, our goal is to get you housed by 90 days," Hall said. "If they are truly dedicated to getting off the streets, they can do it."
Stevens said her case manager wanted her to start paying off the $960 she owes to her old landlord in order to get her back into housing. The landlord wants a down payment of $480 and then will accept $100 a month till it's paid.
Stevens shared a letter from her case manager with the News-Leader that said she must make the down payment by Sept. 4 in order to continue staying at Safe to Sleep. The letter was dated Aug. 29.
'This place is a blessing':Eden Village founders, residents reflect on one-year anniversary
Asked why she didn't make the payment, Stevens said she "had plans" for her September check. A few days later, she admitted she has been giving $500 of her check to her grandson, who is homeless, for the past two months so he would be able to buy a vehicle.
If he has a vehicle, he'll have a safe place to sleep, Stevens reasoned.
Stevens said she intends to offer to make a $200 payment to the landlord when she gets her next check in October.
It is not clear if that will be sufficient to get her back into Safe to Sleep. Due to privacy rules, Harris said she cannot talk about Stevens' case.
"Safe to Sleep has a guest advocate and a full time case manager who work with each guest to pursue every opportunity," Harris said. "If the guest isn't willing to follow up with those opportunities, we must discontinue services in order to focus limited resources on those who are willing."
Vulnerable and exploited
In an earlier interview Harris and case worker Robyn Hall spoke generally about how elderly homeless people who draw some sort of disability or Social Security check often give most or all of their money to family.
"Sometimes it's their own kids," Harris said. "We see that a lot. We had one family that was so irate because we had the guest save her money for housing."
It could also be other people on the streets who are taking or accepting money from an elderly person who is getting a check.
Elderly people enjoy when younger folks pay attention to them, offer to carry their bags and show them what buses to take, Hall said. Sometimes the younger folks offer to run to the store for the elderly people. They might take $20 to buy one pack of cigarettes, but then keep the change, Hall said.
Garand, the vice president of affordable housing and homeless prevention at One Door, has been with the agency since 2013.
One Door is the central point of entry for coordinated intake, assessment and referrals for housing and shelter services for people who are homeless or at risk in Greene, Christian and Webster counties.
Serving those in need:New church in north Springfield partners with Gathering Friends to serve poor, homeless
Of all the things she's experienced and witnessed during those years, Garand said she's been most surprised by the number of senior citizens who are literally homeless.
"It's not just 55-plus people," Garand said. "I'm talking more so about 80-year-old women with health conditions that are braving the heat or the cold or just ailments in general, getting exploited by other people."
Asked if exploitation was common, Garand responded: "It's huge."
"We have seniors that are receiving their Social Security. People know that they are getting a check," she said. "They know the day of the month they are getting the check. So they are helpful — protectors out in the community. And then of course the seniors, they are grateful for that protection because it's a terrifying place to be."
"The community has to survive, by hook or crook sometimes," she said. "You have to survive. That is what our bodies tell us to do."
Bodendieck, the director of homeless services, recalled an incident with an elderly man who they'd been helping get his retirement benefits straightened out.
"It finally came through and he received a large check. We had to sneak him out of the building because somebody had been following him," Bodendieck said. "Unfortunately there are people who will take advantage."
Meet Charlie Orman
Orman said he never knew his father and his mother died by suicide when he was a child.
"I was born in Des Moines, Iowa. I was orphaned very young, 8 years old. I was raised by the state," he said. "Foster homes, group homes."
"The Orman family took me in and ever since that, I've been a great success until two years, two months and three days ago," Orman said.
That's when Orman lost his truck-driving job due to his drinking and became homeless.
Still, he says he made a lot of money over the years, both as a truck driver and as a Walmart supervisor. When he turns 62 next June, Orman expects to collect about $1,800 a month.
Asked what sort of housing he hopes to get next year, Orman smiled.
"Somewhere simple," he said. "Out in the country away from everybody."
He dreads the cold winter months but looks forward to seeing the kind folks at East Sunshine Church of Christ. On nights when the temperature dips below 32 degrees, they open the church gymnasium as an emergency shelter for homeless men.
"The nice older ladies, they take us in and give us a cot," Orman said. "It's the homeyness of seeing the nice ladies and feeding us toast and giving us coffee and hot chocolate and giving us a place to sleep."
"It's like a mansion of a church," he added. "They are wonderful."
Orman is gracious and polite. On more than one occasion, the News-Leader observed him declining donated goods (clean socks, for example) because he believed someone else could use them more.
Still, Orman isn't one to back down from a fight.
"I've lived 61 years to figure out you are your own best advocate for your happiness," he said. "I like sticking up for people who are less fortunate than I am or weaker than I am. I like to do that."
But over the years, Orman's ability to fight the good fight has diminished.
Before he got cracked in the head with a board last month, Orman said, he could juggle five balls at one time.
He intended to use that talent to earn money as a street performer. But now his left eye orbit is cracked and he's dealing with double vision.
A plastic surgeon recently took a look at his X-rays and noticed Orman's left orbit actually has several cracks. Some appear to be old breaks that have healed.
"They were always right-handed," Orman told the doctor.
A few days after he was attacked in August, Burrell caseworker Linda Hamer noticed something was wrong with Orman. Words were coming out of his mouth, but they didn't make any sense, Hamer recalled.
She rushed him to Mercy hospital, where he spent the next five days.
Orman told the News-Leader that he had a stroke.
Hamer said she is unsure how bad the stroke was, but she's since noticed changes in Orman's thought processes and cognitive abilities.
Orman has limited mobility and chronic pain due to back and sciatic nerve problems, as well as problems stemming from a broken foot two years ago.
He can't walk very far but, surprisingly, does well on a bicycle.
He said he has clinical depression and is an alcoholic.
Despite all these health issues, Orman sleeps outside every night.
"The plight of the homeless out here — and you wouldn't believe it's not the snow or ice — but the rain," he said. "The rain is our biggest adversary. Not wind. Not snow. Rain. Getting wet, getting all of our stuff wet and really not having a good idea where to go."
Common causes, locally
Burrell Behavioral Health's PATH program is a grant-funded team that delivers outreach and services to individuals with serious mental illnesses and those with co-occurring substance use disorders who are experiencing homelessness or at imminent risk of homelessness.
Kelly Komodi is the PATH program coordinator. Orman's caseworker, Hamer, and Laura Lynch are PATH outreach specialists. The three women do outreach with their clients who are camping in the woods or hanging out on the streets. They also do "inreach" at the Veterans Coming Home Center and other places where homeless people are allowed.
Medical respite programs:Giving homeless men and women a place to recuperate
Their cars are packed with food bags, bottles of water, sleeping blankets, bug spray and sunscreen. Soon they'll add hand-warmers, gloves and hats.
They bring their clients to medical and behavioral appointments, help them get IDs and get into housing. Often, it takes months or even years to coax someone out of the woods and to see about accessing services.
Hamer said she's got someone right now that she's been "just showing up for" for more than a year and a half.
"They don't trust anybody. They've been kicked around," Hamer said. "They've been peed on, all kinds of horrible things. People just don't understand how badly people mistreat the homeless."
Though they can only provide services to clients, the PATH team sees just about every homeless face in Springfield. They, too, say they've seen an increase in elderly homeless people, particularly women.
Many of those women do not use drugs or drink alcohol, Komodi said. But they get into trouble when their spouse or caretaker dies. Many have never really worked and depended on someone else to take care of the finances. They have no credit or rental history.
"They've always relied on someone else to kind of guide them and help them," Lynch said. "Then there's a divorce from a spouse or a death, like the parent or person they've completely relied on for everything."
"They pass away or you get a divorce and you are just out of luck and you are on the street," she said. "You never really learned how to do (stuff) and then who is going to teach a 50-year-old person life skills?"
The folks who aren't old enough to qualify for Social Security benefits are in tough spot, Lynch said, because many of them are no longer physically able to work. Or if they can work, there's not much of a job market for homeless people in their 50s and early 60s.
Technology can be another barrier for the elderly, Lynch said. She recently had a client who was in his 50s and wanting to apply for jobs.
"He knows how to fill out a paper application," she said. "I got him through one online application and he was climbing the walls because it had like 200 assessment questions."
"We are cramming everybody into this world of 'Just go online and fill out the application. Just go online and fill out your application for disability,'" Lynch said. "They just stop right there. It's like, 'I don't even know how to go online. I don't have access to a computer.'
"If you don't know how to do the way the world does things now, then you are just out of luck."
"They haven't reached the age of 62 or 65 (when) they can start drawing a little bit of money and possibly use that to take care of themselves," Lynch said. "They are just in between. And that is around the same time I've seen a lot of spouses die or partners die."
If the individual draws SSI benefits (about $800 a month), Lynch said, most landlords and property managers require a person's income be twice or three times the rent; otherwise, someone else must co-sign.
Bodiendick, at One Door, said family strife often leads to an elderly person being put out on the streets.
And sometimes the individual's family is renting and the landlord will evict if someone else moves in, he said. Public housing also has very strict rules about this.
Harris, at Safe to Sleep, said it's mostly people who have lived their life right at the poverty line with no safety net.
"Add one thing — like a spouse dies — and you are done," she said. "If you are living right there on the cusp of poverty, it doesn't take much."
Garand said she finds elderly homeless people particularly heartbreaking because they are so vulnerable — yet there aren't a lot of safety nets or housing programs specifically for them in this area.
"The resources available are the same for an 80-year-old as they are for me or you," Garand said. "There's no housing services for seniors. If you are a single adult woman, you are being referred tonight to Safe to Sleep."
The Ozarks Alliance to End Homelessness serves as this community's Continuum of Care — the Department of Housing and Urban Development's designated regional planning body for coordinating homeless services and funding.
The OAEH has applied for HUD's senior housing voucher program in the past but has not yet been approved.
"It's just so competitive nationally," Garand said. "It's not that we haven't tried."
Garand said it would be "a dream" if there were emergency housing for seniors and senior case management. Another dream would be the creation of an emergency shelter for men like Safe to Sleep, she said..
"I get so sad about our seniors, because their safety net should be there," Garand said. "With a child you see in a dangerous and unhealthy situation, you are going to pull that child and help them get somewhere safe. ... That is not an option for seniors in most cases that we see."
Asked about the future and a predicted increase in elderly homelessness, the PATH team from Burrell described it as "terrifying."
"Something needs to change because what we are doing is not working," Hamer said. "Everyone is trying so hard. We are all trying so hard to figure out a way to help everyone and to help this population. But something is broken."
"It's like trying to bail out the ocean with a teaspoon," Komodi said.
Coonrod, at MSU Care, said she hopes people in the community are inspired to support the agencies and nonprofits in the Ozarks that are helping.
"It's a community solution," Coonrod said. "We have to have more community recognition of the problem with compassion. And that compassion turns into action by supporting the agencies that support the homeless individuals."
Growing, graying population
A report released in January by researchers at the University of Pennsylvania, University of California Los Angeles, New York University and Boston University predicts the population of individuals who are homeless and elderly will nearly triple over the next decade.
This increase in the aging homeless population will further strain shelter resources and health care costs, the researchers warned.
The study focused on Boston, New York City and Los Angeles County, but the researchers said it is indicative of growth that is expected to happen across the country.
The report titled "The Emerging Crisis of Aged Homelessness" predicts the national population of people 65 or older experiencing homelessness will grow from 40,000 to 106,000 by 2030. This spike is based on 30 years of existing census data.
The report says "contemporary homelessness is in large part a birth cohort phenomenon, disproportionately affecting people born in the latter half of the post-War baby boom (1955-1965)."
People born after the peak of the baby boom — such as Stevens and Orman — are more likely to be economically disadvantaged relative to their predecessors due to an excess supply of workers at the time of their labor market entry, the report said.
They "faced crowded labor and housing markets with higher competition for employment, downward pressure on wages and upward pressure on housing prices. Combined with back-to-back recessions in the late 1970s and early 1980s, young adults coming of age in the 1980s faced challenging economic circumstances.
"This was especially true for those with a high school education or less, as they were the least prepared to compete in these tightened marketplaces."
"Now that generation is prematurely aging and dying," the report says. "Older homeless adults have medical ages that far exceed their biological ages. Research has shown that they experience geriatric medical conditions such as cognitive decline and decreased mobility at rates that are on par with those among their housed counterparts who are 20 years older."
"As a result, health care and nursing home costs are likely to increase significantly over the next 15 years," researchers warned.
Dennis Culhane, a homeless expert and professor with the University of Pennsylvania, led the research team. Download the full report at works.bepress.com/dennis_culhane/223/.
Want to get involved? Here are some organizations that assist the homeless:
Safe to Sleep is an overnight shelter for homeless women. Find out about volunteer opportunities and a list of items needed at ccozarks.org/safetosleep or call 417-862-3586.
Victory Mission has limited shelter beds for homeless men, as well as faith-based programs to help them out of homelessness. Learn more at victorymission.com.
Eden Village is a tiny home community for chronically disabled homeless people. They continually need donations and volunteers. The founders are also planning to create a second Eden Village. Learn more at gatheringtree.org/eden-village.
Salvation Army has the Family Enrichment Center for homeless families and Harbor House, a faith-based recovery and shelter program for homeless men. Learn more at salvationarmyspringfield.org.
The Kitchen, Inc. has an emergency shelter for homeless people and several housing-assistance programs. Learn more at thekitcheninc.org.
Gathering Friends is a grass-roots group of homeless advocates that serve meals to the homeless. They also help pay for medications, collect donated shoes and clothes and purchase bus passes on occasion. You can join their Facebook group and find ways to help there. Search "Gathering Friends" on Facebook.
New Life Evangelistic Center, also known as the Veteran's Coming Home Center, is a daytime drop-in center for homeless people. Learn more at newlifeevangelisticcenter.org or email Pastor Chris A. Rice at carice@nlecstl.org.
The Springfield Affordable Housing Center is Community Partnership of the Ozark's one-stop housing and homelessness prevention service center. One Door, which is housed at the center, is a CPO program that provides a central point of entry for intake, assessment and referral for housing and shelter services. Learn more at www.cpozarks.org.
East Sunshine Church of Christ offers an emergency cold weather shelter for men when the overnight temperature dips below 32 degrees. Volunteers are needed for this program, especially men who can stay the night. Shifts can be from 8 p.m.-8 a.m. or can be 8 p.m. to 2 a.m. and 2-8 a.m. To learn more, call the church at 417-889-5455 and leave a message. A volunteer coordinator will call you back.
The Women's Cold Weather Shelter opens whenever the men's cold weather shelter opens. To learn more about volunteering, call Council of Churches of the Ozarks at 417-862-3586 and ask for Kelly Harris or Romona Baker.
The Connecting Grounds is a church located at 1109 E. Commercial St. The church hosts meals for homeless people, as well as offers clothing and food banks. Learn more at theconnectinggrounds.com.


text:
Q: perform operation opposite to pandas ffill Let's say I have the following DataFrame:
df = pd.DataFrame({'player': ['LBJ', 'LBJ', 'LBJ', 'Kyrie', 'Kyrie', 'LBJ', 'LBJ'],
                   'points': [25, 32, 26, 21, 29, 21, 35]})

How can I perform the operation opposite of ffill so I can get the following DataFrame:
df = pd.DataFrame({'player': ['LBJ', np.nan, np.nan, 'Kyrie', np.nan, 'LBJ', np.nan],
                   'points': [25, 32, 26, 21, 29, 21, 35]})

That is, I want to fill directly repeated values with NaN.
Here's what I have so far but I'm hoping there's a built-in pandas method or a better approach:
for i, (index, row) in enumerate(df.iterrows()):
    if i == 0:
        continue
    go_back = 1
    while True:
        past_player = df.ix[i-go_back, 'player']
        if pd.isnull(past_player):
            go_back += 1
            continue
        if row['player'] == past_player:
            df.set_value(index, 'player', value=np.nan)
        break

A: ffinv = lambda s: s.mask(s == s.shift())
df.assign(player=ffinv(df.player))

  player  points
0    LBJ      25
1    NaN      32
2    NaN      26
3  Kyrie      21
4    NaN      29
5    LBJ      21
6    NaN      35

A: Probably not the most efficient solution but working would be to use itertools.groupby and itertools.chain:
>>> df['player'] = list(itertools.chain.from_iterable([key] + [float('nan')]*(len(list(val))-1)
                        for key, val in itertools.groupby(df['player'].tolist())))
>>> df
  player  points
0    LBJ      25
1    NaN      32
2    NaN      26
3  Kyrie      21
4    NaN      29
5    LBJ      21
6    NaN      35

More specifically this illustrates how it works:
for key, val in itertools.groupby(df['player']):
    print([key] + [float('nan')]*(len(list(val))-1))

giving:
['LBJ', nan, nan]
['Kyrie', nan]
['LBJ', nan]

which is then "chained" together.

A: sort data by players and use np.where to fill in NaN values.
df_sorted = df.sort_values('player')
df_sorted['player'] = np.where(df_sorted['player'].duplicated(),
                               np.nan,
                               df_sorted['player']
                              )

>>>df_sorted.reset_index(drop=True)

redpajama_set_name: RedPajamaStackExchange


I used OPI Sand in My Suit as a base (fitting right?!), with Orly Snowcone for the water, topped with Milani Cyberspace. for the breaking waves, I used Diamond Cosmetics Giddy and American Apparel Cotton sponged on the shoreline. Topped off the sand with LA Splash Chmapagne Sparkle for the sparkle of the sand, and mattified it with Essie Matte About You.
From the Mad Greek- Fresh Strawberry Shake!
you've got half an hour minus 7 mins!
aww i love this one very cute!!!
Those nails are very pretty!
I love the beach and love the nails!
This mani = pure love. It is gorgeous!!
Sorry! The friggin' browser sent me to the wrong post. I meant to comment on the Ikea-mani. Gah!
Oh man, I really love this mani. Would you consider doing a tutorial on it? I would love to recreate this!
Man, I miss the beach and California. I grew up there, and I really miss The Mad Greek, too! This whole post is just yummy.
Nicely done! It really reminds me of the beach.


Kaitlyn Dunnett here, musing about mazes.I've always liked the idea of mazes. The reality? Not so much.
On a visit to Hampton Court Palace, where one of the most famous mazes in the world is located, I totally chickened out before I'd gone a dozen steps inside. I'm not normally claustrophobic, but there was something about those high solid green walls that freaked me out. It wasn't that I was afraid I wouldn't be able to find my way to the exit. Not really. After all, there were lots of other people going through the maze and somewhere there was a way out. But the hedges were higher than I was tall. I couldn't see over them without jumping up in the air and I couldn't see very far ahead because of the twists and turns of the pattern. I did a rapid about face and got myself out of there while the getting was good!
That said, I happily used a maze in one of the non-mystery historical novels I wrote as Kate Emerson. No one got lost, although there was some hanky-panky going on at the center. I made mention of a corn maze in Vampires, Bones, and Treacle Scones although I didn't end up using it in a scene. But then, when I started work on Ho-Ho-Homicide, set on a Christmas tree farm, it occurred to me that it might be possible to create a Christmas-tree maze. The problem, of course, was why would anyone do that? I admit it took me awhile to come up with a reason. And then I had to figure out how to use the maze in the plot. Sometimes this is called "writing yourself into a corner." Fortunately, in the cozy mystery genre, especially the segment of it that accepts humor in mysteries, eccentric characters and the things they do are acceptable. Although I'm nowhere near as funny, I like to think of myself as writing in the tradition of Charlotte MacLeod, Joan Hess, and our own Dorothy Cannell.
Mazes still fascinate me, as long as I don't actually have to set foot in one. When in England, quite possibly at Hampton Court, I purchased a booklet entitled Mazes: Ancient and Modern by Robert Field. It's a wonderful, colorfully illustrated look at hedge mazes, labyrinths, and designs in turf and stone—the latter are nice low mazes even I would walk through! There are also mazes in mosaic floors. One look at some of the patterns in various mazes is enough to reveal that there is a link between mazes and puzzles and thus, of course, to mysteries. I seem to recall maze puzzles in kids' magazines when I was young, where you were supposed to use a pencil to find the way to the middle. Maybe that's where I got the idea it was easy.
This entry was posted in Kaitlyn's Posts and tagged Christmas tree farms, corn mazes, Hampton Court Palace, Ho Ho Homicide, Kaitlyn Dunnett, Kate Emerson, Kathy Lynn Emerson, mazes. Bookmark the permalink.
What fun! I've always wanted to go through a maze (not the small one at the Boothbay Botanical Gardens, but a really, truly maze!) There's a corn maze not far from me, and this year I even talked Bob into going with me .. but life interfered … so for the moment I'll have to "visit" via your books, Kathy/Kaitlyn! Thanks for the post!


text:
Ainsley Harriott (Londen, 28 februari 1957) is een Engelse chef-kok en tv-presentator. Hij is vooral bekend als presentator van het Engelse kookprogramma Ready Steady Cook.

Levensloop
Ainsley Harriott werd geboren als de zoon van de Jamaicaanse pianist Chester Harriott. Hij werkte al op jonge leeftijd in verschillende restaurants op West End. Naast koken kon Harriott ook goed zingen. Samen met vriend Paul Boross richtte hij de Calypso Twins op en begin jaren negentig hadden ze een hit met het nummer World Party.

Na zijn zangcarrière begon Harriot zich te richten op het presenteren. Zijn eerste televisieprogramma was Good Morning with Anne and Nick, waarin hij het kookgedeelte op zich nam. Daarna presenteerde hij Can't Cook, Won't Cook. Sinds 2000 presenteert hij Ready Steady Cook.

In 2000 maakte Harriott zijn debuut op de Amerikaanse televisie met de Ainsley Harriott Show, waarvan meer dan honderd afleveringen werden gemaakt. Hierna presenteerde hij een Amerikaanse versie van Ready Steady Cook, onder de naam Ready... Set... Cook!.

Privéleven
Ainsley Harriott is getrouwd met kledingontwerpster Clare Fellows, de zus van acteur Graham Fellows. Ze hebben twee kinderen. Ze hebben sinds 2012 geen relatie meer, maar zijn officieel nog wel getrouwd.

Externe links
 Officiële website

 Recepten van Ainsley Harriot (UKTV)

Brits kok
Brits presentator
Brits schrijver

redpajama_set_name: RedPajamaWikipedia


text:
Q: My object is undefined when I test it i QUnit I'm using QUnit and have a test script for a JQuery UI Widget:
define(

    ['jquery',
    'knockout',
    '../Widget/SearchPod/searchPod',
    'jqueryui',
    'jquery.ui.widget',
    '../Widget/SearchPod/clr.searchPod'],

function ($, ko, searchPod) {

    var checkSearchBy = function () {
            test('check if select has Search By text', function () {
            var expected = "Search By";
            alert(searchPod.employees);//.checkSearchByWidget());
            deepEqual(searchPod.employees, expected, "We expect drop down text to
            display 'Search By' by default");

            return  1;
        });
    };

    return {
        checkSearchBy: checkSearchBy
    };
  }
);

For some reason whenever I run the test script, an error occurs saying that the parameter searchpod above is undefined or null.  The code of searchpod is below:
 require(['jquery',
    'knockout',
    'jqueryui',
    'jquery.ui.widget',
    'domReady!',
    'Widget/SearchPod/clr.searchPod',
    'Widget/Listbox/clr.combobox'],

function ($, ko) {
    $(document).ready(function () {

        $("#search-pod").searchPod({
            ready: function () {
                var minimumLength = 2;
                $("#search-message").hide();
                //start

                //end
                var employees = [*some data*]
                var leaves_filed = [*some data*]
                var claims_filed = = [*some data*]

                function sortData(prop, asc) {
                    data = data.sort(function (a, b) {
                        if (asc) return (a[prop] > b[prop]) ? 1 : ((a[prop] < b[prop]) ? -1 : 0);
                        else return (b[prop] > a[prop]) ? 1 : ((b[prop] < a[prop]) ? -1 : 0);
                    });
                }

                //This is to display search messages depends on selected search type and
                function validateCriteria(selectedType) {

                    var searchMessage = 'No values match search criteria';

                    if (selectedType == 'ssn') {

                        if ($("#searchBox").val().length > minimumLength) {

                            searchMessage = 'Must enter all 9 digits of SSN';

                        }

                    }

                    $("#search-message").text(searchMessage);

                }

                // Search pod items

                var selectedType = 'lastname';

                var data = employees;

                // Apply the combobox widget

                $("#searchBy").combobox({

                    ready: function () {

                    },

                    select: function () {

                        selectedType = $("option:selected", this).val();

                        switch (selectedType) {

                            case 'lastname':

                                return;

                                if (employees.length == 1) {

                                    $("#loadingImage").css("display", "");

                                    $("#searchBox").css("display", "none");

                                    $.ajax({

                                        url: "api/Dashboard/GetEmployeeListReport",

                                        type: "GET",

                                        processData: false,

                                        success: function (result) {

                                            employees.length = 0;

                                            employees = result.dataSet.dataTable.row;

                                            $("#loadingImage").css("display", "none");

                                            $("#searchBox").css({ display: '' });

                                            data = employees;

                                        }

                                    });

                                }

                                else { data = employees; }

                                minimumLength = 1;

                                break;

                            case 'ssn':

                                minimumLength = 10;

                                break;

                            case 'eeid':

                                if (employees.length == 1) {

                                    $("#loadingImage").css("display", "");

                                    $("#searchBox").css("display", "none");

                                    $.ajax({

                                        url: "api/Dashboard/GetEmployeeListReport",

                                        type: "GET",

                                        processData: false,

                                        success: function (result) {

                                            employees.length = 0;

                                            employees = result.dataSet.dataTable.row;

                                            $("#loadingImage").css("display", "none");

                                            $("#searchBox").css({ display: '' });

                                            data = employees;

                                            minimumLength = employees[5].eeid.length;

                                        }

                                    });

                                }

                                else { data = employees; minimumLength =
                                employees[5].eeid.length; }

                                break;

                            case 'leave_number':

                                if (leaves_filed.length == 1) {

                                    $("#loadingImage").css("display", "");

                                    $("#searchBox").css("display", "none");

                                    $.ajax({

                                        url: "api/Dashboard/GetLeavesList",

                                        type: "GET",

                                        processData: false,

                                        success: function (result) {

                                            leaves_filed.length = 0;

                                            leaves_filed = result.dataSet.dataTable.row;

                                            $("#loadingImage").css("display", "none");

                                            $("#searchBox").css({ display: '' });

                                            data = leaves_filed;

                                            minimumLength = leaves_filed[0].leaveNumber.length;

                                        }

                                    });

                                }

                                else { data = leaves_filed; minimumLength =
                                leaves_filed[0].leaveNumber.length; }

                                break;

                            case 'claim_number':

                                if (claims_filed.length == 1) {

                                    $("#loadingImage").css("display", "");

                                    $("#searchBox").css("display", "none");

                                    $.ajax({

                                        url: "api/Dashboard/GetClaimsList",

                                        type: "GET",

                                        processData: false,

                                        success: function (result) {

                                            claims_filed.length = 0;

                                            claims_filed = result.dataSet.dataTable.row;

                                            $("#loadingImage").css("display", "none");

                                            $("#searchBox").css({ display: '' });

                                            data = claims_filed;

                                            minimumLength = claims_filed[10].claimNumber.length;

                                        }

                                    });

                                }

                                else { data = claims_filed; minimumLength =
                                claims_filed[10].claimNumber.length; }

                                break;

                        }

                        sortData(selectedType, true);

                        $('#searchBox').val('');

                    }

                });

                sortData(selectedType, true);

                //This will hide search-message when backpress is pressed.

                $('html').keyup(function (e) {

                    if (e.keyCode == 8) {

                        if ($("#searchBox").val().length < minimumLength) {

                            if ($("#search-message").show()) $("#search-message").hide();

                        }

                    }

                    return;

                });

                //Code for Making SSN AutoComplete

                $('#searchBox').keyup(function () {

                    if (selectedType == "ssn" && $('#searchBox').val().length == 10) {

                        var rptParam = "?ssn=" + $('#searchBox').val();

                        var ssnData = [{ "ssn": "", "lastname": "" }];

                        $.ajax({

                            url: "api/Dashboard/GetSsnList" + rptParam,

                            type: "GET",

                            processData: false,

                            success: function (result) {

                                ssnData = result.dataSet.dataTable.row;

                                var ssnArray = [];

                                ssnArray.push(ssnData);

                                if (ssnArray.length > 0) {

                                    $("#searchBox").autocomplete({

                                        minLength: 10,

                                        source: function (request, response) {

                                            var searchField;

                                            var filteredArray = $.map(ssnArray, function (item) {

                                                if (item.ssn != null) {

                                                    searchField = item.ssn;

                                                    if (searchField.toLowerCase().indexOf
                                                    (request.term) == 0 || searchField.indexOf
                                                    (request.term) == 0) {

                                                        return item;

                                                    }

                                                } else { return null; }

                                            });

                                            response(filteredArray);

                                        },

                                        focus: function (event, ui) {

                                            var focusValue;

                                            focusValue = ui.item.ssn;

                                            $("#searchBox").val(focusValue);

                                            return false;

                                        },

                                        select: function (event, ui) {

                                        }

                                    }).data("ui-autocomplete")._renderItem =
                                    function (ul,item){

                                        return $("<li>")

                                        .append(displayFormat)

                                        .appendTo(ul);

                                    };

                                }

                                $('#searchBox').autocomplete("search");

                            }

                        });

                    }

                    return;

                });

                $("#searchBox").focus(function () {

                    if (selectedType == 'ssn') {

                        $("#searchBox").autocomplete();

                        $("#searchBox").autocomplete("destroy");

                        return;

                    }

                    var searchField;

                    $("#searchBox").autocomplete({

                        minLength: minimumLength,

                        source: function (request, response) {

                            var filteredArray = $.map(data, function (item) {

                                if (selectedType === 'lastname') {

                                    searchField = item.lastname;

                                }

                                if (selectedType === 'ssn') {

                                    return false;

                                }

                                if (selectedType === 'eeid') {

                                    searchField = item.eeid;

                                }

                                if (selectedType === 'leave_number') {

                                    searchField = item.leaveNumber;

                                }

                                if (selectedType === 'claim_number') {

                                    searchField = item.claimNumber;

                                }

                                if (searchField.toLowerCase().indexOf(request.term) == 0 ||

                                    searchField.indexOf(request.term) == 0) {

                                    if (selectedType === 'ssn' && request.term.length < 4) {

                                        return null;

                                    }

                                    return item;

                                }

                                else {

                                    return null;

                                }

                            });

                            if (!filteredArray.length) {

                                $("#search-message").show();

                                validateCriteria(selectedType);

                            }

                            else {

                                $("#search-message").hide();

                            }

                            response(filteredArray);

                        },

                        focus: function (event, ui) {

                            var focusValue;

                            if (selectedType === 'lastname') {

                                focusValue = ui.item.lastname;

                            }

                            if (selectedType === 'eeid') {

                                focusValue = ui.item.eeid;

                            }

                            if (selectedType === 'leave_number') {

                                focusValue = ui.item.leaveNumber;

                            }

                            if (selectedType === 'claim_number') {

                                focusValue = ui.item.claimNumber;

                            }

                            $("#searchBox").val(focusValue);

                            return false;

                        },

                        create: function (event, ui) {

                            $(this).autocomplete("widget").addClass("search-results-list");

                        },

                        open: function (event, ui) {

                            $(".search-results-list li.ui-menu-item").addClass("search-results-item");

                        },

                        select: function (event, ui) {

                            //return false; // Cancel the select event

                            var focusValue;

                            if (selectedType === 'lastname') {

                                focusValue = ui.item.lastname;

                      // TODO: call a function here that will send the name of the report to show

                                $('#report-popup-dialog-overlay').show();

                                $('#report-popup-dialog').show();

                            }

                            if (selectedType === 'eeid') {

                                focusValue = ui.item.eeid;

                            }

                            if (selectedType === 'leave_number') {

                                focusValue = ui.item.leaveNumber;

                                $('#dynamictext').text('Leave Report for ' + focusValue);

                                $('#dynamicHeader').text('Leave Report');

                            }

                            if (selectedType === 'claim_number') {

                                focusValue = ui.item.claimNumber;

                                $('#dynamicHeader').text('Claim Report for ' + focusValue);

                                $('#dynamictext').html("Loading...");

                                //Need to make Ajax Call to get the report.

                                var parameter = "?claimNumber=" + focusValue;

                                $.ajax({

                                    url: "api/ViewReport/GetClaimReport" + parameter,

                                    type: "POST",

                                    processData: false,

                                    success: function (result) {

                                        $('#dynamictext').html("");

                                        $('#dynamictext').html(result);

                                    }

                                });

                            }

                            return false;

                        }

                    })

                    .data("ui-autocomplete")._renderItem = function (ul, item) {

                        var displayFormat = "";

                        return $("<li>")
                        .append(displayFormat)
                        .appendTo(ul);
                    };
                });
            }
        });
    });

    //Test helper functions
    //2. checkSearchBy

    function checkSearchBy() {
        alert($('#searchBy').text());
        return $('#searchBy').text();
    }

    return {
        checkSearchByWidget: function () {
            return checkSearchBy();
        }
    };
});

I've been at this for two days but cant seem to make the searchpod be seen by the test script above


Nia Vardalos; Richard Dreyfuss; Harland Williams; Rachel Dratch; Alexis Georgoulis. New. Run time: 98 mins. Language: English.
Very Good. Used DVD. Shipped to over one million happy customers. Your purchase benefits Foundation for Baltimore County Public Library!
Fine. 024543602446 This item is guaranteed to play perfectly with all original artwork and materials. Y.


Merneptah tomb Luxor (KV 8) located in a small, lateral valley. It is on the right side of the main wadi in Luxor. In fact, Merneptah was a son of Ramses II and Queen Isis-Nofret. Merneptah tomb Luxor discovered by Howard Carter in 1903. Howard Carter was not as famous then. As he would not make his well known discovery of Tutankhamun tomb until 1922. Moreover, Merneptah tomb Luxor is near his father's huge tomb (KV 7). When discovered, the tomb was full of debris and stood open since antiquity.
We believe that the tomb was at least accessible to at least the first pillared hall. It is from the Greek and Latin graffiti. Merneptah tomb Luxor indeed is interesting. It is because it marks a distinct transition between the tombs of the 19th and 20th Dynasty kings. There is a material decrease in the number of lateral rooms. There is also a dramatic increase in the height of the corridors and rooms. The entrance of Merneptah tomb Luxor made wider than earlier tombs. It gives the feeling of a more imposing facade. Merneptah tomb Luxor is much more traditional in its decorative themes.
The plan of Merneptah tomb Luxor is straightforward. There are three initial corridors that first lead to the ritual shaft. The second of these has a stairway. In the first corridor we find the first decorations. It shows the king in the presence of Re-Harakhty. There are also passages from the "Litanies of Re". The second and third corridors have texts and images related to the "Book of Amduat". After the ritual shaft is a pillared hall with a two-pillar annex. This decorated room dedicated to his father, Ramses II. The cover of the king's sarcophagus located in this annex. In the pillared hall, the decorations are from the "Book of Gates". After the pillared hall is a fourth corridor. It leads to a vestibule and finally a fifth corridor before the burial chamber. The vestibule decorated with scenes from the "Book of the Dead".
The burial chamber of Merneptah tomb Luxor has four annexes. Two are on the left and two are on the right and a complex of annexes at the back. The astronomical vaulted ceiling of the burial chamber itself supported by eight pillars. They arranged in two rows. Here, the main decorative theme returns to the "Book of Gates". Though on the right hand wall there are solar oriented scenes from the "Book of Caverns". The burial chamber is a part of the king's ornamental cartouche-shaped sarcophagus of pink granite. It is in the center of the burial chamber. There were four stone sarcophagi. They consisted of three outer containers of pink (or red) Aswan granite. The fourth innermost sarcophagus is of creamy white calcite. The outermost sarcophagus was huge, at 4.1 meters (about 13 1/2 feet) long.
It is indeed interesting how Merneptah tomb Luxor reflects history itself. In fact, Ramses II lived to an old age. That is why Merneptah did not mount the thrown until late in his own life. Moreover, Merneptah was around 70 when he became ruler of Egypt. He ordered the construction of his tomb and "Millions of Years" temple. He only ruled for about ten years. Furthermore, he faced with attacks by attacks were by Libyans and an uprising in Nubia. That distracted him from his personal monuments.
In fact, we see all this reflected in Merneptah tomb Luxor. Moreover, the tomb is of higher quality and more impressive. It echoes that of his fathers tomb, near the entrance and into the first half of the structure. The deeper one travels within the tomb, the simpler and less sophisticated it becomes. For example, towards the entrance of the tomb the decorations are excellent bas-reliefs. While further into the tomb the decorations are cruder. Thought the techniques used are much faster. Merneptah felt he was running out of time, which we know today to be true.
Ticket for the Valley of Kings cost 80 Egyptian pound for three tombs. It includes Merneptah tomb Luxor and can bought at the gate. Photography inside the tombs forbidden and can incur heavy fines. There is a little train – Taftaf – that runs from the coach park to the entrance to the monument area. It costs 5 Egyptian pound.


text:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.docuware.dev.Extensions;

import com.sun.jersey.api.client.ClientResponse;
import java.io.IOException;
import java.net.URI;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Future;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Patrick
 */
public class HttpClientRequestException extends RuntimeException
    {
        Error error;
        String htmlError;
        private int statusCode;
        private String reasonPhrase;
        private String method;
        private String uri;

        /**
         * Gets the status code
         * @return  The status code
         */
        public int getStatusCode()
        {
            return statusCode;
        }

        /**
         * Gets the reason phrase
         * @return  The reason phrase
         */
        public String getReasonPhrase()
        {
            return reasonPhrase;
        }

        /**
         * Gets the method
         * @return  The method
         */
        public String getMethod()
        {
           return method;
        }

        /**
         * Gets the URI
         * @return  The URI
         */
        public String getUri()
        {
           return uri;
        }

        /**
         * Gets a message that describes the current exception
         * @return  The error message that explains the reason for the exception, or an empty string("")
         */
        @Override
        public String getMessage()
        {
            {
                String baseMessage = super.getMessage();
                StringBuilder sb = new StringBuilder();
                boolean hasBaseMessage = !(baseMessage==null||baseMessage.trim().isEmpty());
                if (hasBaseMessage == true){
                    sb.append(baseMessage);
                }
                if (error != null && !(error.getMessage() == null || error.getMessage().isEmpty())) {
                    addCloseIfNeeded(addOpenIfNeeded(sb, hasBaseMessage).append(error.getMessage()), hasBaseMessage);
                                 }
                else {if (!(htmlError== null || htmlError.isEmpty())) {
                    addLineIfNeeded(sb, hasBaseMessage).append(htmlError);}}

                return sb.toString();
            }
        }

        /**
         * Returns a String that represents this instance
         * @return  A String that represents this instance
         */
        @Override
        public String toString()
        {
            return super.toString();
        }

        private static StringBuilder addLineIfNeeded(StringBuilder sb, boolean hasBaseMessage)
        {
            if (hasBaseMessage)
                sb.append("\n");
            return sb;
        }

        private static StringBuilder addOpenIfNeeded(StringBuilder sb, boolean hasBaseMessage)
        {
            if (hasBaseMessage)
                sb.append(" (");
            return sb;
        }

        private static StringBuilder addCloseIfNeeded(StringBuilder sb, boolean hasBaseMessage)
        {
            if (hasBaseMessage)
                sb.append(")");
            return sb;
        }

        /**
         * Gets the error
         * @return  The error
         */
        public Error getError()
        {
                return error;
        }

        /**
         * Get the HTML error
         * @return The HTML error
         */
        public String getHtmlError()
        {
                return htmlError;
        }

        HttpClientRequestException extractErrorFromResponseAsync(ClientResponse httpResponseMessage)
        {
            String ct = httpResponseMessage.getHeaders().getFirst("Content-Type");
            if(ct.contains("text/html")) {
                this.htmlError = httpResponseMessage.getEntity(String.class);
            } else {
            this.error = httpResponseMessage.getEntity(Error.class);}
            this.statusCode = httpResponseMessage.getStatus();
            this.reasonPhrase = httpResponseMessage.getStatusInfo().toString();
            this.method = error!=null?error.getMethod():null;
            this.uri = error!=null?error.getUri():null;
            return this;
        }

        private HttpClientRequestException() {}

        /**
         * Initializes a new instance of the HttpClientRequestExeption class
         *
         * @param statusCode    The status code
         * @param reasonPhrase  The reason phrase
         */
        HttpClientRequestException(int statusCode, String reasonPhrase) {
             super(statusCode + " " + reasonPhrase);

        }

        /**
         * Initializes a new instance of the HttpClientRequestExeption class
         *
         * @param messageText   The message text
         */
        HttpClientRequestException(String messageText){
           super(messageText);
        }

        /**
         * Initializes a new instance of the HttpClientRequestExeption class
         *
         * @param statusCode    The status code
         * @param reasonPhrase  The reason phrase
         * @param inner     The inner
         */
        HttpClientRequestException(int statusCode, String reasonPhrase, Exception inner)
        {
            super(statusCode + " " + reasonPhrase);
        }

        /**
         * Creates the specified message
         *
         * @param message   The message
         * @param inner The inner exception
         * @return  A future which creates the message
         */
        static HttpClientRequestException create(ClientResponse message, Exception inner)
        {
            int statusCode = message.getStatus();
            String reasonPhrase = message.getStatusInfo().toString();
            HttpClientRequestException result = inner == null ? new HttpClientRequestException(statusCode, reasonPhrase) : new HttpClientRequestException(statusCode, reasonPhrase, inner);
            return result.extractErrorFromResponseAsync(message);
        }

        /**
         * Creates the specified message
         *
         * @param message   The message
         * @return  A future which creates the message
         */
        static HttpClientRequestException create(ClientResponse message)
        {
            int statusCode = message.getStatus();
            String reasonPhrase = message.getStatusInfo().toString();
            HttpClientRequestException result = new HttpClientRequestException(statusCode, reasonPhrase);
            HttpClientRequestException e = result.extractErrorFromResponseAsync(message);
            return e;
        }

        /**
         * Creates the specified message
         *
         * @param message   The message
         * @param messageText   The message text
         * @return
         */
        static HttpClientRequestException create(ClientResponse message,String messageText)
        {
            HttpClientRequestException result = new HttpClientRequestException(messageText);
            return result.extractErrorFromResponseAsync(message);
        }
    }

redpajama_set_name: RedPajamaGithub


Leather Sporran (Black) with knotted leather tassels and etched border pattern. This sporran has small rose-like etchings around the flap and body.
As your Kilt has no pockets, a sporran is used to store items such as money, keyrings, mobile phones etc. while you are wearing you outfit.
Day sporrans are best suited to less formal occasions and should not be worn to Black Tie events.


Do you want to attract more customers for your business online? If yes, then, you will need the services of a good web designer/developer for your own website. Today, you will need to use the best online platforms to get more customers for your business. Like many other organizations, switch to your own online platform by dieting development services for your business website.
Many companies are available to provide development services for the business websites. If you want the best packages for web development and design for your website, you just need to get the services of Suyash Parnerker who is working as a professional Freelance Web developer to deliver these services to the business clients at global level.
What kind of development do you need for your website?
Before getting the services, you will need to consider your needs and type of your business. After that, you will be able to target the right audience by your own website. Now, get your own website with the help of freelance web designer. Only an experienced web designer can help you in the best way. Here are some important developments that you can do on your website for more response.
Responsive designing is a very essential part of the website nowadays. The mobile phone users are increasing day by day. Most of the people like to use mobiles and tablets to explore any product or service provided by the company. It is very important for you to know about the responsive web designing, this kind of designing can help your clients to access your website from any devices. Responsive web design allows your website to adjust according to the screen size of various devices.
The custom web designing provides front and back solutions for your website. Today, every website is focusing more and more on the privacy policies that why almost every website is providing a unique login ID to their clients. Custom web designing is also providing some other features like Admin Panel and Custom CMS or a core PHP development.
Are you going to start an online store and you are low on budget? Then you can take the help of e-commerce website designers for developing your website. The e-commerce web development service provides you the features like payment gateway integration; customize shipping calculators and product page modification as per website need.
The decision on the type of development will depend on the type of your business that you want to presence to your customers at the global level with this online platform. Make the right decision on the type of website with a perfect design and grow your business in the perfect way. You can also contact Prabhat Srivastav, he is very skilled freelance web developer, who understand client need and as per the requirement suggest them an easy choice as per their business nature.


In this weeks' episode I bring you an update on social media considerations for employers. I have been contacted numerous times in the last couple of weeks with questions about social media issues at work by both employers and employees and therefore I thought that it would be a good time to recap on some of the cases in this area and summarise key points for employers to note.
Considerations with social media relating to Discrimination, Recruitment, Reputation & Confidential Information.
I can help with all of the points at 1-4 so why not give me a call and let an expert take care of it for you 023 8098 2006 or 01983 897003.


text:
Subscribe to MediaDailyNews
CBS' L7 Stretch, Compares Same Day Ratings To A 'Five Inning' Baseball Score
by Wayne Friedman , September 17, 2014
Comparing Madison Avenue's current network TV advertising currency to the equivalent of scoring a baseball game after the fifth inning, CBS Wednesday said it will begin stretching the ratings it reports publicly to the press and the rest of the industry by several days, releasing so-called "L7" ratings alongside the "live plus same day" Nielsen ratings it currently distributes as part of its preliminary ratings to the media.
This comes just before the official start of the upcoming TV season on Sept. 22, and follows an upfront advertising sales season in which CBS and other networks touted a shift toward so-called "C7" ratings from "C3," which has been Madison Avenue's standard network TV ratings currency for years.
"L7 and C7 are the metrics that more accurately account for how viewers watch our shows and how we get paid for our programming -- both in advertising and content licensing," stated Leslie Moonves, president/chief executive officer, CBS Corp.
He added: "C7 deals were a significant part of our upfront negotiations this year, and we are doing more and more C7 deals all of the time."
Utilizing a baseball scoring analogy, CBS' Chief Research Officer David Poltrack said: "To report audience results for programs the day after they air live is comparable to reporting the results of a baseball game after the fifth inning."
As part of its announcement, CBS released data showing that a show such as "Person of Interest" may generate as much as a 38% audience boost via C7 ratings (see data below).
CBS, however, did not disclose whether it will release of C3 or C7 projection and/or ratings. C3 and C7 ratings are the commercial ratings plus three and seven days of time-shifted viewing, respectively. C3 is still the primarily metric in which advertisers pay national TV networks.
CBS said it will release daily L7 projections for total viewers -- adults 18-49 and adults 25-54 -- that will include percentage increases over each program's live-plus-same-day averages.
Networks have been pushing TV business publications that report on daily TV ratings -- primarily in the form of Nielsen-live-plus-same-day ratings -- to consider a broader picture of a TV show's performance, including a majority of time-shifted viewing, up to seven days, as well as other digital platform exposures.
Source: CBS analysis of Nielsen data.
broadcast networks, broadcasting, media measurement, nielsen, ratings, tv
More from MediaDailyNews
Brian Wieser Makes It Official, Steps Down At GroupM
IPG Creates C-Level Commerce Role, Taps Accenture's Zoghby To Fill It
Agencies To Wall Street: Short The Video Ad Marketplace
Ad-Buy Data Lags Agency Consensus By Wide Margin
Publicis Uses Analog Medium -- A Rotary Phone -- To Recruit Web3 Talent

redpajama_set_name: RedPajamaCommonCrawl


New research by The Heart Foundation reveals most Aussies don't realise exercise is a "wonder drug" that keeps us healthy.
Only 7% of adults are aware there's a link between physical activity and a reduction of diseases and illness.
"Our research shows that most Aussies are aware they should be more active, and that physical activity is generally good for their health and wellbeing. However, the majority don't recognise the relationship between regular physical activity and reducing their risk of chronic illnesses such as heart disease," said Heart Foundation National Spokesperson on Physical Activity, Adjunct Professor Trevor Shilton.
At least 30 minutes of physical activity a day can reduce the risk of heart disease by 35 per cent, it can also help manage depression and anxiety, reduce the risk of type 2 diabetes and some cancers and lower the risk of dementia later in life.
The Heart Foundation is a not-for-profit organisation dedicated to fighting the single biggest killer of Australians – heart disease. For close to 60 years, it's led the battle to save lives and improve the heart health of all Australians. Its sights are set on a world where people don't suffer or die prematurely because of heart disease. To find out more about the Heart Foundation's research program or to make a donation, visit heartfoundation.org.au or call 13 11 12.
Good news, coffee lovers! Science says it's good for you.


text:
Red faces as Russian monument to creator of Kalashnikov depicts German rifle
High relief featuring Sturmgewehr StG 44 blueprint to be removed from Mikhail Kalashnikov monument in Moscow Credit: Mikhail Pochuyev/TASS
David Millward
22 September 2017 • 11:53pm
The monument in the heart of Moscow was supposed to be a tribute to Mikhail Kalashnikov, the creator of the AK-47 assault rifle.
Unfortunately, things went wrong, spectacularly so. The etching on the plinth was not of a Kalashnikov but the StG 44 rifle used by the Nazis during WWII.
The mistake was spotted by arms experts, the BBC reported. It left the authorities having to use an angle grinder to remove the offending image.
"A mistake has been made by the sculptor," executive director of the Russian Military Historical Society Vladislav Kononov was quoted as saying by Russian news agencies.
A man uses an angle grinder as he removes a sketch allegedly featuring German StG44 rifle Credit: Mladen Antonov/AFP
The AK-47 was, in fact, the Soviet answer to the Sturmgewehr 44 (StG44), which the German forces used from 1944.
Determined to find an equally effective weapon, the Soviet Union launched a competition, which was won by Mikhail Kalashnikov.
Having been wounded at the Battle of Bryansk, Kalashnikov began designing weapons.
The AK-47 has been in use since the late 1940s.
Kalashnikov, who died in 2013, aged 94 made little money out of his invention. Rather ruefully he said he wished he had designed a lawnmower.
Although the AK-47 remains the most popular assault rifle in the world, last year the Kalashnikov company said it was branching out into menswear.
"Kalashnikov is a global brand," said Kalashnikov's marketing director, Vladimir Dmitriyev, "and we rightly believe that clothing and souvenir products with our symbol will be in demand among buyers."


Animalcare Group plc (AIM: ANCR) provides the following unaudited trading update for the Group's financial period for the six months ended 30th June 2018 (the "Period") ahead of publishing its interim results on 25th September 2018.
Animalcare Group plc (AIM: ANCR), the pan-European Animal Health business, announces that, following an exercise of options, application has been made to the London Stock Exchange for the admission of 5,142 new Ordinary Shares to trading on AIM.
Animalcare Group plc (AIM: ANCR), the pan-European Animal Health business, announces that the Company's Annual Report for the year ended 31st December 2017, the Notice of 2018 Annual General Meeting and Proxy Form have been posted to shareholders.
Animalcare Group plc (AIM: ANCR), the pan-European Animal health business, announces its preliminary results for the Group's first financial period ended 31st December 2017.
Animalcare Group Plc (AIM: ANCR) announces that Iain Menneer has resigned.
Animalcare Group plc (AIM: ANCR) provides the following trading update for the Group ahead of publishing its preliminary results on 15 May 2018.
Animalcare Group plc (AIM:ANCR) provides the following unaudited trading update for the Group's first financial period ended 31st December 2017 ahead of publishing its preliminary results on 15th May 2018.
Animalcare Group plc (AIM:ANCR), a leading supplier of veterinary medicines, announces its interim results for the twelve month period ended 30th June 2017.
Notification and public disclosure of transactions by persons discharging managerial responsibilities ("PDMRs") and persons closely associated ("PCA") with them.
Animalcare Group plc (AIM:ANCR), a leading supplier of veterinary medicines, provides a trading update for the six month period ended 30th June 2017 ahead of publishing its second half unaudited interim results on 26th September 2017.
The trading on AIM for the under-mentioned securities was temporarily suspended.
Animalcare Group plc (AIM: ANCR) is pleased to announce the successful completion of the Placing announced earlier today (the "Placing Launch Announcement).
At the request of the company trading on AIM for the under-mentioned securities has been temporarily suspended from 23/06/2017 7:30am, pending an announcement and publication of an admission document.
Animalcare Group plc (AIM: ANCR), a leading supplier of veterinary medicines, announces interim results for the six months ended 31st December 2016.
Animalcare Group plc (AIM:ANCR), a leading supplier of veterinary medicines, provides a trading update for the first six months of the current financial year ahead of publishing its interim results on 15th February 2017.
Following option exercises under the Company's SAYE Share Option Scheme by various employees at a price of 102.8 pence per share, 72474 new ordinary shares of 20p each ('Ordinary Shares') have been issued.
On 31 May 2016, the Company allotted 5,000 ordinary shares of 20p each ('Ordinary Shares') to an employee the exercise of options held under the company EMI Scheme.
Animalcare Group plc (AIM: ANCR), a leading supplier of veterinary medicines, announces interim results for the six months ended 31st December 2015.
Animalcare (AIM:ANCR), a leading supplier of veterinary medicines, provides the following trading update for the six months ended 31st December 2015, in advance of releasing its interim results on Wednesday 10th Febuary 2016.
Animalcare Group plc (AIM:ANCR), a leading supplier of veterinary medicines, announces results for the year ended 30th June 2014.
Animalcare, a leading supplier of veterinary medicines, provides the following trading update for the year ended 30th June 2015, in advance of releasing it preliminary results on Wednesday 4th October 2015.
Following option exercises under the Company's EMI Share Option Scheme by various employees at a price of 142 pence per share, 50,000 new ordinary shares of 20p each ('Ordinary Shares') have been issued.
Directorate Change - George Gunn 09 February 2015 Animalcare (AIM:ANCR), a leading supplier of veterinary medicines, announces the appointment of George Gunn as a Non-Executive Director of the Group with immediate effect.


text:
Hospital Employee Jailed for Credit Card Theft
Home » Healthcare Data Privacy » Hospital Employee Jailed for Credit Card Theft
An employee of Banner Boswell Hospital in Sun City, AZ has been arrested and jailed for stealing credit card details from hospital patients.
Filip Chudziak, 40, of Surprise, AZ was charged with identity theft, fraudulent schemes, and fraudulent use of credit cards by the Maricopa County Sheriff's Office this weekend following an investigation into credit card fraud by Maricopa County detectives.
The offenses were committed over a period of three months. Potentially fraudulent transactions were reported to law enforcement by Joe Bob's Outfitters in Kansas and also reported to the Hays City Police Department by multiple patients who had noticed fraudulent charges on their credit card statements.
Chudziak's role at Banner Boswell Hospital involved moving patients and their possessions while they were receiving treatment at the hospital. Chudziak allegedly used access to patients' possessions to obtain their credit cards. He then used those details to make online purchases at Joe Bob's Outfitters.
Using his mother-in-law's name and a number of different billing addresses, Chudziak purchased gun parts, tools, and other items from the store. Detectives were able to match the fraudulent card purchases to Chudziak using the mailing addresses supplied with the orders. The suspect was identified after contacting his mother-in-law, whose name was on the delivery address.
Detectives contacted Banner Boswell Hospital which confirmed he was a current employee. The arrest was made at the hospital.
Chudziak claimed he had always wanted an AR-15 but could not afford to buy the gun because money was tight. He said he used patients' credit cards to purchase AR-15 parts to construct the weapon.


It goes without saying that fantasy football is a pretty lucrative business these days. With this being the case, outlets like ESPN want to keep you up to date on all the latest injury information, and they generally do a pretty good job of that. Then there are times like Tuesday where they not only will they keep you updated on the injuries, but they'll also be nice enough to make sure that you never get another good night's sleep in your life.
As everyone knows, one of the more significant fantasy football injuries coming out of Week 1 of the 2017 NFL season was that to Arizona Cardinals running back David Johnson, who unfortunately suffered a broken wrist that will be keeping him out for a while, stressing out a lot of fantasy owners in the process.
However, I'm not sure what's more stressing. Being a fantasy owner and losing Johnson, or having to watch the way ESPN described the injury on Tuesday.
It's amazing — it really is. One of the creepiest movies ever is out in theaters now with IT, yet here is ESPN of all places maybe giving us the creepiest thing out there in the world right now. Now go ahead and watch that over and over and try to sleep comfortably tonight.
Oh, that's not enough? Well then, let's say hello to skeleton's creepy friend, Mr. Muscle Man.
Okay, I really do need to know how this came about. Like, was this something that was seriously considered in a board room with straight faces in the ESPN office or was this just something they thought would be hilarious to put on television during the afternoon?
Whatever the case, we will all never be the same again, so thank you for that, ESPN.


text:
package browser

import (
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"os/exec"
	"path/filepath"
)

// Stdout is the io.Writer to which executed commands write standard output.
var Stdout io.Writer = os.Stdout

// Stderr is the io.Writer to which executed commands write standard error.
var Stderr io.Writer = os.Stderr

// OpenFile opens new browser window for the file path.
func OpenFile(path string) error {
	path, err := filepath.Abs(path)
	if err != nil {
		return err
	}
	return OpenURL("file://" + path)
}

// OpenReader consumes the contents of r and presents the
// results in a new browser window.
func OpenReader(r io.Reader) error {
	f, err := ioutil.TempFile("", "browser")
	if err != nil {
		return fmt.Errorf("browser: could not create temporary file: %v", err)
	}
	if _, err := io.Copy(f, r); err != nil {
		f.Close()
		return fmt.Errorf("browser: caching temporary file failed: %v", err)
	}
	if err := f.Close(); err != nil {
		return fmt.Errorf("browser: caching temporary file failed: %v", err)
	}
	oldname := f.Name()
	newname := oldname + ".html"
	if err := os.Rename(oldname, newname); err != nil {
		return fmt.Errorf("browser: renaming temporary file failed: %v", err)
	}
	return OpenFile(newname)
}

// OpenURL opens a new browser window pointing to url.
func OpenURL(url string) error {
	return openBrowser(url)
}

func runCmd(prog string, args ...string) error {
	cmd := exec.Command(prog, args...)
	cmd.Stdout = Stdout
	cmd.Stderr = Stderr
	setFlags(cmd)
	return cmd.Run()
}


Gordon Lightfoot was my favorite, Johnny Cash and the Beatles were right behind, and let's not forget Earl Scruggs.
If you ever seen JD on stage you will undoubtedly see a polished professional entertainer that can read the crowd and embrace them with songs that touch their very soul.
JD Gordon is on Twitter!