Ekklesa director Simon Barrow is among signatories to an open letter asking the UK government to reverse its 'anti-foreigner' rhetoric and policy direction.
Backing has come from academics, NGOs, charities, researchers, public figures, artists, writers, campaigners, people of faith and many others across Britain.
The independently curated letter, which proclaims "we are all diminished by xenophobia", and calls for an end to discrimination, will be closed to further signories and delivered to the Prime Minister soon.
So if you want to sign, do so straight away.
[A]t Conservative party conference Theresa May derided those who subscribe to a cosmopolitan identity as "citizens of nowhere" and suggested that foreign doctors would only be able to stay in the NHS until "home grown" replacements could be trained. Companies may still be forced to "list" their foreign workers to government under proposals announced last week.
Foreign nationals make an enormous contribution to this country's culture, economy, and society. They have long helped to shape its common heritage and identity. They are not a separate caste in our society – they are our friends, partners, colleagues, and neighbours. A country robbed of these people is a poorer country in every sense: they are a part of who we are.
We therefore call upon the UK government to put a stop to this rhetoric and explicitly rule out any policies which are premised on dividing workplaces and communities based on where people were born.
By choosing race and ethnicity as the marker of who belongs and who does not, the UK government is indulging in xenophobia. As the children and grandchildren of those who fought fascism, we have a duty, in defence of our shared humanity, to resist state sanctioned discrimination based on nationality and to condemn policies that seek to restrict the rights and freedoms of citizenship to those who subscribe to an exclusive ethnic or national identity.
We call on Theresa May to put a stop to her government's bitter, racist and divisive language. And we call on all of those who support an open, tolerant and inclusive vision of our country to join together, in solidarity, to oppose the actions of this government over the past week.


Substratum is an open-source network that allows anyone to allocate spare computing resources to make the internet a free and fair place for the entire world. The Substratum Network is a worldwide collection of nodes that securely delivers content without the need of a VPN or Tor. Anyone can host websites, get paid for forwarding content (nodes) and view content in a regular web browser without censorship blocks.
Do you want to trade with SUB? If you would like to try trading on a secure decentralized crypto exchange in real time, you are more than welcome on TREX decentralized platform, that can be access clicking here!


The web server used by Crownpointechurch.net is run by Element Fusion and is located in Dallas, USA. There are many websites run by this web server. The operator uses this server for many hosting clients. In total there are at least 237 websites on this server. The language of these websites is mostly english.


Leaving the city of Baker, Louisiana, I turned left on to the Interstate faster than I normally would. I needed to get home before the Matadors arrived. I was the third car to merge on to the empty bridge. The third to veer into the center lane. Instinctively I looked to my left, across the Interstate that was empty, too. I saw a large SUV on the side of the highway. The red and blue lights of a state police cruiser flashed behind it. Man, I got my first ticket in that same spot. The speed limit changed and I bet he missed the sign just like I had.
The driver was a heavy Black man, wearing a pink colored shirt with a huge embroidered polo logo. I slowed down. We all did. We all were watching.
As the interstate curved away from the airport, there were more police cars. Between the fifth and sixth cruiser, a father stood in a yellow shirt. The toddler on his shoulders balanced his chubby cheek at the top of Dad's head. They were looking south, waiting. We drove slowly past three cruisers to my right. Their lights flashing but their eyes and bodies watched the bend of the Highway awaiting something. It was luminous. My heart got heavier. Something's not right. This isn't good. I felt the ember grow.
She'd been told, I'm sure, that the superhero died trying to protect "us". That the reasons for their deaths were for a purpose larger than her young intellect could process. That things will change because the person in the black car died. And that's true. Things will change because they died–because all of them died.


This Christmas DIY Cookie Mix in a Jar Kit includes materials to decorate 12 holiday cookie mason jar gifts. Set includes a recipe card showing you how to pack mason jars using your own ingredients.
12 - pre-cut ribbons (3 color choices available) measuring 3/8" x 20". All 12 ribbons will be of the SAME cholor.
DIY Christmas Cookie Mason Jar Decoration Kit added to cart!


The contents of Stratos © Internet pages are all rights reserved. Any rights not expressly granted herein are reserved. Reproduction, transfer, distribution or storage of part or all of the contents in any form without the prior written permission of Stratos © is prohibited except in accordance with the following terms. Stratos © consents to you browsing Stratos © Internet pages on your computer or printing copies of extracts from these pages for your personal use only and not for redistribution unless consented to in writing by Stratos ©.


text:
Q: gspread Python library - how to move a range of cells all at once I know how to copy and paste cell by cell by gspread but I didn't find anyting about to move a range of cells all at once in the gspread documentation.
Is it possible to move a range of cells all at once by gspread? If it possible, wich is the sintax?
Thanks in advance

A: Thank for your suggestion ! My problem is simply to move in worksheet 3 (wks3), the range of cells A3:C49 in A2:C48. Can you tell me the sintax? I tried to follow "older answers" but it didn't work. :(

redpajama_set_name: RedPajamaStackExchange


text:
RECAP: Our First Ever School Of Hustle!
Diane Lieu
This past Monday, we celebrated our first ever School of Hustle!! What's that, you ask? Well, with Hedley & Bennett turning five, we wanted to celebrate in a bigger way than last year (remember the carnival we threw?) But we also had this idea for School of Hustle in the back of our brains... a way to give back, to facilitate knowledge and really bring together the amazing community that we're a part of.
We partnered with Instagram For Business to create our first ever conference, aimed at bringing together small business owners and dreamers and giving them the tools and tips they would need to take their business to the next level. We decided to go with a "summer camp" theme because those memories of camp brought that sense of fun and learning together in the perfect way!
Illustrator Carly Kuhn aka The Cartorialist did a live mural painting as attendees were checked in and given their swag bags at noon! The "campers" were eager and people got there early and on time... always a good sign!!
Working together the incredible team at Instagram, we gathered some of the best and most badass bosses from our communities and had them talk about their unique pathways and journeys to the top. Speakers included Marne Levine, COO of Instagram, Alli Webb, founder of Drybar, Roy Choi, Chef & Restaurateur of Kogi BBQ, Jen Gotch of ban.do, and Eric Chan of The Bouqs Co., among others!
Over 500 people applied for one of the 200 spots available, telling us about their dream and what they hoped to get from attending our free one-day conference. They were selected based on their responses and people flew in from all over the country to attend. We asked for them to come with open minds and a readiness to get out of their comfort zones (where you learn the most!). What we got was nothing short of completely AMAZING. Attendees were quick to make friends with fellow "campers" and even brought samplings of their products to share. The collective group was one of the most kind, enthusiastic, and colorful bunch of people ever and the energy that day was incredible... clear eyes, full hearts, can't lose!
We were also incredibly lucky to work with a ton of Apron Squad vendors who made sure the food & drinks for the whole day were on point!! From La Colombe to Health-Ade Kombucha, to Eagle Rock Brewery, and Road Soda Bar our "campers" stayed well hydrated throughout the day! Later in the day, Urban Pie Pizza Co., The NoMad Truck, Seoul Sausage Co., and Kye's Montana showed up added even more excitement. We finished off the night with lots and lots of dessert from Valerie Confections, Dream Pops, and Mallow Mallow because what would a camp be like without s'mores?!
The Tender Greens team was unstoppable!
Snacks were always at the ready because we know it's hard to focus on an empty stomach. Thanks, Cava!
The day was jam-packed with programming about building your business, collaborations, the use of social media in the business world, new approaches to retail and negotiations, and attendees were sent on a scavenger hunt that included introducing themselves to a stranger/new friend, creating IG stories, and using hashtags for added viewership. The day was capped off with lightening rounds of "table talks" where "camp counselors" were asked questions in a smaller group setting, offering bits of advice and tackling common questions with marketing, social media, finances, hiring & HR, and customer experience.
Our top takeaways?
"Embrace the risks with a smile and make them happen." -Ellen Bennett
"My content is very authentic, but Instagram Insights helps me understand what resonates with my community." -Justina Blakeney
"When you have a story to tell, people start to gravitate toward they know what they're coming to." -Gaby Dalkin
"We're only as strong as our weakest person. We want to promote from within. I think because people see that, they care. We look out for our employees." -Jon Shook
"It's easy to say yes to things that have of dollar signs behind them, we instead focus on keeping the brand equity." -Jaclyn Johnson
"One of the keys to hustling is knowing what you're good at and strengthening the hell out of that thing." -Ellen Bennett
"It's not so much about the idea, but about the entrepreneur.You need to make sure you can answer the 3 Why's:
1. Why does the world need my product or service
2. Why now is the right time?
3. Why am I the one to execute it?" -Erik Oberholtzer
"People forget that the process of bringing dreams to life is writing down a 1, 2, 3 step plan and coming up with a back up plan." -Natasha Phan
SaveSaveSaveSaveSaveSaveSaveSaveSave
Sign up for free and be the first to get notified about updates.

redpajama_set_name: RedPajamaCommonCrawl


Chunky heels are a go-to selection for women who love wearing shoes that give them a lift without sacrificing comfort. As you stock up on those mule flats, loafers and sneakers for the season, don't forget you can still hit the town in heels as long as you choose the proper ones.
Lucky for your closet, the Shop With Us team found a pair of low blocked heels to do the job for well under $100!
The BP. Lula Block Heel Slingback Sandal is a strappy wraparound shoe that gives you the same relaxed chic feel as mule heels, but with extra support thanks to the buckled ankle.
The shoe is available in various colors, textures and styles so you get to enjoy the comfortable slingback no matter what your taste is. If you're into metallics for glam evening looks, then you'll love the silver and gold (below) versions.
Shoppers who own the shoes loved how simple yet elegant they are, which makes them easy to style with anything. Beyond their beauty, reviewers also adored how comfortable they felt. One in particular noted that the Lula heel is the first and only pair of heels they can wear all day.
See it: Get the BP. Lula Block Heel Slingback Sandal for $59.95 while so many options are still in stock!


text:
Alan Johnston: Amnesty concern grows after video shown
25 Jun 2007, 12:00am
Amnesty International is greatly concerned by the continuing threat to the life of Alan Johnston, the BBC News reporter who has been missing for more than 100 days since his abduction in Gaza City on 12 March.
The human rights organisation is making a renewed appeal to his captors to release Mr Johnston immediately and is calling on both Palestinian Authority President Mahmoud Abbas and the leaders of Hamas - who currently exercise control over Gaza - to redouble their efforts to obtain his safe release.
Amnesty International's new call comes after his kidnappers - the "Army of Islam" - released a video showing Mr Johnston wearing what he described in the film as an explosive belt. He said that his captors had threatened to detonate the belt if the hideout where he is being held is stormed to force his release.
Alan Johnston states in the video: "The situation now is very serious. As you can see I have been dressed in what is an explosive belt, which the kidnappers say will be detonated if there was any attempt to storm this area."
He added: "Captors tell me that very promising negotiations were ruined when the Hamas movement and the British government decided to press for a military solution to this kidnapping."
It is believed that the release of the video may be in response to an ultimatum issued by the recently deposed Palestinian Prime Minister Isma'il Haniyeh, whose Hamas party remains in de-facto control of Gaza. Earlier in the day Isma'il Haniyeh had said in a speech: "We will not allow the continuation of the abduction of the British journalist. The issue of Alan Johnston must end."
Hostage taking is a grave violation of international law and can never be justified. Amnesty International urges the abductors of Alan Johnston to release him immediately.


City Hall – The New York City Council on Thursday will vote on legislation aimed at preventing and recognizing incidents of domestic violence in New York City, which will rely in part on the unique relationship New Yorkers have with their hairdressers and barbers. The Council will vote to mandate that the Mayor's Office to End Domestic and Gender Based Violence (ENDGBV) conduct trainings for cosmetologists on recognizing the potential signs of domestic violence, and to equip them with resources to aid survivors. The Council will also vote to require ENDGBV, in conjunction with the New York Police Department (NYPD), to create a report on the City's domestic violence initiatives. Additionally, the Council will require ENDGBV to provide clients at Family Justice Centers with a satisfaction survey evaluating the domestic violence services they receive.
The Council will also vote to create an Office for the Prevention of Hate Crimes, in order to better coordinate response and outreach by city agencies in response to a hate crime. The Council will vote to require this office to conduct hate crime prevention trainings.
In addition, the Council will vote to authorize the Department of Finance to establish three new types of affordable installment agreement plans for low-income homeowners to defer property taxes and/or address property tax arrears. The new plans will be available to owners of one- to three-family homes and condominiums, where such home is their primary residence, who earn up to $58,399.
The Council will also vote to allow public officials to create stand-alone trusts to take donations to pay for legal expenses they, or members of their staff, may incur as a result of certain criminal and civil matters. The Council will also vote to establish a requirement that the Department of Veterans' Services report annually on all services it provides, and on the number of veterans who receive each service. The Council will then vote to require the Taxi and Limousine Commission to create rules regarding the financial agreements that drivers enter to obtain a for-hire vehicle.
Additionally, the Council will vote on a rule strengthening the licensing requirements for commuter van service providers. The Council will also vote to formalize the recognition of Holocaust Remembrance Day and to call on the Mayor to expand unlimited sick leave for civilian officers and employees of the City of New York who are seeking treatment for a qualifying World Trade Center condition.
Finally, the Council will vote on several finance and land-use items.
Introduction 371, sponsored by Council Member Rafael Salamanca, would require the Mayor's Office to End Domestic and Gender Based Violence (ENDGBV) to conduct outreach to cosmetologists that includes trainings, an online toolkit to help the cosmetology community recognize potential signs of domestic violence in their clients, and information about resources for survivors across the five boroughs. It would also require ENDGBV to provide an annual report on outreach methods.
"According to the Office to End Domestic and Gender-Based Violence (ENDGBV), there were over 108,000 intimate partner related domestic incidents reported in New York City in 2017. These alarming numbers, which does not reflect the countless number of unreported incidents, show that we in the City of New York must continue to do everything we can to protect, defend AND educate New Yorkers. My bill, Introduction 371B, would require ENDGBV to provide tailored toolkits to cosmetologists that would include information on recognizing signs of domestic violence among their clients, as well as information on domestic violence trainings and other resources across the five boroughs. More often than not, the bond between a cosmetologist or barber and their client is a longstanding relationship built on trust and friendship. Empowering the vast community of cosmetologists with the means to identify what various forms of abuse looks like will create a network of allies who can help and support victims of domestic violence," said Council Member Rafael Salamanca.
Introduction 351, sponsored by Council Member Helen Rosenthal, would require the Mayor's Office to End Domestic and Gender Based Violence (ENDGBV) to submit to the Mayor and Speaker of the Council, and post on its website an annual report detailing information about the City's domestic violence initiatives, indicators, and factors, including data on attorneys and service providers in Family Justice Centers (FJCs), programs and initiatives offered by the FJCs that relate to economic empowerment, and information on publications, research, outreach events, trainings, and educational workshops offered by the office. The bill also requires the New York City Police Department (NYPD) to submit an annual report that includes data on chronic domestic violence complaints, chronic offenders, and NYPD outreach efforts to survivors. Finally, the bill updates the name of the office to ENDGBV in the administrative code and city charter.
"The insidiousness of domestic violence means that it permeates every aspect of a victim's life: victims struggle to find stable housing, maintain a job with a living wage, and find legal assistance. My bill, intro 351, seeks to address the full scope of domestic violence, and shine light on the City's efforts to make victims whole and turn them into survivors. Requiring the City to report on a wide range of domestic violence offenses, including chronic offenses, means that policy makers, advocates, and the public will gain a better sense of the problem. Similarly, by requiring the Mayor's Office to End Domestic and Gender-Based Violence to report in detail on services it provides, including those for non-English speakers, we can more readily identify critical gaps as we help survivors rebuild their lives," said Council Member Helen Rosenthal.
Introduction 542, sponsored by Council Member Rory Lancman, would require the Mayor's Office to End Domestic and Gender Based Violence (ENDGBV) to provide clients with service satisfaction surveys after they have received domestic violence services from ENDGBV. Completion of the survey by clients would not be mandatory and the surveys would be anonymous. ENDGBV would be required to submit to the New York City Council, on an annual basis, all service satisfaction survey questions and data completed.
"Victims of abuse and domestic violence deserve our full support to help them in their time of need. Client feedback is essential to ensure that Family Justice Centers continue to provide effective and efficient services. My legislation will allow Family Justice Centers and survivors to work collaboratively to improve services and set priorities," said Council Member Rory Lancman.
Introduction 1234, sponsored by Council Member Mark Levine, would create an Office for the Prevention of Hate Crimes to coordinate responses and outreach amongst city agencies.
"The epidemic of hate crimes sweeping across the country is a national crisis. As we've seen in recent months, this is a battle being fought on our New York City streets every day. When hate crimes and threats occur, they are not just an attack on innocent victims, but on the values we share as New Yorkers. We have an obligation to guarantee the safety and security of every community that calls New York home. We must do everything we can to help protect the diverse communities that define our city. An Office for the Prevention of Hate Crimes–the first of its kind in the nation–will coordinate the efforts of City agencies to promote awareness and prevention, ensure proper investigation and prosecution of hate crimes, and monitor the impact of these heinous acts on our neighborhoods. I'm grateful to Speaker Johnson for his support of this bill, and look forward to seeing this office begin its important work in the months to come," said Council Member Mark Levine.
Introduction 1261, sponsored by Council Member Chaim Deutsch, would require the office for the prevention of hate crimes to conduct educational outreach and trainings.
Introduction 1325, sponsored by Council Member Stephen Levin, would allow public officials to create stand-alone trusts to take donations to pay for their legal expenses in certain criminal and civil matters and for the legal defense of anyone involved in a matter for which the trust was created. The law would set a donation limit of $5,000 per donor and would place restrictions on who could donate to a legal defense trust. Lobbyists, people doing business with the city, corporations, and LLCs would not be allowed to donate, and all donations would have to be reported to the Conflicts of Interest Board and be posted online.
"Our current legal framework has major gaps when it comes to allowing elected officials to cover their legal defenses — but, today, the Council is voting to change that. I am proud to sponsor this common sense legislation that allows a responsible and distinct system to be created so public officials can accept donations to cover needed legal fees, and will bring much-needed transparency and accountability to a shrouded process. Everyone deserves access to a fair defense without the requirement of being independently wealthy to cover their legal fees. While the goal is for no public official to ever have to set up their own legal defense trust, it is important that we have a system in place that is tightly regulated and that does not allow for taxpayer dollars or campaign contributions to fund a government official's investigation when it does not involve their official duties. We need a separate third system that is not tangled up in campaign finance. Thank you to the Speaker for his leadership on this issue and to my colleagues for their support of this much-needed legislation to provide public officials a fair chance and guarantee New Yorkers have clear accountability," said Council Member Stephen Levin.
Introduction 1118, sponsored by Council Member Chaim Deutsch, would require the Department of Veterans' Services (DVS) to submit an annual report to the Council and post on its website information about its personnel and the services provided. Specifically, DVS would be required to report, among other metrics, on the services the agency provides in their offices and in the field and the number, titles, and responsibilities of their employees. This report would also include an accounting of the number of veterans who have inquired about DVS's services, those who have received services from DVS, as well as how veterans and their families learn about the services provided by the agency.
Introduction 1070, sponsored by Council Member Francisco Moya, would require the Taxi and Limousine Commission to make rules regarding financial agreements drivers enter to obtain for-hire vehicles.
Introduction 897, sponsored by Council Member I. Daneek Miller, would require that commuter van license holders must not allow such commuter vans to be operated by a driver without a commuter van driver's license. The bill would also establish penalties for commuter van license holders and commuter van services that allow their vehicles to be operated by unlicensed drivers.
"This legislation builds on the regulatory structure of my 2017 Commuter Van Safety Act, which has regulated the growth of the commuter van industry, stiffened penalties for rogue commuter van operators, and requires yearly reporting on commuter van safety. This latest measure demands accountability of companies and vehicle owners for unlicensed activity by expressly prohibiting anyone not licensed to drive a commuter van from ever getting behind the wheel and imposes stiff penalties for any failure to adhere to this stipulation. Despite possessing the authority to regulate dollar van companies, the TLC continues to experience serious challenges to its efforts to rein in unlawful activity, making this bill vital to strengthening its ability to root out bad actors. I thank Speaker Johnson and my colleagues for their support of this safety enhancing legislation. I will continue to advocate for targeted and sensible regulations that promote safety within the industry and better distinguish companies that operate in a lawful manner from those that do not," said Council Member I. Daneek Miller.
Resolution 673, sponsored by Council Member Chaim Deutsch, would recognize January 27, 2019 as Holocaust Remembrance Day and the week beginning on January 27, 2019 as a citywide week of Holocaust Education in New York City.
Calling on the Mayor of New York City to Grant Sick Leave to All Civilian Officers and Employees of NYC Seeking Treatment for a Qualifying World Trade Center Condition.
Resolution 655, sponsored by Council Member I. Daneek Miller, would call upon the Mayor of the City of New York to grant sick leave to all civilian officers and employees of the City of New York seeking treatment for a qualifying World Trade Center condition.
Introduction 1143, sponsored by Council Member Daniel Dromm, would create three income-based installment agreements for eligible low-income property owners to help to pay off their tax arrears. The senior low-income installment agreement would allow property owners who are at least 65 years old to defer payment of a percentage of their tax arrears and prospective tax liability until the termination of the installment agreement, or upon expiration of the agreement, death, or transfer. The fixed-length income-based installment agreement would allow property owners to pay off tax arrears and one year of prospective tax liability by paying installments based on a percentage of income until the debt is repaid. The extenuating circumstances income-based installment agreement would allow property owners with extenuating circumstances (such as loss of income due to unemployment, death, treatment of an illness, military service, or involuntary absence) to enter into a one-year installment agreement to pay off tax arrears and property taxes that accrue during that year by paying installments based on a percentage of income. A property that is the subject of one of the installment agreements would be exempt from the tax lien sale. These options would not replace the current ten-year, zero down payment default plan.
boroughs," said Council Member Daniel Dromm.
Introduction 1038, sponsored by Council Member Barry Grodenchik, would increase the threshold for when an income-producing property is required to provide a certified statement of income and expense in order to receive an assessment reduction by the Tax Commission from an assessed value of $1 million to an assessed value of $5 million, and it would index this threshold to the aggregate value of Class 2 and Class 4 properties every five years.
"I am proud to support small businesses with today's legislation. In 1973, New York City passed a law providing that income-producing properties with an assessed value of less than $1,000,000 would not be required to submit costly audited financials when requesting property tax relief. This was done to give relief to small building owners who believed that their property taxes were too high. In today's dollars, that $1,000,000 value is approximately $5.5 million. This new measure will save what are essentially small businesses more than $20 million a year by eliminating the requirement that income-producing properties with an assessed value of less than $5,000,000 submit audited financials when grieving their property taxes. In addition, the bill indexes that assessment amount to inflation to eliminate the need to revisit this issue, " said Council Member Barry Grodenchik.
The purpose of this exemption, located in Council Member Ydanis Rodriguez's district, is to preserve 45 units of affordable housing.
The purpose of this exemption, also located in Council Member Ydanis Rodriguez's district, is to preserve 92 units of affordable housing.
An application submitted by New York City Housing Preservation and Development (HPD) for an amendment to an Urban Renewal Plan and the disposition of City-owned property to facilitate the preservation of 325 affordable housing units at Waterside Plaza, in Manhattan, in Council Member Keith Power's district.
An application submitted by New York City Housing Preservation and Development (HPD) for approval of an Urban Development Action Area Designation, project approval and disposition of property to facilitate the development of an 8-story mixed-use building with 52 affordable dwelling units in the Bronx, in Council Member Ritchie Torres' district.


text:
Communication was so bad, and feelings were so hard, between the administration and the council that, once, it took serious parliamentary procedure to give the city a budget at all. Council members sniped at one another and city officials, and pushed through decisions that came across as more punitive than beneficial.
Time took care of that. Some council members left on their own at the end of last year. Others were voted out, either in the primary or general election. A sense of peace reigned.
Then budget season returned.
I bumped into Evansville Mayor Lloyd Winnecke at a community event last Saturday. The process has been, he said, "a lot more respectful."
But it is no easier, and at times seems no more fair. And there still doesn't appear to be enough political courage to go around to truly stick to a budget.
Finance chairman Dan McGinn made sense when he suggested that the Homestead Tax exemption, which was extended to its maximum amount last year, could be reduced. What would cost us homeowners a few dollars a month can add up to enough cash to help address some of the city shortfalls.
But McGinn then went a step further, suggesting that Rverboat funds -- long, and smartly, held back for only capital projects -- be opened up to pay for a computer upgrade.
"We need to quit playing games. We need to understand that Riverboat funds have to be used for things other than buildings. ... The fine people in 1995 had no idea we'd need $3 million this year for computers," McGinn said during the budget hearings.
He might be right, but his reasoning is wrong. McGinn is looking for a way to make up for a proposed change in the health insurance plan for city employees, which would save Evansville more than $3 million but extensively raise individual costs.
Insurance currently costs the city $19,591 per full-time employee (along with those City Council members who accept the coverage). Under the proposed change, that would drop to $16,484 per employee. The key to that is deductibles, the cost to employees before insurance kicks in.
City Council President Missy Mosby told Courier & Press columnist Jon Webb that deductibles for a single person increased from $750 to $5,000. For a family plan, they went from $2,250 to $10,000. Webb's research said the average family deductible in the U.S. is just more than $4,000.
Looking at those numbers and an insurance plan I'm familiar with ($2,800 deductible per person, $5,600 per family, an additional $1,000 per person and $2,000 per family out-of-pocket), and it seems the city chose to take away an upscale sedan and replace it with an 8-year-old minivan. There must be a later-model Corolla or a Lumina out there somewhere on the insurance market.
Mosby told the Courier & Press' Zach Evans that city employees facing the insurance rise aren't happy.
"When they're so upset, and we're having to do such a drastic change there, but yet we can hand out this type of free money (to non-profits) -- not that these aren't important because they are -- but I think my fiduciary responsibility is to my employees," she said.
That's not true. The council's fiduciary responsibility is to all of the city's residents, whether or not they draw a check from all of the taxpayers.
Again, what gets tricky is what the council chooses to keep in or leave out. It likely will cut funding, for a second year, to non-profit agencies. An argument could be made that the city shouldn't be in that business; an argument could be made that it is the city's business to take care of its most vulnerable.
Quality of life? There is $660,000 budgeted to jump-start a penguin exhibit at Mesker Park Zoo which eventually will cost an estimated $5 million, with the city responsible for half of that (and, unfortunately, we all know how the costs of long-term projects always rise). Some say it's silly to put flightless birds before human needs; others say it's important both for city residents and visitors to have family-friendly entertainment.
Roads must be maintained. Water must be clean. Residents must be protected.
Every household and every business needs a budget. Every household and business needs to make tough decisions on where and how to spend its money. The same goes for a city.
Decisions must be made for the good of all. Dad shouldn't get new golf clubs if the kids need new shoes. A company shouldn't pay bonuses to executives if it's having to trim the hours of workers. A City Council must decide what's needed, what's wanted and what's fair, not only to its employees but to all of its residents.
Those decisions might not make council members popular in the Civic Center, in the city garage, in the mayor's office, in the fire houses, in the FOP Lodge, among non-profits, or to voters in future elections. But to do their jobs the right way, they must block that out.
It's not a job to envy. It's a job that must be done.
Tim Ethridge is editor of the Courier & Press (and therefore deals with an annual budget). Email him at tim.ethridge@courierpress.com and follow him on Twitter at @ECP_TimEthridge.


text:
Two cases of ectopic hamartomatous thymoma
Chen Zhao, Taketo Yamada, Shigeru Kuramochi, Kazuto Yamazaki, Makio Mukai, Kaori Kameyama, Jun Ichi Hata
Ectopic hamartomatous thymoma (EHT) is a rare benign neoplasm. Since it was named by Rosai et al. in 1984, 24 cases have been reported. We herein report two cases of EHT, one of which presented with massive myoid cells, and review the literature related to EHT. Both of our cases displayed the typical features of EHT: (1) nests of epithelial cells, including solid, cystic, or glandular epithelial islands; (2) spindle cells dominating the microscopic picture; and (3) adipose cells which in-termingle haphazardly to impart a hamartomatous quality to the tumor. In this paper, we observed massive myoid cells and the transition from spindle epithelial cell to myoid cell in one of our cases. Immunohistochemical examinations showed that the main component of EHT, spindle cells, was positive for cytokeratin and epithelial membrane antigen (EMA). Intriguingly, the myoid cells simultaneously expressed cytokeratin, EMA, myoglobin, and creatine kinase-mm, suggesting that myoid cells may originate from epithelial cells and are an intermediate state between epithelial cells and muscular cells.
Virchows Archiv
病理学および法医学
「Two cases of ectopic hamartomatous thymoma」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。
Thymoma Medicine & Life Sciences 100%
Mucin-1 Medicine & Life Sciences 23%
Keratins Medicine & Life Sciences 19%
Myoglobin Medicine & Life Sciences 11%
Islands Medicine & Life Sciences 9%
Creatine Kinase Medicine & Life Sciences 9%
Neoplasms Medicine & Life Sciences 5%
Zhao, C., Yamada, T., Kuramochi, S., Yamazaki, K., Mukai, M., Kameyama, K., & Hata, J. I. (2000). Two cases of ectopic hamartomatous thymoma. Virchows Archiv, 437(6), 643-647. https://doi.org/10.1007/s004280000309
Two cases of ectopic hamartomatous thymoma. / Zhao, Chen; Yamada, Taketo; Kuramochi, Shigeru その他.
In: Virchows Archiv, Vol. 437, No. 6, 2000, p. 643-647.
Zhao, C, Yamada, T, Kuramochi, S, Yamazaki, K, Mukai, M, Kameyama, K & Hata, JI 2000, 'Two cases of ectopic hamartomatous thymoma', Virchows Archiv, vol. 437, no. 6, pp. 643-647. https://doi.org/10.1007/s004280000309
Zhao C, Yamada T, Kuramochi S, Yamazaki K, Mukai M, Kameyama K その他. Two cases of ectopic hamartomatous thymoma. Virchows Archiv. 2000;437(6):643-647. doi: 10.1007/s004280000309
Zhao, Chen ; Yamada, Taketo ; Kuramochi, Shigeru その他. / Two cases of ectopic hamartomatous thymoma. In: Virchows Archiv. 2000 ; Vol. 437, No. 6. pp. 643-647.
@article{6fe6a7cd30624efd97db9ec0e5d2cdc5,
title = "Two cases of ectopic hamartomatous thymoma",
abstract = "Ectopic hamartomatous thymoma (EHT) is a rare benign neoplasm. Since it was named by Rosai et al. in 1984, 24 cases have been reported. We herein report two cases of EHT, one of which presented with massive myoid cells, and review the literature related to EHT. Both of our cases displayed the typical features of EHT: (1) nests of epithelial cells, including solid, cystic, or glandular epithelial islands; (2) spindle cells dominating the microscopic picture; and (3) adipose cells which in-termingle haphazardly to impart a hamartomatous quality to the tumor. In this paper, we observed massive myoid cells and the transition from spindle epithelial cell to myoid cell in one of our cases. Immunohistochemical examinations showed that the main component of EHT, spindle cells, was positive for cytokeratin and epithelial membrane antigen (EMA). Intriguingly, the myoid cells simultaneously expressed cytokeratin, EMA, myoglobin, and creatine kinase-mm, suggesting that myoid cells may originate from epithelial cells and are an intermediate state between epithelial cells and muscular cells.",
keywords = "Ectopic hamartomatous thymoma, Immunohistochemistry, Myoid cell",
author = "Chen Zhao and Taketo Yamada and Shigeru Kuramochi and Kazuto Yamazaki and Makio Mukai and Kaori Kameyama and Hata, {Jun Ichi}",
journal = "Virchows Archiv - Abteilung A Pathologische Anatomie",
T1 - Two cases of ectopic hamartomatous thymoma
AU - Zhao, Chen
AU - Yamada, Taketo
AU - Kuramochi, Shigeru
AU - Yamazaki, Kazuto
AU - Mukai, Makio
AU - Kameyama, Kaori
AU - Hata, Jun Ichi
N2 - Ectopic hamartomatous thymoma (EHT) is a rare benign neoplasm. Since it was named by Rosai et al. in 1984, 24 cases have been reported. We herein report two cases of EHT, one of which presented with massive myoid cells, and review the literature related to EHT. Both of our cases displayed the typical features of EHT: (1) nests of epithelial cells, including solid, cystic, or glandular epithelial islands; (2) spindle cells dominating the microscopic picture; and (3) adipose cells which in-termingle haphazardly to impart a hamartomatous quality to the tumor. In this paper, we observed massive myoid cells and the transition from spindle epithelial cell to myoid cell in one of our cases. Immunohistochemical examinations showed that the main component of EHT, spindle cells, was positive for cytokeratin and epithelial membrane antigen (EMA). Intriguingly, the myoid cells simultaneously expressed cytokeratin, EMA, myoglobin, and creatine kinase-mm, suggesting that myoid cells may originate from epithelial cells and are an intermediate state between epithelial cells and muscular cells.
AB - Ectopic hamartomatous thymoma (EHT) is a rare benign neoplasm. Since it was named by Rosai et al. in 1984, 24 cases have been reported. We herein report two cases of EHT, one of which presented with massive myoid cells, and review the literature related to EHT. Both of our cases displayed the typical features of EHT: (1) nests of epithelial cells, including solid, cystic, or glandular epithelial islands; (2) spindle cells dominating the microscopic picture; and (3) adipose cells which in-termingle haphazardly to impart a hamartomatous quality to the tumor. In this paper, we observed massive myoid cells and the transition from spindle epithelial cell to myoid cell in one of our cases. Immunohistochemical examinations showed that the main component of EHT, spindle cells, was positive for cytokeratin and epithelial membrane antigen (EMA). Intriguingly, the myoid cells simultaneously expressed cytokeratin, EMA, myoglobin, and creatine kinase-mm, suggesting that myoid cells may originate from epithelial cells and are an intermediate state between epithelial cells and muscular cells.
KW - Ectopic hamartomatous thymoma
KW - Immunohistochemistry
KW - Myoid cell
JO - Virchows Archiv - Abteilung A Pathologische Anatomie
JF - Virchows Archiv - Abteilung A Pathologische Anatomie


They're Identical Twins But People Chose One Over The Other And You Won't Believe Why!
A social experiment was done at The Museum of Contemporary Arts Buenos Aires to test people's judgement of gum chewing. Identical twins were used, one with gum and one without, while random people answered questions about their appearance. The results were fascinating! Apparently, gum is more useful than we think!
SHARE this awesome experiment with friends!


text:
var assert = require('assert');
var http = require('http');
var brc = require('./../brc');
require('./../index');

console.log('testing bucker-receiver');
var req = http.request({
  host: brc.receiver.endpoint,
  port: brc.receiver.port,
  method: 'PUT',
  headers: {
    "content-type": "application/json"
  }
}, function (res) {
  res.setEncoding('utf8');
  res.on('data', function (data) {
    assert.equal(res.statusCode, 200, 'status codes are getting messed up');
    assert.ok(JSON.parse(data).success, 'everything is working');
    assert.equal(JSON.parse(data).logged, "testlog: hello world", 'strange');
    process.exit(0);
  });
});
req.on('error', function (e) { console.error(e); });
req.write(JSON.stringify({msg: "testlog: hello world", level: "log"}));
req.end();

redpajama_set_name: RedPajamaGithub


Published 04/21/2019 11:04:29 pm at 04/21/2019 11:04:29 pm in Where To Place Thermostat.
where to place thermostat where to place thermostat probe cover.
where to place thermostat sensor in vivarium setup,where to place thermostat probe images,where to place thermostat sensor in vivarium lighting,where to place thermostat probe for electric fan,where to place thermostat sensor in vivarium design,where to place thermostat sensor in vivarium build,where to place thermostat in turkey,where to place thermostat probe ball python,where to place thermostat sensor in vivarium,where to place thermostat probe location,where to place thermostat.


Winemaker's Comments: This shiraz is named after our 'Stolen Block' vineyard in the renowned wine region of Watervale in the Clare Valley.
This fruit is blended with other premium parcels then matured with a combination of French and American oak for 15 months.
With upfront sweet fruit and spice, this wine is soft and rich with good length.


As the move to cloud-based SaaS library systems accelerates, we must consider what it means to develop applications when the core of the system isn't under the library's control. The entire application lifecycle is changing, from development to testing to production. Developing applications for cloud solutions raises new concerns, such as security, multi-tenancy, latency, and analytics. In this article, we review the landscape and suggest a view of how to be successful for the benefit of library staff and end-users in this new reality. We discuss what kinds of APIs and protocols vendors should be supporting, and suggest how best to take advantage of the innovations being introduced.
No system lives in a vacuum, and no system provides 100% of features required by its users. This maxim is equally true of library systems, and many institutions invest in the development of applications that live along side the primary library management system. Additionally, code is often required to integrate the library management system within the larger institutional technology landscape. This integration code is equally critical for the smooth operations of the library.
In a local environment, the options for integrations are many- access to the server environment, direct SQL queries against the database, log file access, manipulation of configuration files. The institution has full control over the application and its infrastructure. As more organizations seek to enjoy the benefits of moving applications and infrastructure to the cloud, many are joining the wave of adoption of cloud-based library management systems. Software as a service (SaaS) offerings in this space are increasing in number and features. Developers face new challenges in designing, coding, and testing their applications against these SaaS systems.
This article discusses the considerations for vendors when designing their API and integration offerings for cloud-based systems, and for developers when integrating with those systems. It is based on the experience Ex Libris gained in building our Developer Network1, a next-generation developer and API platform for our cloud-based library systems. Many of the examples and screen shots in this article are taken from our implementation.
There are many models for the software development lifecycle, but most of them can be summarized as design, develop, test, deploy.
When developing applications against locally-hosted systems, there are often a number of installed environments that support this lifecycle. When working against cloud-based systems, we need support for a similar tiered-development environment. We also need the supporting material and documentation to be thorough and accessible.
Good documentation is important for all development projects. In the cloud, it is essential.
Developers must be provided with details of the available APIs to understand what functionality is possible. Details about the input and output parameters are necessary to follow the data flow between the custom application and the library management system. Workflow examples should be provided to help analysts orchestrate the APIs into full stories.
In the cloud, vendors have an opportunity to ease the design phase by making API documentation openly available and searchable by standard search engines. Removing barriers such as usernames and passwords allows developers and analysts to more easily discover the information they need and share it with others.
Cloud systems operate on an accelerated release cycle. Keeping documentation up-to-date with changes in the product is even more challenging. Documentation which is out-of-date or incorrect erodes the confidence of developers and reduces their interest in using the product's APIs.
Automating the creation of API documentation is one way to reduce friction. Automation means the documentation is always in synch with the API and is always accurate. Our process leverages-third party tools in addition to some homegrown code.
First, the API developers add documentation directly to the API code. This is done for both the web service description and for the data transfer objects which are passed as a payload in the body of the API request or response. For web service descriptions, we add attributes to the code based on the Apache CXF2 library. The CXF library then creates a WADL3 file based on the annotations.
To produce documentation for the body objects, we use XSD schemas. The developers add documentation directly to the schema using the <xs:annotation> tags.
<xs:documentation>The primary identifier of the user. Mandatory. Note that the primary_id is case insensitive.
We further leverage the schema by placing tags on the elements which allow us to filter fields in our documentation based on parameters in the querystring. For example, we can provide an HTML page which displays fields that are relevant for POST requests only. The page filters the fields based on the tags taken from the XSD.
The final step in the automatic documentation process is to execute an XSL transform on the WADL and XSD files to produce HTML documentation4. This assures that the documentation provided to developers is timely and accurate.
In traditional application environments, it can often take a long time for a developer to successfully make and request and get a response to an API call. Once the test environment is deployed, the developer still needs to read the documentation, understand how to format a request, create the test script or application, and provide the required server details and credentials.
In the world of cloud, we can significantly reduce this "time to first 'Hello World'" (TTFHW5) by providing a way to call the APIs directly online, from a web browser, against a guest sandbox environment. An "API console" helps developers be productive quickly by removing barriers and allowing them to learn by experimentation.
An API console provides details of the selected API call, allows the developer to enter the parameters, executes the request directly from the browser to a test or demo environment, and provides the response from the server.
This instant feedback provides developers with quick successes, and allows experimentation with various parameters and formats. Once the developer gets the desired results, the console can also provide a code stub in various languages that can be used inside a real application. This shortcut can help decrease development time and allow programmers to concentrate on the business logic rather than the "plumbing" code.
Using an API console allows the developer to quickly explore the API and its parameters.
"errorMessage": "User with identifier j was not found.\n(Tracking ID: E01-1609190759-CBB7C-AWAE151072507)"
This type of immediate feedback without the need to set up an entire development environment considerably reduces development time.
Once the application is developed, it must be tested. In local systems, this is usually done in a test or staging environment. Many cloud providers offer a sandbox environment to customers that may include either sample data or a version of the customer's actual data.
Developers should have API access to the sandbox environment to test their applications.
In a local environment, deploying an application in production often requires configuration changes to update server names, IP addresses, ports, credentials, etc. In the cloud world, we can offer a more seamless deployment process.
In the example below, we see a developer using a dashboard to change their application from sandbox mode to production mode. Without requiring any changes to their own application, it is now pointing to their production instance.
The move to the cloud provides an opportunity to implement APIs according to modern standards. Any discussion of web API standards begins with the REST architectural style6. But even for those whose APIs adhere to the REST style, there exists much room for interpretation. Vendors should invest effort in defining a style for their APIs and work to ensure consistency. Doing so reduces friction for developers. We recommend that the vendor's API style guide be shared with the developer community7.
As part of the process of defining an API standard, providers are forced to make some hard decisions. While there are widely-agreed guidelines for building modern APIs (REST, JSON, etc.), there are other questions to which there is no clear answer. If the decision is well-reasoned and consistent, API consumers can accept and adapt to the decided-upon style.
Return a 400 Bad Request, which indicates that while the service is valid (/cars), the requested car does not exist. Provide additional details in the response body indicating why the request is bad.
We decided on the first option in our implementation.
However, there is no natural mapping for non-CRUD services. For example, in the library world, we have a service such as "renew a loan" or "receive an item". We want to avoid falling into the trap of defining SOAP/RPC-like endpoints, and it's important to stick with the REST standard of nouns as URIs. So a service such as POST /items/1234/loans/renew or POST /items/1234/renewLoan is undesirable.
Given this, our decision was to POST to the object with the operation in the query string. A PUT request updates the object, while POST is reserved to other undefined actions. The renew loan service might look like POST /items/1234/loans/5678?operation=renew.
Again, API providers should make their decisions known in these cases so that API consumers can adapt accordingly.
One of the benefits of using modern standards is that most development environments provide considerable infrastructure which makes coding against such APIs easier. Library vendors should provide standards-compliant APIs so that developers can take advantage of that infrastructure.
the API should return an HTTP error. In general, an error code in the 400 range means that the client has provided invalid data and should not try the request again. An error in the 500 range means the server had an issue and the client is free to try the request again.
One of the main concerns that organizations have in moving to cloud-based systems is that of security. This concern carries over into access to SaaS systems via APIs. APIs provide access to sensitive data and must be secured as much as, if not more than, access by a standard user account.
API calls should be restricted to HTTPS only. Any attempt to access an API via non-secure HTTP should be rejected or redirected. An HTTPS only policy ensures the security of authentication credentials and sensitive data. The power of modern hardware reduces the performance impact HTTPS encryption requires.
In some instances, API calls may be intended to be openly available. In most cases, however, some sort of authentication is required. There are several strategies for authenticating API requests.
Cloud applications are multi-tenant, which means that several institutions occupy the same server resources and application instance. Therefore, authentication may also identify the institution to which the API request is intended.
We have adopted the use of API keys, as many experts9 have recommended. This method allows API requests to the server to authenticate the request and route it to its intended institution. It is trivial for a developer to implement API keys for authentication, as they can be sent via an HTTP parameter or header. They are also sufficiently long and random as to not be vulnerable to a brute force attack. Finally, API keys can easily be revoked should the need arise.
Many libraries today no longer have the resources in-house to embark on large development projects. For those institutions, outsourcing development work is an increasingly attractive option. Using third parties to do development brings with it security challenges. Best practices for third party access to APIs include limited access to required APIs only, auditing API requests, the ability to control access to test and real data, and the ability to revoke access when needed. Cloud library management system vendors should take these requirements into consideration when designing API platform security.
The API key authentication methodology described above works well for third party access. API keys can be uniquely assigned to a particular application or contractor, can limit access to the desired APIs, and can be configured for access to the desired environment.
The move to the cloud allows vendors to deploy edge devices that enable mitigation against common web attacks. Such gateways protect customers' data from intentional or accidental attacks via API calls. These gateways inspect each request and evaluate them against known attack patterns. Suspicious requests are rejected before they even reach the application servers and the customers' data.
The cloud brings with it challenges for a software vendor. Taking a system designed to be used locally and trying to adapt it for cloud deployment is a difficult undertaking. Similarly, taking APIs from a locally-installed system and making them available without modification in the cloud is not sufficient. There are API requirements unique to a cloud-based system that must be addressed.
At the heart of any SaaS application is multi-tenancy. In order to achieve economies of scale, vendors host many institutions on the same infrastructure and the same software instance. To ensure that a single institution does not negatively impact other institutions most cloud vendors implement a governance policy. Such policies limit the amount of transactions institutions can do in a defined time frame in accordance with the size of their licensing agreement.
For API platforms, these governance policies require the implementation of two types of limits: throttling and quotas.
Throttling ensures that no more than a specified number of API requests for a single institution are processed in a short period of time, per second or per minute. This prevents an institution from monopolizing server resources thereby preventing the requests of other institutions from being processed. Requests that exceed this limit can be queued and processed subsequently.
Quotas define the total number of requests that an institution can perform in a longer period of time, generally a day. This ensures that resources are being utilized efficiently and proportionally.
The cloud opens opportunities for efficiency in process too. A well-designed API platform enables institutions to manage their own environment. For example, cloud API systems can provide the ability for a library to perform functions such as creating its own API keys, managing access to its environments, and adding developers to their account. Self-service improves efficiency and reduces TCO of the solution for the library.
Cloud systems are hosted remotely from the library's network. There will naturally be some additional latency for each API request. It's important that developers take this into consideration when designing their applications by minimizing the number of calls and data requested from the server. In addition, vendors can help limit the affects of latency by supporting features in their REST API implementation that can help reduce the bandwidth required for larger requests. Such features include HTTP compression10 and setting caching policies and headers11 that allow clients to cache the retrieved data where appropriate.
The library technical community has always been strong. The move of library systems to the cloud opens up additional opportunities for that community to work together to share knowledge and leverage the work of others.
The explosion of open source projects in recent years provides a strong platform for the sharing of code in library management solutions. Sites such as Github and Sourceforge allow developers to make their code repositories public and to accept fixes and improvements from the community. These advances can shorten the time required to get a resolution for issues and allow interested developers to help move the projects forward with their contributions.
Cloud library system vendors need to leverage these advancements and encourage the use of open source repositories for applications and integrations that work against their systems. The opportunity also exists for vendors to make parts of their systems or integration bridges with other systems open source, thereby realizing those same benefits.
In the spirit of openness, vendors should avoid creating walled gardens of code contributions, documentation, forums, etc. Wherever possible these communities should be openly available avoid recreating the functionality of community-accepted repository solutions.
Developers today work with their code open in one window and Google in another. The Internet is filled with blogs, Q & A sites, and other resources that allow programmers to search for the advice of others who have had the same problem. As library system developers, we have a responsibility to contribute to that huge knowledge base to help others who will encounter the same issues we face.
Library platform vendors can provide a platform for the community to share success stories, integration recipes, tips and tricks, code samples, and other content that will benefit the community. A blog is one popular way this can be accommodated. Vendors can contribute blog entries themselves, but the blog should be open so that others can contribute as well. Contributions should be encouraged, curated, and openly discoverable by search engine queries.
When all else fails, developers need a way to ask questions. Popular question and answer sites such as Stackoverflow provide a great opportunity for programmers to get help when trouble strikes. Often sections of such sites are created organically for popular development languages, environments, and frameworks.
Library system vendors can also offer a forum for those who develop on their systems. Vendor staff should monitor the forum and answer questions where appropriate. Ideally community members will also participate in forum discussions and help colleagues with their challenges.
The move to the cloud provides an opportunity for vendors to add additional features for those who develop against their systems that local topologies made impractical or impossible.
One major feature the cloud enables is analytics. Since all API requests are routed through the cloud, vendors can offer developers reports that show the number of API requests, reported per application. That allows developers to monitor the usage of their applications against any quotas. Reports can also show latency data, which allows developers to understand how long each request takes and monitor their user experience.
The general IT trend of moving to the cloud brings with it new opportunities and challenges, and library systems are no different. In this article, we've discussed the benefits to developers that this new era brings, including improved developer experience, more transparency and analytics, lower maintenance cost for applications, and opportunities for social coding and sharing. For vendors, there are challenges, but those who position themselves well in this new world can leverage technology to offer a better experience to their developers.
1 The Ex Libris Developer Network is openly available at https://developers.exlibrisgroup.com/.
3 Web Application Description Language, the WSDL of REST APIs.
4 Our XSL transform code is available at https://github.com/ExLibrisGroup/wadl-doc.
9 See https://stormpath.com/blog/secure-your-rest-api-right-way/ for example.
Over an eighteen-year career in the software industry, Josh Weisman has managed development teams working on a wide range of applications, from enterprise workflow tools to large scale e-commerce websites. He currently is a development director at Ex Libris, where among other duties, he is responsible for interoperability of their next generation library management system.


details below and click "DONE".
"Having The Contact Group available for on-line and on-site training was great and essential to our business!"
needs - very relevant! The trainer had an excellent grasp of what we needed!"


We will be holding a open training session for any girls looking for a team for next season in the following age groups – U8s, U9s, U10s, U11s & U13s. So any girls that are aged between 6 and 12 on the 1st September 2016 are welcome.
Each team will have a weekly training session throughout the season and play games on Saturday morning. The U9s and U10s will play all their games at Chase Lodge Playing Fields whilst the U11 and U13 will play their home games at Chase Lodge and away games will be played at the oppositions ground.
Please email Richard with your daughters name, date of birth and your contact phone number on football.hampsteadfc@gmail.com to confirm you are attending one of these sessions.
Hampstead assembled a squad of regulars and a couple of new faces to enter the St Joseph's 88 YFC 6-a-side tournament. With no established goalie due to Joe's broken finger, and coaches Eddie and John missing, it seemed a tough challenge, especially as 25 teams were taking part. In the group stages, Hampstead narrowly lost their first game to eventual cup winners Parkfield (2-1), but beat Headstone Manor Hawks, Veneceremos and Pinner Albion to finish Group A in second with 9 points. This qualified them for the Plate competition, where they beat Ruislip Rangers in the semi-final and St Andrews in the final (in a penalty shoot-out) to take the Plate. Well done to the "Magnificent Seven" (Luc, Joe, Alfie, George, Jake, Camille and Bernard – who was great in goal for many of the games) and Liz and the parents who stood up to the mark to get the team there and guide them to victory!!
Members of the U9A team enjoyed a full weekend of football with the Hampstead FC Awards and a tough friendly match against Bushey & Oxhey U9. During the awards on Saturday the boys played very well to beat a Hampstead U10 side 6-4 in a six-a-side friendly game at Chase Lodge. This years' awards went to Finlay (Fair Play), Alfie (Most Improved), Joe (Manager's Player) and Luc (Player's Player), but many of the team were in contention. Joe also received the Hampstead FC Boys Goalkeeper of the Year Award! Excellent news. On Sunday a larger squad played a three session training game against Bushey & Oxhey U9. Hampstead played some creative football to get the upper hand against strong opposition (0-0, 3-0, 0-0).
Congratulations to u14s! League champions for the second year running and challenge cup winners beating Admiral Utdin the final 4-3.
Congratulations to all the boys, Robin and Arran for securing 2nd place in the Regents Park League!


text:
Q: Firestore - How can I execute a "where in" query? In a chat app, I have a user object which is subscribed to channels (e.g. each user contains the channel ID list in its document):
User
   Channels
      ID 1
      ID 7

I want to be able to subscribe to channels based on the user channels list (pseudo-code):
channelsCollection.documentsWhereIn("id",[1,7]).addSnapshotListener...

I can't find any way of actually achieving this, so the only solution I've been able to come up with is maintaining the subscribed users in the channel list
Channel
   Users
      UserId1:True
      UserId7:True
      ...

And then subscribing with
channelsCollection.whereEqualTo("users.id",myId).addSnapshotListener...

The downside is that I feel that this is a bit fragile to maintain on the channel document, in the end it's a javascript object that could easily be overridden by some mistake. I'm looking for a more granular solution.
I was considering subcollections, but saw here that I can't query based on them yet.
I think this hasn't been answered yet because:
What's the best way to get data from collections nested in documents in Firestore? - doesn't provide a solution to extracting only user-related channels/chats
Firestore query subcollections - Mentions that I can't query based on subcollections


Homozygotes for this are estimated to have a 4-5% increased risk for age related macular degeneration (ARMD) (total risk of 12-13% compared to average lifetime of 8%). Heterozygotes have average or slightly lower risk, and non-carriers have 4-5% lower risk. ARMD impairs sharp vision as age progresses. While there is no cure, treatment can slow progression of the disease and environmental factors (smoking and obesity) contribute to higher risk.
Associated with a decreased risk for age related macular degeneration (ARMD). Homozygotes for this have a 4-5% decreased attributable risk (3-4% vs. average 8% risk), heterozygotes have slightly lower than average risk (7%). Non-carriers have an increased risk (12-13%). ARMD impairs sharp vision as age progresses. While there is no cure, treatment can slow progression of the disease and environmental factors (smoking and obesity) contribute to higher risk.
This rare variant was found heterozygously (presumed acting in a dominant manner) in a single sporadic case of atypical hemolytic-uremic syndrome — a potentially lethal medical emergency, usually occurring in childhood. Although predicted to be disruptive, observations of the variant lack statistical significance.


Most of the individuals are interested in playing casino games. Here, they are facing confusion when it comes to choose the final source such as – online or offline. You need to choose the best vegas casino which can provide quality services. According to some individuals, online casinos are not a good option.
There are various benefits associated with the option of online casinos. In the upcoming factors, I'm going to explain some major benefits of availing online services.
For the playing casino games in the land-based casinos, the individuals are required to follow a small registration process. On such table, there is a big queue available. It leads to lots of issues and wastage of time. The way of online casinos is free from all these things. No one needs to be a part of queues.
Mainly the land-based casinos are full of people and crowd. Due to all these things, the individuals may face issues when it comes to play games and get enjoyment. In the case of online casinos all these factors are changing completely. No one needs to face the crowd or lots of individuals. The interested ones can access it from home and easily get entertained.
When it comes to access the services of an online casino, then you can enjoy it in a comfortable environment. Mainly in the land-based casinos, the individuals face the crowd and some other uncomfortable conditions creating elements. In case of vegas casino online, the individuals do not need to visit anywhere. They can enjoy such elements at home.
If you are considering the way of online casinos, then you can avail the bonus facility. This particular service is becoming highly beneficial in boosting the income or reward money that can be received by the players. The bonuses are provided by the online casino at different activities such as – deposit, withdrawal, victory and so on.
Some individuals think that the way of online casino is available for the kids. In reality, the complete system is working as the land-based ones. Here, the interested ones are able to play Vegas casino games by investing real money. When they win the game, the reward is also provided in real money. The players are able to redeem money by transferring into a bank account.
Everything You Need To Know About Pokie Machine?


Boxer Machine is one of the biggest hits for any party.
Throw your best punch! The Boxer Machines Arcade Game can handle it. Featherweight or heavyweight, flyweight or middleweight, it will take on all-comers who want to test their punching power.
Boxer Machines Arcade Game for rent is the ultimate test of speed and strength. Push the start button and test your skills for a round. Competition is encouraged as gamers rival for the highest score! Records the single highest score and features three skill modes: strength, speed and reflex.
Video Amusement delivers rented Boxer Machines Arcade Game Rentals in California, San Francisco, San Jose, Santa Clara, Santa Cruz, Palo Alto, Monterey, Salinas, Sacramento, Los Angeles, San Diego, Silicon Valley, East Bay, Central Coast and Bay Area cites as well Las Vegas Nevada. We have multiple units in stock and ready for your guests to enjoy.
Our graphic team can also customize rented Boxer Machines Arcade Game with your company logo or custom graphics to make your company stand out at any event or trade show. Let's have a challenge with our Boxer Machines Arcade Game!


Hi - small thing - but my client has picked up on it... when you go to the Forum Members page in the search box it says Display Name or Nicename - that should be Nickname... I'm not sure where to fix that - my client has a managed wordpress site so I can't access the files through ftp... is this something you could update and simply update the plugin itself?
All wpForo phrases are located in Dashboard > Forums > Phrases admin page, you can find those phrases and change as you like.


We take great satisfaction in creating a piece of furniture for somebody's home or business. Every project starts with a blank piece of paper and a conversation with the customer. From this we get to understand what exactly the client needs. It could be as simple as shelves for an awkward space or a free standing cabinet or a dining table, what matters is getting to understand the customer's taste, needs, and expectations. We don't think people necessarily need more 'stuff'. We focus on creating stand alone pieces - products you'll have for a lifetime. We love seeing how a single clever piece can transform a space.


Thursday, December 20, 2012. Tiger Schulmann's Mixed Martial Arts Center of Mount Kisco is teaming-up with Hope's Door to host a free Women's Self-Defense Seminar on Thursday, December 20th, 2012 from 7 p.m. to 9 p.m. Local women are encouraged to join instructor Joshu Larry Byrnes along with Joshu Gillian Grandy and members of Hope's Door to learn life-saving martial arts techniques and safety information to promote confidence and help deter domestic abuse. Hope's Door is a private, non-profit organization that focuses on aiding victims of domestic abuse in Westchester. This free seminar is open to the public but space is limited. To reserve your space please call 914-244-0963 or email us at mountkisco@tsk.com . The seminar will be held at Tiger Schulmann's Mixed Martial Arts Center of Mount Kisco located at 222 E Main St, Mount Kisco, N.Y. For more information about Tiger Schulmann's of Mount Kisco and Hope's Door please visit www.mountkiscomma.com and www.hopesdoorny.org.


The meaning of my life – Who is Paffman?
What is life really about? I am prepared to say NOBODY knows. Maybe someday a long time from know, life, not necessarily humans, will discover the true meaning of life, the true spiritual reason for life's existence.It could be in 100 years, but that is unlikely, maybe 1000 years, but more than likely in 10s of thousands of years from now. All I know is that we are so far from it at this point in time, that it won't be in my lifetime.
Therefore what is the purpose of my life? For there is no reason to live if life has no purpose. If you don't have a reason for doing something then you shouldn't do it. Look at every aspect of a person's life. Everything that we do has a reason, be it a logical life sustaining reason, or an illogical immoral reason, everything we do has a reason.So why live if you don't have a reason to live?
My reason for living has changed many times throughout my life. It has included everything from an enormous fear of death to an absolute profound enjoyment of living.But why am I here? Is having a reason to live merely the purpose of my life? What is the purpose of life if its only reason is the avoidance of death? Therefore a reason to live isn't enough to explain the purpose of life.
So what is the purpose of one's life? To me it must be decided by the individual, because although nobody may know THE meaning of life, we can each have A meaning of our own lives, a purpose for living.
An individual's purpose may be as noble as helping other humans or other life forms to survive. It may be as shallow as to live hard, die young and leave a god looking corpse. It may be as simple as to procreate and raise children and grandchildren and continue bloodlines. It may be as immoral as ethnically cleansing the world. As honourable as living to defend one's country. As joyess as making others laugh. The purpose for living can be just about anything.
So what is the purpose of my life? At this stage in my life I see two main purposes for living. One is that I want to exist long after my mortal life has ended. I have a dream that centuries after my death I will still exist. Be it purely in the binary code of a computer's hard-drive, on pages of an ancient book, in the anecdotes of a wise old grandfather, the lectures of a university professor, in the name of a newly discovered galaxy, or in the heart and minds of millions. I desire to be remembered, spoken about, written of, admired or even loved long after my mortal body has decomposed two metres below the earth's surface, for if I am I will still exist.
So one of my purposes for living is to defeat my own mortality and exist long after my life has ended. The truth is this is often the reason serial killers and madmen act the way the do. Adolf Hitler, Greg Dahma, Gangus Khan etc will be/are remembered long after their deaths. So am I a madman? I should think/hope not. Noble men are also remembered. Take Einstein, Galeleao, Aristotle and alike, they are remembered. I too want to be remembered as a noble man. I want to leave a profound, good mark on the world.
This leads into my second purpose for living. I would like to propel life closer to discovering its own meaning. Although I cannot hope to discover THE meaning of life, I believe I can help future generations discover it. Just like the workings of technology, whereby one person's ideas are extrapolated upon, refined and enhanced by others (Alexander Bell came up with the telephone, we now have mobile phones the size of match boxes), I hope my ideas, efforts and achievements may be used to propel life closer to discovering it's true spiritual meaning. It may just take my money. Money I donate to space research, to a philosophy academy or whatever. As yet I do not know how, hopefully some day I will propel life closer to spiritual enlightenment.
It would be fantastic, superb, amazing, spectacular, marvellous, brilliant, terrific, wonderful, magnificent… if I could achieve my goal of existing long after my death by being remembered as the person who help propel life closer pure spiritual understanding and enlightenment. Both my purposes for living would be fulfilled and I could rest in peace. The likelihood of this: very very unlikely.
As long as I can do something profound with my life I will be happy. What that something profound will be I do not yet know, but I am confident one day I will achieve something profound and in doing so will achieve at least one the purposes I have set for my life.


I've started this new habit of choosing one thought or phrase, often called an "affirmation" (a.k.a positive self-talk), at the start of each week. I put this phrase in my phone, write it on my list of things to do for the week, anywhere I know I will come across it frequently as the week goes on. The phrase can be anything from "Don't sweat the small stuff" to, this week's, "I am fearless". It can be anything I am feeling in that moment that may need a bit of extra special attention. I notice that by physically putting the phrase in places I will see rather than just trying to remember to tell myself often adds a sort of emphasis. Typically, my mind is going in several different directions at once and while constantly trying to juggle the things in front of me usually means there isn't any extra room for little reminders like, "Believe in yourself a little more".
It's important to find the thing you may be struggling in in a particular moment and pay it a little added attention. You'd be amazed at how much you can train your mind into not only thinking but also believing in something when you are consistent in the saying or the doing. This applies to both positive and negative thoughts. More often than not our minds have a way of convincing ourselves of things that don't actually exist, we are the very creator of our own fears, feed our ideas with self-doubt, subconsciously or not subconsciously put ourselves down by comparing ourselves to others and convince ourselves that we are less than enough. In reality, all of this can be eliminated by the simple practice of telling yourself otherwise. I say simple, and you're probably thinking I'm exaggerating, but it really is as easy as writing down a thought that you'll be reminded of frequently. So frequently, in fact, that sooner or later you'll actually believe it.
There are various studies out there that prove how incorporating positive affirmations into your life actually do impact your emotional state in an impactful way. These repeated words of positivity, in turn, will also have an effect on your physical state by reducing stress, which over time, can result in heart problems, weight gain, muscle tension and pain, stomach disorders and disrupted sleep.
It's no wonder there are so many great resources out there that show you how to incorporate these positive vibes into your life. In just a short time of doing so, I can already see a small change in how I react to certain situations, how I approach and work through problems, how I interact with others and how I feel about myself. Although, it isn't an over-night fix, it certainly is worth the little extra effort making this a part of my day. I encourage you to give it a try, even if you don't feel you need it. Everyone can always use a little reminder of just how awesome of a human they have the potential to be.
Psychology Today: Affirmations: The Why, What, How and What If?
Speaking of awesome, these waffles are the perfect example of that. Truthfully it was more of an accidental recipe that went surprisingly right. This recipe is the perfect way to start your day (along with your positive affirmation, of course) and can be made to enjoy with either savory or sweet toppings! Nothing beats a healthy, gluten-free, dairy-free waffle recipe packed with sweet potato!
In a blender combine all of the ingredients except the add-ins if using.
Pulse on high until you achieve a smooth consistency.
If using add-ins fold in by hand.
Coat your pre-heated waffle iron with cooking spray and ladle one quarter of the batter onto the iron and close lid. Let cook as directed for your specific iron until golden brown (timing may vary).
Remove the waffle and set aside to cool. Repeat step 3 for the remaining waffles.
Serve waffles warm with your favorite toppings. Just a little syrup is perfection!


text:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Reflection;
using System.Text.RegularExpressions;
using log4net;
using Nini.Config;
using OpenMetaverse;
using Nwc.XmlRpc;
using OpenSim.Framework;
using OpenSim.Framework.Communications;
using OpenSim.Framework.Communications.Services;
using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Capabilities;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Interfaces;

namespace OpenSim.Region.CoreModules.Hypergrid
{
    public class HGStandaloneLoginModule : IRegionModule, ILoginServiceToRegionsConnector
    {
        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

        protected List<Scene> m_scenes = new List<Scene>();
        protected Scene m_firstScene;

        protected bool m_enabled = false; // Module is only enabled if running in standalone mode

        protected HGLoginAuthService m_loginService;

        #region IRegionModule Members

        public void Initialise(Scene scene, IConfigSource source)
        {
            if (m_firstScene == null)
            {
                m_firstScene = scene;

                IConfig startupConfig = source.Configs["Startup"];
                if (startupConfig != null)
                {
                    m_enabled = !startupConfig.GetBoolean("gridmode", false);
                }

                if (m_enabled)
                {
                    m_log.Debug("[HGLogin]: HGlogin module enabled");
                    bool authenticate = true;
                    string welcomeMessage = "Welcome to OpenSim";
                    IConfig standaloneConfig = source.Configs["StandAlone"];
                    if (standaloneConfig != null)
                    {
                        authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true);
                        welcomeMessage = standaloneConfig.GetString("welcome_message");
                    }

                    //TODO: fix casting.
                    LibraryRootFolder rootFolder = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;

                    IHttpServer httpServer = MainServer.Instance;

                    //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
                    m_loginService
                        = new HGLoginAuthService(
                            (UserManagerBase)m_firstScene.CommsManager.UserAdminService,
                            welcomeMessage,
                            m_firstScene.CommsManager.InterServiceInventoryService,
                            m_firstScene.CommsManager.NetworkServersInfo,
                            authenticate,
                            rootFolder,
                            this);

                    httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod);
                    httpServer.AddXmlRPCHandler("check_auth_session", m_loginService.XmlRPCCheckAuthSession, false);
                    httpServer.AddXmlRPCHandler("get_avatar_appearance", XmlRPCGetAvatarAppearance);
                    httpServer.AddXmlRPCHandler("update_avatar_appearance", XmlRPCUpdateAvatarAppearance);

                }
            }

            if (m_enabled)
            {
                AddScene(scene);
            }
        }

        public void PostInitialise()
        {

        }

        public void Close()
        {

        }

        public string Name
        {
            get { return "HGStandaloneLoginModule"; }
        }

        public bool IsSharedModule
        {
            get { return true; }
        }

        #endregion

        protected void AddScene(Scene scene)
        {
            lock (m_scenes)
            {
                if (!m_scenes.Contains(scene))
                {
                    m_scenes.Add(scene);
                }
            }
        }

        public bool NewUserConnection(ulong regionHandle, AgentCircuitData agent, out string reason)
        {
            reason = String.Empty;
            return true;
        }

        public void LogOffUserFromGrid(ulong regionHandle, UUID AvatarID, UUID RegionSecret, string message)
        {
            Scene scene;
            if (TryGetRegion(regionHandle, out scene))
            {
                 scene.HandleLogOffUserFromGrid(AvatarID, RegionSecret, message);
            }
        }

        public RegionInfo RequestNeighbourInfo(ulong regionhandle)
        {
            Scene scene;
            if (TryGetRegion(regionhandle, out scene))
            {
                return scene.RegionInfo;
            }
            return null;
        }

        public RegionInfo RequestClosestRegion(string region)
        {
            Scene scene;
            if (TryGetRegion(region, out scene))
            {
                return scene.RegionInfo;
            }
            else if (m_scenes.Count > 0)
            {
                return m_scenes[0].RegionInfo;
            }
            return null;
        }

        public RegionInfo RequestNeighbourInfo(UUID regionID)
        {
            Scene scene;
            if (TryGetRegion(regionID, out scene))
            {
                return scene.RegionInfo;
            }
            return null;
        }

        protected bool TryGetRegion(ulong regionHandle, out Scene scene)
        {
            lock (m_scenes)
            {
                foreach (Scene nextScene in m_scenes)
                {
                    if (nextScene.RegionInfo.RegionHandle == regionHandle)
                    {
                        scene = nextScene;
                        return true;
                    }
                }
            }

            scene = null;
            return false;
        }

        protected bool TryGetRegion(UUID regionID, out Scene scene)
        {
            lock (m_scenes)
            {
                foreach (Scene nextScene in m_scenes)
                {
                    if (nextScene.RegionInfo.RegionID == regionID)
                    {
                        scene = nextScene;
                        return true;
                    }
                }
            }

            scene = null;
            return false;
        }

        protected bool TryGetRegion(string regionName, out Scene scene)
        {
            lock (m_scenes)
            {
                foreach (Scene nextScene in m_scenes)
                {
                    if (nextScene.RegionInfo.RegionName.Equals(regionName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        scene = nextScene;
                        return true;
                    }
                }
            }

            scene = null;
            return false;
        }

        public XmlRpcResponse XmlRPCGetAvatarAppearance(XmlRpcRequest request, IPEndPoint remoteClient)
        {
            XmlRpcResponse response = new XmlRpcResponse();
            Hashtable requestData = (Hashtable)request.Params[0];
            AvatarAppearance appearance;
            Hashtable responseData;
            if (requestData.Contains("owner"))
            {
                appearance = m_firstScene.CommsManager.AvatarService.GetUserAppearance(new UUID((string)requestData["owner"]));
                if (appearance == null)
                {
                    responseData = new Hashtable();
                    responseData["error_type"] = "no appearance";
                    responseData["error_desc"] = "There was no appearance found for this avatar";
                }
                else
                {
                    responseData = appearance.ToHashTable();
                }
            }
            else
            {
                responseData = new Hashtable();
                responseData["error_type"] = "unknown_avatar";
                responseData["error_desc"] = "The avatar appearance requested is not in the database";
            }

            response.Value = responseData;
            return response;
        }

        public XmlRpcResponse XmlRPCUpdateAvatarAppearance(XmlRpcRequest request, IPEndPoint remoteClient)
        {
            XmlRpcResponse response = new XmlRpcResponse();
            Hashtable requestData = (Hashtable)request.Params[0];
            Hashtable responseData;
            if (requestData.Contains("owner"))
            {
                AvatarAppearance appearance = new AvatarAppearance(requestData);

                // TODO: Sometime in the future we may have a database layer that is capable of updating appearance when
                // the TextureEntry is null. When that happens, this check can be removed
                if (appearance.Texture != null)
                    m_firstScene.CommsManager.AvatarService.UpdateUserAppearance(new UUID((string)requestData["owner"]), appearance);

                responseData = new Hashtable();
                responseData["returnString"] = "TRUE";
            }
            else
            {
                responseData = new Hashtable();
                responseData["error_type"] = "unknown_avatar";
                responseData["error_desc"] = "The avatar appearance requested is not in the database";
            }
            response.Value = responseData;
            return response;
        }
    }

}


With over 300 days of sunshine each year, you're pretty much guaranteed fantastic weather in Sunny Beach Resort no matter when you visit. The wonderful climate offers perfect conditions for a classic beach holiday or something packed with lots of fun outdoor activities like hiking, mountain biking and sightseeing.
Sunny Beach Resort weather is always sunny and warm with summer getting the most heat with temperatures up to 28°C. The Black Sea influences the surrounding climate and brings a cool breeze to the shores, helping to lower temperatures and ease humidity levels so it's even more pleasing. July and August are the hottest months of the year with warm sea temperatures of 24°C and up to 12 hours of glorious sunshine per day.
Autumn is a great time to visit for cooler weather and fewer crowds on the beach. Temperatures in Sunny Beach Resort drop to 17°C in October with around seven hours of daily sunlight. The wettest month is November with 56mm of rain spread over seven days of the month. Things dry up towards winter, with around 48mm of rain per month. Temperatures are much cooler, with a daily temperature of just 2°C in January and chilly lows of -1°C.


A trio of hand printed wooden birds for your walls.
Three differently coloured wooden birds that come nestled in their own screen printed box.Each bird has been laser cut and then screen printed.
The largest bird measures 25cm at it s widest part.
The medium bird measures19.5 cm at it s widest part.
The smallest bird measures 16cm at it s widest part.
Each bird has a brass hanger screwed to it s back in order to wall hang them .