text:
import CommonServerPython

def test_validate_arguments(mocker):
    """
    Test that all the error occur in each scenario.
    Given:
    - a collection of arguments to the validate args function

    When:
    - each arg collection should result in a different error

    Then:
    - check that the corresponding error occurs
    """
    from CreateIndicatorRelationship import validate_arguments

    args = {
        'entity_a': '1.1.1.1',
        'entity_a_type': 'IP',
        'entity_b': '2.2.2.2',
        'entity_b_type': 'Domain',
        'entity_b_query': 'value:1.1.1.1',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    try:
        validate_arguments(args)
    except Exception as e:
        assert 'entity_b_query can not be used with entity_b and/or entity_b_type' in e.args[0]

    args = {
        'entity_a': '1.1.1.1',
        'entity_a_type': 'IP',
        'entity_b': '2.2.2.2,3.3.3.3',
        'entity_b_type': 'Domain',
        'entity_b_query': '',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    try:
        validate_arguments(args)
    except Exception as e:
        assert 'entity_b_type is a list, Please insert a single type to create the relationship' in e.args[0]

    args = {
        'entity_a': '1.1.1.1',
        'entity_a_type': 'IP',
        'entity_b': '2.2.2.2',
        'entity_b_type': '',
        'entity_b_query': '',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    try:
        validate_arguments(args)
    except Exception as e:
        assert "Missing entity_b_type in the create relationships" in e.args[0]

    args = {
        'entity_a': '1.1.1.1',
        'entity_a_type': 'IP',
        'entity_b': '',
        'entity_b_type': '',
        'entity_b_query': '',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    try:
        validate_arguments(args)
    except Exception as e:
        assert "Missing entity_b in the create relationships" in e.args[0]

    args = {
        'entity_a': '1.1.1.1,2.2.2.2',
        'entity_a_type': 'IP',
        'entity_b': '3.3.3.3',
        'entity_b_type': 'IP',
        'entity_b_query': '',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    try:
        validate_arguments(args)
    except Exception as e:
        assert "entity_a is a list, Please insert a single entity_a to create the relationship" in e.args[0]

    # Handle the Threat Intel Indicators in server versions:
    args = {
        'entity_a': '1',
        'entity_a_type': 'STIX Malware',
        'entity_b': '3.3.3.3',
        'entity_b_type': 'STIX Tool',
        'entity_b_query': '',
        'description': 'Test',
        'last_seen': '',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    mocker.patch.object(CommonServerPython, 'is_demisto_version_ge', return_value=False)
    validate_arguments(args)
    assert args['entity_a_type'] == 'STIX Malware'
    assert args['entity_b_type'] == 'STIX Tool'

    mocker.patch.object(CommonServerPython, 'is_demisto_version_ge', return_value=True)
    validate_arguments(args)
    assert args['entity_a_type'] == 'Malware'
    assert args['entity_b_type'] == 'Tool'

def test_create_relation_command_using_query(mocker):
    """
    Test that the create relationships create the relationships objects
    Given:
    - arguments dict with the necessary args.

    When:
    - the given args using a entity_b_query include the necessary args to create 2 relationships.

    Then:
    - check the relationship object is as expected
    """
    from CreateIndicatorRelationship import create_relation_command_using_query
    expected_relationships = [
        {'name': 'compromises', 'reverseName': 'compromised-by', 'type': 'IndicatorToIndicator', 'entityA': '3.3.3.3',
         'entityAFamily': 'Indicator', 'entityAType': 'IP', 'entityB': '1.1.1.1', 'entityBFamily': 'Indicator',
         'entityBType': 'IP', 'reliability': '', 'brand': 'XSOAR'},
        {'name': 'compromises', 'reverseName': 'compromised-by', 'type': 'IndicatorToIndicator', 'entityA': '3.3.3.3',
         'entityAFamily': 'Indicator', 'entityAType': 'IP', 'entityB': '2.2.2.2', 'entityBFamily': 'Indicator',
         'entityBType': 'IP', 'reliability': '', 'brand': 'XSOAR'}]
    find_indicators_by_query = [{'entity_b': '1.1.1.1', 'entity_b_type': 'IP'},
                                {'entity_b': '2.2.2.2', 'entity_b_type': 'IP'}]
    args = {
        'entity_a': '3.3.3.3',
        'entity_a_type': 'IP',
        'entity_b_query': 'value:1.1.1.1 or value:2.2.2.2',
        'source_reliability': '',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    mocker.patch('CreateIndicatorRelationship.find_indicators_by_query', return_value=find_indicators_by_query)
    relationships = create_relation_command_using_query(args)
    relationships_entry = [relation.to_entry() for relation in relationships]
    for entry, expected_relationship in zip(relationships_entry, expected_relationships):
        entry.pop('fields')
        assert entry.items() <= expected_relationship.items()

def test_create_relation_command_using_args():
    """
    Test that the create relationships create the relationships objects
    Given:
    - arguments dict with the necessary args.

    When:
    - the given args using a entity_b and entity_b_type include the necessary args to create 2 relationships.

    Then:
    - check the relationship object is as expected
    """
    from CreateIndicatorRelationship import create_relationships_with_args
    expected_relationships = [
        {'name': 'compromises', 'reverseName': 'compromised-by', 'type': 'IndicatorToIndicator', 'entityA': '3.3.3.3',
         'entityAFamily': 'Indicator', 'entityAType': 'IP', 'entityB': '4.4.4.4', 'entityBFamily': 'Indicator',
         'entityBType': 'IP', 'reliability': '', 'brand': 'XSOAR'}]
    args = {
        'entity_a': '3.3.3.3',
        'entity_a_type': 'IP',
        'entity_b': '4.4.4.4',
        'entity_b_type': 'IP',
        'relationship': 'compromises',
        'reverse_relationship': '',
        'create_indicator': 'false'
    }
    relationships = create_relationships_with_args(args)
    relationships_entry = [relation.to_entry() for relation in relationships]
    for entry, expected_relationship in zip(relationships_entry, expected_relationships):
        entry.pop('fields')
        assert entry.items() <= expected_relationship.items()

def test_remove_existing_entity_b_indicators_with_query():
    """
    Test that the remove existing indicator.
    Given:
    - arguments dict with the necessary args.

    When:
    - Calling the remove_existing_entity_b_indicators with an entity_b_query.

    Then:
    - check that the expected list to create indicators in empty as the entity_b's come from the system.
    """
    from CreateIndicatorRelationship import remove_existing_entity_b_indicators
    expected_entity_b_list = []
    entity_b_list = remove_existing_entity_b_indicators(entity_b_list=[], entity_b_query='value:1.1.1.1')
    assert expected_entity_b_list == entity_b_list

def test_remove_existing_entity_b_indicators_with_args(mocker):
    """
    Test that the remove existing indicator.
    Given:
    - arguments dict with the necessary args.

    When:
    - Calling the remove_existing_entity_b_indicators

    Then:
    - check that the list of expected entity_b has only indicators that does not exist in the system.
    """
    from CreateIndicatorRelationship import remove_existing_entity_b_indicators
    expected_entity_b_list = ['3.3.3.3']
    find_indicators_by_query = [{'entity_b': '1.1.1.1', 'entity_b_type': 'IP'},
                                {'entity_b': '2.2.2.2', 'entity_b_type': 'IP'}]
    mocker.patch('CreateIndicatorRelationship.find_indicators_by_query', return_value=find_indicators_by_query)
    entity_b_list = remove_existing_entity_b_indicators(entity_b_list=['2.2.2.2', '3.3.3.3'])

    assert expected_entity_b_list == entity_b_list

def test_remove_existing_entity_b_indicators_reference_test(mocker):
    """
    Test that the entity b argument given to the remove_existing_entity_b_indicators function isnt changed after the
    function, check that if some entity b where removed from the create_indicators list, it does not effect the original
    entity_b list to create relationships.
    Given:
    - entity_b given list.

    When:
    - Calling the remove_existing_entity_b_indicators

    Then:
    - check that the list of given entity_b argument is equal to itself after the function run.
    """

    from CreateIndicatorRelationship import remove_existing_entity_b_indicators
    actual_entity_b_list = ['2.2.2.2', '3.3.3.3']
    expected_entity_b_list = actual_entity_b_list[:]
    find_indicators_by_query = [{'entity_b': '1.1.1.1', 'entity_b_type': 'IP'},
                                {'entity_b': '2.2.2.2', 'entity_b_type': 'IP'}]
    mocker.patch('CreateIndicatorRelationship.find_indicators_by_query', return_value=find_indicators_by_query)
    remove_existing_entity_b_indicators(entity_b_list=actual_entity_b_list)
    assert actual_entity_b_list == expected_entity_b_list

redpajama_set_name: RedPajamaGithub


Choose Genesis Medical Center, Davenport—Iowa's top-ranked community hospital—for a safe, sophisticated birth experience in a comforting, home-like environment.
Deliver your baby at the Davenport BirthCenter for an experience tailored as much as possible to your wishes and birth plan. Our highly skilled doctors, nurses and certified nurse midwives are dedicated to keeping you and your baby healthy and comfortable. We offer amenities to make you feel at home.
After you, your partner and your baby have this first hour together, your family and friends are welcome to come into the room and celebrate your new arrival.
You'll soon be able to take advantage of this service if your baby is born via C-section, as well, in a process called a "gentle C-section." Currently, our C-section rates are lower than the national average, as we're dedicated to reducing them for women with low-risk pregnancies.
Find comfort in knowing your baby has fast access—in the event he or she needs it—to the Iowa Quad Cities' most advanced Neonatal Intensive Care Unit (NICU). Neonatologists from the University of Iowa Children's Hospital staff the Davenport BirthCenter's NICU full time. This means your baby can get highly specialized care close to home.
Genesis BirthCenter is pleased to introduce Bella Baby Photography to capture your newborn's first photo.
Choose a Genesis pediatrician or family practice provider for safe, compassionate care you can count on for your new infant.
Craving coffee for 9 months?
Now that your bundle of joy is here, you may find you need coffee to get through your day. Stop in to the Copper Spoon, located on the 1st floor of Genesis Medical Center, Davenport for your favorite Starbucks coffee.


text:
The Unarticulated Consensus of the Power Elite
November 8, 2013 By Marty Gallagher 6 Comments
Understanding the politically incorrect relationship between calories, strength and muscle
In the history of strength and muscle building, no other group of athletes has come close to developing the power, strength and gigantic muscle size that elite American powerlifters regularly attained from the mid-1970s through the mid-1990s. The massive—but functional and athletic—physiques these men routinely built on a widespread basis have not been matched before or since. Using an elegantly simplistic method, these athletes obtained results and world records which remain unsurpassed to this day.
Their system was the unarticulated consensus of the power elite. Instead of having a single author, the system was the distilled essence of the training experience shared by hundreds of elite strength athletes obtained over 20 years. It was the power and strength equivalent of the Manhattan Project—the athletes conducted their own scientific strength research but shared the same allegiance to the truth. This truth about training and obtaining factual results had to be untainted by commercial interests. In commercial fitness, miraculous results are first proclaimed for a fitness tool, product or system. Next, flawed, faux "science" and outright lies are spun to sell the miracle product.
The power and strength system based on the unspoken consensus was universally used by the uber-elite. It is pure and completely untainted by commercial interests. The system is devoted to tangible, measurable, finite, real-not-imagined results. The power elite of that time followed the truth of real results wherever it led them. They were strength monks hammering out their Iron Bible. The eventual truths led these power monks to a strange final destination, a destination so odd and so unexpected that its lessons and methods—despite being unbelievably effective—have been purged from the annals of resistance training.
On rare occasions you will see an article about a great lifter of yesteryear, but his methods and their universal effectiveness are forgotten and ignored. Why? It's because the truth about power and strength has fallen afoul of our politically correct times. Some truths are too hard to swallow and too harsh to be accepted—or even allowed.
The finalized strength system that eventually evolved was a true consensus of the power elite. The system's widespread usage was due to its success on the lifting platform. Its proponents were the athletes who kicked sand in the faces of all the other powerlifters nationally and internationally. No spin machines were behind this system, it was popular for one simple reason—the incredible results it obtained on a widespread basis.
The system worked for average men and elite athletes. No matter how high or low the physiological starting point, a diligent user of this system always obtained real results. Executed correctly, it was physiologically impossible not to add strength and size. This uniquely American strength system was initially conceptualized in the mid-1960s by pioneering power men like my iron mentor, Hugh "Huge" Cassidy, the first superheavyweight world powerlifting champion. Huge and other early power pioneers—superstar lifter/athlete John Cole, John Kuc and Larry Pacifico—were feeling their way along while creating a never-before-seen system with a progress-inducing strength template specific to this strange new sport of powerlifting.
The questions they asked were: What is the best way to maximize our three-lift performance? What is the best way to increase our single-repetition maximum in each of the three powerlifts?
Formal powerlifting began in 1964. Early powerlifters constructed training templates drawn from the premier strength sport at the time, Olympic weightlifting. Other primordial power men constructed their training templates using the power bodybuilding tactics of men like Reg Park and Marvin Eder.
While it seemed logical and appropriate to use these existing strength and muscle-building systems as a starting point for creating pure power templates, both Olympic weightlifting and bodybuilding were ultimately a bad fit. Weightlifting and bodybuilding are primarily volume-based training strategies.
The new sport of powerlifting had characteristics which led pioneers to conclude that the body-shattering poundage they routinely handled needed an intensity-based approach. Elite weightlifters and bodybuilders trained a lot. There's nothing wrong with volume, Reg Park, Marvin, Bill Pearl, Ray Hiligren, Pat Casey, and a slew of other 1950s greats built incredible bodies and awesome power with marathon lifting sessions. But, power pioneers reasoned that for their own purposes, less volume would be better.
The proponents of high volume training were working with the flawed science of the times. This faux science dictated that lifters and bodybuilders had to train the same muscle every 48 hours, or risk losing physiological gains. At the time, they falsely believed a muscle began to rapidly atrophy and weaken 48 hours after training. Trainees were told that their strength and power would start disintegrating within a few days of a session.
Muscles were described as balloons with slow leaks requiring a refill every 48-hours or they would deflate completely.
Men were told to train the same muscle three times weekly to preserve it and progress. Training three times a week wasn't a big deal to John Q.
Average bench pressing 100 pounds for 8 reps and back deadlifting 185 for 5 reps. But, power men discovered that benching 440 raw for 5 reps, squatting 600 for 5 reps, and deadlifting 635 for 5 reps—all in the same week, three times per week—was physiological suicide. Woody Allen was once asked if sex was dirty. "If it's done right!" he responded. It's the same with hardcore do-it-right power training. If it's done right, power training sessions are savage, brutal, and body-shocking in the extreme.
While the orthodox experts of the time issued dire warnings to the opposite opinion, early power pioneers found out the hard way that too much powerlifting in any one week was counterproductive. Tangible results led the pioneer powerlifters in a very different direction. The truth—manifested as tangible results—led the power elite to consider far more radical methods.
— Olympic weightlifting consisted of the clean and press, snatch (floor to arms length in one motion) and clean and jerk (floor to arms length in two movements). The classical Olympic lifting template of the 1960s trained the press, power snatch, full-squat snatch (or split snatch), power clean, clean and jerk, and front and back squat twice a week in two long "whole body" sessions. On Saturday, the lifter would "total out" by turning the weekend training session into a 3-lift mini-competition, working up to a single rep in the clean and press, snatch, and clean and jerk. Then the lifter would finish the workout with 1-5 rep sets of heavy squats.
— Power bodybuilding in the 1960s was primal and excruciating. The orthodox training template trained the entire body three times a week. Exercises for body parts could be substituted session to session. Sessions were incredibly long—bodybuilders would routinely perform 3-4 exercises per body part and 3-5 sets per exercise. Imagine endless hours spent performing upwards of seventy sets per session! Reps were high, in the 8-15 range.
Powerlifters discovered they were not recuperating between sessions when they attempted a three-times-per-week training template. A top powerlifter could handle 600 to 700 pounds in the raw squat—imagine trying to squat 600 x 5 reps on Monday, 610 x 5 on Wednesday, and 620 x 5 on Friday? What a horrendous strain on thighs, hips, lower back, hamstrings and spinal column—not to mention the central nervous system! Then add some more trauma to this squat horror show by simultaneously (in the same week) deadlifting 615 x 5 on Monday, 625 x 5 on Wednesday and 635 x 5 on Friday. The squat/deadlift duo doubled the damage because limit deadlifts and limit squats work many of the same muscles—hips, upper thighs, lower back and hamstrings.
For any man handling 500+ pounds, squatting three times a week was proving impossible even before adding three 500+ deadlift sessions! Too much heavy training created massive negative effects which couldn't be ignored or overcome. Frequent training with truly heavy weight was impossible. So, for pure power purposes, too much powerlifting was proving counterproductive.
Power sessions were slashed from three times a week to twice a week. This was a huge break from orthodox conventional thinking. Next, any and all exercises that didn't contribute to the lone power goal of building a bigger squat, bench press and deadlift were removed from the workouts. Snatches, cleans, jerks, and non-essential bodybuilding exercises were all jettisoned. The misty outlines of the system began to emerge. Each month the best American lifters' training was outlined in our bible, Powerlifting USA Magazine. We developed a primitive communication network, and for the first time strength information was shared and pondered on a widespread basis. By the 1980s one system had emerged and was being used almost exclusively.
Virtually every elite lifter and world record holder used this particular approach, despite the fact there was no reason to use it other than wanting to obtain results. Its lack of commercial value ensured its purity and contributed to its demise. The system's broad outlines and protocols can be summed up in a few sentences:
— Devote 85% of available training time to the squat, bench press and deadlift
— Above all else, try to increase single rep max strength in the three lifts
— Compliment the three power lifts with a select few "assistance" exercises
— Perform each core exercise once per week
— Goals are set in a classic "straight-line 12-week periodization cycle"
— Each week for 12 weeks, training poundage is raised and reps are lowered
— "Signature" techniques should be developed, honed and refined
— For 10-12 straight weeks, the lifter seeks to purposefully increase his body weight
The last point, purposefully adding body weight, is—and forever shall remain—the deal breaker for the modern trainee. It's why this amazing system became extinct. The idea of trying to purposefully gain body weight is counter to everything modern fitness believes. With the entire fitness world geared towards dieting, eating less, leaning out and becoming "healthy and fit," adding body weight sounds insane. People are starving in Botswana and here you are stuffing your face. Besides, you are going to blur the delineation of your beach muscles. Are you really willing to outgrow those $300 size 32 Tommy Hilfiger custom jeans?
Consuming substantial amounts of the demonic dietary nutrient, saturated fat intensifies the nutritional immorality. Purposefully eating excess calories was bad enough, now this system purposefully sanctions consuming saturated fat? This is nutritional water boarding for the modern metro sexual.
Old time adherents like Huge Cassidy would routinely guzzle four quarts of whole milk each and every day—in addition to eating regular meals—for the necessary supplemental calories to recover, heal and grow after his bi-weekly slaughter-fest power sessions.
Old timers will tell you, fat at 9 calories per gram, is fabulous for accelerating muscle-healing, inducing muscle growth, and increasing power after a crushing workout. The idea of high intensity power training combined with high calorie eating—including saturated fat—was just too much for the sensible modern man.
Modern man might want additional muscle, but he certainly doesn't want it bad enough to engage in sanctioned gluttony. One can see why the most effective muscle-building progressive resistance system was destined to die a slow and tortured death. Despite its continued and unrivalled effectiveness, it was—and is—too politically incorrect to exist. This system is a public health menace on par with smoking. To recklessly recommend this lift-and-stuff system—even to eager young American alpha males seeking size and power—is evil, akin to handing out packs of cigarettes to trick-or-treaters on Halloween. Those who recommend it should be attacked by packs of wild lawsuit lawyers seeking damages for youth whose lives were wrecked as a result of following this system.
The system was driven into exile and died in direct proportion to the new "fitness revolution" of the 1980s. This "revolution" ushered in the low-fat and no-fat era, soy products, aerobics, Nautilus, and the old Jane Fonda aerobic dance craze.
I am here to resurrect and defend the most politically incorrect of all strength systems. Power training combined with unapologetic calorie slamming is far too effective a muscle and strength system to be allowed to die for PC reasons. Damn the preconceptions of the imperious fitness elite. I hope there still remains a sizable number of reckless, crazed, alpha-male types, MEN in the relentless pursuit of power and functional athletic muscle—MEN unafraid to try radical methods for radical results. This is a call to arms for the thin and pathetically weak. System practitioners routinely add 10-30 pounds of muscle while increasing raw strength and power from 5% to 25% in the same 90 days. That's the reason the system was so popular: rapid and radical results.
Filed Under: Iron Guild Tagged With: alpha males, bodybuilding, Hugh Cassidy, Marty Gallagher, nutrition, old school nutrition, power bodybuilding, powerlifting, strength training, The Iron Bible: The Tao of Power

redpajama_set_name: RedPajamaCommonCrawl


AFTE 2018 is now taking abstract submission for the Technical Presentation.
You can find the abstract submission form link at the bottom of the Call for Papers page under the AFTE 2018 informational page.
Please do not hesitate to reach out if you encounter difficulties or need assistance.
The Technical Program Committee still has room for some amazing presentations. Please encourage those with research and interesting case studies to present.
If you have questions, do not hesitate to reach out to the committee @ technical.afte2018@gmail.com.
We look forward to seeing everyone in Charleston!
The Technical Program is filling in, but there is still room for YOU!
Our forensic community is chock full of great case studies and research, so please share and make this meeting GREAT!
Our training seminars are fantastic opportunities because of all of you - so, THANK YOU!
If you have questions or need assistance, please do not hesitate to contact the Technical Program gmail.
Looking forward to ROCKIN' Charleston with y'all in June.
We are EXCITED about bringing a great Technical Program to Charleston. Submissions have been coming in, but there is still room for YOU!
Friday April 6th is the preferred deadline, so please submit your abstract form or contact the Technical Program Chair to ensure you have a spot!
Our training seminars are fantastic opportunities because of all of you - so, THANKS to everyone that has already submitted.
Looking forward to getting our education on in Charleston.
Thanks to everyone that has registered for the Technical Program. Confirmation emails for presentation dates/time are coming this weekend.
There are some excellent topics coming your way.
If you missed the deadline and have a *must see* presentation, email the Technical Committee ASAP, we may still manage to find a short slot.
If something of interest pops up last minute, check out the BYOS event. I also encourage everyone to bring their last minute presentations to the conference, their may be cancellations.
For any questions or needs, please do not hesitate to reach out to the Technical Program Committee.
I would just like to once again thank everyone that is presenting on our technical program. I hope everyone is excited about the training conference; I am confident that everyone will walk away from next week with new knowledge and new professional friendships.
Please do not hesitate to seek me out if you are bringing a presentation and was not placed on the technical schedule; we may end up with some extra time.
See everyone soon - God speed.


The Outwood Academy School in Ripon, North Yorks, where 27 students collapsed today. SEE RPY COPY: Police say a number of students have collapsed at a school this afternoon (Wed).Emergency services are currently in attendance at the Outwood Academy School in Ripon, North Yorks. Police received reports at around 12.30pm that a number of students had collapsed at the school and a number have been taken to hospital. Officers are working with the fire and ambulance services to establish what has caused the students to collapse.
Outwood Academy School in Ripon has opened as normal today after four students collapsed during a Remembrance Assembly yesterday morning (November 11).
Up to 40 students at the secondary school on Clotherholme Road required medical assistance after reportedly 'overheating' during a Remembrance assembly.
Students began showing signs of 'sickness and feeling faint sometime between 11am and 11.30am' police said as four children collapsed.
However, this caused a 'ripple effect' through the school as anxiety which swept through the school a senior fire officer said.
Fire crews from across Yorkshire turned out to carry out a safety sweep of the school, with a number of ambulances and police officers.
The specialists detected no sign of carbon monoxide poisoning or any other hazardous materials.
Station manager Dave Winspear said: "Children were feeling unwell, nauseous, dizzy. The ambulance service treated children for those symptoms.
He said the emergency services did not know why the children initially felt ill, but said the hall where the 11am service was held was warm. "We are of the view the children just fainted and there was a ripple effect throughout the school.
"More children felt anxiety and started to feel concerned and the thing has escalated.
Superintendent Nick Hunter at North Yorkshire Police, said:"In cases like this where we have such a high number of people fall ill in such a small environment, it is our responsibility to take this extremely seriously and ensure a multi-agency response to fully investigate the circumstances.
"The safety of all involved is paramount and we will take all necessary measures to ensure everyone's safety.
Pupil Joshua Hall, 15, said: "We were all in assembly for Remembrance Day and people were just passing out towards the end.
"It was pretty scary, it was talked about the whole day and it kept getting worse and worse.
A parent, who did not wish to be named, said: "I rang the school to check my daughter was OK.
"I was told a couple of children had collapsed during a remembrance service.
Paramedics leave the Outwood Academy School in Ripon, North Yorks, where 27 students collapsed today. SEE RPY COPY: Police say a number of students have collapsed at a school this afternoon (Wed).Emergency services are currently in attendance at the Outwood Academy School in Ripon, North Yorks. Police received reports at around 12.30pm that a number of students had collapsed at the school and a number have been taken to hospital. Officers are working with the fire and ambulance services to establish what has caused the students to collapse.
Another pupil, who did not wish to be named, said several students had collapsed in the school's hall.
She said: "When the first boy was sick, we thought it was one off but then there was a big slap on the floor and someone had fainted.
"After that it was a bit of a domino effect, another three or four collapsed and then people started leaving the hall to get fresh air.
"One of the boys who fell was a bit concussed and had a big lump on his head.
County Councillor Bernard Bateman praised the emergency services for their response and sympathised with the school's management who were constrained in what they could tell parents, once the emergency services took control.
Another parent who asked not to be named said he was relieved the reason for the incident could be "mass hysteria" rather than anything more serious.
His heart sank when he saw the large response by the emergency services but his fears were quickly eased, he said.
His daughter came home feeling faint, but he was sure that was because of how others had been feeling.
He praised the way the school handled the situation, and said he was put in the picture when he rang to ask what was happening.
"It's a good school and I have full confidence they would not order kids back if there was the slightest impression there might be something wrong.
Outwood Grange Academies Trust said four students fainted during the school's remembrance service assembly, including one who was taken to a minor incident centre "as a precaution" after bumping their head.
A trust spokeswoman said: "Following the assembly, a further 20 students presented themselves during the course of the morning complaining of feeling faint and dizzy. At this point the academy, again as a precaution, called an ambulance.
"The ambulance service took the decision to escalate the matter as there were more than three potential causalities, as is their normal procedure, and the police and fire service attended the site.
"The emergency services have undertaken tests on the site and have quickly established that no chemicals or hazardous gases were present.
"A total of 40 students were treated on site, however, all were able to be released back to their lessons, or at the end of the school day.
"We thank the emergency services for their speedy response in attending the academy site and making the safety of our students and staff paramount.
"We also thank parents, carers and the community for giving the academy the space and time to deal with this matter and know that they would always expect us to follow the instruction of the emergency services until we are satisfied that their children are not at risk.


text:
Q: Setting longitude of latitude tick labels in NorthPolarStereo Cartopy I am making a plot of the Arctic region using code similar to:
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import matplotlib.ticker as mticker
import cartopy.crs as ccrs

fig, ax = plt.subplots(1,1,figsize=(8,8),  subplot_kw={'projection': ccrs.NorthPolarStereo()})

ax.scatter([x[0] for x in max_coords[:-1]],
           [x[1] for x in max_coords[:-1]],
           color='k',
           s=50,
           marker='x',transform=ccrs.PlateCarree(),zorder=5,
           label='BSH Center\n1980-2020')

ax.set_extent([-2.633e+06, 2.696e+06, -6e+04, 2.9e+06], crs=ccrs.NorthPolarStereo())

ax.add_feature(cartopy.feature.LAND, edgecolor='black',zorder=1)

ax.legend(fontsize='x-large')

gl = ax.gridlines(draw_labels=True)

gl.xlocator = mticker.FixedLocator(np.concatenate([np.arange(-180,-89,15),np.arange(90,181,15)]))
gl.xformatter = LONGITUDE_FORMATTER
gl.xlabel_style = {'size': 12, 'color': 'k','rotation':0}

gl.yformatter = LATITUDE_FORMATTER
gl.ylocator = mticker.FixedLocator(np.arange(70,86,5),200)

As you can see, the ticks denoting the latitude are at a longitude of 135E. This means that the 75N tick is over an island and not legible. I would like these ticks to be on the line of 120E, but can't find out how to move them. I thought I could do it with the last two lines of my code above, but they don't seem to make any difference to the plot.

A: This needs some hacks on the labels. First, you can run this code:
gl.label_artists

and found that the in line labels are located at 138 degrees longitude. With this information, you can change it to other values, and I choose 126 with these lines of code:
plt.draw()
for ea in gl.label_artists:
    if ea[1]==False:
        tx = ea[2]
        xy = tx.get_position()
        #print(xy)
        if xy[0]==138:
            #print("Yes")
            tx.set_position([126, xy[1]])

redpajama_set_name: RedPajamaStackExchange


text:
[![Build Status](https://travis-ci.org/vmihailenco/msgpack.svg?branch=v2)](https://travis-ci.org/vmihailenco/msgpack)
[![GoDoc](https://godoc.org/github.com/vmihailenco/msgpack?status.svg)](https://godoc.org/github.com/vmihailenco/msgpack)

Supports:
- Primitives, arrays, maps, structs, time.Time and interface{}.
- Appengine *datastore.Key and datastore.Cursor.
- [CustomEncoder](https://godoc.org/github.com/vmihailenco/msgpack#example-CustomEncoder)/CustomDecoder interfaces for custom encoding.
- [Extensions](https://godoc.org/github.com/vmihailenco/msgpack#example-RegisterExt) to encode type information.
- Renaming fields via `msgpack:"my_field_name"`.
- Omitting empty fields via `msgpack:",omitempty"`.
- [Map keys sorting](https://godoc.org/github.com/vmihailenco/msgpack#Encoder.SortMapKeys).
- Encoding/decoding all [structs as arrays](https://godoc.org/github.com/vmihailenco/msgpack#Encoder.StructAsArray) or [individual structs](https://godoc.org/github.com/vmihailenco/msgpack#example-Marshal--AsArray).
- Simple but very fast and efficient [queries](https://godoc.org/github.com/vmihailenco/msgpack#example-Decoder-Query).

API docs: https://godoc.org/github.com/vmihailenco/msgpack.
Examples: https://godoc.org/github.com/vmihailenco/msgpack#pkg-examples.

## Installation

Install:

```shell
go get -u github.com/vmihailenco/msgpack
```

## Quickstart

```go
func ExampleMarshal() {
	type Item struct {
		Foo string
	}

	b, err := msgpack.Marshal(&Item{Foo: "bar"})
	if err != nil {
		panic(err)
	}

	var item Item
	err = msgpack.Unmarshal(b, &item)
	if err != nil {
		panic(err)
	}
	fmt.Println(item.Foo)
	// Output: bar
}
```

## Benchmark

```
BenchmarkStructVmihailencoMsgpack-4   	  200000	     12814 ns/op	    2128 B/op	      26 allocs/op
BenchmarkStructUgorjiGoMsgpack-4      	  100000	     17678 ns/op	    3616 B/op	      70 allocs/op
BenchmarkStructUgorjiGoCodec-4        	  100000	     19053 ns/op	    7346 B/op	      23 allocs/op
BenchmarkStructJSON-4                 	   20000	     69438 ns/op	    7864 B/op	      26 allocs/op
BenchmarkStructGOB-4                  	   10000	    104331 ns/op	   14664 B/op	     278 allocs/op
```

## Howto

Please go through [examples](https://godoc.org/github.com/vmihailenco/msgpack#pkg-examples) to get an idea how to use this package.

## See also

- [Golang PostgreSQL ORM](https://github.com/go-pg/pg)
- [Golang message task queue](https://github.com/go-msgqueue/msgqueue)


text:
You are here: CollectionsOnline / A guide for true pilgrims, and touchstone for deceived souls; or, a treatise on the nature and effects of faith. By S. B. Minister of the Gospel.
BEAUFOY, Samuel (1749 or 50--1823)
A guide for true pilgrims, and touchstone for deceived souls; or, a treatise on the nature and effects of faith. By S. B. Minister of the Gospel.
London, printed and may be had at 57 Paternoster Row, and of J.L. and T. Albin, Spalding, 1799.
iv, 75, [1] p. ; 12.4 cm. (12º)
Anonymous. Not in ESTC. No other copy has been traced of this edition of this work by Samuel Beaufoy, Minister of Lady Huntingdon's Chapel at Town Sutton, who had published two earlier versions using the same title in Canterbury, 1793 (ESTC t136210) and Maidstone, 1796 (ESTC t136209), both issued with two shorter works which are not present here. The Advertisement (pp. iii--iv) states that the price ('sewed, 4d, or 1l. 8s. per hundred; or nearly bound, 8d. or 2l. 18s. per hundred') was fixed lower than their present value, in hopes that copies would be distributed by the 'wealthy and pious' to those unwilling or unable to buy them. Signatures: a2 A-G6 H2.
Copy Notes The name Beaufoy inscribed in ink on the title-page; extensive markings and underlinings in pencil and ink, and an annotation in pencil on p. 73.
Binding C19th tree sheep, gilt-ruled spine, paper spine-label, ink-lettered


text:
Spagnuolo not ready to reveal who will be Rams' starting QB
Published: Sep 03, 2010 at 10:38 AM
ST. LOUIS -- Sam Bradford will have to wait a few days to learn if he'll start the Rams' opener. The No. 1 overall draft pick certainly has appeared ready for the job.
Bradford's opening drive set the tone for a 27-21 victory over the Baltimore Ravens on Thursday night, giving the Rams a 3-1 preseason finish for the second consecutive season. He was 6-of-6 passing for 68 yards and one touchdown in his one series. That followed a two-TD effort in his first start last week.
Rams coach Steve Spagnuolo said Friday that he'd make a decision in the next two or three days.
"Right now, there won't be any in-depth starting 22 announcements until we get through these final evaluations," Spagnuolo said. "I realize the quarterback position is high profile, I respect that."
Bradford moved to first string when veteran A.J. Feeley, who had been the starter through training camp, sprained the thumb on his throwing hand. Spagnuolo said he anticipated that Feeley would return to practice Monday, but he wasn't sure if the quarterback was ready to take direct snaps.
In his two starts, Bradford was 21-of-28 passing for 257 yards and three touchdowns with no interceptions. After the game, he wasn't campaigning for the job.
"If he says that, then I'll handle it like I know I can," Bradford said. "But until then, I'm just going to show up, do what I can and hopefully one day I will be the starter of this team."
Players have the weekend off before beginning preparation for next Sunday's opener against the Arizona Cardinals at home. During the break, they can feel good about the progress they've made.
Unlike last year when they went 1-15 and ended up with the first pick, the Rams' summer success might have at least some meaning.
"We're excited how we're jelling and come together," guard Adam Goldberg said. "We've been able to execute and come out hot."
Nobody was getting carried away after beating the Ravens, who rested all their starters. Yet there were signs that St. Louis might be ready to begin the climb to respectability.
Since the preseason opener, a dud of a 28-7 loss to the Minnesota Vikings, play has picked up on both sides of the ball. The offense, the NFL's worst a year ago, put up 36 points at New England and has scored a touchdown on its opening drive the last three weeks. While taking a 17-7 halftime lead Thursday, the defense held the Ravens to 88 yards, and the lone score came on an interception return.
"After that Minnesota game, we felt like we needed to turn things around fast," middle linebacker James Laurinaitis said. "I think against Cleveland and New England and now Baltimore, we were able to come out and get something accomplished."
Defensive tackle Fred Robbins was among the preseason standouts with either a sack or tackle for loss in all four games, including two stops behind the line in the finale. The Rams foiled the Ravens on fourth-and-goal from the 1 when end George Selvie tipped Troy Smith's pass and linebacker Chris Chamberlain intercepted it, then returned it 83 yards to the Baltimore 12 on the final play of the first half.
Overall, Rams quarterbacks were 19-of-24 passing for 247 yards against the Ravens.
"We're happy with a 3-1 record no matter what season it is," Laurinaitis said. "But we're anxious to have them count for real."
Copyright 2010 by The Associated Press
Longtime Bills DE Jerry Hughes finally finding playoff glory
No player has been with the Bills longer than Jerry Hughes. Mike Giardi digs into his position as elder statesman on a team poised to shake decades of futility.
Why Richard Seymour deserves a place in Pro Football Hall of Fame's Class of 2021
After having a front-row seat for Richard Seymour's remarkable career, former NFL scout and executive Scott Pioli makes a case for why the third-time finalist deserves a place in the Pro Football Hall of Fame's Class of 2021.


Summary: In the last days before Tigranian and Laria's wedding, Alex takes Laria to meet an old friend on Risa while the captain and his groomsmen embark on the ancient Klingon journey to kal'Hyah.
Summary: Almost one hundred innocent civilians are dead in a cowardly attack. The Federation finally has the means to bring the perpetrator to justice,and the crew of the Pershing is called upon to act.
Summary: When one of the Pershing's Crew receives remarkable news from Starfleet Command, Tigranian is asked to explain an unanswered chapter from his past.


text:
package org.sunflow.core;

import org.sunflow.image.Color;
import org.sunflow.math.Matrix4;
import org.sunflow.math.Point2;
import org.sunflow.math.Point3;
import org.sunflow.math.Vector3;
import org.sunflow.system.UI;
import org.sunflow.system.UI.Module;
import org.sunflow.util.FastHashMap;

/**
 * This class holds a list of "parameters". These are defined and then passed
 * onto rendering objects through the API. They can hold arbitrary typed and
 * named variables as a unified way of getting data into user objects.
 */
public class ParameterList {
    protected final FastHashMap<String, Parameter> list;
    private int numVerts, numFaces, numFaceVerts;

    private enum ParameterType {
        STRING, INT, BOOL, FLOAT, POINT, VECTOR, TEXCOORD, MATRIX, COLOR
    }

    public enum InterpolationType {
        NONE, FACE, VERTEX, FACEVARYING
    }

    /**
     * Creates an empty ParameterList.
     */
    public ParameterList() {
        list = new FastHashMap<String, Parameter>();
        numVerts = numFaces = numFaceVerts = 0;
    }

    /**
     * Clears the list of all its members. If some members were never used, a
     * warning will be printed to remind the user something may be wrong.
     */
    public void clear(boolean showUnused) {
        if (showUnused) {
            for (FastHashMap.Entry<String, Parameter> e : list) {
                if (!e.getValue().checked)
                    UI.printWarning(Module.API, "Unused parameter: %s - %s", e.getKey(), e.getValue());
            }
        }
        list.clear();
        numVerts = numFaces = numFaceVerts = 0;
    }

    /**
     * Setup how many faces should be used to check member count on "face"
     * interpolated parameters.
     *
     * @param numFaces number of faces
     */
    public void setFaceCount(int numFaces) {
        this.numFaces = numFaces;
    }

    /**
     * Setup how many vertices should be used to check member count of "vertex"
     * interpolated parameters.
     *
     * @param numVerts number of vertices
     */
    public void setVertexCount(int numVerts) {
        this.numVerts = numVerts;
    }

    /**
     * Setup how many "face-vertices" should be used to check member count of
     * "facevarying" interpolated parameters. This should be equal to the sum of
     * the number of vertices on each face.
     *
     * @param numFaceVerts number of "face-vertices"
     */
    public void setFaceVertexCount(int numFaceVerts) {
        this.numFaceVerts = numFaceVerts;
    }

    /**
     * Add the specified string as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param value parameter value
     */
    public void addString(String name, String value) {
        add(name, new Parameter(value));
    }

    /**
     * Add the specified integer as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param value parameter value
     */
    public void addInteger(String name, int value) {
        add(name, new Parameter(value));
    }

    /**
     * Add the specified boolean as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param value parameter value
     */
    public void addBoolean(String name, boolean value) {
        add(name, new Parameter(value));
    }

    /**
     * Add the specified float as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param value parameter value
     */
    public void addFloat(String name, float value) {
        add(name, new Parameter(value));
    }

    /**
     * Add the specified color as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param value parameter value
     */
    public void addColor(String name, Color value) {
        if (value == null)
            throw new NullPointerException();
        add(name, new Parameter(value));
    }

    /**
     * Add the specified array of integers as a parameter. null
     * values are not permitted.
     *
     * @param name parameter name
     * @param array parameter value
     */
    public void addIntegerArray(String name, int[] array) {
        if (array == null)
            throw new NullPointerException();
        add(name, new Parameter(array));
    }

    /**
     * Add the specified array of integers as a parameter. null
     * values are not permitted.
     *
     * @param name parameter name
     * @param array parameter value
     */
    public void addStringArray(String name, String[] array) {
        if (array == null)
            throw new NullPointerException();
        add(name, new Parameter(array));
    }

    /**
     * Add the specified floats as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param interp interpolation type
     * @param data parameter value
     */
    public void addFloats(String name, InterpolationType interp, float[] data) {
        if (data == null) {
            UI.printError(Module.API, "Cannot create float parameter %s -- invalid data length", name);
            return;
        }
        add(name, new Parameter(ParameterType.FLOAT, interp, data));
    }

    /**
     * Add the specified points as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param interp interpolation type
     * @param data parameter value
     */
    public void addPoints(String name, InterpolationType interp, float[] data) {
        if (data == null || data.length % 3 != 0) {
            UI.printError(Module.API, "Cannot create point parameter %s -- invalid data length", name);
            return;
        }
        add(name, new Parameter(ParameterType.POINT, interp, data));
    }

    /**
     * Add the specified vectors as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param interp interpolation type
     * @param data parameter value
     */

    public void addVectors(String name, InterpolationType interp, float[] data) {
        if (data == null || data.length % 3 != 0) {
            UI.printError(Module.API, "Cannot create vector parameter %s -- invalid data length", name);
            return;
        }
        add(name, new Parameter(ParameterType.VECTOR, interp, data));
    }

    /**
     * Add the specified texture coordinates as a parameter. null
     * values are not permitted.
     *
     * @param name parameter name
     * @param interp interpolation type
     * @param data parameter value
     */
    public void addTexCoords(String name, InterpolationType interp, float[] data) {
        if (data == null || data.length % 2 != 0) {
            UI.printError(Module.API, "Cannot create texcoord parameter %s -- invalid data length", name);
            return;
        }
        add(name, new Parameter(ParameterType.TEXCOORD, interp, data));
    }

    /**
     * Add the specified matrices as a parameter. null values are
     * not permitted.
     *
     * @param name parameter name
     * @param interp interpolation type
     * @param data parameter value
     */
    public void addMatrices(String name, InterpolationType interp, float[] data) {
        if (data == null || data.length % 16 != 0) {
            UI.printError(Module.API, "Cannot create matrix parameter %s -- invalid data length", name);
            return;
        }
        add(name, new Parameter(ParameterType.MATRIX, interp, data));
    }

    private void add(String name, Parameter param) {
        if (name == null)
            UI.printError(Module.API, "Cannot declare parameter with null name");
        else if (list.put(name, param) != null)
            UI.printWarning(Module.API, "Parameter %s was already defined -- overwriting", name);
    }

    /**
     * Get the specified string parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public String getString(String name, String defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.STRING, InterpolationType.NONE, 1, p))
            return p.getStringValue();
        return defaultValue;
    }

    /**
     * Get the specified string array parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public String[] getStringArray(String name, String[] defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.STRING, InterpolationType.NONE, -1, p))
            return p.getStrings();
        return defaultValue;
    }

    /**
     * Get the specified integer parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public int getInt(String name, int defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.INT, InterpolationType.NONE, 1, p))
            return p.getIntValue();
        return defaultValue;
    }

    /**
     * Get the specified integer array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public int[] getIntArray(String name) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.INT, InterpolationType.NONE, -1, p))
            return p.getInts();
        return null;
    }

    /**
     * Get the specified boolean parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public boolean getBoolean(String name, boolean defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.BOOL, InterpolationType.NONE, 1, p))
            return p.getBoolValue();
        return defaultValue;
    }

    /**
     * Get the specified float parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public float getFloat(String name, float defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.FLOAT, InterpolationType.NONE, 1, p))
            return p.getFloatValue();
        return defaultValue;
    }

    /**
     * Get the specified color parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public Color getColor(String name, Color defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.COLOR, InterpolationType.NONE, 1, p))
            return p.getColor();
        return defaultValue;
    }

    /**
     * Get the specified point parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public Point3 getPoint(String name, Point3 defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.POINT, InterpolationType.NONE, 1, p))
            return p.getPoint();
        return defaultValue;
    }

    /**
     * Get the specified vector parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public Vector3 getVector(String name, Vector3 defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.VECTOR, InterpolationType.NONE, 1, p))
            return p.getVector();
        return defaultValue;
    }

    /**
     * Get the specified texture coordinate parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public Point2 getTexCoord(String name, Point2 defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.TEXCOORD, InterpolationType.NONE, 1, p))
            return p.getTexCoord();
        return defaultValue;
    }

    /**
     * Get the specified matrix parameter from this list.
     *
     * @param name name of the parameter
     * @param defaultValue value to return if not found
     * @return the value of the parameter specified or default value if not
     *         found
     */
    public Matrix4 getMatrix(String name, Matrix4 defaultValue) {
        Parameter p = list.get(name);
        if (isValidParameter(name, ParameterType.MATRIX, InterpolationType.NONE, 1, p))
            return p.getMatrix();
        return defaultValue;
    }

    /**
     * Get the specified float array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public FloatParameter getFloatArray(String name) {
        return getFloatParameter(name, ParameterType.FLOAT, list.get(name));
    }

    /**
     * Get the specified point array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public FloatParameter getPointArray(String name) {
        return getFloatParameter(name, ParameterType.POINT, list.get(name));
    }

    /**
     * Get the specified vector array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public FloatParameter getVectorArray(String name) {
        return getFloatParameter(name, ParameterType.VECTOR, list.get(name));
    }

    /**
     * Get the specified texture coordinate array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public FloatParameter getTexCoordArray(String name) {
        return getFloatParameter(name, ParameterType.TEXCOORD, list.get(name));
    }

    /**
     * Get the specified matrix array parameter from this list.
     *
     * @param name name of the parameter
     * @return the value of the parameter specified or null if
     *         not found
     */
    public FloatParameter getMatrixArray(String name) {
        return getFloatParameter(name, ParameterType.MATRIX, list.get(name));
    }

    private boolean isValidParameter(String name, ParameterType type, InterpolationType interp, int requestedSize, Parameter p) {
        if (p == null)
            return false;
        if (p.type != type) {
            UI.printWarning(Module.API, "Parameter %s requested as a %s - declared as %s", name, type.name().toLowerCase(), p.type.name().toLowerCase());
            return false;
        }
        if (p.interp != interp) {
            UI.printWarning(Module.API, "Parameter %s requested as a %s - declared as %s", name, interp.name().toLowerCase(), p.interp.name().toLowerCase());
            return false;
        }
        if (requestedSize > 0 && p.size() != requestedSize) {
            UI.printWarning(Module.API, "Parameter %s requires %d %s - declared with %d", name, requestedSize, requestedSize == 1 ? "value" : "values", p.size());
            return false;
        }
        p.checked = true;
        return true;
    }

    private FloatParameter getFloatParameter(String name, ParameterType type, Parameter p) {
        if (p == null)
            return null;
        switch (p.interp) {
            case NONE:
                if (!isValidParameter(name, type, p.interp, -1, p))
                    return null;
                break;
            case VERTEX:
                if (!isValidParameter(name, type, p.interp, numVerts, p))
                    return null;
                break;
            case FACE:
                if (!isValidParameter(name, type, p.interp, numFaces, p))
                    return null;
                break;
            case FACEVARYING:
                if (!isValidParameter(name, type, p.interp, numFaceVerts, p))
                    return null;
                break;
            default:
                return null;
        }
        return p.getFloats();
    }

    /**
     * Represents an array of floating point values. This can store single
     * float, points, vectors, texture coordinates or matrices. The parameter
     * should be interpolated over the surface according to the interp parameter
     * when applicable.
     */
    public static final class FloatParameter {
        public final InterpolationType interp;
        public final float[] data;

        public FloatParameter() {
            this(InterpolationType.NONE, null);
        }

        public FloatParameter(float f) {
            this(InterpolationType.NONE, new float[] { f });
        }

        private FloatParameter(InterpolationType interp, float[] data) {
            this.interp = interp;
            this.data = data;
        }
    }

    protected static final class Parameter {
        private ParameterType type;
        private InterpolationType interp;
        private Object obj;
        private boolean checked;

        private Parameter(String value) {
            type = ParameterType.STRING;
            interp = InterpolationType.NONE;
            obj = new String[] { value };
            checked = false;
        }

        private Parameter(int value) {
            type = ParameterType.INT;
            interp = InterpolationType.NONE;
            obj = new int[] { value };
            checked = false;
        }

        private Parameter(boolean value) {
            type = ParameterType.BOOL;
            interp = InterpolationType.NONE;
            obj = value;
            checked = false;
        }

        private Parameter(float value) {
            type = ParameterType.FLOAT;
            interp = InterpolationType.NONE;
            obj = new float[] { value };
            checked = false;
        }

        private Parameter(int[] array) {
            type = ParameterType.INT;
            interp = InterpolationType.NONE;
            obj = array;
            checked = false;
        }

        private Parameter(String[] array) {
            type = ParameterType.STRING;
            interp = InterpolationType.NONE;
            obj = array;
            checked = false;
        }

        private Parameter(Color c) {
            type = ParameterType.COLOR;
            interp = InterpolationType.NONE;
            obj = c;
            checked = false;
        }

        private Parameter(ParameterType type, InterpolationType interp, float[] data) {
            this.type = type;
            this.interp = interp;
            obj = data;
            checked = false;
        }

        private int size() {
            // number of elements
            switch (type) {
                case STRING:
                    return ((String[]) obj).length;
                case INT:
                    return ((int[]) obj).length;
                case BOOL:
                    return 1;
                case FLOAT:
                    return ((float[]) obj).length;
                case POINT:
                    return ((float[]) obj).length / 3;
                case VECTOR:
                    return ((float[]) obj).length / 3;
                case TEXCOORD:
                    return ((float[]) obj).length / 2;
                case MATRIX:
                    return ((float[]) obj).length / 16;
                case COLOR:
                    return 1;
                default:
                    return -1;
            }
        }

        protected void check() {
            checked = true;
        }

        public String toString() {
            return String.format("%s%s[%d]", interp == InterpolationType.NONE ? "" : interp.name().toLowerCase() + " ", type.name().toLowerCase(), size());
        }

        private String getStringValue() {
            return ((String[]) obj)[0];
        }

        private boolean getBoolValue() {
            return (Boolean) obj;
        }

        private int getIntValue() {
            return ((int[]) obj)[0];
        }

        private int[] getInts() {
            return (int[]) obj;
        }

        private String[] getStrings() {
            return (String[]) obj;
        }

        private float getFloatValue() {
            return ((float[]) obj)[0];
        }

        private FloatParameter getFloats() {
            return new FloatParameter(interp, (float[]) obj);
        }

        private Point3 getPoint() {
            float[] floats = (float[]) obj;
            return new Point3(floats[0], floats[1], floats[2]);
        }

        private Vector3 getVector() {
            float[] floats = (float[]) obj;
            return new Vector3(floats[0], floats[1], floats[2]);
        }

        private Point2 getTexCoord() {
            float[] floats = (float[]) obj;
            return new Point2(floats[0], floats[1]);
        }

        private Matrix4 getMatrix() {
            float[] floats = (float[]) obj;
            return new Matrix4(floats, true);
        }

        private Color getColor() {
            return (Color) obj;
        }
    }
}


On April, 6th, 2009, a magnitude-6.3 earthquake struck the Italian town of L'Aquila. 309 people died and hundreds were injured. Alarms went off and help arrived from all over Europe, including its satellites in the sky. Copernicus, the European Earth observation programme, helped save lives by means of its high-definition images.
You may have never heard of it, but Copernicus plays a key role when natural disasters strike, maybe near you. From Murcia in Spain to the Alps, via Paris and Oslo, Copernicus is the European 'sentinel' satellite network. Copernicus satellites are dedicated to observing what happens on the ground, especially in complex events such as earthquakes, fires or floods.
This was the case in L'Aquila. Just a few minutes after the quake, the satellite network was commanded to look closely into the affected area. All satellites in the network took high-resolution photographs and sent them down to Earth, where a complex system integrated the data into several final images, which were cross-checked to aerial photos taken the previous month. The result were the so-called emergency maps.
Thanks to this, troops on the ground got a wide picture of the devastation and direct aid was better coordinated. At the time, the European space sector made all efforts possible to help search teams navigate an area that had become unrecognizable, and save lives of victims under the rubble.


text:
ASCA News Digest (December 29, 2015)
Renew Your Membership by Thursday to get 10 percent off Benchmarking
Time Running Out to Register for ASCA's 2016 Winter Coding Seminar
Call for Nominations to ASCA Board of Directors
ASCA's Online Regulatory Training Series Offers CE Credit for Under $3.00
Register for ASCA 2016
FUJIFILM Validates Revised Reprocessing Instructions for Model ED-530XT Duodenoscopes
Perseus A500 Anesthesia Workstation by Draeger: Class I Recall
Hear ASCA Leadership Speak at Upcoming Conferences
ASCA Offices Close for Holidays
79% of Organizations Report Successful ICD-10 Transition
Medicare: Increasing Hospital-Physician Consolidation Highlights Need for Payment Reform
Three Va. Lawmakers Propose Changes in Pre-Approval of Hospital Expansions
GIs May Reduce Colonoscopy Cases Due to CMS Payment Cuts
Nurses Rank as Most Honest, Ethical Profession for 14th Straight Year
How a Medical Device Maker Kept U.S. Hospitals in the Dark About Deadly Infections
What does the Electronic Health Fairness Act of 2015 mean for your ASC? Understand the implications with this Q&A with Heather Ashby of ASCA.
Click here to learn about some of the biggest challenges facing ASCs with Todd Logan, National VP of Sales, AmkaiSolutions.
Times are changing for ASCs. Click here to learn 10 reasons why your ASC needs an EMR now!
Four Key Features to Look For in a Modern Office Management System. Click here to download the free eBook.
Make sure to follow AmkaiSolutions on Facebook, Linkedin, and Twitter.
Renew your ASCA membership through the new online portal using a credit card or check by December 31 to receive 10 percent off an ASCA Benchmarking subscription.
If you have questions concerning membership renewal, contact Renee Harris-Etheridge at 703.636.0609 or rharris@ascassociation.org.
ASCA's Winter Coding Seminar takes place next month, January 14–16, 2016, at the Talking Stick Resort in Scottsdale, Arizona. ASC professionals who have not already registered are encouraged to do so before the end of December. Don't miss this comprehensive program with more than 25 sessions designed to help position your ASC for success.
Attendees will be awarded up to 17.75 units of AEU credit and up to 14 nursing contact hours.
ASCA is encouraging its members to nominate qualified candidates to serve on its board of directors. To nominate someone, you must be an ASCA member and complete the Call for Nominations Online Form, or download the PDF form and return it by January 12, 2016. Visit the ASCA web site for more details.
ASCA's Online Regulatory Training Series includes 21 courses, designed specifically for ASCs, to help train ASC staff on the latest regulations and standards of care. For less than $3.00 per continuing education (CE) credit, ASCs can ensure they are meeting training requirements in critical operational areas like medication management, infection prevention, Health Insurance Portability and Accountability Act of 1996 (HIPAA) and domestic abuse assessment.
Sign up for ASCA 2016, Thursday to Sunday, May 19–22, at the Gaylord Texan Resort & Convention Center in Dallas, Texas. Learn more about the meeting and register on the ASCA 2016 website.
ASCA 2016 offers a unique opportunity to network with thousands of ASC professionals from around the country. Attendees can exchange best practices and discuss marketplace trends that have immediate and long-term implications for their centers.
ASCA members receive a discounted rate and can save even more by registering multiple attendees at the same time.
Fujifilm Medical Systems issued revised, validated manual reprocessing instructions for the ED-530XT duodenoscope to replace those provided in the original device labeling. U.S. Food and Drug Administration (FDA) encourages health care facilities to apply the revised reprocessing instructions for the ED-530XT duodenoscope to reprocess the 250 and 450 duodenoscope models.
Draeger is recalling the Perseus A500 anesthesia workstation because a faulty power switch may fail, causing the workstation to alarm and shut down unexpectedly. If this occurs, ventilation may fail and the patient may not receive either anesthesia or enough oxygen.
ASCA's Chief Executive Officer William Prentice will speak at McDermott Will & Emery's 14th annual ASC Symposium on February 26 in Miami, Florida.
ASCA's offices will be closed December 31 at 12:00 pm and all day January 1. The Government Affairs Update will return on Thursday, January 7.
ASCA wishes everyone a safe and happy holiday season.
Health IT Outcomes (12/24/2015) Wike, Katie
Seventy-nine percent of the nearly 300 health care organizations responding to a KPMG survey reported a successful transition to the new ICD-10 coding system since the switch was implemented on October 1. EHR Intelligence reports that, despite mixed feelings about the transition, 51 percent of respondents said they encountered some technical issues, but the transition overall has been successful.
GAO Reports (12/15)
Vertical consolidation is a financial arrangement that occurs when a hospital acquires a physician practice and/or hires physicians to work as salaried employees. The number of vertically consolidated hospitals and physicians increased from 2007 through 2013.
Washington Post (12/21/15) Portnoy, Jenna
Three Republican members of Virginia's House of Delegates on Monday called for a repeal of Virginia health-care laws that they say curb competition and stifle innovation. The move reflects a national push to eliminate regulations that require state pre-approval of hospital expansions, surgery centers and certain medical services.
General Surgery News (12/14/15) Smith, Monica J.
Faced with cuts in Medicare reimbursement for colonoscopy, some gastroenterologists said they might reduce the number of procedures they do and retire earlier than they had intended, according to a recent survey. Although hypothetical, a shrinking GI workforce could hinder the ongoing initiative of extending screening for colorectal cancer to more of the eligible population.
PR Newswire (12/21/15)
Nursing continues to be rated the most trusted profession, according to the annual Gallup poll ranking of honesty and ethics in various fields. For the past 14 years, the public has voted nurses as the most honest and ethical profession in America.
Los Angeles Times (12/19/15) Terhune, Chad; Petersen, Melody
The hunt for a deadly superbug that sickened 22 patients at a Dutch hospital began just before noon on a spring day in 2012. Inside a lab in the tiny hamlet of Zoeterwoude, a technician carefully peeled back the tip of a state-of-the art medical scope.


It seems like a dream job to be a duchess, traveling the world, wearing fabulous outfits and and waving at people. (The muscles in your waving hand get so strong.) However, former actress Meghan Markle has discovered that following the Royal Family's strict sartorial rules isn't easy. The Queen insists that Meghan wear tights, not show bare legs; rock high heels, not comfy wedges; and slay in dresses and skirts, not pants. Rumor has it she's also forbidden to wear a beer helmet, giant baby bonnet and "I'm With Stupid -->" trucker hat. Geez, loosen up, Queen!
The Duchess of Sussex has tried to her best to buck these dusty, archaic traditions - like wearing the occasional black pantsuit. And during a visit to Melbourne, Australia, she have donned a very unusual accessory yet. Current the Royal Couple is on their Royal Tour, where they attend Royal Events and wave at the Dirty Non-Royal Commoners. While attending a fancy reception at Government House, Meghan was spotted rocking a unique outfit: Manolo Blahnik BB heels ($625), a blue Dion Lee dress ($873). a Martin Grant trench coat ($1,690) and a Gavin pasta necklace ($0).
A video from the local news captured the moment where Meghan meets the boy and spontaneously puts on his gift. As you know, every element of Meghan's outfits are carefully chosen weeks, if not months, if not centuries in advance. (The royals are are nuts, fam.) However, this particular accessory was a last minute addition. It really completes Meghan ensemble doesn't you think? I wouldn't be surprised if Markle stans and ironic hipsters all start wearing golden pasta necklaces made by children, turning it into the hottest new fashion trend.
Gavin was surprisingly prescient, painting the pasta gold, which perfectly matched Markle's outfit. A bright hot pink would have clashed, and a dark navy blue would have made it blend right. But gold worked out perfectly. I wonder if Queen Elizabeth proves? Considering how persnickety she is about fashion, Her Royal Majesty probably ripped the pasta necklace off Meghan's neck, swallowed it whole, and belched, "NEVER AGAIN!" Or maybe Meghan put it on a dresser full of mementos somewhere. Who knows? The point is, she's cool with her fans, and never too traditional to do something fun, spur-of-the-moment.


text:
Songs of the Storm — Supports
Blizzard Entertainment June 22, 2017
Inspired by the release of the official Heroes of the Storm soundtrack, we've begun to compile an "unofficial playlist" of songs that inspire us to play every character in the Nexus. "What's the best song for each hero?" we like to ask. Or: "How many times do you think Muradin plays AC/DC's "Thunderstruck" in the shower before he puts his armor on and heads into battle?"
We started these playlists with the game's mighty Warriors; now we're onto Supports. Ah, Supports. They're the glue holding together any Heroes of the Storm team, healing reckless Assassins who've dived too deep into the enemies' back line and keeping the Warriors on the front line alive through thick and thin. They help make the plays and they keep everyone else patched up, but what do they make us want to listen to? Let's find out.
Auriel
Imagine by John Lennon
It is through the archangel Auriel that the power of hope flows into the fabric of creation. Even when other celestial bodies up in the High Heavens were ready to give up on the mortals of Sanctuary and leave them to their gloomy fates, Auriel refused to give up—seeing in man the potential to finally create lasting peace. You may say she's a dreamer. But she's not the only one.
Brightwing
Be Careful What You Wish For 'Cause It Might Come True by Gabby La La
Gabby La La is the closest one can come to being a Faerie Dragon IRL—except for maybe the very best cosplayers out there. The sitar and ukulele whiz and longtime associate of Primus's lead weirdo Les Claypool brings the same mixture of sickly sweet idiosyncrasies and thinly-veiled threats of malice to her music that Brightwing brings to the Nexus.
Kharazim
Funky Monks by Red Hot Chili Peppers
"I'll be doing all I can / If I die an honest man." Above all else, Kharazim remains true and devoted to his faith, embodying the will of the one thousand and one gods of Ivgorod in all of his actions. He's also known to get down to a killer bassline.
Li Li is the Taylor Swift of the Nexus. She carries herself with the same youthful optimism that's so relentless it can, at times, seem endearingly naïve. She always tries to see the best in herself and others, and if some giant ogre is trying to get her down? She just shakes it off. And just like Taylor Swift, Li Li can summon a giant spirit dragon to take down her most powerful enemies—even Katy Perry.
Editor's Note: There was originally a lot of heated discussion around what would be a good alternative theme song for Li Li since Taylor Swift had deliberately kept her music off Spotify and other streaming services—a decision Swift reversed just as we were drafting this playlist. While we can't speak for Taylor Swift's intentions in lining up perfectly for our schedule, we'd like to thank her for her support of Li Li and all the denizens of the Nexus.
Lt. Morales
Take Care by Drake
Lt. Morales is the epitome of the dutiful pocket healer. No matter the danger posed by your foes, she'll follow you into battle, keeping you alive through the most intense moments of any fight. Just like Rihanna says to Drake, she can tell "by the way you carry yourself" that "you've been hurt by someone else." And if you'll let her, she'll take care of you.
Pump Up The Jam by Technotronic
The walking boombox of the Nexus, Lúcio can always pump up the jam no matter what the situation. Plus he can put up a massive barrier for all those moments when the jam session gets too intense.
Call of the Wild by Chris LeDoux
Though Malfurion is always happy to throw down in the Nexus, he still heeds the call of the wild he's sworn to protect—hungering for the "freedom of an eagle as she flies," mountains "callin' to him like a mother calls her child," just like the star of this classic country tune by Chris LeDoux. Luckily some of the Battlegrounds have ample space for a jungle.
Rehgar
Hungry Like the Wolf by Duran Duran
Rehgar might seem like a friendly pooch when he bounds around the battlefield in wolf form, healing his allies and slowing any enemies in pursuit. But the shaman has just as much of a taste for battle as his fellow orcs in the Nexus. As Simon Le Bon sang in this classic eighties hit: "I'm on the hunt down I'm after you / Mouth is alive with juices like wine / And I'm hungry like the wolf."
Until the End by Breaking Benjamin
"I have sacrificed all, that our world may live. I have sullied my honor. I have discarded my rank and standing. I have even broken our most ancient traditions. But never think that I would, for one moment, regret my actions. For I am Templar, and above all else, I have sworn to protect our homeworld until the end."
Tyrande
Teardrop by Massive Attack
Tyrande is Massive Attack's best song personified: mysterious yet staid, vulnerable yet fearless, ornate and beautiful all at the same time. Plus she's the only character here who can take credit for adding a teardrop as an item to World of Warcraft. And her owl would totally make for a great mascot for Massive Attack.
Fix You by Coldplay
Uther the Lightbringer tried his best to save Prince Arthas from the forces that were fast corrupting him . . . but in the end, he didn't succeed. Arthas, in turn, got something he wanted (Frostmourne), but not what he needed (a mentor who could help him become a nice person instead of turning into an undead Lich King). Do you think Uther still travels around the Nexus as an act of penance—trying to guide others home by his light, as Chris Martin promises he'll do in one of Coldplay's earliest hits?
Give the Support playlist a listen! Do you agree with our choices, or do you have some other epic bangers to suggest? Let us know what you think of the songs so far, and what you'd pick for the Specialist and Assassin Heroes coming in the weeks ahead!


What constitutes legitimate analysis of speech?
It is helpful that the Frontiers affair involved two contrasting ways in which speech was being used by the various participants. Let us therefore analyze those two ways in turn.
Although we have destroyed all correspondence and documents involving the allegations against us at the request of Frontiers, and although now, a year later, our recollection of those events is minimal, Graham Readfearn has put something about the allegations into the public domain that has received little attention to date.
Readfearn states that the complaints against us alleged "malice" on the part of the authors in various ways. As far as I understand it, malice is a legal term meaning an improper motive in making a statement; and, if proved in Court, removes some defenses to charges of defamation.
In the present context, it is most relevant that the accusations of malice against John Cook, one of the authors of Recursive Fury, were based on his apparent sanctioning of "vile commentary" against the complainant and other bloggers.
Indeed, the material cited in support contains irate statements that none of the authors of Recursive Fury would countenance.
None of the authors made those statements.
One will fail to find anything like those comments on Cook's blog, www.skepticalscience.com: None of the more than 88,000 public comments posted there to date contain anything that could be remotely construed as vitriolic or polemical—that's because 7000 comments were deleted by moderators owing to their inflammatory content.
So where did the "vile commentary" come from and how did John Cook "sanction" it?
The vile commentary was made by third parties unconnected to Recursive Fury on a private forum that was password-protected, and whose purpose was to permit open and completely uncensored discussion among a small group of collaborators. Those comments were posted in the expectation of privacy, and they became public only through a criminal act—a hack attack on Skepticalscience that has been explored in great forensic depth.
John Cook neither wrote those comments, nor could he be reasonably expected to moderate them. They were made in private and became public by an illegal act by parties unknown.
What John did was to host a private forum on which other people vented their anger. If that is malice, then so would be inopportune comments by your friends at an illegally wire-tapped dinner party. You better censor what your guests say in case your next party is bugged, lest you be accused of malice.
The complainant's conduct follows a common pattern in the Subterranean War on Science: Use of private correspondence obtained by an illegal act to construct allegations against scientists. Except that in this case, to allege malice against John Cook, hackers trolled through two years of his private conversations and found exactly nothing.
All the hackers and trolls could find were other parties expressing anger in the expectation of privacy. I cannot think of clearer evidence for the absence of malice in John Cook's conduct.
I nonetheless think there might be evidence of malice here.
Maybe some readers can spot it.
The authors of Recursive Fury.
Recursive Fury was conducted with ethics approval (of course!) and Frontiers entered into a contractual agreement for the retraction that noted that their review "…did not identify any issues with the academic and ethical aspects of the study".
And what did Recursive Fury do? It presented a narrative analysis of public discourse in the blogosphere in the aggregate. We did not categorize anyone into anything, we categorized statements.
This is the difference between saying "Joe is a racist" and saying "When Joe and Fred get together in a bar at night their discourse contains racist elements based on application of the following scholarly criteria." Now, we could have withheld the sources of all those statements, thereby anonymizing the analysis and protecting the identity of those who feel that their public statements are too fragile to survive scholarly scrutiny.
Folks, we did not hide the data.
We made them all available. And they are still here: uwa.edu.au/recursivefury.
Are public statements by people who knowingly made them in public, subject to scholarly analysis? Or is it only stolen correspondence by third parties made in the expectation of privacy that can be used to allege malice on the part of someone who never said anything malicious himself?
In Whose Hands the Future?


Have you had a hard time finding a reliable Rancho Bernardo plumber?
A-1 Prestige Plumbing, Inc. has been offering affordable residential Rancho Bernardo plumbing solutions for over 20 years. We know how important it is that you find a quality plumber and that's why we take pride in the plumbing services we provide to all of our service areas.
A-1 Prestige Plumbing, Inc. knows that you have a choice when it comes to your plumber. We are always looking for ways to go above and beyond for our customers. Our goal is to give you not only the very best plumbing service but the best rate too. And everything we do is backed by our written guarantee, so you never have to worry about using A-1 Prestige Plumbing, Inc. for your plumbing needs. We want our customers to come away knowing that they made the right choice in choosing A-1 Prestige Plumbing, Inc as their Rancho Bernardo plumber.
If you're looking for a Rancho Bernardo plumber or are in need of a plumbing service or repair in Rancho Bernardo, please contact us at (858) 748-3448.
Our local Rancho Bernardo plumbers are just a phone call away.


text:
module.exports = ['$interpolateProvider', '$httpProvider', function($interpolateProvider, $httpProvider) {

    /**
     * Config to work with Symfony 2
     */
    $interpolateProvider.startSymbol('{[').endSymbol(']}');
    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';

}];


Whenever I am sitting on the couch- whether reading or watching tv, I like to be covered up with a blanket. It just feels more comfortable. Now that it's summer and warmer though, my heated throw, even without it being plugged in, is just too warm.
I have a wonderful new blanket though that's perfect for the warmer weather.
The Hoa Kai site as well, also sells 100% Turkish Cotton towels, and kids ponchos. They are a brand new Kaua'i based business supporting weaving families in South East Turkey importing and distributing. Shipping is FREE within the USA for all orders over $75 and they offer great rates for worldwide shipping.
If your looking for a great quality Turkish blanket/ towel that's not mass produced and helps families, Hoa Kai is your go to business.


The family atmosphere was apparent the moment we stepped in the door. Simple clean and elegant, Chez W. DuVall's was a nice surprise, though I could tell it was popular when we first arrived in town, as there where plenty of cars in their parking lot. Bill told Mr. DuVall about our journey while Mr. DuVall told us all about Granada and the local area. We also got to meet a local icon, Lorence McMillin.
My impression of Mr. McMillin was that of a humble man. We learned that he was the town mayor for twelve years, and was on the city counsel for twenty years. Born and raised in the area, Mr. McMillin is a well of information and history. He told us about the The Amache Japanese Internment Camp which is just outside Granada. He explained that the government purchased about 10 miles of local farmland. I was curious if the farmers where asked to sell or told to and if the locals where opposed to the camp. He replied no. The camp brought a large influx on people to the area. Today many of the local buildings contain brick that the government sold of when the closed the camp. Mr. McMillin was 9 years old when the camp was created. I found this link if anyone is interested in learning about the camp.
You can meet Mr. McMillin at his barbershop in town if you need a trim. He is the only licensed barber in the county, so he get pretty busy. Though if you wait your sure to hear a thing or two.


Buying a new home is an important step regardless of who you are and how large your budget may be. Considering how crucial it is to make the right choice for you and your family, what are the best things to know about saving for a new home? We have gathered some of the most essential tips out there – so, read on if you want to find out more.
Believe it or not, huge changes come one step at a time. No great thing humanity ever did came all at once. Although buying a new home seems like a giant step and although it may seem like a far-away moment, the truth is that Rome wasn't built in a day – and only the small steps you make NOW will lead to successfully attaining your goal. Every single thing can make a difference, from turning the tap water off when you brush your teeth to doing your grocery shopping the smart way.
Some people associate the idea of using a credit card with financial collapse – and it can indeed lead to that. However, using a credit card wisely can go a very long way when it comes to saving the money you need for your new home. From the small rewards on credit cards to the fact that using it correctly will help you get a better credit score (and thus, land on a much better mortgage as well), a credit card can be actually helpful. Do make sure you only use it for paying bills and that you close it in full at the end of each month! This way, you will convince credit card bureaus you are worthy of their trust (and your credit score boost will come as a consequence too).
If you really want to buy a new home and if you really want to save money for it (or for its down payment), set a very clear goal in mind and do everything in your power to reach it. Decide how much you want to save every week, every month and every year. Write your goal down somewhere you can see it every day. Day dream. Constantly search for new tricks you can use to save money. Set your mind to attain this goal and do it – as long as you really want it, there's truly nothing to stop you from doing it.
Making smart investments is a great way to boost your odds of actually saving enough money for a new home. However, please make sure you only put your money in safe and sane investments – not in any kind of miracle scheme.
And if you think investment is just not your slice of cake, try to find a second job or to make money doing something you love – such as writing, creating handmade items and so on. Believe it or not, this money will soon add up and help you finally see your dream come true!
Once you've got enough in savings for a deposit, you'll need to start researching home loan options and there are many to choose from. Consider looking into variable rate home loans from NPBS and you might find considerable savings.