text:
Should I blow my upgrade on an iPhone 4S? (Ask Maggie)
In this edition, Maggie Reardon offers advice on plotting iPhone upgrade strategies now that the iPhone 5 didn't materialize. And she offers an explanation of international roaming on the new iPhone 4S "world" phone.
Marguerite Reardon
Oct. 7, 2011 12:41 p.m. PT
Marguerite Reardon Former senior reporter
Marguerite Reardon started as a CNET News reporter in 2004, covering cellphone services, broadband, citywide Wi-Fi, the Net neutrality debate and the consolidation of the phone companies.
Carrier contracts and device subsidy policies mean wireless subscribers who want the latest and greatest iPhone have to think carefully about their upgrade strategies.
In this edition of Ask Maggie, I offer some advice to one frustrated reader who has been waiting a long time to upgrade to a new iPhone. She can't decide if she should pull the trigger now and buy the iPhone 4S, or whether she should wait for the next upgrade to the iPhone, expected next year.
I also explain how the fact that Apple has used common chips for the iPhone 4S on AT&T, Verizon Wireless, and Sprint Nextel means that travelers have more freedom to use their phones when they're overseas. But at the same time, the software each carrier uses to lock these phones to their own networks, also limits where and how they can be used.
Ask Maggie is an advice column that answers readers' wireless and broadband questions. The column now appears twice a week on CNET offering readers a double dosage of Ask Maggie's advice. If you have a question, I'd love to hear from you. Please send me an e-mail at maggie dot reardon at cbs dot com. And please put "Ask Maggie" in the subject header. You can also follow me on Facebook on my Ask Maggie page.
Hedging your bets: Upgrade or wait?
Dear Maggie,
I was looking forward to Apple's next iPhone, but was a little disappointed that after 16 months of hype around the iPhone 5, Apple announced the iPhone 4S instead. Don't get me wrong, the iPhone 4S does have some nice features. But I felt like the hardware could have been a bit different to set itself apart from the iPhone 4. I currently have the original Motorola Droid from Verizon. And I'm looking to upgrade. Should I buy a phone full price with no contract and wait sometime next year for the iPhone 5? Or maybe I should get a used iPhone 4 online until the iPhone 5 comes out?
Cortney
Dear Cortney,
Let me start by saying that you are not alone. I have received lots of e-mails from readers, friends, coworkers, and even family members asking me this very question. People have been holding off on upgrading their phones and contracts with their carriers to see what Apple would announce. And since Apple kept everyone hanging on an extra three months, some people, including you, are really ready for that upgrade.
But the question remains: Should you blow your upgrade now not knowing if Apple might introduce a newly designed, fully 4G-enabled iPhone 5 in nine months? That's a good question. And to be honest, I don't know for certain what Apple's next upgrade plans will be. My best guess is that the earliest we'd see a newly designed iPhone 5 with even more functionality, including one that might support 4G LTE, is June of 2012. But there's no guarantee that the next upgrade will be that big, nor is it certain that Apple will return to its June update cycle. It could introduce a new product in October or even December next year. It's hard to say for certain.
Buying a brand new iPhone 4S without a contract is certainly one option. That will ensure that you can use your upgrade for a subsidized phone in nine months or in a year. But it's expensive. With a contract the 16GB model is $199; without a contract it's $649. The 32GB model is $299 with a contract and $749 without. And the 64GB model is $399 with a contract and $849 without one. Also, if you don't have a carrier contract, your carrier could raise rates and you may not be protected from price increases or other changes to your plan.
If you choose to go this route, the good news is that Apple products hold their resale value. So if you decide to buy a new iPhone 4S now for the full retail price, chances are you'll be able to sell it and make back some of your money. But realistically, you won't be able to recoup the full amount. And once an even newer iPhone is released, prices on previous generations dip a little bit. That said, the prices tend to plateau at a certain level. So you will likely get some money back if you resell it in the future and if you make sure the phone is still in good condition.
The benefit to getting a new phone now is that you still get to enjoy all the latest technology, such as the faster dual-core processor, 8-megapixel camera, and the Siri personal assistant app. And your phone is under warranty for a year. The accessories that come with your phone are also under warranty, such as the headset. This is key, because I find the headsets break frequently, and if your device is still under warranty, you can get the headsets replaced for free. (They're $30 a pop if you buy them.)
Of course, you could also get the phone for the reduced price and re-enter a contract. And when the next-generation iPhone is released, you could think about selling the iPhone 4S and buying the next iPhone at full retail price. The risk there is that you don't know what the price of the next iPhone will be. It's very likely the pricing scheme will stay the same, with the least expensive phone sold for $200, but you never know.
Another option is to buy a new or used iPhone 4 now. You can get the older iPhone 4 8GB from one of the three carriers for $99. eBay is listing the new iPhone 4 16GB models for Verizon's network for about $400. And you might be able to get a used or refurbished Verizon iPhone 4 16GB for between $250 and $350.
Keep in mind that the iPhone 4 for Verizon and Sprint are less valuable, because these phones only work on a CDMA network. But the iPhone 4S on Verizon and Sprint should have better resale value in the future because they can also be used on a GSM network.
I know you really want an iPhone. And I know it will be disappointing if a revolutionary upgrade is announced next year before your contract for the iPhone 4S is up. But keep in mind that all of this scheming to ensure you have the latest and greatest iPhone is not without risk. There's always a chance that you will lose some money when transitioning from one generation of the iPhone to the next before your contract is over. For some people, this may be the price they are willing to pay to keep up with Apple's latest and greatest iPhones. For others, it may not be worth it.
If I were you, I'd probably just renew my contract and get the iPhone 4S. You will be happy with all the new features. And if something else better comes out next year, you can revisit the issue then. The worst case scenario is that you have to wait another year for another iPhone. And by that time, you may decide to go back to a Google Android phone.
I'd probably offer the same advice to people with an iPhone 3GS. Go ahead and upgrade now if your contract is up. And don't worry so much about the next iPhone. As for people who currently have an iPhone 4? If you can sell your current iPhone for good money, you might consider upgrading now. But if you're not interested in the hassle or you're unwilling to dish out more cash, you might as well wait until your contract expires and you're eligible for an upgrade before making the switch.
Unlocking the truth about the iPhone 4S 'world' phone
I've seen many articles explaining the benefits to Verizon and Sprint users, who get the new iPhone 4S, because it's now a "world phone" (namely that they will be able to roam on GSM networks in Europe). But what about AT&T users? We could already roam on GSM networks in Europe, but will we now be able to roam on CDMA networks in places like China? Will AT&T make use of the CDMA capability of the new iPhone in any way? Also, will I be able to take out my SIM card and replace it with a local SIM card on a local GSM carrier's network?
Let me start by explaining some basics. As you indicated in your question Verizon Wireless and Sprint Nextel subscribers traditionally have been challenged when traveling abroad. Their phones operate on a network that uses the CDMA technology, which means their phones usually only roam on other CDMA networks. Sprint has roaming agreements with CDMA carriers in 35 countries and Verizon has roaming agreements with CDMA carriers in about 40 countries.
AT&T and T-Mobile USA use a different network technology, GSM. Because GSM is used throughout the world in more than 200 countries, including most of Europe, where no one offers CDMA, phones from AT&T and T-Mobile USA can easily roam onto those carrier networks in Europe.
To appeal to world travelers, Verizon and Sprint have begun selling some phones that they call "world" phones. These "world" phones include a GSM radio in addition to the CDMA radio. Verizon's first iPhone, the iPhone 4, was not a "world" phone, and so Verizon customers have been restricted to using their phones only on CDMA networks.
The iPhone 4S regardless of carrier will use the same dual-mode chips in their phones, which includes GSM and CDMA radios. This means that subscribers on Verizon and Sprint can roam onto a GSM network, when CDMA isn't available.
Now here is where things start to get a bit tricky and somewhat fuzzy. The AT&T version of the iPhone 4S also uses the same dual-mode chips. So it also has CDMA built in to the device. But the AT&T version of the phone will not use the CDMA functionality.
So what does this mean if you travel to China, South America, or any other part of the world where CDMA is used? Well, most if not all of these countries also have carriers that operate GSM networks. So if you are an AT&T customer traveling to China, your phone will access China Mobile or China Unicom's network, which operates using GSM. Sprint and Verizon customers will be able to access China Telecom's network, which is CDMA. But when a Verizon customer is in Europe, that customer may access Vodafone's GSM network.
You also asked about swapping your SIM card. This is another tricky question. First the basics: Phones that operate on a GSM network have SIM cards, which provide access to the network. These cards can be replaced with SIM cards from other carriers. Meanwhile, phones on CDMA networks do not have SIM cards.
One of the benefits of a SIM card is that you can pop out the card and replace it with a card from another carrier. So it makes it easy to take your phone with to another service provider. And if you're traveling abroad, it also means that you can put a SIM card from a local provider into your phone, so that you have access to the local network. Your phone number will change, and you'll have a local phone number. But you won't have to pay expensive international roaming rates from your carrier when making local calls.
But because U.S. carriers want you paying them instead of someone else for service and because they don't want to subsidize a phone that you may use on another carrier's network, they lock the phones they sell in the U.S. with special software to ensure it can only be used on their networks.
Carriers have been particularly selfish when it comes to locking the iPhone. For instance, AT&T will provide you with an unlock code for almost every other device it sells on its network after you've had the phone for a certain amount of time. But it still does not provide codes for unlocked iPhones.
That said, AT&T and Apple have begun selling unlocked iPhones in the U.S. And if you want to swap SIM cards, AT&T recommends on its "unlock" page on its Web site, that you buy the unlocked version of the iPhone. Unlocked versions of the iPhone 4S will go on sale in November.
Before you get too excited and start thinking that you can buy an unlocked phone and use it on Verizon or Sprint, let me stop you. The unlocked version of the iPhone will only have the GSM radio turned on for use. This means you can put in a SIM card from another GSM carrier, but you won't be activating the phone on Sprint or Verizon's CDMA networks. (See Apple's FAQ.)
Verizon and Sprint versions of the iPhone 4S will also lock the SIM card on the iPhone. But the companies may allow subscribers to unlock it. For example, a Verizon Wireless spokeswoman said that all Verizon "world" phones are locked as the default. However, customers may request to have the SIM unlocked when they travel overseas and use a local country SIM. They need to call Verizon Wireless before they leave the country and ask to have the SIM unlocked. There are some stipulations. You have to be a customer in good standing for 60 days (your bill has to be paid) and the phone you want unlocked needs to be active on the account.
Sprint didn't respond to a request for more information on its roaming policy. But other "world" devices are able to be unlocked. So there's a good chance the company will allow customers to call for an unlock code on the iPhone 4S as well.
I hope that explanation was helpful. Good luck and safe travels!
Correction 6:23 p.m.:This story was updated with a correction. Verizon Wireless confirmed that it may unlock the iPhone 4S for customers traveling overseas. And Sprint Nextel offers unlocking for some of its existing "world" phones.


It may look like a Band-Aid, but the "Zio" cardiac monitor can help emergency-room patients avoid unnecessary follow-ups, according to a new study by Scripps Health. Developed by iRhythmn Technologies, the 2-by-5-inch patch sticks to the skin like an adhesive bandage. Despite their severity, cardiac arrhythmias happen infrequently and are tricky to diagnose. The Zio, on the other hand, provides continuous recording of up to 14 days—significantly longer than most heart monitors on the market.
Both the extended time frame and the wireless nature of the device allow the Zio to monitor symptoms such as fainting, palpitations, and dizziness without encumbering daily activity. When the adhesive wears off, the patient only has to use the pre-paid envelope to mail it back to the manufacturer, who will analyze and report the results to the patient's physician.
When the adhesive wears off, the patient only has to use the pre-paid envelope to mail it back to the manufacturer.
Steven Higgins, chairman of the department of cardiology at Scripps Memorial Hospital La Jolla and a lead investigator, describes the invention as the "Netflix of heart-care," one that will also enable doctors to better diagnose challenging cases.
Plus, among the 285 symptomatic patients the study followed, researchers found that 59 percent of those who presented arrhythmia-like symptoms to the emergency rooms did not in fact have arrhythmia and may not require any further work-up. "Thus, the new device has the potential to save the healthcare system millions of dollars," says Higgins. Another bonus? "We were also surprised to learn that there was 100 percent compliance by the patient with the process, which is an amazing finding for an emergency department study," he adds.
Although the Zio is a single-use product, iRhythmn designed it to be completely recyclable. Metals and elements from the board, cables, and batteries are recovered and resold to their respective industries. Plastic and PVC is recycled for reuse. Even the external casing will find new life as a park bench, trash container, or parking lot.
It may look like a Band-Aid, but the "Zio" cardiac monitor can help emergency-room patients avoid unnecessary follow-ups, according to a new study by Scripps Health. Developed by iRhythmn Technologies, the 2-by-5-inch patch sticks to the skin like an adhesive bandage. Despite their severity, cardiac arrhythmias happen infrequently and are tricky to diagnose. The Zio, on the other hand, provides continuous recording of up to 14 days�significantly longer than most heart monitors on the market.


Any person 12 years of age or older, who hunts game birds or game mammals in Nevada is required to have a hunting license or combination hunting and fishing license.
A hunting license is not required to hunt unprotected wild birds (English house sparrows, European starlings and Eurasian collared doves) or unprotected mammals (black-tailed jackrabbit, ring-tailed cat, badger, raccoon, coyote, skunk, weasel and ground squirrel).
Laws regarding child support mandate that any person who is required by federal law to have a social security number must provide the number to obtain a business, occupational or recreational license. Federal Law – 42 U.S. Code § 666; Nevada Statute – NRS 502.063, 503.5833, 504.390.
Every person required to have a license while hunting, trapping or fishing shall have that license in his possession and available for inspection.
An applicant who fails to obtain a tag may obtain a refund of the fee for his hunting license if the license is not a combined hunting and fishing license and he: (a) Purchased the license solely to apply for a tag; (b) Does no hunting under the authority of the license; and (c) Submits the license to the Department on or before the last weekday of August of the year in which the license was valid. The Department shall accept the license only if it is received on or before that date.
If an applicant obtains a refund pursuant to the provisions of subsection 1, the applicant will not be awarded any bonus points as provided in NAC 502.4187.
Applications for the Sheldon National Wildlife Refuge Special Sage Grouse Hunt will only be accepted online this year. Paper applications will not be accepted. Applications will be accepted at ndowlicensing.com until 11 p.m. on Aug. 3, 2018. You can find more information on the hunt on Upland Game Bird, Rabbit, Dove & Crow.
The Apprentice Hunter License allows anyone 12 and older to hunt upland game and migratory game birds (no tagged species) for one season without first completing Hunter Education. The apprentice must have never previously held a hunting license and always be accompanied by a mentor hunter 18 or older who holds a valid Nevada hunting license and a mentor affidavit. The license is free, but the apprentice must pay associated fees and purchase any applicable stamps. The license is only available at NDOW offices.


In partnership with Cornwall Seal Group Research Trust, we commissioned the first ever assessment on exactly how ghost fishing gear is affecting the coastline of Cornwall and posing a threat to marine life.
Abandoned and lost fishing gear, known as ghost gear, includes lines, nets, pots and ropes which are a huge threat to marine animals and coastal wildlife. Entanglement in ghost fishing gear causes huge suffering to animals and in many cases leads to a painful death.
A total of 4226 new ghost gear items were recorded by volunteers on land and by World Animal Protection funded boat-based surveys during the 12 month study period, amounting to 49,917 litres or 51 tonnes from 147 different locations. 30 tonnes can equate to the size of a 45ft sperm whale.
Read the case study on the impact of ghost fishing gear in Cornwall, UK.
The images below show where entanglement has been spotted and the type of ghost gear found.
Want to know more about our sea change work?
When interaction and entanglement risks were combined 26% of all ghost gear items recorded posed a serious threat to marine animals.
Although single-use plastics are a major threat, whales in our oceans are also endangered by a much deadlier phantom menace.


Thanks Beth you and Shantel,Zoe, and Carrie and countless others have been a huge help to me getting to the point I am today. I'll never forget the last two years of my life and the people I have met.
This whole Leelah situation made me think. Because really I could have been her 20 years ago. I came out to parents who were less than trilled to find out they had another daughter. I got sent to therapist who had no clue how to deal with someone like me. And like Leelah I was hurt and felt betrayed and was angry at my parents for not understanding. And also like her I wanted to end my life because of it.
But that's where the similarities end and the point I wanted to make begins. You see I almost killed myself but luckily I didn't. Because while it was hard and I wanted to die if I had I wouldn't have lived to see my family come around and wouldn't be around to write this today. If I would have took my life I would not have all I have today. And that's my whole point we talk about Leelah killing herself but what we don't talk about what would happen if she had not taken her own life. What future would she have had? Would her family have come around as she got older? And you know what these are questions that will never be answered because she took her own life.
When I was Leelah's age I couldn't see what the future would hold for me. It was bleak at times I wanted to die at times to but I managed to find my way through those dark times. Leelah wrote in her suicide note she had no future because she was trans. And that's the whole reason I am writing this because that is the kinda message we send to the younger generation when we constantly talk about suicide rates and all the negative stuff. Where is the voice that says it will get better? Where is the voice that say's you have a future? And that is the sad thing in this whole tragedy is because everyone is thinking about Leelah. As hard as it is to say Leelah is dead she can't be helped. I'm thinking about the next Leelah the one that sees all the negative stuff and thinks she or he doesn't have a future because they are trans. I'm thinking about the ones that can still be saved. When do we as a community stop talking about the problems with being trans and stop making it look like it's the worst thing ever? And start saying you have a future and it is as bright as you want it to be. Because really you never know who's reading all the negativity and believe they don't have a future.
A whole lotta negativity. I think it's wonderful that you pointed this out, because I had not seen it mentioned anywhere (and I myself hadn't thought of it)...the cliche "It gets better" is hollow and cruel to someone who can only see (because they are shown only) the negatives (granted also that teens often have a triple dose of angst, which requires much more real and evident good things to bear that period of adolescence).
For me, the only thing that let me hang on (and just barely) were stories of hope, even simple pictures of trans women that looked great. Those things made me feel like maybe there really was a chance to live a normal life after transition. It saved my life, cuz I was without hope, and hopelessness was the thing that made me give up. And I had 100% given up.
But I have found that if you try to paint too rosy a picture you will get accused of setting unrealistic expectations. I think this should stop. It is actually painting a bleak picture that is the dangerous thing. It's fine to be realistic, it's great to vent, even though that means putting negative energy out, cuz venting helps us cope.
But I think hope is the thing that saves lives, and we should keep that in mind sometimes.
Ditto. If I'd have been able to see my future self, how I am now, back when I was a teenager, I wouldn't have fallen into so much despair.
Being visible, and showing people that it really is possible to transition as an adult and not just be "a freak" as so many teenagers assume adult trans women are, makes a big difference.
I lived in fear for years believing this. And what finally pulled me out of that was this site's "Before and After," as well as Youtube transition timelines from other girls who were just as big and just as masculine as me pre-transition and yet still transitioned to looking almost completely female. That was the first time I realized that there was hope. And it was the first time that I'd been exposed to trans people telling their own stories rather than the media picking and choosing which aspects of the story to tell.
It's been a long time since I posted here. It's crazy to think how much has happened in my life since I wrote this blog. But last week I finally had my final surgery related to this transition so I thought I would be nice to revisit where it all began. I never thought when I wrote this blog I would be sitting here today in a hotel room in California looking back on where I've been and where I would be going. Life is funny like that I guess, I suppose I'm writing this one out of boredom two out of a desire to show those that come after me there is light at the end of the tunnel. When I first started this transition I didn't know if it would work out or not it scared the crap out of me honestly. I thought I'm just going to end up a freak show that will be picked on and laughed at the rest of my life.
But a strange thing happened over the last six years none of that happened actually sure I was scared but soon that fear turned into happiness and I learned that I was so much stronger than I had ever realized. Early in my transition the stuff I thought was so important wasn't really that important in the end. At times I was wrong in beliefs or you could say I had a less open mindset at the beginning. But that's a part of growing up and that's what the past six years have been me growing up into the woman I am today.
The woman I am today is very much different than what I was at the beginning. I'm a partner to a wonderful woman I'm a parent something at the beginning of this journey I believed would never be a possibility. It's still crazy to think I have a kid that calls me mom. But that has all happened because I took that initial risk of just living as myself, which looking back on it was less of a risk than actually living that lie I was living before.
For all the change that has happened over the last few years the most I feel the most important thing is I learned who I was and ultimately everything else fell into place. Last week when I went into that operating room I didn't look at it as a comformation of who I was, but the final sentence of the chapter I started writing 6 years ago. Because I am today the person that started with the beginning of this chapter of my life.
So in closing if anyone finds this post and is scared about all that lies ahead of you. Don't be, just be more afraid of not becoming the person you was meant to be in life.
Heather, congratulation on your surgery and being yourself. Thank you for coming back and letting people know of your great outcome. You were a bit before my time here, but I am happy to see you happy.


text:
Fire companies battle 'huge decline,' leadership critiqued
Fire engines line the bay of Montoursville's Volunteer Fire Department. ANNE REINER/OnthePULSE
As numbers dwindle and training requirements go up, volunteer fire companies struggle to replenish their ranks with qualified firefighters willing to put their lives in danger for others.
Time demands and leadership pitfalls are the main reasons for a serious decline in membership, area experts say.
Firefighting is a
'young person's game'
"There has been a huge decline," said Todd Heckman, Williamsport Bureau of Fire chief. "Not a little decline, but a huge drop in volunteers and, also, a decline in the kind of volunteers. There is no work ethic. They like to think they are firefighters even though they have no training. But this is a hobby that will kill you."
You wouldn't want someone who isn't trained on duty to save your family's memories from turning to ash. This is why "just OK is not OK," Heckman said, likening it to a recent television commercial: You wouldn't want just an OK surgeon or crane operator either.
'Only as strong as your leader'
The city chief attributed the decline in volunteers to leaders who are content with continuing the "status quo."
"You are only as strong as your leader," Heckman said. "I started as a volunteer in Muncy and when I was assistant chief, I thought, 'Maybe I can change things.' You surround yourself with good people and suck up the pride and start by saying it doesn't matter whose name is on the truck. There are chiefs that have been in their position forever and are just maintaining the status quo and keeping people and new ideas squished down."
Leadership is key to Scott Konkle, fire chief at Montoursville Volunteer Fire Co. He said to keep an active volunteer base chiefs need to rethink what they are doing because "that is why fire departments are dying."
"Sometimes the people up top need to step back and think about why they are here. It's for the community," Konkle said. "I won't ask my guys to do anything I won't do. We will celebrate our 125th anniversary this year. It's my life, it was my father's life, my brother's, and my kid is in it."
Unlike most fire companies that have trouble bringing in younger volunteers, Konkle, 57, said he only has about five or six firefighters over 60 years old, while the majority are in the mid-20s range.
"Our numbers and the age of our firefighters is a credit to the whole department," he said.
Steep training requirements
Becoming a firefighter involves more than learning how to connect a fire hose to a hydrant or rescue people from buildings. Fire education classes impart valuable lessons but can be a deterrent for new volunteers due to the hours upon hours of training.
"There is an endless amount of courses," Konkle said.
Beginners take an introduction to fire service course that encompasses 16 hours. Another course, firefighter I essentials, involves about 200 hours and its follow-up, firefighter II, covers 80 hours with lessons in topics including advanced rescue skills.
Hazmat training on fuel and chemical skills takes 16 hours. Basic vehicle rescue for accident scenes consumes 40 hours.
The number of hours involved in each course has changed over the years. For instance, in the 1980s, the firefighter I course took 48 hours, said Bob Whitford, Trout Run Volunteer Fire chief. Now it's more than four times as long.
"Trying to find a volunteer willing to take that amount of training is tough. Everyone is busy and now the training is so regimented and the instructors are not as flexible as they used to be," Whitford said. "It's important to be structured but I believe we are hurting ourselves volunteer wise."
Trout Run Volunteer Fire Co. has 15-20 active members. The oldest member is 82 and the youngest is 14, with the average time of service at about 22 years, Whitford said.
"So the majority of our people are on the older side," Whitford said, who has been a Trout Run member for 37 years and fire chief for 17 years.
"A two-fold situation"
"Some areas have seen a 90 percent decline in numbers since the 1970s," said Joe Hopple, director of emergency services for Old Lycoming Township. "It's a two-fold situation. It takes more time to volunteer and people have less hours to give. Most people work longer hours and have multiple jobs and two-income households and with splitting child care and the pressure on families, it's hard to budget hours."
You can jump on a fire truck and don't have to have training, Konkle explained of Pennsylvania regulations. But most companies do require training due to liability.
"Some places, sadly, are more desperate than others and don't require training," said Joe Hanstine, a Montoursville volunteer firefighter and paramedic EMT.
According to John Yingling, director of the Lycoming County Department of Public Safety, Pennsylvania does not have one set standard of training requirements for firefighters except the hazardous training recognition course and state forestry training.
"You can basically walk in off the street and the fire chief can hand you a full set of turn-out gear and say, 'There you are sport.' But you will probably be a danger to yourself and those around you, so most fire companies have adopted more stringent training," Yingling said.
The training becomes even more important with the dwindling number of volunteers and the number of emergency calls rising each year.
A catch-all for everything
"People call 911 for everything," Hopple said. "We never used to be called to lift someone back into bed. People use to call their neighbor."
Fire departments have become catch-all's, Whitford added. "If a power line falls, a fire truck goes to the site and waits until PPL arrives," he said. "When a tree falls on the road the fire company is called to cut it up."
"The biggest amount of calls is for lift assist, which are people who have fallen and have no help," Konkle said. "In my eyes, that is becoming very abusive, because I'll ask people do you have any relatives you could call? And they will answer, 'Yes, but I didn't want to wake anyone.' But what they don't realize is they just woke about 40 people. And I don't know how to fix that because some people don't have anyone else."
Most firefighters are trained for emergency medical services, (EMS). Konkle said they receive 350 fire and rescue calls a year compared to 1,000 EMS calls.
Montoursville Volunteer Fire Co. has nine off-duty paramedics who are firefighters, which is rare. Paramedics have a higher knowledge of medical training than emergency medical technicians; 2,000 hours compared to 200 hours, Konkle explained.
Building alliances
Every fire company in the community is involved in mutual aid agreements, Konkle said. If there is a multi-alarm fire Montoursville will go to Williamsport to help. A new alliance began in May with Montoursville supporting the EMS transport service for Plunkett's Creek Volunteer Fire Co. from 6 a.m. to 6 p.m. There will be a 90-day trial period, he explained.
"Out of the 30 volunteer fire companies in the county, 25 were surveyed in 2016, and excluding paid emergency medical service personnel, there were 863 volunteers in the county involved in fire, EMS or fire police duties," Yingling said. "This is still a shortfall. The highest demographic was 235 males age 41 to 59 and 52 females age 41 to 59; so you can see our emergency services are greying."
Renewed motivation in 2018 has drawn in a younger crowd, Yingling said. Of the 10 companies surveyed so far, the largest number of recruits are males and females from 14 to 24 years old.
Some of that percentage is due to companies starting to reach out to area schools and receive help through the live-in programs.
"We look at what would it take to motivate an 18- to 20-year-old into volunteering," Yingling said.
Tags: fire companies, lycoming county, montoursville, old lycoming, trout run, volunteers, williamsport
Lycoming County works to fill short-handed VA office
Firefighting is a 'young person's game'
On the PULSE May 6, 2019
P.J. Moldovan says:
Chief I cannot agree with you more. I have and currently still serving as Chief of my department since 1993. I am a strong believer in training, and push it strongly to my members. I have belonged to this department since 1985, at that time we had 45 active members and ran 60 to 80 calls per year. Today I have 26 active members and run 500 to 600 calls per year, with no new members coming into the department. I feel the state fire commissioner needs to re-exam the training hours, these hours I believe are getting out of hand and deterring future membership. I think alot of these hours can be shaved down and also be put on line through computers where members can sit at home while watching their children with testing to be done online, then practical done at testing sites.
Domestic disturbance calls dominate Williamsport's 2021 crime statistics
Anne Reiner January 19, 2022
'Conflict of interest': Williamsport connection to Hiawatha, employee compensation raises questions
Anne Reiner December 20, 2021
'We want to do it': The Marines who are dedicated to Toys for Tots
'A lot of shock': Family's battle with daughter's cancer diagnosis
Anne Reiner November 27, 2021

redpajama_set_name: RedPajamaCommonCrawl


If you've ever experienced dropped calls or lack of service inside a building, then you can understand the importance of DAS. Distributed Antenna Systems are intended to extend and enhance wireless communication within structures. We specialize in designing and implementing optimized DAS so your business can benefit from wireless technology. Venue owners, building investors, hotel corporations, and contractors alike want their buildings to support multiple carriers and multiple users throughout or they can face challenges in tenant or client satisfaction. Strong connection signals are only possible with quality RF Engineering. Archis RF engineering services ensure the performance of your wireless networks is always optimized and that you're meeting all FCC regulations.
Archis DAS Solutions and RF Engineering Services make you and your clients, customers, or patients happy by working flawlessly and quickly. Stay updated in the wireless world we live in!
Data collection is a vital step in the RF design process that provides a solid validation to design objectives. Here at Archis we perform tests, analyze data (if required), and provide a full package of the Drive tests meeting your expectations and deadlines.
Archis uses one of the industry's leading desktop-drive test post processing tools for analysis – Nemo WindCatcher and MapInfo. They have extreme robust features for powerful data aggregation and analytical functionality, one-step analysis, and detailed reporting.
Archis provides well-trained RF system Engineers for you network troubleshooting and support services. Hub and Field Engineers offer support for Acceptance Test Procedures (ATP) and commissioning of systems like Corning TE, Corning ONE, and CommScope. ATP ensures the network is functioning to the utmost capability.
Archis provides maintenance and support for DAS systems. Archis has highly trained and vendor-certified engineers for maintenance and trouble-shooting support. Archis is vendor certified and holds partnership and certification levels with many technology companies.
Archis provides skilled project managers to assist our customers in achieving their business objectives. Our certified Project Management Professionals coordinate and manage field teams and support engineers. We assist with and provide budgets for large projects and can also work with your Engineers on project planning and deadlines. Archis PMs believe in excellent communication, providing weekly project updates to our clients.


text:
Scientists Develop Milk Protein-based Plastic Foam for Extreme Environment Applications
Published on 2021-06-17. Edited By : SpecialChem
TAGS: Nanotechnologies High Heat Materials
A new high-performance plastic foam developed from whey proteins can withstand extreme heat better than many common thermoplastics made from petroleum. A research team at KTH Royal Institute of Technology reports that the material, which may be used for example in catalysts for cars, fuel filters or packaging foam, actually improves its mechanical performance after days of exposure to high temperatures.
Protein-based Foam Improves with Aging
Researchers from KTH Royal Institute of Technology in Stockholm say the research opens the door to using protein-based foam materials in potentially tough environments, such as filtration, thermal insulation and fluid absorption.
The basic building blocks of the material are protein nanofibrils, or PNFs, which are self-assembled from hydrolyzed whey proteins—a product from cheese-processing—under specific temperature and pH conditions.
In tests the foams improved with aging. After one month of exposure to a temperature of 150°C, the material became stiffer, tougher and stronger, says the study's co-author, Mikael Hedenqvist, professor in the Division of Polymeric Materials at KTH.
"This material only gets stronger with time," Hedenqvist says. "If we compare with petroleum-based, commercial foam materials made of polyethylene and polystyrene, they melt instantly and decompose under the same harsh conditions."
Water-resistant Stabilized Material
Proteins are often water-soluble, which poses a challenge when developing protein-based materials. Despite this, the material proved water-resistant after the aging process, which polymerized the protein, creating new covalent bonds that stabilized the foams. The foam also resisted even more aggressive substances—such as surfactants and reducing agents —that normally decompose or dissolve proteins. The crosslinking also made the foam unaffected by diesel fuel or hot oil.
The material also showed better fire resistance than commonly used polyurethane thermoset.
"This biodegradable, sustainable material can be a viable option for use in aggressive environments where fire resistance is important," Hedenqvist says.
Potential applications include providing support for catalytic metals that operate at higher temperatures, such as platinum catalysts for automobiles. The material could conceivably work as a fuel filter, too.
Other possibilities are to use it as packaging foam and in applications for sound and thermal insulation where higher temperatures may occur and where there is a risk of an aggressive environment.
Source: KTH Royal Institute of Technology
Innovative eco-friendly silicone system for textile printing industry
Achieve enhanced durability, comfort and safety
Discover Sustainable silicone elastomers for textile coating applications
Exhibits excellent elasticity for printing on high stretch substrates
Achieve enhanced durability, comfort and safety...
Channel Alerts
Receive weekly digests on hot topics
Receive your alerts


Some distros will show you how many downloads they've had, but that's not an accurate representation of the actual number of users. NEMS Anonymous Stats conducts a daily check-in, providing a true overview of real world NEMS usage. It's my hope that by observing this data you can select the right hardware for your NEMS deployment.
As a niche product, I don't expect NEMS Linux to become a huge distro with millions of users, but it is encouraging to see a consistent growth curve, and that most users are keeping on top of their updates.
I am immensely proud to see that as of today, 674 NEMS servers are actively reporting in from all over the world.
Of all the devices which have checked in today, here is a comparison of which device platforms are running NEMS. A "bad" device is a unit that is reporting abnormal stats, usually caused by a bad SD card.
This graph shows the total number of NEMS servers that checked in each day.
This graph shows the running versions of NEMS Linux that have checked in, broken down by date.
This graph shows devices NEMS Linux is running on.
NEMS Linux runs an after-hours benchmark once per week and logs the server's score anonymously and securely. This provides us a real-world accurate overview of the performance of each platform. Scores are based upon CPU and Mutex performance.
Undecided about which platform to use for NEMS? Here are the performance scores of today's checked-in NEMS Linux servers. Higher score means better performance overall.
Rank the performance of NEMS Linux Professional Series servers based on NEMS Performance Score. Higher value means better performance. Lower value means lower performance.
Rank highly-affordable single board computers against one another based on NEMS Performance Score. Higher value means better performance. Lower value means lower performance.
Based on the performance of each board and its retail price, a Giggle value has been calculated.
The lower the Giggle (Ģ) the better the value. A high Giggle value means the board is expensive for its performance. A low Giggle value means the retail price is low when compared to the performance. Boards on further left are the best value for the money. Boards to the right are the worst value for what you get.
NEMS has been optimized to provide a good feature-to-performance ratio on this board.
NEMS has been optimized to provide a good feature-to-performance ratio on this board. With twice as much RAM as the Raspberry Pi 3, this is a real performer!
NEMS has been optimized to provide a good feature-to-performance ratio on this board. With twice as much RAM as the Raspberry Pi 3, plus 8 CPU cores, eMMC, USB 3 and true gigabit Ethernet, this board is a real performer!
This board has been optimized to work with NEMS Linux, however it has half the minimum recommended RAM. Performance will suffer.
NEMS has been optimized to provide a good feature-to-performance ratio on this board. Due to the extremely low amount of RAM on this board, a higher than normal amount of swapping may be required which will reduce the life of your SD card.
NEMS has been optimized to provide a good feature-to-performance ratio on this board. Due to the low amount of RAM on this board, performance may suffer at times.


If you are regular investors of Mutual fund than you must be aware of this fact but for the new investors, it is necessary to understand the difference between Direct Plans and regular plans of mutual fund. Since after introduction of mutual funds scheme, there are not so much schemes, but now we have daily new schemes are introduced on mutual funds.
Since it gives best returns in mutual fund, in last 1 one year, many new investors has started investing in mutual fund schemes via SIP. But most of them are not aware of the fact that Direct plans are regular plans are different thing. So, here we are explaining the difference between two plans.
No, direct plans and regular plans are not different category, in fact you can find same mutual fund scheme with same name but different tag of direct plan and regular plans. The first direct plan was introduced in 2013 only and after that many rating agencies were not even rating direct plans of mutual funds but now, valueresearchonline.com and morning star, started rating direct plan separately.
Regular plans: - In regular plans, mutual fund house or Assets under Management (AMC) will charge you with trail fees, distributor expense or transaction charges.
Direct Plans: - In Direct Plans, you will be dealing with directly to Assets under Management, so you will be not charged with those other charges. Direct means direct, no intermediate, no middle man, direct deal with MF houses.
Why we should always invest in Direct Plans?
If you have observed with few mutual fund plans where they mentions you with expense ratio. Expense ratio is MONEY THAT YOU PAY TO mutual fund house to MANAGE YOUR FUND. Since in direct plans, you are dealing with mutual fund house directly, the maintaining cost will be less while in regular plan, you will be charged more with other charges plus expense ratio.
Apart from that, there is difference in return given by direct plan and Regular plan. Lets check out some practical examples, where you will see the difference between regular and direct plans.
1. Birla Sun Life Frontline Equity Fund :- This plan is lunched in 2002 and its current NAV is Rs.155.23. Below is difference between Regular plan and direct plan of Birla Sun Life Frontline Equity Fund.
As you can see, at last 3 year Birla Sun Life Frontline Equity Fund gives 18.38% of return in regular plan where 19.43% in direct plan. It is same plan, same fund manager, everything is same, just difference of direct and regular gives 1.05% extra return.
2. UTI Mid Cap Fund:- UTI Mid cap fund was launched in 2013 and current NAV is Rs.77.77. At 3 years of return, UTI Mid cap fund regular plan gives 34.41% of return while direct plan of UTI Mid cap gives 35.36% of return. Which means direct plan gives 0.95% of extra return.
As you can see from above two examples, direct mutual fund plans give 1% return on each scheme (or we can say atlest gives more return than regular plan). When you are buying same thing, for same price, why settle for less return? Why can't we go for extra investment return just by opting out direct plans than regular plans.
You may find someone who will give excuse like what is in 1% extra. Well, 1% extra can gives you lakhs of amount. Yes. If you invest in regular mutual fund which gives you 14% return and direct plan which gives you 15% (1% extra return ) than in 15 years you gain 1 lakh rupees extra for 1 lakh of investment. Do check out below mentioned Economic times graph. Which explains direct plans vs regular plan difference.
Hope this guide will help you to invest better and to earn better. Always invest in Direct plans of mutual fund.


text:
#Vision To Reality: 6 inspiring quotes from the 2015 TEDxEuston conference
Photograph — TEDxEuston Facebook
"The world needs dreamers and the world needs doers. But above all, the world needs Dreamers who Do." – Sarah Ban Breathnach.
The recently concluded 7th edition of the TEDxEuston conference was a vision turned reality. The programme hosted some of Africa's foremost media personnel's, politicians, and entrepreneurs, who shared inspiring thoughts and ideas on shaping the African continent. This year's conference themed "Vision To Reality" held on Saturday 5th December at the Mermaid Conference Centre, Blackfriars, London, 2015.
Here are a few inspiring quotes from some of the speakers.
Mona Eltahawy
"My body is my own…"
The award winning journalist, activist and public speaker, Mona Eltahawy, shared stories from her book titled 'Headscarves and Hymens: Why the Middle East Needs a Sexual Revolution'. Eltahawy has been openly defiant on Muslim issues and feminism in the Middle East.
Credit – Smithsonian.com
In an interview a few months ago, she said, "Do not be chaste self, rebellious, do not obey orders, and know that you deserve freedom." Eltahawy doesn't wear a scarf – hijab, according to her, the hijab does nothing to protect women, or change the way they are been treated.
In her book, she writes, [I was] traumatized into feminism — there's no other way to describe it — because to be a female in Saudi Arabia is to be the walking embodiment of sin." At the conference, she spoke of breaking the barriers of fear against the state, something she calls "the trajectory of misogyny." Eltahawy calls on Muslim, and Arab women to lead and maintain the conversation around feminism, sexism, in regards to the religions burden placed on them with the idea of modesty.
Robtel Neajai Pailey
"There is nothing uniquely African about corruption."
Credit – tedxeuston.com
The Liberian academic, activist and author couldn't have been more apt. It's amazing how most people, even Africans, equate corruption with Africa. For them, Africa is a synonym for corruption. But this is flawed thinking, corruption exists everywhere, even in developed countries. As a matter of fact, corruption is as bad in the US as in developing countries.
Pailey added that "Corruption is a function of both greed and poverty…" Robtel is the author of Gbagba, an anti-corruption children's book published two years ago to critical acclaim. She was also on the list of '25 Africans to Watch' by the Financial Times in 2015.
Nancy Kaangira
"We need to begin a dialogue between ourselves … It's time we start writing a new narrative that doesn't focus on the struggle, but on progression."
Nancy Kacungira
Credit – Howwe Biz
Nancy Kaangira is best known for spurring conversations around entrepreneurship and leadership in Africa, most notably on her weekly television show "Power Talk", where business leaders share ideas taking advantage of the ample business opportunities in Africa and being part of the solutions the continent needs. About three months ago, she won the first BBC World News Komla Dumor award.
Monica Musonda
"Don't happily be a spectator in your own economy,"
Monica Musonda, CEO of Java Foods, a Zambian based food processing company, said at the conference. The lawyer turned entrepreneur decided to start her own company after moving to Nigeria in 2008 to work for Africa's wealthiest man Aliko Dangote. "It opened my eyes to business, to the different opportunities that our continent offers and to a new thinking. What inspired me the most about Nigeria was the entrepreneurial spirit – the fact that so many young people are taking the leap and working for themselves," she said in an interview.
Monica Musonda speaking at TEDxEuston 2015
Credit – TEDxEuston Facebook
With encouragement from Dangote, Musonda decided to be an active participant in her country's economy; she moved back to Zambia and set up Java Food.
"Do you want to be a spectator or a participant in the growth of your continent?"
Lindiwe Mazibuko
"We must disrupt the political status quo …There is no one waiting to save us. We must save ourselves"
Until recently, this dynamic young woman was the Leader of the Opposition in the South African National Assembly. She was the youngest parliamentary leader of the Democratic Alliance's (DA) and the first black woman in South African history to be elected to the position of Leader of the Opposition.
Named South Africa's Most Influential Woman in 2012, this disruptive 35 year old is one rising political figure to watch out for in South-Africa.
"Somebody's benefiting from the absence of excellence and disruption in politics, in your country."
For more insight, click to listen to the podcast below
Hadassah Egbedi
Paystack and Lambda School is giving Africans the opportunity to become software engineers at no upfront cost
Access Bank treats customers this summer with XclusivePlus
Five years on, over two million impacted by UN programme in Egypt
How to choose the best ancestry DNA testing kit
What you should know about Zimbabwe's elephant sale to China and Dubai
How this Ghanaian artist is remaking scraps to portray Ghana's political history
Morocco is building Africa's tallest wind tower
IBM to set up IT school in Egypt
Three fast-rising Egyptian female-led tech start-ups to watch


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

package com.sun.org.apache.xpath.internal.patterns;

import com.sun.org.apache.xml.internal.dtm.Axis;
import com.sun.org.apache.xml.internal.dtm.DTM;
import com.sun.org.apache.xml.internal.dtm.DTMAxisTraverser;
import com.sun.org.apache.xml.internal.dtm.DTMFilter;
import com.sun.org.apache.xml.internal.utils.QName;
import com.sun.org.apache.xpath.internal.Expression;
import com.sun.org.apache.xpath.internal.ExpressionOwner;
import com.sun.org.apache.xpath.internal.XPathContext;
import com.sun.org.apache.xpath.internal.XPathVisitor;
import com.sun.org.apache.xpath.internal.axes.SubContextList;
import com.sun.org.apache.xpath.internal.compiler.PsuedoNames;
import com.sun.org.apache.xpath.internal.objects.XObject;
import java.util.List;

/**
 * This class represents a single pattern match step.
 * @xsl.usage advanced
 * @LastModified: Oct 2017
 */
public class StepPattern extends NodeTest implements SubContextList, ExpressionOwner
{
    static final long serialVersionUID = 9071668960168152644L;

  /** The axis for this test. */
  protected int m_axis;

  /**
   * Construct a StepPattern that tests for namespaces and node names.
   *
   *
   * @param whatToShow Bit set defined mainly by {@link org.w3c.dom.traversal.NodeFilter}.
   * @param namespace The namespace to be tested.
   * @param name The local name to be tested.
   * @param axis The Axis for this test, one of of Axes.ANCESTORORSELF, etc.
   * @param axisForPredicate No longer used.
   */
  public StepPattern(int whatToShow, String namespace, String name, int axis,
                     int axisForPredicate)
  {

    super(whatToShow, namespace, name);

    m_axis = axis;
  }

  /**
   * Construct a StepPattern that doesn't test for node names.
   *
   *
   * @param whatToShow Bit set defined mainly by {@link org.w3c.dom.traversal.NodeFilter}.
   * @param axis The Axis for this test, one of of Axes.ANCESTORORSELF, etc.
   * @param axisForPredicate No longer used.
   */
  public StepPattern(int whatToShow, int axis, int axisForPredicate)
  {

    super(whatToShow);

    m_axis = axis;
  }

  /**
   * The target local name or psuedo name, for hash table lookup optimization.
   *  @serial
   */
  String m_targetString;  // only calculate on head

  /**
   * Calculate the local name or psuedo name of the node that this pattern will test,
   * for hash table lookup optimization.
   *
   * @see com.sun.org.apache.xpath.internal.compiler.PsuedoNames
   */
  public void calcTargetString()
  {

    int whatToShow = getWhatToShow();

    switch (whatToShow)
    {
    case DTMFilter.SHOW_COMMENT :
      m_targetString = PsuedoNames.PSEUDONAME_COMMENT;
      break;
    case DTMFilter.SHOW_TEXT :
    case DTMFilter.SHOW_CDATA_SECTION :
    case (DTMFilter.SHOW_TEXT | DTMFilter.SHOW_CDATA_SECTION) :
      m_targetString = PsuedoNames.PSEUDONAME_TEXT;
      break;
    case DTMFilter.SHOW_ALL :
      m_targetString = PsuedoNames.PSEUDONAME_ANY;
      break;
    case DTMFilter.SHOW_DOCUMENT :
    case DTMFilter.SHOW_DOCUMENT | DTMFilter.SHOW_DOCUMENT_FRAGMENT :
      m_targetString = PsuedoNames.PSEUDONAME_ROOT;
      break;
    case DTMFilter.SHOW_ELEMENT :
      if (WILD.equals(m_name))
        m_targetString = PsuedoNames.PSEUDONAME_ANY;
      else
        m_targetString = m_name;
      break;
    default :
      m_targetString = PsuedoNames.PSEUDONAME_ANY;
      break;
    }
  }

  /**
   * Get the local name or psuedo name of the node that this pattern will test,
   * for hash table lookup optimization.
   *
   *
   * @return local name or psuedo name of the node.
   * @see com.sun.org.apache.xpath.internal.compiler.PsuedoNames
   */
  public String getTargetString()
  {
    return m_targetString;
  }

  /**
   * Reference to nodetest and predicate for
   * parent or ancestor.
   * @serial
   */
  StepPattern m_relativePathPattern;

  /**
   * This function is used to fixup variables from QNames to stack frame
   * indexes at stylesheet build time.
   * @param vars List of QNames that correspond to variables.  This list
   * should be searched backwards for the first qualified name that
   * corresponds to the variable reference qname.  The position of the
   * QName in the vector from the start of the vector will be its position
   * in the stack frame (but variables above the globalsTop value will need
   * to be offset to the current stack frame).
   * @param globalsSize The number of variables in the global variable area.
   */
  public void fixupVariables(List<QName> vars, int globalsSize)
  {

    super.fixupVariables(vars, globalsSize);

    if (null != m_predicates)
    {
      for (int i = 0; i < m_predicates.length; i++)
      {
        m_predicates[i].fixupVariables(vars, globalsSize);
      }
    }

    if (null != m_relativePathPattern)
    {
      m_relativePathPattern.fixupVariables(vars, globalsSize);
    }
  }

  /**
   * Set the reference to nodetest and predicate for
   * parent or ancestor.
   *
   *
   * @param expr The relative pattern expression.
   */
  public void setRelativePathPattern(StepPattern expr)
  {

    m_relativePathPattern = expr;
    expr.exprSetParent(this);

    calcScore();
  }

  /**
   * Get the reference to nodetest and predicate for
   * parent or ancestor.
   *
   *
   * @return The relative pattern expression.
   */
  public StepPattern getRelativePathPattern()
  {
    return m_relativePathPattern;
  }

  //  /**
  //   * Set the list of predicate expressions for this pattern step.
  //   * @param predicates List of expression objects.
  //   */
  //  public void setPredicates(Expression[] predicates)
  //  {
  //    m_predicates = predicates;
  //  }

  /**
   * Set the list of predicate expressions for this pattern step.
   * @return List of expression objects.
   */
  public Expression[] getPredicates()
  {
    return m_predicates;
  }

  /**
   * The list of predicate expressions for this pattern step.
   *  @serial
   */
  Expression[] m_predicates;

  /**
   * Tell if this expression or it's subexpressions can traverse outside
   * the current subtree.
   *
   * NOTE: Ancestors tests with predicates are problematic, and will require
   * special treatment.
   *
   * @return true if traversal outside the context node's subtree can occur.
   */
  public boolean canTraverseOutsideSubtree()
  {

    int n = getPredicateCount();

    for (int i = 0; i < n; i++)
    {
      if (getPredicate(i).canTraverseOutsideSubtree())
        return true;
    }

    return false;
  }

  /**
   * Get a predicate expression.
   *
   *
   * @param i The index of the predicate.
   *
   * @return A predicate expression.
   */
  public Expression getPredicate(int i)
  {
    return m_predicates[i];
  }

  /**
   * Get the number of predicates for this match pattern step.
   *
   *
   * @return the number of predicates for this match pattern step.
   */
  public final int getPredicateCount()
  {
    return (null == m_predicates) ? 0 : m_predicates.length;
  }

  /**
   * Set the predicates for this match pattern step.
   *
   *
   * @param predicates An array of expressions that define predicates
   *                   for this step.
   */
  public void setPredicates(Expression[] predicates)
  {

    m_predicates = predicates;
    if(null != predicates)
    {
        for(int i = 0; i < predicates.length; i++)
        {
                predicates[i].exprSetParent(this);
        }
    }

    calcScore();
  }

  /**
   * Static calc of match score.
   */
  public void calcScore()
  {

    if ((getPredicateCount() > 0) || (null != m_relativePathPattern))
    {
      m_score = SCORE_OTHER;
    }
    else
      super.calcScore();

    if (null == m_targetString)
      calcTargetString();
  }

  /**
   * Execute this pattern step, including predicates.
   *
   *
   * @param xctxt XPath runtime context.
   * @param currentNode The current node context.
   *
   * @return {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NODETEST},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NONE},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NSWILD},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_QNAME}, or
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_OTHER}.
   *
   * @throws javax.xml.transform.TransformerException
   */
  public XObject execute(XPathContext xctxt, int currentNode)
          throws javax.xml.transform.TransformerException
  {

    DTM dtm = xctxt.getDTM(currentNode);

    if (dtm != null)
    {
      int expType = dtm.getExpandedTypeID(currentNode);

      return execute(xctxt, currentNode, dtm, expType);
    }

    return NodeTest.SCORE_NONE;
  }

  /**
   * Execute this pattern step, including predicates.
   *
   *
   * @param xctxt XPath runtime context.
   *
   * @return {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NODETEST},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NONE},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NSWILD},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_QNAME}, or
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_OTHER}.
   *
   * @throws javax.xml.transform.TransformerException
   */
  public XObject execute(XPathContext xctxt)
          throws javax.xml.transform.TransformerException
  {
    return execute(xctxt, xctxt.getCurrentNode());
  }

  /**
   * Execute an expression in the XPath runtime context, and return the
   * result of the expression.
   *
   *
   * @param xctxt The XPath runtime context.
   * @param currentNode The currentNode.
   * @param dtm The DTM of the current node.
   * @param expType The expanded type ID of the current node.
   *
   * @return The result of the expression in the form of a XObject.
   *
   * @throws javax.xml.transform.TransformerException if a runtime exception
   *         occurs.
   */
  public XObject execute(
          XPathContext xctxt, int currentNode, DTM dtm, int expType)
            throws javax.xml.transform.TransformerException
  {

    if (m_whatToShow == NodeTest.SHOW_BYFUNCTION)
    {
      if (null != m_relativePathPattern)
      {
        return m_relativePathPattern.execute(xctxt);
      }
      else
        return NodeTest.SCORE_NONE;
    }

    XObject score;

    score = super.execute(xctxt, currentNode, dtm, expType);

    if (score == NodeTest.SCORE_NONE)
      return NodeTest.SCORE_NONE;

    if (getPredicateCount() != 0)
    {
      if (!executePredicates(xctxt, dtm, currentNode))
        return NodeTest.SCORE_NONE;
    }

    if (null != m_relativePathPattern)
      return m_relativePathPattern.executeRelativePathPattern(xctxt, dtm,
              currentNode);

    return score;
  }

  /**
   * New Method to check whether the current node satisfies a position predicate
   *
   * @param xctxt The XPath runtime context.
   * @param predPos Which predicate we're evaluating of foo[1][2][3].
   * @param dtm The DTM of the current node.
   * @param context The currentNode.
   * @param pos The position being requested, i.e. the value returned by
   *            m_predicates[predPos].execute(xctxt).
   *
   * @return true of the position of the context matches pos, false otherwise.
   */
  private final boolean checkProximityPosition(XPathContext xctxt,
          int predPos, DTM dtm, int context, int pos)
  {

    try
    {
      DTMAxisTraverser traverser =
        dtm.getAxisTraverser(Axis.PRECEDINGSIBLING);

      for (int child = traverser.first(context); DTM.NULL != child;
              child = traverser.next(context, child))
      {
        try
        {
          xctxt.pushCurrentNode(child);

          if (NodeTest.SCORE_NONE != super.execute(xctxt, child))
          {
            boolean pass = true;

            try
            {
              xctxt.pushSubContextList(this);

              for (int i = 0; i < predPos; i++)
              {
                xctxt.pushPredicatePos(i);
                try
                {
                  XObject pred = m_predicates[i].execute(xctxt);

                  try
                  {
                    if (XObject.CLASS_NUMBER == pred.getType())
                    {
                      throw new Error("Why: Should never have been called");
                    }
                    else if (!pred.boolWithSideEffects())
                    {
                      pass = false;

                      break;
                    }
                  }
                  finally
                  {
                    pred.detach();
                  }
                }
                finally
                {
                  xctxt.popPredicatePos();
                }
              }
            }
            finally
            {
              xctxt.popSubContextList();
            }

            if (pass)
              pos--;

            if (pos < 1)
              return false;
          }
        }
        finally
        {
          xctxt.popCurrentNode();
        }
      }
    }
    catch (javax.xml.transform.TransformerException se)
    {

      // TODO: should keep throw sax exception...
      throw new java.lang.RuntimeException(se.getMessage());
    }

    return (pos == 1);
  }

  /**
   * Get the proximity position index of the current node based on this
   * node test.
   *
   *
   * @param xctxt XPath runtime context.
   * @param predPos Which predicate we're evaluating of foo[1][2][3].
   * @param findLast If true, don't terminate when the context node is found.
   *
   * @return the proximity position index of the current node based on the
   *         node test.
   */
  private final int getProximityPosition(XPathContext xctxt, int predPos,
                    boolean findLast)
  {

    int pos = 0;
    int context = xctxt.getCurrentNode();
    DTM dtm = xctxt.getDTM(context);
    int parent = dtm.getParent(context);

    try
    {
      DTMAxisTraverser traverser = dtm.getAxisTraverser(Axis.CHILD);

      for (int child = traverser.first(parent); DTM.NULL != child;
              child = traverser.next(parent, child))
      {
        try
        {
          xctxt.pushCurrentNode(child);

          if (NodeTest.SCORE_NONE != super.execute(xctxt, child))
          {
            boolean pass = true;

            try
            {
              xctxt.pushSubContextList(this);

              for (int i = 0; i < predPos; i++)
              {
                xctxt.pushPredicatePos(i);
                try
                {
                  XObject pred = m_predicates[i].execute(xctxt);

                  try
                  {
                    if (XObject.CLASS_NUMBER == pred.getType())
                    {
                      if ((pos + 1) != (int) pred.numWithSideEffects())
                      {
                        pass = false;

                        break;
                      }
                    }
                    else if (!pred.boolWithSideEffects())
                    {
                      pass = false;

                      break;
                    }
                  }
                  finally
                  {
                    pred.detach();
                  }
                }
                finally
                {
                  xctxt.popPredicatePos();
                }
              }
            }
            finally
            {
              xctxt.popSubContextList();
            }

            if (pass)
              pos++;

            if (!findLast && child == context)
            {
              return pos;
            }
          }
        }
        finally
        {
          xctxt.popCurrentNode();
        }
      }
    }
    catch (javax.xml.transform.TransformerException se)
    {

      // TODO: should keep throw sax exception...
      throw new java.lang.RuntimeException(se.getMessage());
    }

    return pos;
  }

  /**
   * Get the proximity position index of the current node based on this
   * node test.
   *
   *
   * @param xctxt XPath runtime context.
   *
   * @return the proximity position index of the current node based on the
   *         node test.
   */
  public int getProximityPosition(XPathContext xctxt)
  {
    return getProximityPosition(xctxt, xctxt.getPredicatePos(), false);
  }

  /**
   * Get the count of the nodes that match the test, which is the proximity
   * position of the last node that can pass this test in the sub context
   * selection.  In XSLT 1-based indexing, this count is the index of the last
   * node.
   *
   *
   * @param xctxt XPath runtime context.
   *
   * @return the count of the nodes that match the test.
   */
  public int getLastPos(XPathContext xctxt)
  {
    return getProximityPosition(xctxt, xctxt.getPredicatePos(), true);
  }

  /**
   * Execute the match pattern step relative to another step.
   *
   *
   * @param xctxt The XPath runtime context.
   * @param dtm The DTM of the current node.
   * @param currentNode The current node context.
   *
   * @return {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NODETEST},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NONE},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NSWILD},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_QNAME}, or
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_OTHER}.
   *
   * @throws javax.xml.transform.TransformerException
   */
  protected final XObject executeRelativePathPattern(
          XPathContext xctxt, DTM dtm, int currentNode)
            throws javax.xml.transform.TransformerException
  {

    XObject score = NodeTest.SCORE_NONE;
    int context = currentNode;
    DTMAxisTraverser traverser;

    traverser = dtm.getAxisTraverser(m_axis);

    for (int relative = traverser.first(context); DTM.NULL != relative;
            relative = traverser.next(context, relative))
    {
      try
      {
        xctxt.pushCurrentNode(relative);

        score = execute(xctxt);

        if (score != NodeTest.SCORE_NONE)
          break;
      }
      finally
      {
        xctxt.popCurrentNode();
      }
    }

    return score;
  }

  /**
   * Execute the predicates on this step to determine if the current node
   * should be filtered or accepted.
   *
   * @param xctxt The XPath runtime context.
   * @param dtm The DTM of the current node.
   * @param currentNode The current node context.
   *
   * @return true if the node should be accepted, false otherwise.
   *
   * @throws javax.xml.transform.TransformerException
   */
  protected final boolean executePredicates(
          XPathContext xctxt, DTM dtm, int currentNode)
            throws javax.xml.transform.TransformerException
  {

    boolean result = true;
    boolean positionAlreadySeen = false;
    int n = getPredicateCount();

    try
    {
      xctxt.pushSubContextList(this);

      for (int i = 0; i < n; i++)
      {
        xctxt.pushPredicatePos(i);

        try
        {
          XObject pred = m_predicates[i].execute(xctxt);

          try
          {
            if (XObject.CLASS_NUMBER == pred.getType())
            {
              int pos = (int) pred.num();

              if (positionAlreadySeen)
              {
                result = (pos == 1);

                break;
              }
              else
              {
                positionAlreadySeen = true;

                if (!checkProximityPosition(xctxt, i, dtm, currentNode, pos))
                {
                  result = false;

                  break;
                }
              }

            }
            else if (!pred.boolWithSideEffects())
            {
              result = false;

              break;
            }
          }
          finally
          {
            pred.detach();
          }
        }
        finally
        {
          xctxt.popPredicatePos();
        }
      }
    }
    finally
    {
      xctxt.popSubContextList();
    }

    return result;
  }

  /**
   * Get the string represenentation of this step for diagnostic purposes.
   *
   *
   * @return A string representation of this step, built by reverse-engineering
   * the contained info.
   */
  public String toString()
  {

    StringBuffer buf = new StringBuffer();

    for (StepPattern pat = this; pat != null; pat = pat.m_relativePathPattern)
    {
      if (pat != this)
        buf.append("/");

      buf.append(Axis.getNames(pat.m_axis));
      buf.append("::");

      if (0x000005000 == pat.m_whatToShow)
      {
        buf.append("doc()");
      }
      else if (DTMFilter.SHOW_BYFUNCTION == pat.m_whatToShow)
      {
        buf.append("function()");
      }
      else if (DTMFilter.SHOW_ALL == pat.m_whatToShow)
      {
        buf.append("node()");
      }
      else if (DTMFilter.SHOW_TEXT == pat.m_whatToShow)
      {
        buf.append("text()");
      }
      else if (DTMFilter.SHOW_PROCESSING_INSTRUCTION == pat.m_whatToShow)
      {
        buf.append("processing-instruction(");

        if (null != pat.m_name)
        {
          buf.append(pat.m_name);
        }

        buf.append(")");
      }
      else if (DTMFilter.SHOW_COMMENT == pat.m_whatToShow)
      {
        buf.append("comment()");
      }
      else if (null != pat.m_name)
      {
        if (DTMFilter.SHOW_ATTRIBUTE == pat.m_whatToShow)
        {
          buf.append("@");
        }

        if (null != pat.m_namespace)
        {
          buf.append("{");
          buf.append(pat.m_namespace);
          buf.append("}");
        }

        buf.append(pat.m_name);
      }
      else if (DTMFilter.SHOW_ATTRIBUTE == pat.m_whatToShow)
      {
        buf.append("@");
      }
      else if ((DTMFilter.SHOW_DOCUMENT | DTMFilter.SHOW_DOCUMENT_FRAGMENT)
               == pat.m_whatToShow)
      {
        buf.append("doc-root()");
      }
      else
      {
        buf.append('?').append(Integer.toHexString(pat.m_whatToShow));
      }

      if (null != pat.m_predicates)
      {
        for (int i = 0; i < pat.m_predicates.length; i++)
        {
          buf.append("[");
          buf.append(pat.m_predicates[i]);
          buf.append("]");
        }
      }
    }

    return buf.toString();
  }

  /** Set to true to send diagnostics about pattern matches to the consol. */
  private static final boolean DEBUG_MATCHES = false;

  /**
   * Get the match score of the given node.
   *
   * @param xctxt The XPath runtime context.
   * @param context The node to be tested.
   *
   * @return {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NODETEST},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NONE},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NSWILD},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_QNAME}, or
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_OTHER}.
   *
   * @throws javax.xml.transform.TransformerException
   */
  public double getMatchScore(XPathContext xctxt, int context)
          throws javax.xml.transform.TransformerException
  {

    xctxt.pushCurrentNode(context);
    xctxt.pushCurrentExpressionNode(context);

    try
    {
      XObject score = execute(xctxt);

      return score.num();
    }
    finally
    {
      xctxt.popCurrentNode();
      xctxt.popCurrentExpressionNode();
    }

    // return XPath.MATCH_SCORE_NONE;
  }

  /**
   * Set the axis that this step should follow.
   *
   *
   * @param axis The Axis for this test, one of of Axes.ANCESTORORSELF, etc.
   */
  public void setAxis(int axis)
  {
    m_axis = axis;
  }

  /**
   * Get the axis that this step follows.
   *
   *
   * @return The Axis for this test, one of of Axes.ANCESTORORSELF, etc.
   */
  public int getAxis()
  {
    return m_axis;
  }

  class PredOwner implements ExpressionOwner
  {
        int m_index;

        PredOwner(int index)
        {
                m_index = index;
        }

    /**
     * @see ExpressionOwner#getExpression()
     */
    public Expression getExpression()
    {
      return m_predicates[m_index];
    }

    /**
     * @see ExpressionOwner#setExpression(Expression)
     */
    public void setExpression(Expression exp)
    {
        exp.exprSetParent(StepPattern.this);
        m_predicates[m_index] = exp;
    }
  }

  /**
   * @see com.sun.org.apache.xpath.internal.XPathVisitable#callVisitors(ExpressionOwner, XPathVisitor)
   */
  public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
  {
                if(visitor.visitMatchPattern(owner, this))
                {
                        callSubtreeVisitors(visitor);
                }
  }

  /**
   * Call the visitors on the subtree.  Factored out from callVisitors
   * so it may be called by derived classes.
   */
  protected void callSubtreeVisitors(XPathVisitor visitor)
  {
    if (null != m_predicates)
    {
      int n = m_predicates.length;
      for (int i = 0; i < n; i++)
      {
        ExpressionOwner predOwner = new PredOwner(i);
        if (visitor.visitPredicate(predOwner, m_predicates[i]))
        {
          m_predicates[i].callVisitors(predOwner, visitor);
        }
      }
    }
    if (null != m_relativePathPattern)
    {
      m_relativePathPattern.callVisitors(this, visitor);
    }
  }

  /**
   * @see ExpressionOwner#getExpression()
   */
  public Expression getExpression()
  {
    return m_relativePathPattern;
  }

  /**
   * @see ExpressionOwner#setExpression(Expression)
   */
  public void setExpression(Expression exp)
  {
    exp.exprSetParent(this);
        m_relativePathPattern = (StepPattern)exp;
  }

  /**
   * @see Expression#deepEquals(Expression)
   */
  public boolean deepEquals(Expression expr)
  {
        if(!super.deepEquals(expr))
                return false;

        StepPattern sp = (StepPattern)expr;

    if (null != m_predicates)
    {
        int n = m_predicates.length;
        if ((null == sp.m_predicates) || (sp.m_predicates.length != n))
              return false;
        for (int i = 0; i < n; i++)
        {
          if (!m_predicates[i].deepEquals(sp.m_predicates[i]))
                return false;
        }
    }
    else if (null != sp.m_predicates)
        return false;

        if(null != m_relativePathPattern)
        {
                if(!m_relativePathPattern.deepEquals(sp.m_relativePathPattern))
                        return false;
        }
        else if(sp.m_relativePathPattern != null)
                return false;

        return true;
  }

}

redpajama_set_name: RedPajamaGithub


This is Peter Flack's fourth in the five book series covering all the spiral horns – Eland, Giant Eland, Kudu, Lesser Kudu, Nyala, Mountain Nyala, Bongo, Bushbuck and Sitatunga. The 30 species and subspecies described in the series cover all the spiral horned antelopes recognized by both Rowland Ward and SCI.
The Sitatunga book is also the second biggest of the four volumes published so far with nearly 370 pages and 454 color photos and 36 black and white ones. Nineteen contributors have written brand new and extremely captivating Sitatunga stories and readers may find that it will probably the best of the series thus far. It certainly succeeds in its goal of being THE definitive book on hunting Sitatunga.
The contributors read like the Who's Who of African hunting: the United States' foremost expert on African hunting Craig Boddington; North America's top African PH and outfitter Jeff Rann; 2014 Weatherby award winner Alain Smith; Rudy Lubin, considered one of, if not the, most experienced and well-known French professional hunter in Africa; Don Cowie author of An African Game Ranger on Safari; Robin Hurt, the iconic East African professional hunter and author of Hunting the Big Five and last not least the hugely experienced PH and accomplished writer Brian Herne, author of Uganda Safaris, Tanzania Safaris, Desert Safaris and White Hunter.
The photographs are truly outstanding and include excellent examples of the work of a number of top class professional wildlife photographers, such as Phillipe Aillery, Jofie Lamprecht, Håkan Pohlstrand, Robert Ross, Brendon Ryan and Michael Viljoen, as well as hundreds of other photographs supplied by the contributing authors and excellent amateur photographers.
The chapters of the contemporary authors have been complemented by experts of yesteryear like Maydon (author of Big Game Shooting) who inspired James Mellon, author of the world famous masterpiece African Hunter (excerpts from which are included), William Cotton Oswell (immortalized by his sons in a two volume biography), Selous, Shorthose and Count Szechenyi to mention but a few.
There are chapters on rifles and ammunition, clothing and equipment, field preparation of trophies and hints on how to hunt Sitatunga. In fact, it is no exaggeration to say that the book contains everything you ever want to know about this sly, shy, secretive ghost of the African forests and hunting it in its natural haunts. If you have questions about the Sitatunga book or any of the other spiral horn series please do not hesitate to contact the editor, Peter Flack at peter@peterflackproductions.com or give Peter a call at +27 (0) 21 790 6374.
Price: Standard Edition US$75 (ZAR750) or US$175 (ZAR1,750) for one of the 200 exclusive quarter-leather bound and slip-cased limited editions, signed by Peter Flack.


The WASTE AND LITTER ON OUR SHORES report covers 601 survey units (500m length of coast) and litter counts for 2433 survey sections, of 100m length. This represents ~ 4% of accessible island of Ireland shore. Volunteers from counties Fingal, Kerry, Wexford, Waterford, Antrim, Down and Dublin returned > 50 survey sites each, with smaller areas covered in other counties.
Four results papers with priority topics have been drafted as discussion papers and to serve in follow up work, These are: Water, Erosion and now Waste and Litter (all on line) and leaving the best until last – Biodiversity (to be launched in August). After final edit they will be collated and published in the first week of September 2015 in time for the international Coastwatch meeting hosted by Portugal.
Coastwatchers please look at these on our website (some hard copies are also available) and make any correction, edit or comment suggestions by August 16th .
Also tell us of any follow up action taken, or photos we should include, in the final published report.


text:
Last arguments before the referendum
On the eve of the referendum on compulsory European migrant quotas, columnists made a last effort to convince the public about the best course to follow.
In Hetek, former Liberal MP Peter Hack explained why he and his evangelical 'congregation of faith' church, have decided to vote 'no'. At the same time last year, he recalled, Prime Minister Orbán was the only European leader to urge countries to protect Europe's outer borders, while today virtually all leading politicians on the continent say so. Meanwhile, Austria is preparing to build a fence along the border with Hungary, while Great Britainis building a wall around the French side of the Chunnel. Hack suggests that European elites consider themselves an enlightened group who know better what European nations need than the people living there. He calls that attitude 'Bolshevik behaviour', because it means that today's European elites treat the people with deep contempt and accuse of populism those who invoke the opinion of the population. Hack therefore thinks it fit to vote 'no' and thereby to 'express support for a new concept of European integration.'
On Mandiner, Brigi Kiss envies those who feel no remorse or bad conscience at the sight of the miserable people fleeing from atrocious living conditions or outright war. She was in two minds, she writes, as she deems it unacceptable to allow hundreds of thousands of people to cross one border after another without being vetted by European authorities. Therefore she believes that a thorough debate would have been important on the crucial issue of mass immigration into Europe. Since there has not been one, she concludes, she does not feel like voting either yes or no and has decided to cast an invalid vote
In an unusual editorial comment, 168 óra, which usually carries signed Op-ed pieces, argued against casting invalid votes, as too complicated a method to be followed by a large number of people. The left-wing weekly warned that the only stake in connection with the referendum was whether turnout would reach the required quorum of 50%, and therefore voting 'yes' would suit the government's game. Abstention is the obvious choice for those who reject the government's policies, the editors wrote. Casting an invalid vote is not that simple because the rules are tailored to exclude the least possible people from the elections and therefore the only secure way of doing it is ticking both the 'yes' tabs and the 'no' tabs. For those who are outraged because 'this country has been made utterly unlivable in for the past months', 168 óra suggested, the best solution was to stay at home.
In a similar vein, Népszabadság also condemned the idea of the referendum but acknowledged that it presents democrats with a serious dilemma, since plebiscites are 'the most sacred institution' of democracy. 'Most of us', the leading left-wing daily continued, want to express our rejection of this 'mockery of democracy' by abstaining from the referendum, but others feel they should express their support for the principle of popular sovereignty by participating while casting an invalid vote. Népszabadság considered both solutions legitimate and expressing 'deep contempt' towards what it calls a 'filthy and irresponsible government game'.
On Index, Szabolcs Dull reassures left-wing voters that fears of large-scale vote rigging are unfounded. Those concerns have arisen because it turned out that left-wing parties would not send observers to about one third of the polling stations. Dull examines five potential ways of irregularities, all of which would entail prison terms up to 3 years if discovered and none of which can be performed without being observed by several people. All in all, he writes tens of thousands of people would have to conspire in order to meaningfully alter the results of the vote. He therefore recommends the public not to nurture excessive concerns on this.
In his regular Magyar Nemzet column, Albert Gazda is convinced that whatever the result, the government side will declare victory, for the number of no votes will surely be much higher than the ballots cast for FIDESZ at the last election. Jobbik, he continues will reap nothing from the votes it encouraged during the campaign, because those votes will be lost in the sea of no votes. Left-wing parties which called for a boycott would also be among the losers, he suggested, because they cannot consider all those who fail to turn out as their followers. The tiny Liberal party on the other hand had something to gain, because it could rightly claim possession over the limited amount of 'yes' votes cast. The real winner however would be the Two-Tailed Dog Party which has 'appeared to be the only viable opposition force lately', with its witty poster campaign arguing for an invalid vote. This practically non-existent party, Gazda concludes, can rightly claim most invalid votes to be its own.
Tags: EU, quotas, referendum


We are very excited to announce that the Bradley's Diner, (formerly Glacier Peak Cafe), opened today!!!! They are open for breakfast, lunch and dinner. Breakfast is served from 6 am to 11 am and offers tasty things like French Toast, Homemade Biscuits with Country Gravy and the classic Bacon & Eggs. Lunch has things on the menu such as burgers, sandwiches, soups and back by popular demand the Asian Chicken Salad. Dinner is a available after 4 pm and will be offering Chicken Fried Steak, New York Steak, Roast Beef Dinner, Pan-fried Oysters, Captains Platter and more! We are VERY GLAD to have our restaurant reopened!


When you return a vEdge router to Viptela via an RMA process, you want to delete the serial number of that router from the vManage NMS. You may also want to delete a serial number that has been erroneously entered into the vManage NMS.
When you delete a router's serial number, all information about that router, including its configuration, is removed from the vManage NMS. This means that if you are replacing a vEdge router, you should first copy the configuration from the RMA'd router to the new router and install the new router, before you remove the RMA'd router's serial number from the vManage NMS.
If you are replacing an RMA'd router with a new router, ensure that you have copied the configuration from the failed to the new router.
From the list of vEdge routers, locate the desired router.
Select the Configuration ► Devices screen.
Click the More Actions icon to the right of the row, and select Delete vEdge.
Click OK to confirm deletion of the device from the network.
Click Send to Controllers to send the updated vEdge router chassis and serial numbers to the vBond orchestrators and vSmart controllers in the network.
See the Return Hardware article for your hardware platform.


Jay Tilton is the Director of Financial Planning Skylight Financial Group (formerly The Innova Financial Group) and has been with the company since 2003. He obtained his Bachelor of Arts in Economics with a concentration in Management from Ohio Wesleyan University. During his college years, Jay was an All-American and 4-time All-Conference golfer. Jay's business skills, mathematics skills, and economics education benefits our clients by helping them develop quality financial plans, and designing creative case strategies.
Jay grew up in the Greater Cincinnati area and currently lives in Evendale, Ohio with his wife Karishma and his son.
Jay Tilton is a registered representative of and offers securities, investment advisory, and financial planning services through MML Investors Services, LLC. Member SIPC OSJ: 3825 Edwards Road, Suite 210, Cincinnati, OH 45209. 513.579.8555.


THE country's newest telco hasn't even gotten off the ground yet but is already catching a lot of flak from opposition politicians and scaremongers. Don't get me wrong. I'm all for giving everyone (the critics most especially) the democratic space to put in their two cents' worth, however inane it may be. But when such opinion or point of view calls for applying the law or the rules selectively, then it should be unmasked for what it really is — a partisan political stunt.
Caught in the crosshairs of Duterte administration critics is the country's third telco, Mislatel, and its consortium partners: Dennis Uy's Udenna Corp. and Chelsea Logistics, and state-owned China Telecom.


Because of this program [a complex of subsidies, mandates, and penalties] candy companies in the United States pay about double the global average price for sugar. While global prices began trending downwards in 2013, U.S. sugar has surged upwards due to continued reauthorization of the sugar subsidy program and regulations on Mexican sugar imports. This trend has a negative impact on candy makers, especially the small and mid-sized, family-owned companies that don't have flexibility in their supply chains. And it is doing irreparable damage to a storied industry consisting of multi-generational, innovative owners.
This entry was posted	on Thursday, June 8th, 2017 at 5:23 am	and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


text:
Back Painting With Czech Painting With Galician Painting With Italian Painting With Swedish
Painting With
2016 studio album by Animal Collective
Portrait of Avey Tare, one of three variations of the album's front cover.
EastWest Studios, Hollywood
Psychedelic pop[1]
Animal Collective chronology
Live at 9:30
(2015) Painting With
(2016) The Painters
Singles from Painting With
"FloriDada"
"Lying in the Grass"
"Golden Gal"
Geologist cover
Panda Bear cover
Painting With is the tenth studio album by American experimental pop band Animal Collective, released on February 19, 2016. The album is a follow-up to Centipede Hz (2012), and features contributions from John Cale and Colin Stetson.[2] It peaked at No. 46 on the Billboard 200. Three singles were issued: "FloriDada" (2015), "Lying in the Grass", and "Golden Gal" (both 2016). A companion EP, The Painters, was released the following year.
For Painting With, the band's line-up consists of Avey Tare (David Portner), Panda Bear (Noah Lennox), and Geologist (Brian Weitz), the same trio which participated for Merriweather Post Pavilion (2009).[3] Deakin (Josh Dibb), who had rejoined the band in November 2010 for Centipede Hz, and toured with them from 2011 to 2013, is absent.[4]
^ Uncut. February 3, 2016. Missing or empty |title= (help)[full citation needed]
^ Gordon, Jeremy (November 30, 2015). "Animal Collective Announce New Album Painting With, Share "FloriDada"". Pitchfork Media.
^ Cite error: The named reference RSNov30 was invoked but never defined (see the help page).
^ Lynch, Joe (November 30, 2015). "Animal Collective Announces 11th Album 'Painting With,' Shares 'FloriDada'". Billboard.


Strings that soar, woodwinds that dance, brass that commands and a full symphony orchestra of sounds at your fingertips — all expertly performed with musical articulations for real music played by real musicians. From flowing legatos to animated pizzicatos, from aggressive spiccatos to elegant staccatos, from the most subtle pianissimo to the most triumphant fortissimo and more, Miroslav Philharmonik 2 is a sweeping vision from a master artist embodied in a new virtual instrument that brings the orchestra to life. It's not enough to just have good recordings of classical instruments. For a true symphonic experience, you need instruments performed by the absolute best musicians articulated in just the right way directed by a producer and conductor who knows the fine art of making living, breathing samples. Miroslav Vitous pioneered the concept of a complete symphonic sample library for real composers, and now he has taken it to the next level.