text:
"""Tests for optimizer_client."""

from unittest import mock

from googleapiclient import errors
from googleapiclient import http as googleapiclient_http
import httplib2
import tensorflow as tf
from tensorflow_enterprise_addons import version
from tensorflow_enterprise_addons.cloudtuner import optimizer_client

class OptimizerClientTest(tf.test.TestCase):

  def setUp(self):
    super(OptimizerClientTest, self).setUp()
    self.addCleanup(mock.patch.stopall)

    self._study_id = 'study-a'
    self._region = 'us-central1'
    self._project_id = 'project-a'
    self._trial_parent = 'projects/{}/locations/{}/studies/{}'.format(
        self._project_id, self._region, self._study_id)
    self._trial_name = '{}/trials/{}'.format(self._trial_parent, '1')
    self._parent = 'projects/{}/locations/{}'.format(self._project_id,
                                                     self._region)

    self._mock_discovery = mock.MagicMock()

    self._study_config = {
        'algorithm':
            'ALGORITHM_UNSPECIFIED',
        'metrics': [{
            'metric': 'val_acc',
            'goal': 'MAXIMIZE'
        }],
        'parameters': [{
            'parameter': 'learning_rate',
            'discrete_value_spec': {
                'values': [0.0001, 0.001, 0.01]
            },
            'type': 'DISCRETE'
        }]
    }

    self._client = optimizer_client._OptimizerClient(
        service_client=self._mock_discovery,
        project_id=self._project_id,
        region=self._region,
        study_id=self._study_id)

  @mock.patch.object(optimizer_client, 'discovery')
  def test_create_or_load_study_newstudy(self, mock_discovery):
    mock_create_study = mock.MagicMock()
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().create = mock_create_study

    client = optimizer_client.create_or_load_study(
        project_id=self._project_id,
        region=self._region,
        study_id=self._study_id,
        study_config=self._study_config,
    )

    self.assertIsInstance(client, optimizer_client._OptimizerClient)

    _, mock_kwargs = mock_discovery.build_from_document.call_args
    self.assertIn('service', mock_kwargs)
    self.assertIsInstance(mock_kwargs['service'], dict)
    self.assertEqual(
        mock_kwargs['service']['rootUrl'],
        # Regional endpoint must be specified for Optimizer client.
        'https://us-central1-ml.googleapis.com/')

    mock_create_study.assert_called_with(
        body={'study_config': self._study_config},
        parent='projects/{}/locations/{}'.format(self._project_id,
                                                 self._region),
        studyId=self._study_id)

  @mock.patch.object(optimizer_client, 'discovery')
  def test_create_or_load_study_no_study_config(self, mock_discovery):
    mock_get_study = mock.MagicMock()
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().get = mock_get_study

    client = optimizer_client.create_or_load_study(
        project_id=self._project_id,
        region=self._region,
        study_id=self._study_id)

    self.assertIsInstance(client, optimizer_client._OptimizerClient)

    _, mock_kwargs = mock_discovery.build_from_document.call_args
    self.assertIn('service', mock_kwargs)
    self.assertIsInstance(mock_kwargs['service'], dict)
    self.assertEqual(
        mock_kwargs['service']['rootUrl'],
        # Regional endpoint must be specified for Optimizer client.
        'https://us-central1-ml.googleapis.com/')

    mock_get_study.assert_called_with(
        name='projects/{}/locations/{}/studies/{}'.format(
            self._project_id, self._region, self._study_id))

  @mock.patch.object(optimizer_client, 'discovery')
  def test_create_or_load_study_no_study_config_with_404_raises_ValueError(
      self, mock_discovery):
    mock_request = mock.MagicMock()
    mock_request.execute.side_effect = errors.HttpError(
        httplib2.Response(info={'status': 404}), b'')
    mock_get_study = mock.MagicMock()
    mock_get_study.return_value = mock_request
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().get = mock_get_study

    with self.assertRaisesRegex(
        ValueError,
        'GetStudy failed. Study not found: {}.'.format(self._study_id)):
      optimizer_client.create_or_load_study(
          project_id=self._project_id,
          region=self._region,
          study_id=self._study_id)

    mock_get_study.assert_called_with(
        name='projects/{}/locations/{}/studies/{}'.format(
            self._project_id, self._region, self._study_id))

  @mock.patch.object(optimizer_client, 'discovery')
  def test_create_or_load_study_with_409_raises_RuntimeError(
      self, mock_discovery):
    """Verify that get_study gracefully handles 409 errors."""
    mock_request = mock.MagicMock()
    mock_request.execute.side_effect = errors.HttpError(
        httplib2.Response(info={'status': 409}), b'')
    mock_create_study = mock.MagicMock()
    mock_create_study.return_value = mock_request
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().create = mock_create_study

    mock_get_study = mock.MagicMock()
    mock_get_study.side_effect = [
        errors.HttpError(httplib2.Response(info={'status': 400}), b'')
    ] * 3
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().get = mock_get_study

    with self.assertRaisesRegex(
        RuntimeError,
        'GetStudy failed. Max retries reached: <HttpError 400 \"Ok\">'):
      optimizer_client.create_or_load_study(
          project_id=self._project_id,
          region=self._region,
          study_id=self._study_id,
          study_config=self._study_config,
      )
    mock_get_study.assert_called_with(
        name='projects/{}/locations/{}/studies/{}'.format(
            self._project_id, self._region, self._study_id))

  @mock.patch.object(optimizer_client, 'discovery')
  def test_create_or_load_study_with_409_success(self, mock_discovery):
    """Verify that get_study gracefully handles 409 errors."""
    mock_create_request = mock.MagicMock()
    mock_create_request.execute.side_effect = errors.HttpError(
        httplib2.Response(info={'status': 409}), b'')
    mock_create_study = mock.MagicMock()
    mock_create_study.return_value = mock_create_request
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().create = mock_create_study

    mock_get_request = mock.MagicMock()
    mock_get_request.execute.side_effect = [
        errors.HttpError(httplib2.Response(info={'status': 400}), b''),
        errors.HttpError(httplib2.Response(info={'status': 400}), b''),
        mock.DEFAULT
    ]
    mock_get_study = mock.MagicMock()
    mock_get_study.side_effect = mock_get_request
    mock_discovery.build_from_document.return_value.projects().locations(
    ).studies().get = mock_get_study

    client = optimizer_client.create_or_load_study(
        project_id=self._project_id,
        region=self._region,
        study_id=self._study_id,
        study_config=self._study_config,
    )

    self.assertIsInstance(client, optimizer_client._OptimizerClient)
    mock_get_study.assert_called_with(
        name='projects/{}/locations/{}/studies/{}'.format(
            self._project_id, self._region, self._study_id))

  def test_get_suggestions(self):
    mock_suggest = mock.MagicMock()
    self._mock_discovery.projects().locations().studies().trials(
    ).suggest = mock_suggest

    expected_response = {
        'trials': [{
            'name': '1',
            'state': 'ACTIVE',
            'parameters': [{
                'parameter': 'learning_rate',
                'floatValue': 0.001
            }]
        }]
    }
    mock_suggest_lro = mock.MagicMock()
    mock_suggest_lro.return_value.execute.return_value = {
        'name': 'op_name',
        'done': True,
        'response': expected_response
    }
    self._mock_discovery.projects().locations().operations(
    ).get = mock_suggest_lro

    suggestions = self._client.get_suggestions('tuner_0')
    mock_suggest.assert_called_once_with(
        parent=self._trial_parent,
        body={
            'client_id': 'tuner_0',
            'suggestion_count': 1
        })
    self.assertEqual(suggestions, expected_response)

  def test_get_suggestions_with_429(self):
    """Verify that get_suggestion gracefully handles 429 errors."""
    mock_request = mock.MagicMock()
    mock_request.execute.side_effect = errors.HttpError(
        httplib2.Response(info={'status': 429}), b'')
    mock_suggest = mock.MagicMock()
    mock_suggest.return_value = mock_request
    self._mock_discovery.projects().locations().studies().trials(
    ).suggest = mock_suggest

    suggestions = self._client.get_suggestions('tuner_0')
    self.assertEqual(suggestions, {})

  def test_report_intermediate_objective_value(self):
    mock_add_measurement = mock.MagicMock()
    self._mock_discovery.projects().locations().studies().trials(
    ).addMeasurement = mock_add_measurement

    self._client.report_intermediate_objective_value(
        step=1, elapsed_secs=2, metric_list=[{
            'val_acc': 0.8
        }], trial_id='1')

    expected_measurement = {
        'stepCount': 1,
        'elapsedTime': {
            'seconds': 2
        },
        'metrics': [{
            'val_acc': 0.8
        }]
    }
    mock_add_measurement.assert_called_once_with(
        name=self._trial_name, body={'measurement': expected_measurement})

  def test_should_trial_stop(self):
    mock_early_stop = mock.MagicMock()
    mock_early_stop.return_value.execute.return_value = {'name': 'op_name'}
    self._mock_discovery.projects().locations().studies().trials(
    ).checkEarlyStoppingState = mock_early_stop

    mock_early_stop_lro = mock.MagicMock()
    mock_early_stop_lro.return_value.execute.return_value = {
        'name': 'op_name',
        'done': True,
        'response': {
            'shouldStop': True
        }
    }
    self._mock_discovery.projects().locations().operations(
    ).get = mock_early_stop_lro

    mock_stop_trial = mock.MagicMock()
    self._mock_discovery.projects().locations().studies().trials(
    ).stop = mock_stop_trial

    actual_should_stop = self._client.should_trial_stop('1')

    self.assertEqual(actual_should_stop, True)
    mock_early_stop.assert_called_once_with(name=self._trial_name)
    mock_stop_trial.assert_called_once_with(name=self._trial_name)

  def test_complete_trial(self):
    mock_complete_trial = mock.MagicMock()
    expected_trial = {
        'name': '1',
        'state': 'ACTIVE',
        'parameters': [{
            'parameter': 'learning_rate',
            'floatValue': 0.001
        }],
        'finalMeasurement': {
            'stepCount': 3,
            'metrics': [{
                'metric': 'val_acc',
                'value': 0.9
            }]
        },
        'trial_infeasible': False,
        'infeasible_reason': None
    }
    mock_complete_trial.return_value.execute.return_value = expected_trial

    self._mock_discovery.projects().locations().studies().trials(
    ).complete = mock_complete_trial

    trial = self._client.complete_trial(trial_id='1', trial_infeasible=False)

    mock_complete_trial.assert_called_once_with(
        name=self._trial_name,
        body={
            'trial_infeasible': False,
            'infeasible_reason': None
        })
    self.assertEqual(trial, expected_trial)

  def test_list_trials(self):
    mock_list_trials = mock.MagicMock()
    expected_trials = {
        'trials': [{
            'name': '1',
            'state': 'COMPLETED',
            'parameters': [{
                'parameter': 'learning_rate',
                'floatValue': 0.01
            }],
            'finalMeasurement': {
                'stepCount': 3,
                'metrics': [{
                    'metric': 'val_acc',
                    'value': 0.7
                }]
            },
            'trial_infeasible': False,
            'infeasible_reason': None
        }, {
            'name': '2',
            'state': 'COMPLETED',
            'parameters': [{
                'parameter': 'learning_rate',
                'floatValue': 0.001
            }],
            'finalMeasurement': {
                'stepCount': 3,
                'metrics': [{
                    'metric': 'val_acc',
                    'value': 0.9
                }]
            },
            'trial_infeasible': False,
            'infeasible_reason': None
        }]
    }
    mock_list_trials.return_value.execute.return_value = expected_trials
    self._mock_discovery.projects().locations().studies().trials(
    ).list = mock_list_trials

    trials = self._client.list_trials()

    mock_list_trials.assert_called_once_with(parent=self._trial_parent)
    self.assertEqual(len(trials), 2)

  def test_list_studies(self):
    mock_list_studies = mock.MagicMock()
    expected_studies = {
        'studies': [{
            'name': '1',
            'study_config': self._study_config,
            'state': 'COMPLETED',
            'create_time': {
                'seconds': 1234,
                'nanos': 0
            },
            'inactive_reason': None
        }, {
            'name': '2',
            'study_config': self._study_config,
            'state': 'COMPLETED',
            'create_time': {
                'seconds': 1235,
                'nanos': 0
            },
            'inactive_reason': None
        }]
    }
    mock_list_studies.return_value.execute.return_value = expected_studies
    self._mock_discovery.projects().locations().studies(
    ).list = mock_list_studies

    studies = self._client.list_studies()

    mock_list_studies.assert_called_once_with(parent=self._parent)
    self.assertEqual(len(studies), 2)

  def test_delete_study_none(self):
    mock_delete_study = mock.MagicMock()
    self._mock_discovery.projects().locations().studies(
    ).delete = mock_delete_study

    self._client.delete_study()

    mock_delete_study.assert_called_once_with(name=self._trial_parent)

  def test_delete_study_specified(self):
    mock_delete_study = mock.MagicMock()
    self._mock_discovery.projects().locations().studies(
    ).delete = mock_delete_study

    study_name = '{}1'.format(self._trial_parent)
    self._client.delete_study(study_name)

    mock_delete_study.assert_called_once_with(name=study_name)

  def test_delete_study_with_404_raises_ValueError(self):
    """Verify that delete_study gracefully handles 404 errors."""
    mock_request = mock.MagicMock()
    mock_request.execute.side_effect = errors.HttpError(
        httplib2.Response(info={'status': 404}), b'')
    mock_delete_study = mock.MagicMock()
    mock_delete_study.return_value = mock_request
    self._mock_discovery.projects().locations().studies(
    ).delete = mock_delete_study

    with self.assertRaisesRegex(
        ValueError,
        'DeleteStudy failed. Study not found: {}.'.format(self._trial_parent)):
      self._client.delete_study()

  def test_cloud_tuner_request_header(self):
    http_request = optimizer_client.CloudTunerHttpRequest(
        googleapiclient_http.HttpMockSequence([({
            'status': '200'
        }, '{}')]), object(), 'fake_uri')
    self.assertIsInstance(http_request, googleapiclient_http.HttpRequest)
    self.assertEqual({'user-agent': 'cloud-tuner/' + version.__version__},
                     http_request.headers)

if __name__ == '__main__':
  tf.test.main()


How to succeed in volatile times | Fulcrum ConsultingWorks Inc.
Moving any business forward requires conviction, even in turbulent conditions. But you don't succeed in those conditions on conviction alone.
The Japanese central bank has implemented negative interest rates. Oil prices are at lows not seen in years, knocking stock prices off their perch. The Middle East is in war-torn turmoil as Europe struggles with the overflow of its refugees. And it's an election year in the U.S.
Other than that, why would you question your sales forecast for 2016-2017?
What we can assuredly predict is volatility. That means we must position our businesses to quickly and effectively change course multiple times, and we must know when to act.
Moving any business forward requires conviction, even in turbulent conditions. Conviction, however, does not mean disregard for the possibilities. Bad decisions are never appropriate. If you can't swim, don't dive into the deep end. But even if you can, you never want to dive into the shallow end. If you're not sure of the depth, get data. Never swim alone. And before you get wet, confirm that the water is the best of alternative paths.
Succeeding in volatile times is really no different than during stable periods.
Ford's recent decision to close its Indonesian and Japanese operations reflects rational stop-loss to the prior horrible decision to put them there. None of the reasons given for poor performance in those markets is news. While demographics and economics suggested many car buyers, nothing suggested they would buy Fords. And they didn't.
Every business makes bad decisions. The responsibility of leadership is to limit their number and impact, and to learn lessons when they happen.
Signing long-term contracts with volume guarantees is risky in the best of times. After all, the best of times don't last forever. A long-term contract specifying a percentage of demand is more flexible. If you need to scale your supply chain either up or down, understand and document the variables involved in reversing course with minimal pain to all parties.
This is not pushing risk onto others. This is not a lack of conviction. It is sharing important information to enable risk management by all.
Regardless of the volatility you suspect, always identify the assumptions that are most critical to the success of a decision, and those most likely to be wrong. It may be riskier to do nothing than to make the change you are considering, so be sure to include that possibility as well.
Identify trigger points for those key assumptions, at which time you will reassess your decision. You can choose to limit your investment, or to double down.
If you don't recognize the critical assumptions or the trigger points, invest more in understanding the options and potential outcomes. When a trigger point is reached, stick with facts, not hopes. I've seen too many companies discount triggers because they simply wanted too much to believe.
Once in a rare while we get totally blindsided, but it's much more common to find that an important assumption was misguided.
So whether you are nervous about this next year, or confident, listen to the Gambler. Learn to play it right.


Homer Simpson animated talking telephone. Homer talks & moves (his head & arms pop up) with an incoming call or when the demo button is pressed. Last number redial/flash, custom or conventional ringer, tone/pulse option, Homer speaks a number of funny phrases when the phone rings. Ringer volume control (high/low). Animated/off/ring switch. Handset slide volume control. Requires 4 C batteries, not included.


My journey to living a full and healthy life while inspiring others every step of the way.
CONFESSION: I'm starting to get the hang of this bike thing (well…at least I'd like to think so). The bike (and triathlons in general) are all new to me and it's taking some getting used to. It's not like running. You can't just get up, lace up the sneaks and walk out your front door. There are so many logistics and mechanical things that come along with biking. Pumping up the tires, having lights, greasing up your shoes, and most importantly having the proper bike fit. This all adds major complexity and sometimes drives me nuts. And yes…you have to make sure your bike actually fits and I don't just mean raising or lowering the seat. I mentioned in my last post (check it out here) that I had my first ever bike fitting for my road bike.
My coach Suzy Serpico (RipIt Coaching) suggested going to Princeton Sports in Columbia to meet with Mike Stone (aka Stoney). Stoney has done about 967 bike fits so I'd say he's very much an expert. He has a really good reputation with being "the best" when it comes to bike fits in this area.
After arriving at the bike shop, we got the bike all set up and got right to work.
Stoney used the 3D Body Geometry Bike Fit. This method was developed by Dr. Andy Pruitt from the Boulder Center for Sports Medicine, and includes a full physical assessment to measure and record each rider's body structure, range of motion strengths & limits, and unique needs.
The fitting started with a series of tests and measurements in order to get the correct data which would help get the bike exactly where it needed to be for riding. This not only will help with speed and power, but will help reduce injury which is key.
Some of the things I would have never even thought about. Like ischial tuberosity width which helps determine the best saddle fit or IT band tightness or hip ROM and even the length of your femur.
I got new inserts for my shoes and added these orange pads to help with my knee alignment while riding. Both have made a huge difference while riding.
After a solid 2.5 hours we finally had the bike where we wanted it.
Here are some of the photos from the initial and final fit.
I could not be more thrilled about this bike fit and the final results. This was a HUGE SUCCESS!!!
Thank you Princeton Sports and Mike for helping make this whole bike thing that much easier.


This comes from my friend David Volpe. He had a terrible argument with his expensive smoke alarm and this is what he had to say about it.
"I am UP. My super $60 "ten year/sealed" smoke detector went off. I looked around, nothing, so I reset it.
I reset it again and put it on the front porch; it went off again.
I put it OUTSIDE in the fresh air - it went off. I taped the speaker so I couldn't hear it but I still could. I tried the "OFF" function but that didn't work either.
Finally, I took it into the kitchen, grabbed a cleaver, and smashed the sh*t out of it but the battery was SEALED to the unit. Finally, I just cut the wires off to the speaker with a steak knife. Bastards. I want my $60 back."
Here's a picture of the final results of the disruptive smoke detector.


text:
Mia Deakin, daughter of RHOV star Jody Claman, remains in hospital following shooting
Due to the sensitive and/or legal subject matter of some of the content on globalnews.ca, we reserve the ability to disable comments from time to time.
Please see our Commenting Policy for more.
By Amy Judd	Global News
Posted June 9, 2014 9:17 pm
Updated June 9, 2014 11:37 pm
VANCOUVER – Former Real Housewives of Vancouver cast member, Jody Claman, did not want to talk today about her daughter Mia Deakin.
She was at the hospital in Vancouver visiting her daughter but avoided the cameras and questions about her daughter's condition.
Deakin was shot in the shoulder during a drive-by shooting in East Vancouver Sunday night.
She had to undergo surgery today and remains in stable condition in hospital.
Deakin, 28, and a 27-year-old man were at a gas station on East Hastings Street and Vernon Drive at about 7 p.m. when a gunman with a high-powered rifle started shooting from the back of an SUV.
"My friend went in to help her," said witness Alvin Hackett. "To stop the bleeding. He went and grabbed some, I guess pillow cases and towels, and everything to put on her to stop the bleeding."
Global News has learned the 27-year-old man with Deakin is gang associate Jeffrey Chang. He was treated for a minor injury to his hand following the shooting. After being released from hospital he was arrested for an outstanding warrant for a driving prohibition.
The relationship between the two victims is unknown.
However, the police say the hit was targeted.
Deakin's father spoke to Global News over the phone and said he had recently warned his daughter about the type of people she was hanging out with.
It is unclear if the shooting or suspects were caught on surveillance tape, but Vancouver Police are looking for video.
– With files from Rumina Daya
VancouverShootingReal HousewivesJody ClamanMia Deakin

redpajama_set_name: RedPajamaCommonCrawl


text:
Published September, 2014 by Morgan Hargrave in Legal/Ethical, Safety & Security, Technology / Equipment, Video for Change
Human Rights Video and the Open Internet – September 2014 Tech News Digest
This post is the beginning of a monthly series on technology and human rights in the news, written by our technology advocacy team.
This month, we look at net neutrality, an issue that has riled up everyone from late-night comedian John Oliver to 'publisher' Larry Flynt. This past weekend saw an exciting development that WITNESS is glad to be a part of, as a new global coalition of civil society organizations was launched at the Web We Want Festival in London.
Needless to say, the open Internet has become a powerful tool for what we do at WITNESS, and that's true for so many of the people we work with around the world. We are hopeful that combining our voice with other civil society groups as part of the Global Net Neutrality Coalition will help bring concrete steps toward protecting openness online. We are also fighting to make sure that net neutrality remains a global issue that is not solely focused on the US and Europe (where most of the heat on this issue has come from) and includes places that are just now starting to come online.
Image courtesy of @tribalicious on Flickr via Creative Commons.
Beyond the announcement of this new effort, the month of September saw a lot of coverage on Net Neutrality, and we've compiled a few of our favorite pieces below for this month's tech reading list. Enjoy!
To start, Newsweek looked at the (very few) instances of policy protections being implemented in other parts of the world. Most of the Net Neutrality conversation focuses on what the US Congress and Federal Communications Commission will say on the issue, but Latin America and Europe are actually leading the way at the moment, and billions more people will be affected by decisions in Asia and Africa in the coming years.
The Wall Street Journal covered the rise of 'zero-rating', which are partnerships between service providers and internet platforms to offer subsidized access to certain sites. The plans are especially targeted at the developing world and poorer customers, so people are getting a cheap way to use Facebook and the like, but that's a far cry from having access to an open web. Zero-rating introduces people to the internet as a limited and private space rather than the 'information superhighway' that it represents in its ideal state.
GigaOm was at the Web We Want Festival and rightly focused on one of the big questions for the event: will civil society be able to appeal to a broader audience and build an inclusive movement for Internet freedom and better governance?
A big question within the discussions about openness is the impact of video and the demands on bandwidth it brings, and a number of video-focused companies joined the Internet Slowdown on September 10th to help ensure that videos won't be relegated to a back seat online. Video platform Vimeo added their voice with this short and snappy PSA.
Vimeo On Net Neutrality from Vimeo Staff on Vimeo.
ethicsfreedom of expressioninternet freedomnet neutralitytech digesttech policy


To properly treat patients, we need a detailed understanding of the pathology of chronic disease. Whether a patient presents with Alzheimer's or autism is less important than unraveling the path that led to the development of the disease. Not every patient with Alzheimer's arrived at their diagnosis from similar causes. The 2nd Annual International Conference on Chronic Pathologies addresses the complexity and individuality of our patients in arriving at a treatment plan. The goal of the conference is an international perspective that goes beyond treatment based on a diagnosis.
Although complex disease exists across the life spectrum, as we delve into the causes of these issues, there are more similarities than differences. Inflammation appears to be universal in disease, but what does this really mean? We know that acute inflammation is beneficial. It is our immune system reacting correctly to an infection or injury. But what happens when the inflammation becomes chronic? Is it still beneficial? What we are learning is that chronic inflammation underlies many long-term illnesses.
CIRS is a term frequently used today with chronically ill patients. Chronic inflammatory response syndrome or CIRS is commonly seen as something to address in mold patients. The term describes an out-of-control inflammatory response from dysregulated immune responses. Patients present with fatigue, pain, cognitive, and digestive issues. This describes many patients presenting to an integrative practitioner, and they might all have the diagnosis of CIRS. Yet, what triggered this aberrant immune cascade will require an understanding of pathological changes from many potential triggers.
Abnormal immune responses seen in CIRS and other chronic conditions can arise from many components of the immune system. Our immune system is very complex with an elaborate set of checks and balances. One of these regulatory systems is through the T helper cells and T regulatory cells. In theory, T helper 1 cells will help fight viruses and T helper 2 cells will help fight bacteria. Unfortunately, now we have infections, such as Lyme disease, trick our immune system to increase a Th2 response that decreases the ability of the immune system to fight this infection. When T helper cells are not regulated, our immune messengers, the cytokines are out of balance. This leads to a dysregulation of other parts of the immune system such as B- cells with antibody production leading to autoimmune disease.
Integrative conferences are often based on a disease state, for example a conference on mold or dementia. By shifting the focus onto causes of disease, the 2nd Annual Conference on Chronic Pathologies will teach practitioners to approach their patients in a different manner. Instead of thinking here is a patient with mold issues, they can approach the patient thinking causes such as inflammation, immune dysregulation, gut hyperpermeability, and endocrine disruption. How are we going to treat this patient based on the causes of their symptoms? These are the skills that integrative practitioners will learn at the 2nd Annual International Conference on Chronic Pathologies to treat the myriad of complex patients that arrive at their office.
Click to Support Independent Voices!


It is sometimes easy to figure out when it is time to give things in our house an upgrade. Say for example that the fridge stops on working, the paint job in the living room appears faded or the tile in the bathroom is cracked, then you immediately know that these things are in your to-do list. On the other hand, when trying to determine when to have replacement windows or not is a different issue as it's more complicated.
Many homes have a tendency to show signs of tear and wear on the glass every 15 years at least or so. The truth is, this is the time when homeowners are starting to take action on getting replacement windows. Basically, this is not a good idea since there are determining factors that can help you know when is the best time to do such.
Number 1. Are they working properly – the first step in trying to determine if the replacement windows are still working correctly is by checking if everything is properly working. To give you an example, it is important for you to see if the windows are still easy to close and open or do they stick, can everyone in the household open them without hassle, when closed are they tightly closed, if they have locks, can you lock and unlock them easily? Not just that these questions are important for energy conservation, this is crucial to know as well because it can literally save lives especially in times of emergency like hurricane or fire. Say for instance that the locks aren't working correctly, it simply puts everyone inside the house at high risks of break-ins.
Number 2. Are they single pane glass – as a matter of fact, most of the older homes come with single pane glass and while it is true that they might not easily show signs of tear and wear, they're costing you more money and wasting energy. The technology used these days is a dual pane glass. Fact is, this is a more energy efficient and safer solution in comparison to single pane glasses. Dual pane glasses can also help in reducing pollution and noise in your house and at the same time, a wonderful investment for properties that are situated in densely populated areas.
Number 3. Is your wallpaper or carpet beginning to fade – if you have noticed areas of your home that get lots of direct sunlight especially to your furniture, wallpaper or carpet are beginning to fade, it is definitely a time for upgrade. Old glass may let too much UV light to enter into your house and ruin your belongings. New replacement windows available these days are actually energy efficient and come with treatments, designed to protect your belongings from harmful UV rays.


Officially Licensed. The highest quality sterling silver sorority beads on the market. These unique beads are completely compatible with any bracelet line. Don't settle for a low quality imitation. This collection is designed by Sorority Sisters and all the beads are Made in the U.S.A. This is your chance to sell the highest quality sorority bead available anywhere. Made in Michigan!


text:
Farm Lake is a lake in Lake County, in the U.S. state of Minnesota.

Farm Lake was named from the fact the Ojibwe Indians planted their crops there.

See also
List of lakes in Minnesota

References

Lakes of Minnesota
Lakes of Lake County, Minnesota

redpajama_set_name: RedPajamaWikipedia


text:
Marijuana Movement Dodges Sexual Harassment Consequences
PrevPreviousUtah Cops Say Marijuana Causes Impotence, Stupidity, and Death
NextA Stoner's Holiday Shopping Wish ListNext
Recently, Marijuana Policy Project announced that their founding executive director, Rob Kampia, would be stepping down from his position, moving diagonally on the org chart to a new position created specifically for him, called "director of strategic development."
Why do you suppose that happened? It's not as if Kampia has failed in his leadership. The organization under his tenure has had a major influence, if not the primary influence, in the legalization of marijuana for medical purposes in at least half the states it has passed, as well as five of the eight adult-legal marijuana states. Kampia has also proven to be a successful fundraiser, keeping the organization well in the black for over two decades.
The answer can be found in an article from the Washington City Paper from 2010 entitled, "The Breast Massage Will Happen." Details of a culture of rampant sexual harassment within MPP shocked the marijuana community and surprised the mainstream, culminating in a tale involving Kampia, engaged in after-hours drinking with staff, then deciding one female subordinate was too drunk to drive herself home, but not too drunk to consent to sex at his apartment.
Clearly, the diagonal move for Kampia within MPP is in reaction to the growing wave of powerful men being brought down for their sexual misconduct.
There was far less pressure in dealing with the issue of sexual harassment in 2010. Kampia explained away his behavior as brought on by his "hypersexuality." While some staff and board members resigned over the reporting of these incidents, the remaining board allowed Kampia to keep his well-paid position, with only a three-month leave-of-absence for treatment of his "hypersexuality" required of him to return to his leadership role.
So, did it work? Did MPP fix its climate of sexual harassment; specifically, is Kampia no longer "hypersexual?"
Well, if it did work, moving Kampia out of the leadership position in the context of the recent sexual harassment wokeness suggests that MPP's boards simply don't want to have the subject of a seven-year-old scandal at the top of the org that they'd have to relitigate in the court of public opinion.
If it didn't work, moving Kampia appears more like sweeping a sexual harassment problem under the rug.
At the time of Kampia's scandal, the late Peter Lewis was still alive. Lewis, the Progressive Insurance billionaire, was one of three that were the major funders of marijuana reform non-profits. Lewis also carried the baggage of well-known sexual indiscretion, admitting "Intraoffice romances just happen and I've had them, both inappropriately and appropriately."
Kampia's and Lewis's relationship was critical in the formation of MPP, which began when Kampia, then a staffer for NORML, along with another staffer, allegedly absconded with NORML's mailing and donor lists. Lewis provided the funding necessary to get MPP off the ground.
So, in 2010 with the sexual scandal brewing around Kampia, it was made very clear that if Kampia disappeared, so would Lewis's money, and MPP would be decimated, if not ended. No surprise, then, that Kampia's ouster never happened and three months of therapy was deemed sufficient to address the scandal.
But now, in 2017, powerful men are getting their just desserts even years after their scandals. Alabama Senate candidate Roy Moore is being pilloried for his predation on teen girls dating back to the early 1980s. Nobody contends that Moore is behaving that way now, or even beyond 1985, when he married his current wife that he scouted when she was a teen.
Moore may still win his election, as many Alabama voters think being a Democrat is worse than being a child molester. But for many other powerful men in comedy, news, politics, theater, cinema, tech, and business, the day of reckoning has meant losing their jobs.
Kampia, on the other hand, gets to keep everything about his job except its name and its exposure to the public. MPP gets to keep the money spigot flowing without having to be distracted by another high-profile public relations nightmare.
Why is there no hue and cry from the marijuana community about this? Have we decided that Kampia's behavior was OK, because he's one of us, he's good at his job, and gosh, it happened so long ago? Did we collectively decide that three months of therapy for "hypersexuality" was punishment enough? Do we just not want to rock the boat by giving opponents of legalization something to attack us with when we're on a roll?
Apparently, if you want to sexually harass women and keep your job, you'd better make sure your name isn't at the top of a studio, a political campaign, a movie, a TV show, or a comedy album. Instead, make sure your name is at the top of a marijuana law reform non-profit.
"Radical" Russ
Drugs, HIGH TIMES, Politics, Sex
MPP, Rob Kampia
Search the Rants
Rant Categories
Rant Categories Select Category Articles (780) Alternet (12) Cannabis Culture (4) Cannabis Now Magazine (1) Freedom Leaf (10) HIGH TIMES (376) HIGH TIMES Magazine (41) Huffington Post (48) International Cannabis Business Conference (18) Kush Magazine (1) Marijuana Politics (189) National Cannabis Coalition (24) Oregon Cannabis Connection (7) Reset.me (4) Smell the Truth (1) Texas Cannabis Report (1) The Weed Blog (4) WeedNews.co (17) West Coast Cannabis (12) West Coast Leaf (1) Data (12) Drugs (820) News (45) Politics (363) Religion (4) Rock'n'Roll (4) Science (18) Sex (7) Sports (17)
Rant Archives
Rant Archives Select Month January 2021 (13) December 2020 (31) November 2020 (25) October 2020 (11) September 2020 (1) August 2020 (1) May 2020 (6) April 2020 (12) March 2019 (1) January 2019 (1) October 2018 (7) June 2018 (2) May 2018 (1) March 2018 (1) January 2018 (6) December 2017 (6) November 2017 (4) October 2017 (4) September 2017 (6) August 2017 (4) July 2017 (11) June 2017 (6) May 2017 (9) April 2017 (6) March 2017 (7) February 2017 (5) January 2017 (8) December 2016 (7) November 2016 (11) October 2016 (9) September 2016 (18) August 2016 (29) July 2016 (21) June 2016 (10) May 2016 (8) April 2016 (11) March 2016 (20) February 2016 (22) January 2016 (19) December 2015 (28) November 2015 (26) October 2015 (22) September 2015 (29) August 2015 (28) July 2015 (22) June 2015 (13) May 2015 (15) April 2015 (11) March 2015 (9) February 2015 (4) January 2015 (14) December 2014 (15) November 2014 (23) October 2014 (15) September 2014 (14) August 2014 (21) July 2014 (28) June 2014 (13) May 2014 (21) April 2014 (12) March 2014 (17) February 2014 (13) January 2014 (17) December 2013 (30) November 2013 (24) October 2013 (15) September 2013 (13) August 2013 (6) July 2013 (2) February 2013 (1) August 2012 (2) July 2012 (4) March 2012 (1) December 2011 (1) October 2011 (1) September 2011 (1) August 2011 (1) July 2011 (1) June 2011 (1) May 2011 (2) April 2011 (2) March 2011 (1) February 2011 (1) January 2011 (1) December 2010 (1) November 2010 (3) October 2010 (3) September 2010 (1) August 2010 (3) July 2010 (1) June 2010 (1) May 2010 (2) April 2010 (2) March 2010 (2) February 2010 (1) January 2010 (2) December 2009 (1) October 2009 (1) September 2009 (1) August 2009 (1) July 2009 (1) April 2009 (1)
What Defending the Constitution Means
2021-01-11	08:53	No Comments
I was stunned, but not shocked. I've grown up among these people. This result was inevitable. I'm only surprised it's taken until 2021 for this festering boil of unaddressed racism and willful ignorance to finally erupt in open treason.
Marijuana Activists Who Died in 2020
Marijuana activists we lost in 2020 include Subcool, Charlotte Figi, Dr. Lester Grinspoon, Jules Stobbs, Cliff Robinson, Kevin Zeese, and Dan Baum.
Idaho Marijuana Sales Top $100M in Ontario, Oregon
Data from the Oregon Liquor Control Commission show that the legal marijuana shops in the tiny Oregon/Idaho border town of Ontario have topped over $103 million in sales in just over sixteen months of operation.
LDS Church Clarifies Approval of Medical Marijuana Use
The Church of Jesus Christ of Latter Day Saints has updated its general handbook to clarify that while it supports its faithful in their physician-approved use of medical marijuana, it "does not approve of vaping marijuana unless the medical provider has authorized it based on medical necessity."
High School Drug Use Rates Lowest Ever Recorded
This year, high school drug use rates in the United States are the lowest ever recorded. In fact, every year for the past four years has set a record for the lowest monthly drug use rates by high school seniors.


text:
Q: switched out HTML for php- caused minor layout issues, unsure how to fix Live site.
Ideally, between border-top and border-bottom, I'd like to have 3 portfolio thumbnails, a divider(.png), and 3 blog thumbnails. Below the far right of each section should be '...'(next.png).

Currently, there is a random border directly on top of "Recent Work" that shouldn't be there and the '...' button for 'Recent Blog' is below the border-bottom. What is causing this/how do I remedy?
Everything was fine before I switched out the HTML for php..
<?php if ($portfolio_query->have_posts()) : ?>

Recent Work

                    <?php while ( $portfolio_query->have_posts() ) : $portfolio_query->the_post(); ?>
                    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( array(130,130) ); ?>
                    <?php endwhile; ?>

<img src="<?php echo get_template_directory_uri(); ?>/img/next.png" alt="next" id="next" />

        <?php endif; ?>

                    <img src="<?php echo get_template_directory_uri(); ?>/img/divider.png" alt="Section divider" id="divider" />

        <?php if ($blog_query->have_posts()) : ?>

Recent Blog

                    <?php while ( $blog_query->have_posts() ) : $blog_query->the_post(); ?>
                    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( array(130,130) ); ?>
                    <?php endwhile; ?>

<img src="<?php echo get_template_directory_uri(); ?>/img/next.png" alt="next" id="next" />

        <?php endif; ?>

&
#recent {
    border-top: 1px solid #202020;
    padding-bottom: 40px;
    padding-top: 40px;
}

#recent .divider {
    display: block;
    float: left;
    margin-left: 20px;
    padding-bottom: 20px;
}

#recent #recent-work {
    display: block;
    float: left;
    position:relative;
}

#recent #recent-work p {
    padding-bottom: 20px;
}

#recent #recent-work p span {
    font-family: nevis-webfont;
    font-size: 112.5%;
    font-weight: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#recent #recent-work a {
    padding-bottom: 40px;
    padding-right: 20px;
}

#recent #recent-blog {
    display: block;
    float: right;
    position:relative;
}

#recent #recent-blog p {
    padding-bottom: 20px;
}

#recent #recent-blog p span {
    font-family: nevis-webfont;
    font-size: 112.5%;
    font-weight: normal;
    letter-spacing: 1px;
    padding-left: 20px;
    text-transform: uppercase;
}

#recent #recent-blog a {
    padding-bottom: 40px;
    padding-left: 20px;
}

#recent .next {
    position: absolute;
    bottom: -40px;
    right: 0px;
}

A: Try adding a closing
 to close your first

I think you are unintentionally nesting
....
 without closing either of them

A: You have use ids more than once and it's messing with your page. This will generate errors that search engines will use to rank you lowly. Check http://validator.w3.org/ to see for yourself.
Also you have id recent with a top border and you use the div several times. Try changing recent to a class and then change the "recent" div containing the two to a class without a border on the top.

A: Just post what the output looks like with the dynamic PHP and then the hard-coded HTML version, and compare them side by side. Whatever is different between them is the answer.

redpajama_set_name: RedPajamaStackExchange


"An Assessment of State Agencies' Practices in Managing Geotechnical Ri" by Ivan Castro-Nova, Ghada M. Gad et al.
State highways agencies policies and procedures for articulating geotechnical information and requirements on Design-Build (DB) projects is a means to manage geotechnical risks. Successful approaches and practices to managing geotechnical risk not only reduce the level of geotechnical uncertainty for both the owner and the competing design-builder, but also distribute the remaining geotechnical risk between the parties. This paper discusses the differences in regard to geotechnical risk management, aspects of the DB procurement process, and contract aspects between state departments of transportation (DOT) with experience delivering projects using DB versus those who are not as experienced. Results are presented from two independent sources of information; one was obtained through literature review of aspects related to geotechnical requirements and management of DB projects, and the other was through an online-survey of 38 DOTs. Results of the study statistically demonstrate the value of DB experience in managing geotechnical risks, and accordingly presents a set of recommended practices for agencies that are relatively new to DB project delivery, during both procurement and contract formation.
This is a manuscript of an article from Transportation Research Record 2630 (2017): doi:10.3141/2630-02. Posted with permission.
Castro-Nova, Ivan; Gad, Ghada M.; and Gransberg, Douglas D., "An Assessment of State Agencies' Practices in Managing Geotechnical Risks in Design-Build Projects" (2017). Civil, Construction and Environmental Engineering Publications. 111.


text:
package invtweaks;

import invtweaks.api.IItemTree;
import invtweaks.api.IItemTreeCategory;
import invtweaks.api.IItemTreeItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.Logger;

import java.util.*;

/**
 * Contains the whole hierarchy of categories and items, as defined in the XML item tree. Is used to recognize keywords
 * and store item orders.
 *
 * @author Jimeo Wan
 */
public class InvTweaksItemTree implements IItemTree {
    public static final String UNKNOWN_ITEM = "unknown";

    private static final Logger log = InvTweaks.log;
    private static List<IItemTreeItem> defaultItems = null;
    /**
     * All categories, stored by name
     */
    private Map<String, IItemTreeCategory> categories = new HashMap<>();
    /**
     * Items stored by ID. A same ID can hold several names.
     */
    private Map<String, List<IItemTreeItem>> itemsById = new HashMap<>(500);
    /**
     * Items stored by name. A same name can match several IDs.
     */
    private Map<String, List<IItemTreeItem>> itemsByName = new HashMap<>(500);

    private String rootCategory;
    private List<OreDictInfo> oresRegistered = new ArrayList<>();

    public InvTweaksItemTree() {
        reset();
    }

    public void reset() {

        if(defaultItems == null) {
            defaultItems = new ArrayList<>();
            defaultItems.add(new InvTweaksItemTreeItem(UNKNOWN_ITEM, null, InvTweaksConst.DAMAGE_WILDCARD,
                    Integer.MAX_VALUE));
        }

        // Reset tree
        categories.clear();
        itemsByName.clear();
        itemsById.clear();

    }

    /**
     * Checks if given item ID matches a given keyword (either the item's name is the keyword, or it is in the keyword
     * category)
     */
    @Override
    public boolean matches(List<IItemTreeItem> items, String keyword) {

        if(items == null) {
            return false;
        }

        // The keyword is an item
        for(IItemTreeItem item : items) {
            if(item.getName() != null && item.getName().equals(keyword)) {
                return true;
            }
        }

        // The keyword is a category
        IItemTreeCategory category = getCategory(keyword);
        if(category != null) {
            for(IItemTreeItem item : items) {
                if(category.contains(item)) {
                    return true;
                }
            }
        }

        // Everything is stuff
        return keyword.equals(rootCategory);

    }

    @Override
    public int getKeywordDepth(String keyword) {
        try {
            return getRootCategory().findKeywordDepth(keyword);
        } catch(NullPointerException e) {
            log.error("The root category is missing: " + e.getMessage());
            return 0;
        }
    }

    @Override
    public int getKeywordOrder(String keyword) {
        List<IItemTreeItem> items = getItems(keyword);
        if(items != null && items.size() != 0) {
            return items.get(0).getOrder();
        } else {
            try {
                return getRootCategory().findCategoryOrder(keyword);
            } catch(NullPointerException e) {
                log.error("The root category is missing: " + e.getMessage());
                return -1;
            }
        }
    }

    /**
     * Checks if the given keyword is valid (i.e. represents either a registered item or a registered category)
     */
    @Override
    public boolean isKeywordValid(String keyword) {

        // Is the keyword an item?
        if(containsItem(keyword)) {
            return true;
        }

        // Or maybe a category ?
        else {
            IItemTreeCategory category = getCategory(keyword);
            return category != null;
        }
    }

    /**
     * Returns a reference to all categories.
     */
    @Override
    public Collection<IItemTreeCategory> getAllCategories() {
        return categories.values();
    }

    @Override
    public IItemTreeCategory getRootCategory() {
        return categories.get(rootCategory);
    }

    @Override
    public void setRootCategory(IItemTreeCategory category) {
        rootCategory = category.getName();
        categories.put(rootCategory, category);
    }

    @Override
    public IItemTreeCategory getCategory(String keyword) {
        return categories.get(keyword);
    }

    @Override
    public boolean isItemUnknown(String id, int damage) {
        return itemsById.get(id) == null;
    }

    @Override
    public List<IItemTreeItem> getItems(String id, int damage) {
        if(id == null) {
            return new ArrayList<>();
        }

        List<IItemTreeItem> items = itemsById.get(id);
        List<IItemTreeItem> filteredItems = new ArrayList<>();
        if(items != null) {
            filteredItems.addAll(items);
        }

        // Filter items of same ID, but different damage value
        if(items != null && !items.isEmpty()) {
            items.stream().filter(item -> item.getDamage() != InvTweaksConst.DAMAGE_WILDCARD && item.getDamage() != damage).forEach(filteredItems::remove);
        }

        // If there's no matching item, create new ones
        if(filteredItems.isEmpty()) {
            IItemTreeItem newItemId = new InvTweaksItemTreeItem(String.format("%s-%d", id, damage), id, damage,
                    5000/*TODO: What to do here with non-int IDs + id * 16 + damage*/);
            IItemTreeItem newItemDamage = new InvTweaksItemTreeItem(id, id,
                    InvTweaksConst.DAMAGE_WILDCARD, 5000/*TODO: What to do here with non-int IDs + id * 16*/);
            addItem(getRootCategory().getName(), newItemId);
            addItem(getRootCategory().getName(), newItemDamage);
            filteredItems.add(newItemId);
            filteredItems.add(newItemDamage);
        }

        Iterator<IItemTreeItem> it = filteredItems.iterator();
        while(it.hasNext()) {
            if(it.next() == null) {
                it.remove();
            }
        }

        return filteredItems;
    }

    @Override
    public List<IItemTreeItem> getItems(String name) {
        return itemsByName.get(name);
    }

    @Override
    public IItemTreeItem getRandomItem(Random r) {
        return (IItemTreeItem) itemsByName.values().toArray()[r.nextInt(itemsByName.size())];
    }

    @Override
    public boolean containsItem(String name) {
        return itemsByName.containsKey(name);
    }

    @Override
    public boolean containsCategory(String name) {
        return categories.containsKey(name);
    }

    @Override
    public IItemTreeCategory addCategory(String parentCategory, String newCategory) throws NullPointerException {
        IItemTreeCategory addedCategory = new InvTweaksItemTreeCategory(newCategory);
        addCategory(parentCategory, addedCategory);
        return addedCategory;
    }

    @Override
    public IItemTreeItem addItem(String parentCategory, String name, String id, int damage, int order)
            throws NullPointerException {
        InvTweaksItemTreeItem addedItem = new InvTweaksItemTreeItem(name, id, damage, order);
        addItem(parentCategory, addedItem);
        return addedItem;
    }

    @Override
    public void addCategory(String parentCategory, IItemTreeCategory newCategory) throws NullPointerException {
        // Build tree
        categories.get(parentCategory).addCategory(newCategory);

        // Register category
        categories.put(newCategory.getName(), newCategory);
    }

    @Override
    public void addItem(String parentCategory, IItemTreeItem newItem) throws NullPointerException {
        // Build tree
        categories.get(parentCategory).addItem(newItem);

        // Register item
        if(itemsByName.containsKey(newItem.getName())) {
            itemsByName.get(newItem.getName()).add(newItem);
        } else {
            List<IItemTreeItem> list = new ArrayList<>();
            list.add(newItem);
            itemsByName.put(newItem.getName(), list);
        }
        if(itemsById.containsKey(newItem.getId())) {
            itemsById.get(newItem.getId()).add(newItem);
        } else {
            List<IItemTreeItem> list = new ArrayList<>();
            list.add(newItem);
            itemsById.put(newItem.getId(), list);
        }
    }

    @Override
    public void registerOre(String category, String name, String oreName, int order) {
        for(ItemStack i : OreDictionary.getOres(oreName)) {
            if(i != null) {
                // TODO: It looks like Mojang changed the internal name type to ResourceLocation. Evaluate how much of a pain that will be.
                addItem(category,
                        new InvTweaksItemTreeItem(name, Item.itemRegistry.getNameForObject(i.getItem()).toString(), i.getItemDamage(), order));
            } else {
                log.warn(String.format("An OreDictionary entry for %s is null", oreName));
            }
        }
        oresRegistered.add(new OreDictInfo(category, name, oreName, order));
    }

    @SubscribeEvent
    public void oreRegistered(OreDictionary.OreRegisterEvent ev) {
        // TODO: It looks like Mojang changed the internal name type to ResourceLocation. Evaluate how much of a pain that will be.
        oresRegistered.stream().filter(ore -> ore.oreName.equals(ev.Name)).forEach(ore -> {
            if(ev.Ore.getItem() != null) {
                // TODO: It looks like Mojang changed the internal name type to ResourceLocation. Evaluate how much of a pain that will be.
                addItem(ore.category, new InvTweaksItemTreeItem(ore.name, Item.itemRegistry.getNameForObject(ev.Ore.getItem()).toString(),
                        ev.Ore.getItemDamage(), ore.order));
            } else {
                log.warn(String.format("An OreDictionary entry for %s is null", ev.Name));
            }
        });
    }

    private static class OreDictInfo {
        String category;
        String name;
        String oreName;
        int order;

        OreDictInfo(String category_, String name_, String oreName_, int order_) {
            category = category_;
            name = name_;
            oreName = oreName_;
            order = order_;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Pukara (Aymara for fortress, Hispanicized spelling Pucara) is a  mountain in the Andes of Bolivia. It is located in the La Paz Department, Pacajes Province, Calacoto Municipality. Pukara lies north of the Anallajsi volcano, north-west of the mountain Pichaqa and south-west of the mountains Urqipi and Churi Willk'i. It is situated at the Jalsuri River, a right affluent of the Achuta River. The village of Pukara (Pucara) lies at its feet, south-east of it.

References

Mountains of La Paz Department (Bolivia)


text:
•Front Page •Medicare/Medicaid •Aging •Health •Alzheimer's/Mental •Nutrition •Politics •Fitness •Social Security
•Sex Health •Features •Retirement •Elder Care •Links ■Search
SeniorJournal.com
Need Great Lawyer – Medical, Nursing Home Injuries - Pd.Adv.
Alzheimer's & Mental Health News for Senior Citizens
Alzheimer's & Mental Health News
Stress appears to pave way to Alzheimer's for senior citizens
Strong evidence perceived stress increases chance older people will develop cognitive impairment
Feb. 12, 2016 - Feeling stressed out increases the likelihood that elderly people will develop mild cognitive impairment - often a prelude to full-blown Alzheimer's disease. Scientists find that highly stressed participants were more than twice as likely to become impaired than those who were not. Because stress is treatable, the results suggest that detecting and treating stress in older people might help delay or even prevent the onset of Alzheimers.
Each year, approximately 470,000 Americans are diagnosed with Alzheimer's dementia. Many of them first experience mild cognitive impairment - a pre-dementia condition that significantly increases the risk of developing Alzheimer's in the following months or years.
This study looked at the connection between chronic stress and "amnestic mild cognitive impairment" (aMCI), the most common type of MCI, which is primarily characterized by memory loss.
"Our study provides strong evidence that perceived stress increases the likelihood that an older person will develop aMCI," said Richard Lipton, M.D., senior author of the study, vice chair of neurology at Albert Einstein College of Medicine and Montefiore Health System, and professor in the Saul R. Korey Department of Neurology and the Edwin S. Lowe Chair of Neurology at Einstein. "Fortunately, perceived stress is a modifiable risk factor for cognitive impairment, making it a potential target for treatment."
"Perceived stress reflects the daily hassles we all experience, as well as the way we appraise and cope with these events," said study first author, Mindy Katz, M.P.H., senior associate in the Saul R. Korey Department of Neurology at Einstein. "Perceived stress can be altered by mindfulness-based stress reduction, cognitive-behavioral therapies and stress-reducing drugs. These interventions may postpone or even prevent an individual's cognitive decline."
The researchers studied data collected from 507 people enrolled in the Einstein Aging Study (EAS), a community-based cohort of older adults. Since 1993, the EAS has systematically recruited adults 70 and over who live in Bronx County, NY. Participants undergo annual assessments that include clinical evaluations, a neuropsychological battery of tests, psychosocial measures, medical history, assessments of daily-living activities and reports (by participants and those close to them) of memory and other cognitive complaints.
Starting in 2005, the EAS began assessing stress using the Perceived Stress Scale (PSS). This widely used 14-item measure of psychological stress was designed to be sensitive to chronic stress (due to ongoing life circumstances, possible future events and other causes) perceived over the previous month. PSS scores range from 0 to 56, with higher scores indicating greater perceived stress.
The diagnosis of aMCI was based on standardized clinical criteria including the results of recall tests and reports of forgetfulness from the participants or from others. All 507 enrollees were free of aMCI or dementia at their initial PSS assessment and subsequently underwent at least one annual follow-up evaluation. They were followed for an average of 3.6 years.
Seventy-one of the 507 participants were diagnosed with aMCI during the study. The greater the participants' stress level, the greater their risk for developing aMCI: for every 5 point increase in their PSS scores, their risk of developing aMCI increased by 30 percent.
Similar results were obtained when participants were divided into five groups (quintiles) based on their PSS scores. Participants in the highest-stress quintile (high stress) were nearly 2.5 times more likely to develop aMCI than were people in the remaining four quintiles combined (low stress). When comparing the two groups, participants in the high-stress group were more likely to be female and have less education and higher levels of depression.
To confirm that stress was independently increasing risk for aMCI in this study, the researchers assessed whether depression - which increases the risk for stress as well as for cognitive impairment and Alzheimer's disease - might have influenced the results.
They found that depression did not significantly affect the relationship observed between stress and the onset of aMCI. Similarly, stress's impact on cognitive status was unaffected if participants possessed at least one e4 allele of the APOE gene, which increases their risk for developing late-onset Alzheimer's.
The study is titled "Influence of perceived stress on incident amnestic mild cognitive impairment: Results from the Einstein Aging Study." It was published online last December in Alzheimer Disease & Associated Disorders.
In addition to Dr. Lipton and Ms. Katz, other Einstein-Montefiore authors were Carol Derby, Ph.D., Cuiling Wang, Ph.D., Ali Ezzati, M.D., Molly Zimmerman, Ph.D., and Jessica Zwerling, M.D., M.S. Martin Sliwinski, Ph.D., of Pennsylvania State University also contributed to the study. The research was funded by the National Institutes of Health, the National Center for Advancing Translational Sciences, the Leonard and Sylvia Marx Foundation and the Czap Foundation. The authors report no conflicts of interest.
About Albert Einstein College of Medicine
Albert Einstein College of Medicine claims to be one of the nation's premier centers for research, medical education and clinical investigation. The College of Medicine has more than 1,900 full-time faculty members located on the main campus and at its clinical affiliates. In 2015, Einstein received $148 million in awards from the National Institutes of Health (NIH). Its partnership with Montefiore Medical Center, the University Hospital and academic medical center for Einstein, advances clinical and translational research to accelerate the pace at which new discoveries become the treatments and therapies that benefit patients. Through its extensive affiliation network involving Montefiore, Jacobi Medical Center - Einstein's founding hospital, and three other hospital systems in the Bronx, Brooklyn and on Long Island. For more information: www.einstein.yu.edu, the blog, on Twitter, on Facebook, and YouTube.
About Montefiore Health System
Montefiore Health System reports it is a premier academic health system and the University Hospital for Albert Einstein College of Medicine. For more information visit their website, Twitter, Facebook, YouTube.
Related Alzheimer's & Mental Health News - Senior Journal Archives
Elderly reduce risk of Alzheimer's eating seafood with no worry of mercury
Seafood fights dementia; mercury contamination not related to increased brain pathology - Feb. 6, 2016
More at Alzheimer's & Mental Health Section Page
Follow on and
Keep up with the latest news for senior citizens
Today's Senior Citizen Headlines
New Reverse Mortgage Tools Help Seniors Understand Them Better
Senior citizens with Medicare get lots of benefits from Obamacare
New Medicare Rules Should Help 'High Need' Patients Get Better Treatment
Why you get your Social Security payment when you do
Older women treated for breast cancer find more cosmetic satisfaction with less radiation
Senior citizens, less educated about only ones happy with Trump transition
Helen Mirren as sexy, vital, feisty as ever in AARP magazine
More at SeniorJournal.com
Click to More Senior News on the Front Page
Copyright: SeniorJournal.com
About SeniorJournal.com
Published by New Tech Media - NewTechMedia.com