text:
import mock

from neutron.common import exceptions
from neutron import context
from neutron.db.loadbalancer import loadbalancer_db as ldb
from neutron.db import servicetype_db as st_db
from neutron.extensions import portbindings
from neutron import manager
from neutron.openstack.common import uuidutils
from neutron.plugins.common import constants
from neutron.services.loadbalancer.drivers.haproxy import (
    plugin_driver
)
from neutron.tests import base
from neutron.tests.unit.db.loadbalancer import test_db_loadbalancer
from neutron.tests.unit import testlib_api

class TestLoadBalancerPluginBase(
    test_db_loadbalancer.LoadBalancerPluginDbTestCase):

    def setUp(self):
        # needed to reload provider configuration
        st_db.ServiceTypeManager._instance = None
        super(TestLoadBalancerPluginBase, self).setUp(
            lbaas_provider=('LOADBALANCER:lbaas:neutron.services.'
                            'loadbalancer.drivers.haproxy.plugin_driver.'
                            'HaproxyOnHostPluginDriver:default'))
        # create another API instance to make testing easier
        # pass a mock to our API instance

        # we need access to loaded plugins to modify models
        loaded_plugins = manager.NeutronManager().get_service_plugins()

        self.plugin_instance = loaded_plugins[constants.LOADBALANCER]

class TestLoadBalancerCallbacks(TestLoadBalancerPluginBase):
    def setUp(self):
        super(TestLoadBalancerCallbacks, self).setUp()

        self.callbacks = plugin_driver.LoadBalancerCallbacks(
            self.plugin_instance
        )
        get_lbaas_agents_patcher = mock.patch(
            'neutron.services.loadbalancer.agent_scheduler'
            '.LbaasAgentSchedulerDbMixin.get_lbaas_agents')
        get_lbaas_agents_patcher.start()

        # mocking plugin_driver create_pool() as it does nothing more than
        # pool scheduling which is beyond the scope of this test case
        mock.patch('neutron.services.loadbalancer.drivers.haproxy'
                   '.plugin_driver.HaproxyOnHostPluginDriver'
                   '.create_pool').start()

        self.addCleanup(mock.patch.stopall)

    def test_get_ready_devices(self):
        with self.vip() as vip:
            with mock.patch('neutron.services.loadbalancer.agent_scheduler'
                            '.LbaasAgentSchedulerDbMixin.'
                            'list_pools_on_lbaas_agent') as mock_agent_pools:
                mock_agent_pools.return_value = {
                    'pools': [{'id': vip['vip']['pool_id']}]}
                ready = self.callbacks.get_ready_devices(
                    context.get_admin_context(),
                )
                self.assertEqual(ready, [vip['vip']['pool_id']])

    def test_get_ready_devices_multiple_vips_and_pools(self):
        ctx = context.get_admin_context()

        # add 3 pools and 2 vips directly to DB
        # to create 2 "ready" devices and one pool without vip
        pools = []
        for i in xrange(0, 3):
            pools.append(ldb.Pool(id=uuidutils.generate_uuid(),
                                  subnet_id=self._subnet_id,
                                  protocol="HTTP",
                                  lb_method="ROUND_ROBIN",
                                  status=constants.ACTIVE,
                                  admin_state_up=True))
            ctx.session.add(pools[i])

        vip0 = ldb.Vip(id=uuidutils.generate_uuid(),
                       protocol_port=80,
                       protocol="HTTP",
                       pool_id=pools[0].id,
                       status=constants.ACTIVE,
                       admin_state_up=True,
                       connection_limit=3)
        ctx.session.add(vip0)
        pools[0].vip_id = vip0.id

        vip1 = ldb.Vip(id=uuidutils.generate_uuid(),
                       protocol_port=80,
                       protocol="HTTP",
                       pool_id=pools[1].id,
                       status=constants.ACTIVE,
                       admin_state_up=True,
                       connection_limit=3)
        ctx.session.add(vip1)
        pools[1].vip_id = vip1.id

        ctx.session.flush()

        self.assertEqual(ctx.session.query(ldb.Pool).count(), 3)
        self.assertEqual(ctx.session.query(ldb.Vip).count(), 2)
        with mock.patch('neutron.services.loadbalancer.agent_scheduler'
                        '.LbaasAgentSchedulerDbMixin'
                        '.list_pools_on_lbaas_agent') as mock_agent_pools:
            mock_agent_pools.return_value = {'pools': [{'id': pools[0].id},
                                                       {'id': pools[1].id},
                                                       {'id': pools[2].id}]}
            ready = self.callbacks.get_ready_devices(ctx)
            self.assertEqual(len(ready), 2)
            self.assertIn(pools[0].id, ready)
            self.assertIn(pools[1].id, ready)
            self.assertNotIn(pools[2].id, ready)
        # cleanup
        ctx.session.query(ldb.Pool).delete()
        ctx.session.query(ldb.Vip).delete()

    def test_get_ready_devices_inactive_vip(self):
        with self.vip() as vip:

            # set the vip inactive need to use plugin directly since
            # status is not tenant mutable
            self.plugin_instance.update_vip(
                context.get_admin_context(),
                vip['vip']['id'],
                {'vip': {'status': constants.INACTIVE}}
            )
            with mock.patch('neutron.services.loadbalancer.agent_scheduler'
                            '.LbaasAgentSchedulerDbMixin.'
                            'list_pools_on_lbaas_agent') as mock_agent_pools:
                mock_agent_pools.return_value = {
                    'pools': [{'id': vip['vip']['pool_id']}]}
                ready = self.callbacks.get_ready_devices(
                    context.get_admin_context(),
                )
                self.assertFalse(ready)

    def test_get_ready_devices_inactive_pool(self):
        with self.vip() as vip:

            # set the pool inactive need to use plugin directly since
            # status is not tenant mutable
            self.plugin_instance.update_pool(
                context.get_admin_context(),
                vip['vip']['pool_id'],
                {'pool': {'status': constants.INACTIVE}}
            )
            with mock.patch('neutron.services.loadbalancer.agent_scheduler'
                            '.LbaasAgentSchedulerDbMixin.'
                            'list_pools_on_lbaas_agent') as mock_agent_pools:
                mock_agent_pools.return_value = {
                    'pools': [{'id': vip['vip']['pool_id']}]}
                ready = self.callbacks.get_ready_devices(
                    context.get_admin_context(),
                )
                self.assertFalse(ready)

    def test_get_logical_device_inactive(self):
        with self.pool() as pool:
            with self.vip(pool=pool) as vip:
                with self.member(pool_id=vip['vip']['pool_id']):
                    self.assertRaises(
                        exceptions.Invalid,
                        self.callbacks.get_logical_device,
                        context.get_admin_context(),
                        pool['pool']['id'],
                        activate=False
                    )

    def test_get_logical_device_activate(self):
        with self.pool() as pool:
            with self.vip(pool=pool) as vip:
                with self.member(pool_id=vip['vip']['pool_id']) as member:
                    ctx = context.get_admin_context()

                    # build the expected
                    port = self.plugin_instance._core_plugin.get_port(
                        ctx, vip['vip']['port_id']
                    )
                    subnet = self.plugin_instance._core_plugin.get_subnet(
                        ctx, vip['vip']['subnet_id']
                    )
                    port['fixed_ips'][0]['subnet'] = subnet

                    # reload pool to add members and vip
                    pool = self.plugin_instance.get_pool(
                        ctx, pool['pool']['id']
                    )

                    pool['status'] = constants.ACTIVE
                    vip['vip']['status'] = constants.ACTIVE
                    vip['vip']['port'] = port
                    member['member']['status'] = constants.ACTIVE

                    expected = {
                        'pool': pool,
                        'vip': vip['vip'],
                        'members': [member['member']],
                        'healthmonitors': []
                    }

                    logical_config = self.callbacks.get_logical_device(
                        ctx, pool['id'], activate=True
                    )

                    self.assertEqual(logical_config, expected)

    def test_get_logical_device_inactive_member(self):
        with self.pool() as pool:
            with self.vip(pool=pool) as vip:
                with self.member(pool_id=vip['vip']['pool_id']) as member:
                    ctx = context.get_admin_context()
                    self.plugin_instance.update_status(ctx, ldb.Pool,
                                                       pool['pool']['id'],
                                                       'ACTIVE')
                    self.plugin_instance.update_status(ctx, ldb.Vip,
                                                       vip['vip']['id'],
                                                       'ACTIVE')
                    self.plugin_instance.update_status(ctx, ldb.Member,
                                                       member['member']['id'],
                                                       'INACTIVE')

                    logical_config = self.callbacks.get_logical_device(
                        ctx, pool['pool']['id'], activate=False)

                    member['member']['status'] = constants.INACTIVE
                    self.assertEqual([member['member']],
                                     logical_config['members'])

    def _update_port_test_helper(self, expected, func, **kwargs):
        core = self.plugin_instance._core_plugin

        with self.pool() as pool:
            with self.vip(pool=pool) as vip:
                with self.member(pool_id=vip['vip']['pool_id']):
                    ctx = context.get_admin_context()
                    func(ctx, port_id=vip['vip']['port_id'], **kwargs)

                    db_port = core.get_port(ctx, vip['vip']['port_id'])

                    for k, v in expected.iteritems():
                        self.assertEqual(db_port[k], v)

    def test_plug_vip_port(self):
        exp = {
            'device_owner': 'neutron:' + constants.LOADBALANCER,
            'device_id': 'c596ce11-db30-5c72-8243-15acaae8690f',
            'admin_state_up': True
        }
        self._update_port_test_helper(
            exp,
            self.callbacks.plug_vip_port,
            host='host'
        )

    def test_plug_vip_port_mock_with_host(self):
        exp = {
            'device_owner': 'neutron:' + constants.LOADBALANCER,
            'device_id': 'c596ce11-db30-5c72-8243-15acaae8690f',
            'admin_state_up': True,
            portbindings.HOST_ID: 'host'
        }
        with mock.patch.object(
            self.plugin._core_plugin, 'update_port') as mock_update_port:
            with self.pool() as pool:
                with self.vip(pool=pool) as vip:
                    ctx = context.get_admin_context()
                    self.callbacks.plug_vip_port(
                        ctx, port_id=vip['vip']['port_id'], host='host')
            mock_update_port.assert_called_once_with(
                ctx, vip['vip']['port_id'],
                {'port': testlib_api.SubDictMatch(exp)})

    def test_unplug_vip_port(self):
        exp = {
            'device_owner': '',
            'device_id': '',
            'admin_state_up': False
        }
        self._update_port_test_helper(
            exp,
            self.callbacks.unplug_vip_port,
            host='host'
        )

class TestLoadBalancerAgentApi(base.BaseTestCase):
    def setUp(self):
        super(TestLoadBalancerAgentApi, self).setUp()
        self.addCleanup(mock.patch.stopall)

        self.api = plugin_driver.LoadBalancerAgentApi('topic')
        self.mock_cast = mock.patch.object(self.api, 'cast').start()
        self.mock_msg = mock.patch.object(self.api, 'make_msg').start()

    def test_init(self):
        self.assertEqual(self.api.topic, 'topic')

    def _call_test_helper(self, method_name):
        rv = getattr(self.api, method_name)(mock.sentinel.context, 'test',
                                            'host')
        self.assertEqual(rv, self.mock_cast.return_value)
        self.mock_cast.assert_called_once_with(
            mock.sentinel.context,
            self.mock_msg.return_value,
            topic='topic.host'
        )

        self.mock_msg.assert_called_once_with(
            method_name,
            pool_id='test',
            host='host'
        )

    def test_reload_pool(self):
        self._call_test_helper('reload_pool')

    def test_destroy_pool(self):
        self._call_test_helper('destroy_pool')

    def test_modify_pool(self):
        self._call_test_helper('modify_pool')

    def test_agent_updated(self):
        rv = self.api.agent_updated(mock.sentinel.context, True, 'host')
        self.assertEqual(rv, self.mock_cast.return_value)
        self.mock_cast.assert_called_once_with(
            mock.sentinel.context,
            self.mock_msg.return_value,
            topic='topic.host',
            version='1.1'
        )

        self.mock_msg.assert_called_once_with(
            'agent_updated',
            payload={'admin_state_up': True}
        )

class TestLoadBalancerPluginNotificationWrapper(TestLoadBalancerPluginBase):
    def setUp(self):
        self.log = mock.patch.object(plugin_driver, 'LOG')
        api_cls = mock.patch.object(plugin_driver,
                                    'LoadBalancerAgentApi').start()
        super(TestLoadBalancerPluginNotificationWrapper, self).setUp()
        self.mock_api = api_cls.return_value

        # mocking plugin_driver create_pool() as it does nothing more than
        # pool scheduling which is beyond the scope of this test case
        mock.patch('neutron.services.loadbalancer.drivers.haproxy'
                   '.plugin_driver.HaproxyOnHostPluginDriver'
                   '.create_pool').start()

        self.mock_get_driver = mock.patch.object(self.plugin_instance,
                                                 '_get_driver')
        self.mock_get_driver.return_value = (plugin_driver.
                                             HaproxyOnHostPluginDriver(
                                                 self.plugin_instance
                                             ))

        self.addCleanup(mock.patch.stopall)

    def test_create_vip(self):
        with self.subnet() as subnet:
            with self.pool(subnet=subnet) as pool:
                with self.vip(pool=pool, subnet=subnet) as vip:
                    self.mock_api.reload_pool.assert_called_once_with(
                        mock.ANY,
                        vip['vip']['pool_id'],
                        'host'
                    )

    def test_update_vip(self):
        with self.subnet() as subnet:
            with self.pool(subnet=subnet) as pool:
                with self.vip(pool=pool, subnet=subnet) as vip:
                    self.mock_api.reset_mock()
                    ctx = context.get_admin_context()
                    vip['vip'].pop('status')
                    new_vip = self.plugin_instance.update_vip(
                        ctx,
                        vip['vip']['id'],
                        vip
                    )

                    self.mock_api.reload_pool.assert_called_once_with(
                        mock.ANY,
                        vip['vip']['pool_id'],
                        'host'
                    )

                    self.assertEqual(
                        new_vip['status'],
                        constants.PENDING_UPDATE
                    )

    def test_delete_vip(self):
        with self.subnet() as subnet:
            with self.pool(subnet=subnet) as pool:
                with self.vip(pool=pool, subnet=subnet, no_delete=True) as vip:
                    self.mock_api.reset_mock()
                    ctx = context.get_admin_context()
                    self.plugin_instance.delete_vip(ctx, vip['vip']['id'])
                    self.mock_api.destroy_pool.assert_called_once_with(
                        mock.ANY,
                        vip['vip']['pool_id'],
                        'host'
                    )

    def test_create_pool(self):
        with self.pool():
            self.assertFalse(self.mock_api.reload_pool.called)
            self.assertFalse(self.mock_api.modify_pool.called)
            self.assertFalse(self.mock_api.destroy_pool.called)

    def test_update_pool_non_active(self):
        with self.pool() as pool:
            pool['pool']['status'] = 'INACTIVE'
            ctx = context.get_admin_context()
            del pool['pool']['provider']
            self.plugin_instance.update_pool(ctx, pool['pool']['id'], pool)
            self.mock_api.destroy_pool.assert_called_once_with(
                mock.ANY, pool['pool']['id'], 'host')
            self.assertFalse(self.mock_api.reload_pool.called)
            self.assertFalse(self.mock_api.modify_pool.called)

    def test_update_pool_no_vip_id(self):
        with self.pool() as pool:
            ctx = context.get_admin_context()
            del pool['pool']['provider']
            self.plugin_instance.update_pool(ctx, pool['pool']['id'], pool)
            self.assertFalse(self.mock_api.destroy_pool.called)
            self.assertFalse(self.mock_api.reload_pool.called)
            self.assertFalse(self.mock_api.modify_pool.called)

    def test_update_pool_with_vip_id(self):
        with self.pool() as pool:
            with self.vip(pool=pool):
                ctx = context.get_admin_context()
                del pool['pool']['provider']
                self.plugin_instance.update_pool(ctx, pool['pool']['id'], pool)
                self.mock_api.reload_pool.assert_called_once_with(
                    mock.ANY, pool['pool']['id'], 'host')
                self.assertFalse(self.mock_api.destroy_pool.called)
                self.assertFalse(self.mock_api.modify_pool.called)

    def test_delete_pool(self):
        with self.pool(no_delete=True) as pool:
            req = self.new_delete_request('pools',
                                          pool['pool']['id'])
            res = req.get_response(self.ext_api)
            self.assertEqual(res.status_int, 204)
            self.mock_api.destroy_pool.assert_called_once_with(
                mock.ANY, pool['pool']['id'], 'host')

    def test_create_member(self):
        with self.pool() as pool:
            pool_id = pool['pool']['id']
            with self.member(pool_id=pool_id):
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY, pool_id, 'host')

    def test_update_member(self):
        with self.pool() as pool:
            pool_id = pool['pool']['id']
            with self.member(pool_id=pool_id) as member:
                ctx = context.get_admin_context()
                self.mock_api.modify_pool.reset_mock()
                self.plugin_instance.update_member(
                    ctx, member['member']['id'], member)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY, pool_id, 'host')

    def test_update_member_new_pool(self):
        with self.pool() as pool1:
            pool1_id = pool1['pool']['id']
            with self.pool() as pool2:
                pool2_id = pool2['pool']['id']
                with self.member(pool_id=pool1_id) as member:
                    ctx = context.get_admin_context()
                    self.mock_api.modify_pool.reset_mock()
                    member['member']['pool_id'] = pool2_id
                    self.plugin_instance.update_member(ctx,
                                                       member['member']['id'],
                                                       member)
                    self.assertEqual(2, self.mock_api.modify_pool.call_count)
                    self.mock_api.modify_pool.assert_has_calls(
                        [mock.call(mock.ANY, pool1_id, 'host'),
                         mock.call(mock.ANY, pool2_id, 'host')])

    def test_delete_member(self):
        with self.pool() as pool:
            pool_id = pool['pool']['id']
            with self.member(pool_id=pool_id,
                             no_delete=True) as member:
                self.mock_api.modify_pool.reset_mock()
                req = self.new_delete_request('members',
                                              member['member']['id'])
                res = req.get_response(self.ext_api)
                self.assertEqual(res.status_int, 204)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY, pool_id, 'host')

    def test_create_pool_health_monitor(self):
        with self.pool() as pool:
            pool_id = pool['pool']['id']
            with self.health_monitor() as hm:
                ctx = context.get_admin_context()
                self.plugin_instance.create_pool_health_monitor(ctx,
                                                                hm,
                                                                pool_id)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY, pool_id, 'host')

    def test_delete_pool_health_monitor(self):
        with self.pool() as pool:
            pool_id = pool['pool']['id']
            with self.health_monitor() as hm:
                ctx = context.get_admin_context()
                self.plugin_instance.create_pool_health_monitor(ctx,
                                                                hm,
                                                                pool_id)
                self.mock_api.modify_pool.reset_mock()
                self.plugin_instance.delete_pool_health_monitor(
                    ctx, hm['health_monitor']['id'], pool_id)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY, pool_id, 'host')

    def test_update_health_monitor_associated_with_pool(self):
        with self.health_monitor(type='HTTP') as monitor:
            with self.pool() as pool:
                data = {
                    'health_monitor': {
                        'id': monitor['health_monitor']['id'],
                        'tenant_id': self._tenant_id
                    }
                }
                req = self.new_create_request(
                    'pools',
                    data,
                    fmt=self.fmt,
                    id=pool['pool']['id'],
                    subresource='health_monitors')
                res = req.get_response(self.ext_api)
                self.assertEqual(res.status_int, 201)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY,
                    pool['pool']['id'],
                    'host'
                )

                self.mock_api.reset_mock()
                data = {'health_monitor': {'delay': 20,
                                           'timeout': 20,
                                           'max_retries': 2,
                                           'admin_state_up': False}}
                req = self.new_update_request("health_monitors",
                                              data,
                                              monitor['health_monitor']['id'])
                req.get_response(self.ext_api)
                self.mock_api.modify_pool.assert_called_once_with(
                    mock.ANY,
                    pool['pool']['id'],
                    'host'
                )

redpajama_set_name: RedPajamaGithub


Kids Soccer | Children's Soccer | Toddler Soccer | Darien, Stamford, New Canaan Conn.
Kids Soccer, Children's Soccer, and Toddler Soccer for Darien, Stamford, and New Canaan, Conn.
The Blue Wave Kickers (BWK) Soccer Program was created to offer more opportunities for boys and girls to play soccer and truly gain a love for the game. BWK is operated by Jon Bradley – Boys' Varsity Coach at Darien High School, Coaching Director of the Darien Soccer Association (DSA), and 3-time Fairfield County Inter-Athletic Conference (FCIAC) Soccer Coach of the Year. At BWK, we work on various technical, tactical, physical, and psychological aspects of soccer, all to allow your child to improve their game.
Your child will be exposed to the fundamentals of soccer: dribbling, passing, trapping, shooting, and defense.
Provide young athletes with the tools to improve and enjoy soccer for life.
We offer numerous programs, from our Tiny Tots (2, 3, 4 and 5-year-olds), all the way up to our aspiring high school players. There are many fun and exciting opportunities to add to your child's soccer experience while being trained by the best coaches around. BWK promises two things: improvement in your game, and a smile on your face!


text:
Confederate License Plates: Free Speech or State Sponsored Racism?
A Supreme Court decision will decide whether states can ban the flag's display on Texas license plates.
By Alain StephensMarch 23, 2015 8:37 amTop Stories
www.flickr.com/cfarivar
The Sons of Confederate Veterans fight for the flag to be featured on Texas automobiles
Specialty license plates are usually decorated with alma maters, military distinctions, and general interest groups such as hunting or fishing. But what happens when a license plate features an image viewed by many as offensive? One group claims their denial of a license plate displaying the Confederate flag isn't about hate, it's about their heritage.
Today the Supreme Court will decide on whether or not to print the Confederate flag speciality license plates in the state of Texas. Dallas Morning News reporter Michael A. Lindenberger speaks to The Texas Standard about the flags prominence throughout history, its ties to racism, and its place in free speech.
In 2009, the Sons of Confederate Veterans proposed a license plate displaying the Confederate flag. A few years later in 2011, the Texas Department of Motor Vehicles unanimously voted down the proposal- 8 to 0. Some have argued that Texas' dismissal of the plates violated free speech rights. Civil Rights advocates say that the symbol is tied to a history of racism with links to hate groups.
"The big question here for the justices will be whose speech is represented by that license plate." Lindenberger says. Texas issues the plates and requires that they be placed on every car; so there's some grey area on whose speech is at stake.
Currently the Texas Department of Motor Vehicles has a board of nine members, appointed by the governor, that determines whether or not a specialty license plate is offensive. The problem lies in that decision: how does this group decide what's offensive?
"I think you'd have maybe a harder time arguing that, say, right-to-life offends someone. That's just something people disagree with." Lindenberger says. "African-Americans saw [the flag] as sort of a symbol of people who were continuing to oppress them."
So what is the standard? Lidenberger says that's the main focus of the groups challenging the decision. "If you're going to give the state the opportunity to distinguish between acceptable and non-acceptable [sic] license plates, they feel it needs to be a much better process."
Texas Standard for March 23, 2015
Texas Welders are Getting Jobs Before They Graduate
Could the Explosion That Killed 15 in Texas City Happen Again?
Texas Leads the Push Against Obama's Immigration Action
Older Texans Are Now Eligible For COVID Vaccines. But Good Luck Finding Someone To Give You A Shot.
After 22 Years In Prison, He's Now Giving Incarcerated Men A Second Chance Through Entrepreneurship

redpajama_set_name: RedPajamaCommonCrawl


Gray suits are at the height of fashion this season. Why not browse through our collection of fine gray suits. We feature gray suits for virtually any occasion. We have gray suits for dressy occasions, and for casual occasions, too. Our collection of gray suits has garments in every shade of gray that you could possibly want. Wear one of our gray suits with a simple white button down shirt for a traditional look, or try one with a brightly colored floral blouse for a fresh new look. Our collection of gray suits has something for everyone!


text:
Millions Own Gas And Oil Under Their Land. Here's Why Only Some Strike It Rich
By Marie Cusick,
Marie Cusick, Amy Sisk
Jim Barrett stands next to a well pad on his farm in Bradford County, Pa. He accuses Chesapeake Energy of cheating him out of royalty money.
The U.S. is one of only a few countries in the world that allow private individuals to own the minerals under their land, a policy that dates to the Founding Fathers as they sought to elevate private interests over those of the British Crown. This financial incentive to allow new drilling goes a long way in explaining the nation's natural gas boom. The National Association of Royalty Owners estimates some 12 million American landowners receive royalties for the exploitation of oil, gas and other mineral resources under their property.
But as U.S. production reaches record levels — it recently surpassed the previous high point in 1970 — a complex web of laws and court rulings is evolving over how these royalties are distributed. That's creating vast differences in how much money property owners actually get and prompting a number of lawsuits accusing energy companies of shortchanging them.
A tale of two mineral owners
This disparity is playing out across Pennsylvania's gas-rich Marcellus Shale.
When natural gas companies approached Charlie Clark and Jim Barrett, two farmers living in neighboring counties, both decided to let them drill.
Clark says it felt like he had "won the lottery," and he is grateful every day for the two gas wells drilled on his dairy farm. He estimates he receives about $10,000 per month in the form of gas royalties.
"This is what we've done with our gas money," Clark says, standing in his new barn filled with cows. "This barn here cost $40,000 to build it, and we were able to build it out of our pocket."
When he was growing up in rural Susquehanna County in the northeastern corner of Pennsylvania, his family used to scrimp and save just to buy basics, like new shoes.
Now, since the drilling rigs rolled into town and he started receiving royalty checks, Clark has a newfound sense of financial security.
"We're living like we used to, but without the stress," Clark says. "The bills are all paid. Your kid's gotta go to college? No problem."
He's a good example of when the royalty process works. It goes like this: Gas companies and landowners sign a lease agreement before drilling begins. The royalty is money paid to the mineral owner, like Clark, for the right to use his resource. It's negotiated to be a certain percentage of the revenue from the sale of the gas.
Clark is leased to a company called Chief Oil and Gas. The company gets gas it needs, and Clark gets paid. But he knows other people with similar gas wells are striking out.
"I thank God every day that it happened here," he says, and not a few miles to the west.
Dairy farmer Charlie Clark bought a new hay baler with the royalties he received from natural gas development on his land.
Striking out
That's where Jim Barrett lives, about 40 miles away in Bradford County on what he describes as "a pretty typical mountain farm."
Like Clark, he is grateful for the drilling.
"It kept Bradford County alive," he says. If not for the gas industry, he says, his community "would have been a ghost town in 2008 or 2010" after the Great Recession.
But for Barrett, the gas boom has not panned out the way he had hoped.
He says Chesapeake Energy, which operates four wells on his farm, is stealing from him, and he has joined a class-action lawsuit against the company. Chesapeake, which declined to comment for this story, is defending itself against lawsuits in at least seven states for allegedly underpaying royalties.
By Barrett's calculations, Chesapeake owes him hundreds of thousands of dollars for the gas it has pumped out of his farm. The company has said in the past that it is committed to working with its royalty owners to answer questions.
Clark and Barrett might have started out with similar hopes, but their different experiences show how tough it can be for landowners to navigate the gas business and how resolutions are hard to come by.
Why the disparity?
Much of the controversy surrounding royalty money boils down to a concept known as post-production costs: the expenses of moving and treating gas through a network of pipelines. To cover the costs, drillers might take deductions from royalty checks.
Some landowners agree to that, while others negotiate a lease that prohibits it, says attorney John McFarland, who represents landowners with the Texas-based law firm Graves, Dougherty, Hearon and Moody. Many others sign leases that don't address it at all. Even when possible deductions are addressed, McFarland says, the lease language can be vague. That leaves room for a gas company to take deductions even if a landowner objects.
Disputes over post-production costs have popped up all over the country as oil and gas production has soared, the result of new horizontal drilling and fracking technologies that allow drillers to tap into shale rock.
By 2014, the United States was producing so much oil and gas that it led to a global oversupply. That's when complaints over these deductions really started to roll in, says Gary Preszler, vice president of the National Association of Royalty Owners board.
Many energy-producing states took a hit during the downturn, as companies went bankrupt, workers were laid off, and tax revenue collected from oil and gas dropped. In most of them, like North Dakota, where Preszler lives, wells produce both oil and gas. When prices plummeted, oil suddenly wasn't worth what it used to be, he says, but the gas still needed to be transported and treated, and that cost stayed constant.
"That's when people saw their checks being reduced significantly," he says. Some even received statements with a negative balance, meaning they wouldn't receive more royalties until the balance turned positive again.
In Pennsylvania, wells produce mainly gas, so landowners like Barrett noticed right away when companies took out big, unexplained cuts. Some Pennsylvania landowners have been complaining for years about exorbitant deductions. Still, many never have a reason to complain. Clark, for example, says he feels his deductions are reasonable.
A patchwork of court rulings, allegations of cheating
Over the years, some landowners sued when they felt they were being cheated. That has led to a patchwork of court rulings in many states, determining how leases are interpreted.
Some landowners hire a lawyer to negotiate a lease with explicit language that prohibits deductions or spells out exactly which costs can be taken out. The greater stake an individual has in a well, the more bargaining power he or she has to negotiate a lease that works in his or her favor, says University of Texas law professor Owen Anderson.
But not all go that route.
"As often happens, these landowners and mineral owners sign these leases the company offers without negotiating terms and without getting legal advice," Anderson says.
Later, if they believe they're not getting paid fairly, their options are slim. They can hire an expert to audit their royalties and go to court, but some can't afford to do that.
Preszler says the better option is to prevent landowners from signing bad leases.
"It's a lot easier to try to get the terms correctly done at the front end than to try to manage and fix a problem later," he says. His group is developing a seminar to better educate landowners.
In Pennsylvania, a decades-old law guarantees a minimum 12.5 percent royalty. But the state's Supreme Court has ruled that deductions can still be taken, even if they cut into that rate. For four years, mineral owners have pushed to keep that from happening, but so far the Legislature has not passed a bill.
It's a different story in West Virginia, where royalty owners just scored a victory. Lawmakers did step in after the state Supreme Court sided with energy companies in a case last year. Now, the governor has signed a new law prohibiting gas and oil companies from deducting post-production expenses in certain types of leases.
Meanwhile, lawsuits are playing out in several states, including one brought by Pennsylvania's attorney general accusing several gas companies of stiffing thousands of landowners by promising royalty money that was never paid. So far, he has not agreed to an offer by Chesapeake Energy to settle its royalty cases in the state for $30 million.
Back on his farm in Susquehanna County, Clark says even though he is pleased with his gas royalties, he thinks the law should ensure everyone is paid fairly.
"I guess I really don't understand why the government hasn't stepped in and done a little bit more, because it would benefit them too," he says. "Any extra money we'd get, we'd be taxed on."
Over in Bradford County, Barrett just wants to protect his family's legacy. "Every farmer would say they want their farm to continue," he says.
Barrett's land was passed down from his great-grandfather, and he hopes to hand it over to his grandchildren. But without the royalty money he expected, he and his wife may have to sell the farm to retire.
Marie Cusick
See stories by Marie Cusick
Marie Cusick is the/Capital Region reporter for the and New York NOW.
Amy Sisk
See stories by Amy Sisk


text:
Military & Wartime History (Teaching with Historic Places)
Teaching with Historic Places (TwHP) uses historic places in National Parks and in the National Park Service's National Register of Historic Places to enliven history, social studies, geography, civics, and other subjects. TwHP has created a variety of products and activities that help teachers bring historic places into the classroom.
Here you'll find place-based educational resources relating to military and wartime history. Discover more resources at the Teaching with Historic Places homepage.
Colonel Young's Protest Ride
Learn about Colonel Charles Young was the highest-ranking African American Army officer in 1918.
The U.S. Air Force Academy
Learn how the expansion of military air power in the first half of the 20th century led to the establishment of the United States Air Force.
Clara Barton's House
Follow Barton's career as a leader of charitable causes, from caring for the wounded on Civil War battlefields to founding the Red Cross.
More Education Resources
(H)our History: Alaskan Statehood
This one hour lessons looks at the Cold War shaped the story of Alaska statehood.
(H)our History: WWII Navy Women
This one hour lesson looks at the history of women who worked at Floyd Bennett Field.
(H)our History: Battle of Prairie Grove
This one hour lesson explores how the Battle of Prairie Grove is remembered.
Explore More Educational Material
Sort By: Relevance Recently Updated Title
Tags: teaching with historic places military history military wartime history military and wartime history
military wartime history
teaching with historic places
twhp


Getting a jump on the New Year by starting this a little early. The other thread ran for two years, and most people probably know about clicking on the little 100d next to the numbers of posts, but for those reading on tablets or phones, shorter threads are more accessible. So we'll start out with a space easy for lurkers and regulars to read on any device.
Katlaughing started these, our late Mudcat moderator and writer, crafter, and grandmother of Morgan. We all became Mudcat aunties to Morgan as we learned of his adventures.
Most of the time we just keep tabs on progress here, sometimes it is used as a place to posts lists and goals that can be easily found (versus writing a note to oneself and losing it in the house or office clutter.) Lurkers drop in, and it's my observation that most of them are less chatty and more efficient in the tasks they decide to take on than some of us who putter along pushing the extra stuff slowly out the door. Those lurkers are often heard from only a couple of times, at the beginning and end of the personal episode they are reporting on.
We all have a music connection but this is less about music and more about achieving harmony with the stuff in our houses.
For those new to this group, I'm close to finishing a 4-year downsize and move from 5000+ (two stories) sq ft in PA to our 1000 sq ft (one story) SE Ohio retirement home. I've gone back and forth delivering furniture, etc with open cargo trailers, vans, and a rented truck.
I'm close to the end of a month in PA to enjoy our last Christmas here and NOT to pack ANYTHING, for a change, until we throw a few essential items into our van when Greg retires January 1. We'll come back for a quick March trip to empty the house of last furniture pieces and boxes.
As you say, Stilly, some of us lurk more than others.
The move from Ottawa successfully decluttered us of a great deal of clag, and I am pleased to note that I don't miss it one bit. What's more, I'm pretty sure Himself doesn't miss it, either.
We still have far too many books, but they are here to stay; if I were to launch any kind of library purge, let alone a major sweep, I would get fierce push-back. Instead, I focus on switching to ebooks as much as possible. Pulp novels work just as well on screen as on paper -- maybe better, as ebooks don't collect dust.
I confess to being a dust denier. I also have a great talent for ignoring spider webs. One of these days I'll get me one of those long-handled wool things for taking down spider webs from ceilings, but on the whole I'm not in any hurry.
And now that we have a kitchen range with a self-cleaning oven, life is seriously good. I recommend the self-cleaning oven to anyone out there who is still messing with caustic soda, or putting off cleaning the stove because caustic soda is scary stuff. Yes, a new stove with a self-cleaning oven is expensive, but so worth it. Stay out of Starbucks for the foreseeable future and put your latte money in a Mason jar; in a year, you can get yourself a new stove with a self-cleaning oven. Just do it.
Charmion, agreed about the oven. Mine is the lowest end stove that includes a self-cleaning feature, and I used it last week.
It's time for a xmas eve run past the recycle bin before people fill it up with the annual glut of corrugated cardboard from gift giving. And to pick up a few remaining ingredients for dinner tonight.
I've cleaned up the kitchen and finally this morning took the glass full of xmas cactus pieces and planted them in a dozen small terracotta pots that are now stored in my sunroom window and hopefully some will sprout and be nice gifts next year. The kitchen window sill is much clearer since several other things went into the donate or the e-waste bin. I have a box of the "still good but I can't use" stuff that my ex and the kids can pick over before it goes to Goodwill.
Cookie distribution to a few close-by neighbors will begin a little later today.
Have a good holiday season, whatever you celebrate. We don't practice a religion so we celebrate family and the opportunity to get together and laugh (and bicker) over the preparation of a meal that is at least partly composed of family recipes from my ex's mother. The kids grew up with my cooking, that's not a mystery, but we want them to know how to make a few of the dishes their father grew up with in Puerto Rico. We take a risk every year because chances are that more than once during the cooking he's going to say "that's NOT how you're supposed to do it" or "you forgot the X ingredient." We are saving our gift giving until later in the week when the fourth of our family group will arrive.
We celebrate Christmas in this house. Our Christmas tree has been up for about 2 weeks and as of last night, all the presents are wrapped and Christmas cards are done, waiting to be sent. We spent some time working together to tidy up the house today and then have been just enjoying the day as we please.
Tomorrow we will celebrate in our traditional fashion and then I return to work the following day. It's a difficult time of year for many of my clients so off to work I go. The full moon on top of the holiday will be interesting to be sure. My decorations are still up at work and will need to come down. I have a lovely windowsill in my cubby and will need to decide what to do with it once all the holiday decorations are done. Currently I have a cute little nativity set lining the window, a winter bird and a framed photo of my family that is winter themed with the word JOY on it. I also have a small tree decorated in maroon, browns and antiqued gold ornaments, some beads and teeny tiny white lights. I've really enjoyed that and maybe will keep the tree until New Year's.
As for normal household work, I tidied up in the kitchen and bathroom today. Pete has almost 2 weeks off and will be redoing the bathroom floor while I'm at work. The current flooring is now over 20 years old and past it's prime. On Friday, we picked out a few different flooring samples to bring home and try out....I think we have settled on a mottled gray floor....it's much darker than what we currently have but we are both up for a change. While we were at the store, we also looked into glass tiles for a backsplash in the kitchen. It's much more affordable than I thought it would be and looks fairly simple to install....we shall see.
I'm off to make tacos....Jeremiah's request for this Christmas Eve dinner.
Merry Christmas and Love to all!!
So that inner sense woke up this AM screaming, and we're discussing how that's MY process these last 4 years, not Greg's. (HIS process is more like how we always get going on vacation.) So we're laughing about the eggs I thought I'd make this AM that were just thrown out, and smoothly adjusting to mesh!
But it's beginning-- that afooting game -- and it's exciting!!!
Something has messed up my main computer and restore isn't working. If I refresh the software I lose my installed apps and some of them I don't have disks for.
Logging on via my laptop just to see that one computer is working. The Microsoft update may have caused the cascade of failure in my security software.
Best of luck, Tattie Bogle!
I think the problem is the security software (Kaspersky) not the Windows. It used to be more highly rated; I don't know if it merely got pushed aside with this current administration wrangling over Russia (Kaspersky was taken out of US govt computers) or something else. After several attempts to fix the Windows, and being unwilling to lose all of the software already installed, I will use the security software from my Internet provider (the price is right, and it's Norton - I think I can run thirty devices using that software if I want. I have three.) This afternoon was quiet after the comraderie this morning; friends went out to movies and if the computer hadn't seemed to be a pressing problem, I would have gone. Maybe tomorrow.
I have a handful of things for Goodwill, and yesterday dropped off recycling. The bins were completely empty, in preparation for the recyclables generated today. I sold and shipped two eBay items and have identified a few more things to list soon.
Departure fever will, this time, result in gathering up loose trash and goodwill as we check each room.
Three weeks into this bout of bronchitis, having completed the course of antibiotics and faithfully huffed all the doses from all the puffers, I am still coughing. If not quite as violently convulsive as it was at its peak, it's loud, phlegmy, and definitely not the kind of thing you want to hear in the grocery store. Or, indeed, anywhere else. So Christmas was a bit isolated: just Himself, the cats and me — and the cough.
I was sick enough that no decorating was done, and fancy cooking was limited to a roast duck. Fortunately, there was a Christmas pudding in the freezer from last year, when I made a whole flock of them.
As far as illness near the holiday goes, I got lucky with the type that visited, a virus that was unpleasant for a couple of days and led to careful food choices for a couple more, but didn't cancel the holiday or cooking. This bug seems to be making the rounds, but since it isn't transmitted by a cough or sneeze as far as I know, it's really sneaky.
My decorating is modest by modern standards, I think, and I've put most of it off, but the whole family will be here over the weekend so I'll put some garland on the mantle and a couple of other favorite ornaments around. Our delayed holiday could, in theory, give us the opportunity to do deeply discounted gift shopping but no one is such a glutton for punishment. Stores are not to be approached this time of year.
There is a lot to do around the house for the next few days so decluttering isn't a huge focus, but since things are being pulled out that are seasonal, I can choose to thin collections of things on the fly.
The dogs and I went for a two-part walk today; the exercise around a large block, then the excursion into the woods across the road. We haven't gone often because it was bad for ticks this year, and it's warm now, so I still need to check everyone over. Next time we head over I'll take my clippers because there were a lot of greenbriar across the path. Fitness for all of us, and an attitude adjustment for the newest dog who has gotten progressively rowdy lately and needed a reminder of who is the pack leader. When we go for the walk it is the dogs' job, ala Cesar Milan, and I am in charge. And after the walk, breakfast. They had a lovely morning of it!
I have quite a stash of beads, fake rhinestones, glitter, seed beads, etc. and tonight I worked on embellishing a felt stocking that was quickly assembled last year at this time, when on spur of the moment I pulled out the felt, handed my childhood felt stocking to my daughter as the model, and along with some gold bric-a-brac and a contrasting color felt, she made two quick stockings for two visiting-durable-partners-who-aren't-yet-spouses. I promised myself they'd be tarted up for this year. Only one of them will be in use this year, and that one has more contrasting felt characters (reindeer and sleigh), and various sequins and beads attached. And a bit more to come. What else are these little packs of sparkly things going to be used for? If I need more in the future I know where to get them.
Tomorrow I start working on a man's plaid flannel shirt. Better to get the smaller stocking task out of the way first. My goal is to have the shirt on a hanger in plain view on our gift-giving day (probably Sunday). Technically it's last year's gift, but the shopping for fabric and pattern and such was so close to xmas last year that the shirt wasn't made. And it was put off, but now I have time and a clear dining room table and I really love the magic of assembling a garment. It goes from being yardage to something someone you love will wear for many years to come. This is probably an 8-10 hour project so I should get some good movie viewing in (background noise/accompaniment) in the next couple of days. I listened and glanced up at the Kennedy Center Honors while I worked on the stocking.
I am not a crafty person, and I read the accounts of those who are with a degree of bemusement. It's quite clear to me how crafters are even more vulnerable to the clutter bug than most people. When you can credibly whip up cute novelties out of this 'n' that, how could you bear to throw anything out?
Mary, do they make a quilt for you, or is sending the fabric more along the lines of "wait a few moments and the urge will pass"?
Tweaking eBay listings to see what will budge some of them. One is offered regular price and shipping is extra. Another price is raised by the shipping costs and offered "free shipping." Seriously, people don't do the math, at least, some people don't.
The last few days were unseasonably warm, but now we're back to clear and very cold weather. I did some yard work in the warm weather and walked the dogs and emptied one of the compost buckets beside driveway door (it breaks down more there before I take it to the heap in the back yard). Yesterday the trash wasn't picked up, staggered a day due to the holiday (no one got that memo - trash was out up and down the street), so this morning when it was all still at the curb a red sedan pulled up at the end of my driveway and sat for a bit. Then someone got out and picked up the discarded hose piled on top of the trash bag. Fine. I gave them a little privacy with the hose, but the idiot was blocking view of the trash when the trash collection truck went by so everyone else's trash was picked up - except mine. Minus one hose. I've carried the bag back up to the bin next to the garage.
Robin arrived before Christmas and has de-cluttered tremendous quantities of ice and snow from strategic areas. And moved items from house to van that were too heavy for me. And made the back sheds more accessible. I have cooked - and de-cluttered frig and freezer!
Today was above freezing (+3C) and much ice was eradicated!!
He has yet to install shelf in utility room and remove, and replace, moldy, icky looking caulk around bath tub. My big requests.
We attended two wonderful Community Christmas dinners and met a new interesting human, explored further north, visited Madonna House on the beautiful Madawaska River and intend to go back tomorrow for a tour - to view the Russian style chapel in the woods - and a visit to a ---Arghhh! --- used book store of considerable interest. Have managed not to acquire more stuff but ... Oh, an antique and very interesting electric waffle iron; we have not ascertained if it works. It looks older than the one we had when I was a child but not as old as the one I have that is designed to sit on a gas or wood stove.
R arrived with a copy of the very interesting, and appropriate, book The Organized Mind by David J. Levitin.
At the moment he is snoring while waiting to go to the 7-11 Cafe, hosted by my dear musician friend of 40 years. Wakey, wakey!
Wakey, wakie indeed. Last wknd of parochial ministry here is off with a bang-- tiny wedding today (shortly), last Sat svc tonight, 3 liturgies tmrw including two YUGE ones. Decks are cleared to fully be present at all and record several.
Cutting out a pattern for a shirt this evening I realize that they've changed a lot over the years. I thought the tissue paper was as thin as it would ever be, but it's gossimer now. And they save ink by not printing on various things like seam allowances. And along the edge I see that it isn't 5/8th of an inch in all instances, they seem to expect me to be using a serger. I'll check with my daughter tomorrow since she has used these more recently than I have. Ironic that just last week I found the right sized box to store all of my old patterns in, the ones I've bought in the past and never made or made, but that have more heft and information.
This time of year in cold weather and right after the holidays is generally a pretty good time of year to sell things on eBay, so I'll be busy with that as soon as the various holiday activities subside. A family event tomorrow and friends over for lunch on New Year's Day and then I'll get that stuff listed. I've photographed several items already.
I don't have any resolutions to declare or act on, I have the usual things I'm trying to accomplish year round to keep me busy. But every so often an idea of how to do something in a new way will be presented or will pops into my head, and it probably happens with each of you also. So here's wishing you luck finding those good ideas or helpful goals as you move through the new year.
When working in the kitchen, take a dishcloth and place it under your right foot, being careful not to lose it when moving about. This ensures that if any crumbs are dropped in the kitchen they are not trodden into the carpets when you move around the house. Just one tip I picked up this year.
Family is coming over today so the dogs got an early walk. When we started out Pepper was all alert and twitching around on her shared lead with the lab (a double or split lead clips onto the leash), but after a couple of blocks she settled into the pace with the other two. That helps reduce her excitement a little for the day ahead and gives us all some necessary exercise.
Sounds like today is going to be a big/sad/happy/emotional one in a particular part of Pennsylvania. I hope you have a great time, Susan!
Charmion, there is nothing wrong in being a dust denier.
Uh,oh! Trip to the bookstore netted two boxes of books (his) and three books for me. Very interesting: The Healing Trees by Robbie Anderman is an excellent resource on using tree leaves, bark, twigs, etc, for healing - very specific and clearly laid out - for the Northeastern woodlands.
No shelf yet as there are too many books to read! However, after R cleared the doors to the cabinet in front of the house (beside the front door) - designed for pottery storage - which has migrated to the screen house - I realized there are two folding tables in there, one of which might be used to lay out fabric for cutting purposes and then returned to the cabinet; I could sew something! I also use the cabinet to store trash until making a dump run, which we did today - about 6 weeks netted one small bag of recycling and two of trash. All paper goes into the wood stove.
The 3 current boxes of pots, soon to be 4 or 5, will go to Quebec next trip as Mary informs she has money for me, meaning she has sold a number of pots. YAY! I must keep her shop "cluttered" with pots!
We had several cooking things on the agenda for our family holiday and while it all turned out, I think it's safe to say that we wore out everyone by overdoing it. While the kids were still here I pulled out my phone calendar, navigated to Dec. 25, 2019, and entered "grill steaks or chicken or get takeout" for that holiday as a reminder.
As people cooked I cleaned as I could and the dishwasher is running a second load right now. Having a clean kitchen at the end of a long day like this is a gift to me tomorrow.
One of the dogs must have swallowed something after I let them into the house; I didn't want any tripping or problems while we cooked or opened gifts so they were in the yard for several hours. He might have eaten dirt in the yard, or might have grabbed who knows what - paper? plastic? a washcloth? Whatever it was, he's drooling all over the place now. I'll see how he is in the morning and we may have a vet visit in our very near future. That will declutter the wallet.
The pooch seems to have recovered from whatever ailed him. And I'm about recovered from that full day of cooking - I didn't cook a thing today except warm leftovers. Tomorrow I have more cooking to do and that's plenty soon enough.
eBay has been picking up since it's cold out and more people are poking around on the computer during the holidays. I have to keep puttering with those listings.
My daughter asked for an organizing book on her xmas list this year, the one by Marie Kondo; the reviews of this book lead me to believe the content is rather esoteric so I gave her partner my favorite organizing book, Don Aslet's Clutter's Last Stand. He has a straightforward approach and discusses the psychology of why we keep and fail to discard so many things. The kids know that if there are old things around here that they no longer want and they are found to sell on eBay that I'll add ours into play and send it out the door.
Finishing paperwork and doing some filing as a year-end activity, and keeping the dogs in when the neighborhood fireworks start. And as I flip over to Antiques Roadshow their first items this evening are fine art found in thrift stores by the woman who brought them in. Oh, my.
No fireworks out here in the swamp!!! No precipitation for the next couple days so R can go back to Montreal safely! Shelf installed! Bathtub job in progress. Several books read! A fun week generally. No work in studio at all. After he leaves I shall try to get back on track, however, Mary informs she is having to move the shop so may not have a lot of space. But there are a few things that folks have requested, so I shall do what I can and take it to Quebec when I go - whenever that will be. Did a laundry today so he can wear the clothes in which he arrived and keep "here" clothes here for next time.
Ahh! the tub is done with sparkling clean white caulk! Super YAY!
I agree with you, Stilly, on the superiority of Aslett over Kondo with respect to clutter theory. Aslett does not get into the joy potential of stuff; he's all about the utility. The older I get, the more I agree with him.
Should I find myself on my own again (God forbid), I would send the whole houseful of stuff to auction and move to a bed-sit within tottering distance of the public library.
Marie Kondo's approach is too emotional, in my opinion, and no check on the true hoarder. My mother could have quite honestly said that she derived joy from every single plate, cup, Royal Doulton figurine, stack of newspapers, box of doorknobs, shelf of books, pile of books on the floor, bag of old letters, etc., etc., packed into her very large house.
I'm still a bit coughy and shaky, but determined to launch the new year as I hope to continue, with a productive visit to the gym and a nice supper of mushroom omelette. There's enough bread in the freezer to last us a couple of weeks yet, so baking is not on the agenda. I must, however, attack the messy basement TV room with the full force of vacuum cleaner and duster; even I cannot deny that the pattern of the Bokhara rug is disappearing under the accumulation of cat hair.
To infinity and beyond! Or at least to the gym. That's infinity enough for me right now.
Not a resolution, just a realization over the last couple of weeks that I've moved forward from the recovery stage after retirement and now I need to subscribe myself to enough activities and a part-time job to fill the general human social requirements that going to the job in the past fulfilled. Doing this without the toxic stew of bad management should be beneficial. I must have dreamt about getting a job last night because I remember thinking I'd been so tired from the first day at work that I overslept and was late on the second. Not sure where that job was. This is a cognate to the forgot-to-drop-the-college-class-and-now-it's-finals dream.
Late in the afternoon on Monday someone bought the antique tea pot I'd had listed forever on eBay. I had dropped it to within a dollar of what I paid for it (Goodwill) and was ready to pull it next month and take it back to Goodwill. Lesson learned - if it isn't a regular item on eBay that you can see routinely sells, leave it at the thrift store. It's time of year to do a few clearance listings since I seem to have a glut of some items I routinely pick up every time I see them.
And as a parting observation this morning, I turned on (and muted) the Rose Parade. The Rose Queen and court are on the screen now - and amazingly, the Rose Queen is wearing her glasses! You never see a beauty queen wearing glasses.
The ornaments are all off the tree and the tree is out of the house and will soon be put to good use. Pete and I selected the flooring for the bathroom and although we had hoped to get it all down during the break, it just didn't happen. Some other repairs around the house took precedence and I am completely happy with at least having made a decision.
In just a few minutes, I'll be doing some picking up of other decorations and rearranging the living room back to normal. The floors have been swept and mopped already so that's all done.
I worked yesterday and then hit 4 grocery stores, gassed up the Subaru and picked up a pizza for our New Year's Eve get together. We spent the evening at my Mom's playing cards....Uno Spin to be exact. It was a fun evening for everyone!
Departure prep gently began today with prepping containers for upstairs, to go up with us at bedtime-- a 55 gal trash bin lined with a bag that size and a recycle bin to use as a catcher to bag up goodwill items.
The first attack is the master BR closet, because off season items are stored there in zipped garment bags (the wide ones for portable closets, etc. Greg brought home the next segment of his vestments collection-- the antique set is presently hanging unprotected in the dusty laundry room, so two of these zip bags are coming down to shield those pending March truck-packing.
That BR in general is full of depressing litter to sort/wash/purge, and I figure tidying our room will hopefully motivate the next steps. Before we can start packing the van, we need to unload some of what we brought home from our church work spaces... and make final decisions on what to take and which day to hit the road. Neither of us has that vision quite yet.
I forgot to add that Jeremiah and I have added some dance activity to our daily schedule....about 20 minutes worth or so...great fun!
I may or may not have done the "blue clicky"... Thought you might enjoy seeing the house in its new incarnation - after R spent a month, almost full time, clearing it of excess stuff. Amazing what a pro photographer can do. Looks beautiful if you do not know the K is barely usable and the travail of living in a house while it is being shown - so one cannot really LIVE in it.
Life here is cosy. Snow is under control. Wood pile is accessible. R worked hard and even took a long walk in the woods on this beautiful day. I hemmed a pair of his pants and am waiting for him to try them before doing two more pairs. The clothes he came with are clean and ready to wear back to Montreal. The frig and freezer are nicely de-cluttered, as R plans to leave tomorrow. I shall endeavour to get back to Keto. I have no idea when I will leave for Montreal. The "new" house is still in limbo.
Could not open the van due to freezing so stuff that would have been stored is still clutter in house.
This afternoon I finished making a favorite dish that is the annual gift for my ex; the other evening we made a different dish for dinner and he took home the extra. It makes sense to give him consumable gifts since he usually tends to buy himself whatever he needs during the year. He'll put it in the freezer in single portions and use them up over the next few months. The house is going to smell like oil for a couple of days but at least the kitchen is cleaned up again. There isn't a dollar amount to attach to this kind of gift, but it is one that is exactly what he wants and my pocketbook is happy at the low cost. The value-added is in the preparation and cooking.
The dogs and I are going to watch a movie in the living room this evening - the dog cover on the sofa can be covered with a towel for me and if they want to hop up and join me we'll have a good scratch-and-tickle time. It'll be a treat after the noise last night that the youngest dog found to be quite frightening. The neighbors apparently set off artillery shells in their yards on the other side of our creek. Shotguns? Firecrackers? M-80s?
Recruiting help today. Closet tasks done before my back quit.
We hope to set departure date today.
Day two of the year dawned with sleet coating all of the tree branches and tiling the patio cover. It's now raining but travelling out is not advised, so it was good thing I caught the mail carrier at the porch and handed over the eBay box that ships today. She's out there in layers: rain pants and jacket, rubber galoshes and a rain-proof safari hat. I put the barky blue heeler into my office so she wouldn't bark at the door but the lab insisted on pushing through the door to greet her (no barking, just wags). We have to work on door etiquette with the youngest one.
Time to start a new expanding 12-slot file for bills for the year. I started this system a long time ago and for the occasions when I have to go back to find a receipt or prove I paid a bill it is an invaluable resource. I have two that I use, meaning that I'll take the contents of the file from 2017 and bundle them all together into a large manila envelope and reuse that file because the most recent past year is probably the only place I have to search. After a few years I shred or burn the contents of the old folders after giving contents a cursory glance.
PA: Departure set for Sunday AM-- that'll be different. Help recruitment is underway. Departure tasks have been identified and allocated. We're making a point of doing fun along with work, along with watching the weather to avoid doing things in ice or mud better done in sunshine. Hockey game Friday!
WOW! susan is almost on her way! It has been a long and difficult journey to get to this point. May the change be everything you have hoped it would be. Bon voyage to this new phase of life.
De-cluttered of R! It was wonderful having him here for almost 12 days. As I worried about him leaving early enough to get to Montreal at a reasonable time: 10 passed, then 11, then we had to go to the Thrift Warehouse before he left... a cabinet that would fit in a specific space and improve the situation, so we came back for the pick-up and went back for the solid wood cabinet---Oops! too tall when we got it into house! I need to find someone to cut off about 8 inches and re-do it in a civilized manner. Then it will do the job and two other cabinets will go elsewhere and the china show case will finally have a home base. Maybe Dan can do it... It would have been perfect but for the ladder to the upstairs.
He really is recognizing that he has too much stuff and seriously looking at a future of divesting. Another dozen or so books today. Reading The Organized Mind was helpful in many ways. Also an intro to Thich Nhat Hanh via a little calendar I bought for my grandson. I was stunned that R had never heard of this amazing human; he loved the quotes in the calendar.
Thx DP. Tdy we especially focused on FUN, which we two intense and cerebral ppl don't come to easily. We're way too good at crises, so we simplified the packlist in favor of couple-health!
I figured out how to download the monthly free e-book from the University of Chicago Press (BatGoddess originally told me about these books) into my Fire tablet. Each month Chicago offers a free eBook, but I didn't want to have to sit at the computer to read it. I figured out that downloading the $2.99 "Aldiko" app and "side-loading" - moving the downloaded book from the computer via cable to the Amazon Fire - will let me read the books on the more reader-friendly tablet. Books on the tablet don't take up any space.
On the culinary front, I added some of the odds and ends in my fridge to a batch of beans, and after a bowl for dinner I saved a bowl's-worth for this week and the rest is frozen in jars for later.
Unreleated to clutter, is anyone else struggling to remember what day of the week it is this first week of the year?
I collected two big bags of clothes for donation, which made room for me to hang up things I actually do wear.
One piece at a time, I reckon.
Ah. Corrected to read "e-book." I have audiobooks covered as far as listening. I'll look into Librivox as another source.
Yes, Kim, absolutely one piece at a time! It doesn't take much to notice that a chair in the bedroom no longer has clothing draped on it or that your dresser top has been organized. I did a big purge in the closet last summer and still enjoy the benefits of actually looking at clothes I can wear and not having a bunch of too-small garments hogging the space. Some of the removed clothes are in a bin on the shelf because I do expect to eventually fit back into them, but a lot were either put in eBay or sent to Goodwill.
I've decided to do a month of the "no spend" exercise I did a couple of years ago, in particular to make myself draw down even more the fridge and freezer. I'll use my favorite deeply-discounted grocery outlet for the fresh stuff I need (I use yogurt as a major source of dairy and they also have a lot of produce.) The local museums have free attendance days that I'll start taking more advantage of. I made it through several months the last time before a whole bunch of bills kind of blew it out of the water, but the previous months did put me in a better position to deal with those bills.
Here's a starting point, an article from 2015 that doesn't seem to be promoting products along the way. And here's a frugal living article. They offer a link to how to stockpile groceries and frequently used goods, though I suspect anyone who has been following along these threads has that down pat. Trying to get rid of the extra stockpile is part of our effort, but smart shopping never hurts. A recent Lifehacker article.
That reacher-grabber reduced an overwhelming BR mess to manageable chaos (order) this aftn while Greg briefly napped. We're both making great progreys on the long task list we made ydy.
It's frustrating that this time there are so many tasks that can only actually be done at the last minute-- the morning we depart. We never left the PA house empty for vacation either in winter or for 60-90 days. But essentially they're just the sorts of things we've done for every vacay here the last 25 years. (It just feels crazy but actually isn't.) And we're having trouble meshing our schedules/body rhythms-- it will settle into place better once we're in Ohio.
The number of things we can't do today though DOES "force" us to have a little more fun. It's all good. I just don't like this little part!
Friday - latish wakies to omelets and earlywarm aftn van rearrange/preloading; oil change & probable last Elmira hockey evening.
Sunday - early AM complete loading and leave by noon for projected dry route w poss Sunday arrival by 10pm; option for crash and burn overnight if/where needed.
This thread will prove invaluable as 2019 will become a recession year.
Meanwhile on odd days I have to throw stuff/somthing out, even days I have to recycle and the first and last days of the month are vacations.
Preload done with no casualties. Lots of typical pre-vacay stuff done. Lvg soon for oil change and hockey. Think I'll dress up this time!
Working on a task list for the month and for the quarter, involving things I can work on with materials already here (the no-spend project).
Today was a free entrance to one of the museums in town but because the exhibit required low light and no flash, and the printed the information cards with white text on black cards, I spent my entire time leaning in trying to read cards without getting in everyone's way. If I'd had my office glasses with me it would have been much easier. And this afternoon I've made my appointment for a checkup. So much for my no-spend month, I've hit a couple of co-pays already, but those appointments must be made.
It has warmed up for a few days so the dogs get a walk in the fitness portion of my day, and it helps the youngest one remember I am the pack leader. Our last walk was a few days ago and after about a block she calmed down and got with the program.
One of my larger eBay boxes shipped this week and leaves space to rearrange what is left and list a few more items.
Lovely closet surprise! Wanting to tart up for the hockey game, and knowing my hockey jersey is in Ohio, I pulled a red fleece vest I normally have reserved for choir parties-- SO not my color. What to wear under it, I wondered as I headed for a shower. Maybe nothing plus scarf and jacket OVER it. Gee it's awful heavy on that hanger-- oooo, an oversized cotton red v-neck sweater!!! BRAND NEW AND NEVER WORN, neatly folded over the hanger's trouser rod. I foreswore the vest. I added a striped scarf in BOLD Me icon colors including a bit of red. WOW!!! I have zero memory of buying that sweater. With that scarf-- million bucks and a great barrier between the red and my face.


text:
<?php
	include "includes/top.php";
	include "includes/footer.php";
?>

Administrer applikasjon

					<?php echo $_SESSION["aktivitetsnavn"];?>

				<form class="form_add_aktivitet" action="add_aktivitet_step2_brukertest_steg2.php" name="legg_til_aktivitet" method="post">

						Legg til aktivitet:

						<input class="input_check" type="checkbox" name="aktivitet"/>
Aktivitet

						<input class="input_check" type="checkbox" name="handlingskjede"/>
Handlingskjede

						<input class="input_check" type="checkbox" name="sjekkliste"/>
Sjekkliste

Beskrivelse:

							<textarea class="input_textarea" name="beskrivelseBoks" placeholder="Beskriv aktivitet"></textarea>

							<form action="upload.php" method="post" enctype="multipart/form-data">

								    +Bilde
								    <input type="file" class="upload" />

								    +Video
								    <input type="file" class="upload" />

								    +Lyd
								    <input type="file" class="upload" />

								    +Timer
								    <input type="file" class="upload" />

							</form>

						<input class="submit btn btn-large btn-success" type="submit" value="+Legg til" name="leggTil"/>

				</form>

					Fullfør</button>


text:
Schistacme obtusa är en skalbaggsart som beskrevs av Notman 1920. Schistacme obtusa ingår i släktet Schistacme och familjen kortvingar. Inga underarter finns listade i Catalogue of Life.

Källor

Kortvingar
obtusa

redpajama_set_name: RedPajamaWikipedia


When I am browsing electronic texts I tend to follow a lot of rabbit trails. One of my frustrations with web browsers and other hyperlinked systems is that my navigation history is a straight line. I can follow links from A to B to C to D, but if I back up to C and follow an alternate link to E, the system forgets that I was at D.
Real world browsing involves following lots of parallel paths, and this is especially true in Bible study, where you want to follow lots of cross references on a single theme, each of which may lead you to other ideas, without losing track of where you started.
The next release of the Libronix Digital Library System records all of your navigation and can present it as a tree, not just a list. So while Back and Forward work just as they always have, if you want to revisit one of the branches your study took earlier in your session, you can open the History Dialog and find it quickly.
We are not content to simply apply the established technologies and interfaces to Bible study tools – we want to be on the cutting edge with new and better solutions.
I know I occasionally need a reminder of this, and chances are you may need a reminder too. Now is as good a time as any, especially since Eli's recent blog entry about data types reminds me that facility with KeyLinking (how you look up stuff using data types) is something that effective users of Logos Bible Software seem to take for granted.
But knowing where to go to set your KeyLink preferences (once again, this time for Moe: "Tools, Options, KeyLink!") is only half the battle. Understanding what happens when a KeyLink is invoked, and knowing a little more about the resources available for KeyLinking is necessary as well.
You might want to check out a few tutorials we have in the Support area of the Logos web site. These are listed in the order in which they were written. I wrote the Greek KeyLinking article to help folks understand what the different targets were and how KeyLink order affects lookup. A colleague then wrote the Hebrew KeyLinking article, and he followed that up with the English KeyLinking article. (If you haven't figured it out, I'm a bit myopic when it comes to Greek!) All three articles have the same basic idea: understand the feature, know your resources, select your KeyLink order; but the each article applies the ideas to particular languages and available resources.
Wendell Stavig* posed some great questions in his comments to one of my earlier posts, and since my computer is bogged down running a conversion script that takes about forty-five minutes to run (top-secret project!) I'll go ahead and answer them. Out of order, of course.
[C]ould you please explain some of the data in the Help | About This Resource window?
How you use the information under datatypes?
As far as I'm concerned, datatypes and keylinking are the two most important concepts in the Libronix DLS.
A datatype is a type of data.
When you are studying a word, it's often a good idea to look at synonyms and antonyms for that word as well. For example, if you were studying the English word run, you might also want to consider how words like sprint, jog, or even gallop overlap in meaning with run, and to what extent they are different. You may also want to consider how run and its synonyms are transformed into other parts of speech: What can the word jogger tell us about the meaning of run that runny cannot?
Finding words that are related to one another in meaning is also useful for studying the Bible, or else resources like Girdlestone's Synonyms of the Old Testament or Trench's Synonyms of the New Testament wouldn't exist — not to mention Louw and Nida's Greek-English Lexicon of the New Testament based on Semantic Domains. The Louw-Nida dictionary is particularly interesting, since it arranges all the words of the Greek New Testament by means of a hierarchical taxonomy, where each entry rests within a "domain" of meaning alongside any other words that have some degree of semantic overlap.
That's all fine and good if you're only studying the Greek of the New Testament. But what about the Old Testament?
I blogged about looking up Philo citations in BDAG awhile back. But Philo (and even Josephus) aren't the only potential targets you can work with.
There are a number of reasons to use pseudepigraphal writings (Greek or English or both) to supplement one's study, though I think such reasons fall into two primary categores: cultural and linguistic. In this article I'll focus a bit on the linguistic side of things (though I do venture into the cultural a bit), looking particularly at word meanings.
In my personal study, I like to look up cross-references when looking into word meanings. This is particularly handy if a word doesn't occur often in the New Testament but does occur in other non-canonical writings. I was recently looking at 1Ti 3.8, specifically at the word ?????????????, which the ESV translates as greedy for dishonest gain.
The first thing, of course, was to look it up in BDAG. Here I found that it occurs 2 times in the NT, and both of these are in the Pastoral Epistles (1Ti 3.8 and Tt 1.7). Both contexts are the pretty much the same. But BDAG also cites instances of ????????????? in the Works of Philo (Sacr. Abel. 32) and in the pseudepigraphal Testament of Judah 16.1.
The documentation for the scriptable object model is available as a free Libronix DLS compatible resource. The automation newsgroup is where you can ask questions about automating the Libronix DLS and get help from Logos programmers and other users.
It is always a pain to switch from keyboard to mouse and back. "Power users" tend to master the keyboard shortcuts of their favorite applications so that they can keep their hands in one place.
The keyboard is not as convenient as the mouse, though, for navigating a page full of hyperlinks. But when you are following lots of links it is a real pain to keep moving your mouse between the list of links and the back button, or moving your hand back to the keyboard to press "Alt-Left".
Mouse gestures are a powerful shortcut that can cut your mouse travel without touching the keyboard.
In an open resource window, click and hold the right mouse button while dragging it just a short distance to the left and then releasing the button. This "gesture" executes the Go > Back command. (Assuming you have already followed a link or scrolled, so there is somewhere to go back to.) Right-click and drag to the right executes the Go > Forward command. Up moves to the previous article, down to the next. A "C" shape (left, down, right) toggles the contents pane.
I am not sure who invented mouse gestures, but we first saw them in Opera and Mozilla. These browsers support a long list of gestures, but I don't often make an "M" shape to view the tags for a page, or "S" to view the source. I do use forward and back all the time and can't imagine working without them.
I call mouse gestures a hidden feature because they don't have any visible user interface and so most users never find them. But now you know. A complete list of the gestures supported in the Libronix DLS is in the Libronix DLS Help, under Appendixes > Gestures . Give them a try, and let us know if there are any other commands you would like to access through gestures.
I suppose this really isn't prominently documented. But in Logos Bible Software, if you hold down the SHIFT key while clicking a link, you open a new version of the target resource.
So if you see a link for a Bible reference and SHIFT+Click the reference, a new version of your preferred Bible will open if you already have a copy open. This is very handy — it means you won't lose your place in your primary Bible window (and any linked windows) by following bunny trails.
I usually keep a second version of the ESV open, and I also mark it as the Reference Target Window (the little red book icon in the book icon bar that has the arrow pointing to itself). That way, whenever I click a Bible reference, it will jump to that specific window — and not cause any of my other linked windows to jump around.
You're About to Miss Logos' Best Deal. Ever.


text:
Andy Lord
TfL's new draft Business Plan to support London's economic recovery
In addition to setting out its path to financial sustainability,…
5 December 2022 | By Intelligent Transport
In addition to setting out its path to financial sustainability, TfL's latest Business Plan will focus on delivering key improvements across London's road and rail network, while achieving its climate action targets.
Northern Line Extension clocks over five million journeys in its first year
With reduced journey times and increased connectivity, the number of…
27 September 2022 | By Intelligent Transport
With reduced journey times and increased connectivity, the number of passenger journeys on the Northern Line Extension is predicted to reach up to 10 million trips per year in 2024/25.
Strikes to bring London's bus, underground, overground and UK's rail services to a halt
Further strikes across the UK public transport industry as a…
17 August 2022 | By Intelligent Transport
Further strikes across the UK public transport industry as a result of pay and job disputes are set to cause significant disruption to passengers, particularly in the capital city.
Network Rail and Transport for London workers to strike due to job loss and pay concerns
Network Rail and Transport for London workers are set to…
Network Rail and Transport for London workers are set to go on strike under the RMT and Unite unions, with services expected to be impacted from the beginning of service on 21 June through to 26 June 2022.
London Underground workers go on strike in response to job loss concerns
As part of a dispute over pensions, jobs and conditions,…
6 June 2022 | By Intelligent Transport
As part of a dispute over pensions, jobs and conditions, London Underground workers have gone on strike under the RMT Union, with services set to be impacted from the beginning of service on 6 June 2022.
TfL reports growth in ridership following lifting of working from home restrictions
Following the last of the major COVID-19 restrictions being lifted…
15 February 2022 | By Intelligent Transport
Following the last of the major COVID-19 restrictions being lifted in the UK, TfL has reported that Tube and bus ridership is now regularly around 60 per cent and 50 per cent, respectively, of pre-pandemic levels.
London Underground's Waterloo & City line to return to full weekday service following pandemic reductions
Following closure due to the pandemic and then operating a…
28 October 2021 | By Intelligent Transport
Following closure due to the pandemic and then operating a limited service from June 2021, TfL has announced that the Waterloo & City tube line will now return to a full weekday service.
Andy Lord appointed new Managing Director of London Underground
Lord will make the move to TfL later this year…
16 July 2019 | By Intelligent Transport
Lord will make the move to TfL later this year following a 30 year career in the aviation industry.


Working with Julie is like staying at a 5 star hotel. No detail is missed. Budget? She will stick to it to the penny. Have a dream? She will help design it. Ideas? She has many and they are innovative, smart, creative and practical.


text:
Ben Shapiro Debunks, Dissects, Denounces Fox News' Pro-Transgender Child Segment
Janey Olohan | June 17, 2022 | 12:05pm EDT
(Screenshot)
Conservative commentator Ben Shapiro is railing against the Fox News Channel for airing a sympathetic segment highlighting a family that encouraged their young daughter to identify as a boy from the mere age of five, calling the report "despicable," and "a complete betrayal of anything remotely resembling conservatism or decency."
In Monday's episode of "The Ben Shapiro Show," Shapiro dissects and refutes, piece by piece, the "insane propaganda" of the Fox News segment, "California transgender teen, family hope to be an inspiration to others," promoting the transition of the young girl.
In particular, Shapiro rejected Fox News Reporter Bryan Llenas' claim that Americans simply don't "understand" transgender ideology. In fact, they do understand – and that's why they reject it – Shapiro says in the video:
"What if we do understand your agenda? What if what we are afraid of is the agenda, because the agenda is pure garbage? Because it's harming children. And, because it's deliberately promoting propaganda that is based, not on science, but on ideological nonsense that is rooted in opposition to Judeo-Christian values and traditions and mores and rules and roles.
"What if that is what we are concerned about?"
"And, what about if we're particularly concerned when it starts taking over major American conservative institutions, like Fox News?" Shapiro added.
"Every element of this video is propagandistic, dangerous garbage." Daily Wire Editor Emeritus Shapiro wrote in a commentary reacting to the Fox News segment, adding that "The report states that this biologically female child was choosing her gender before she could speak."
"That is madness," Shapiro writes.
The video from Fox News' "America's Newsroom" describes the life of Ryland Whittington, a transgender boy whose parents helped to transition at the age of five years old. This video is part of Fox's "America Together: LGBTQ+ Pride Month" series.
Shapiro called Ryland's transition from such a young age "child abuse," stating that, "the vast majority of children who display signs of gender dysphoria desist over time."
He called the report "horrifying propaganda," and ridiculed the mother, Hillary Whittington, for referencing her Christian faith to justify transitioning her daughter as an infant.
"I'd rather have a living son than a dead daughter," Ryland's mother told "America's Newsroom" – a claim Shapiro calls mere propaganda, not fact:
"There is no credible evidence that transition alleviates suicidal ideation among children who identify as LGBTQ+."
"This is not about the children," it's about pushing a harmful ideology, which Fox News is helping to promote, Shapiro said:
"This is about pushing a gender theory that victimizes small children. And this is happening on Fox News, where the family is praised for its 'extraordinary courage' in the face of the 'politicization' of transgender issues."
Other prominent conservatives are also speaking out against the Fox video.
Author and Daily Wire Writer Matt Walsh tweeted: "Today Fox ran a long segment for Pride Month celebrating a 'trans kid' who 'came out as a boy' at the age of five. The piece did not simply report on the controversy surrounding child transitioning. It outright promotes the practice."
A new documentary video by Walsh addresses the question of "What Is a Woman?"
Allie Beth Stuckey, host of the "Relatable" podcast, tweeted that, she's grateful that her parents didn't "transition" her, when she was a child who didn't like to wear dresses:
"I hated dresses and bows as a child and insisted on only wearing jeans and a white t-shirt. Thank God my parents didn't see my 'discomfort' as a sign that I'm actually supposed to be a boy. 'Transitioning' a child is abusive. Let them grow up. Teach them to love their bodies."
In a commentary for NewsBusters, the Media Research Center's Tierin-Rose Mandelburg also spoke out against traditionally-conservative Fox News for giving transgender ideology a platform:
"The only thing this story led me to understand is that Fox is a bit more woke than I'd like to admit. Prayers go out to the millions of people that saw this segment and think that transitioning the youth isn't child abuse."


text:
Pillar: Case Management
In majority of COVID-19 cases, the affected individuals it is associated with mild disease (this may be in up to 80% of infected individuals) but the remaining 20% of individuals infected may have moderate to severe disease necessitating hospitalization in a designated COVID-19 facility, and 5% will have very severe and critical disease. Certain conditions put the patients at risk of severe disease and poor treatment outcomes these include; advanced age, hypertension, diabetes, cardiovascular disease, chronic respiratory diseases and immunosuppressive conditions like cancer.
Since there is no effective cure or vaccine for COVID-19, emphasis needs to be put on prevention of transmission from person to person at community level and points of congregation including Churches, mosques, schools, workplaces, etc. Focus will be on strengthening IPC including WASH in health facilities, institutions and communities. Treatment is mainly supportive. Corona virus infection may cause psychosocial stress because of the nature of the disease and may also cause social disruption to the; infected, affected, including responders and their families. Targeted response interventions by health including physical isolation may impact on COVID-19 affected communities' mental health and therefore there is need to provide quality and culturally appropriate treatment and protection interventions through planning, implementing, coordinating, and monitoring psychosocial care and protection for people who are affected by Coronavirus. All confirmed cases of COVID-19 depending on their severity, will be managed in designated isolation facilities - including homes across the country. Mildly ill or asymptomatic patients will be isolated at homes, non-traditional facilities, General Hospitals or Health Centre IVs. Moderately to severely ill patients will be hospitalized in designated COVID-19 treatment centres which have a capacity for High Dependence Units (HDU) and ICUs.
Enhance the country's capacity for management of COVID-19 cases.
Strengthen IPC and WASH in gazetted COVID-19 management facilities.
Strengthen the ambulance services for efficient referral of COVID-19 patients.
Building capacity for Mental Health and Psychosocial Support (MHSSP) for COVID-19 effects.
Please CLICK HERE to access more pillar resources
Return to The Uganda response to COVID-19


The February 2010 publication of Reality Hunger: A Manifesto, by David Shields, generated an amazing amount of discussion from all sides.
A former neo-Nazi's memoir describes a violent life in the white supremacist movement and his transformative experiences in prison.
David Shields attempts to demolish the foundations of literature in his latest, "Reality Hunger: A Manifesto." His target: the culture.
Caleb Powell enjoys travel, art, culture, food, drink, conversation, friends and family, and he's usually up for a beer.


I had no idea how glass etching happened. I used to think it was an intense process involving large machinery. FALSE. It's actually a something you paint onto the glass and is it easy peasy. Mind blown? Ours too. The finished product makes a perfect gift, and it's an easy way to give your glassware a little flair.
Step 1: Wipe the glasses down with rubbing alcohol. This provides a better etching surface than using glass cleaner would. Next, tape around the top of the glass to help you better position your stencil. Place your stencil where you choose and tape it down. Pro-tip: You really have to pull the tape tight so the plastic stencil doesn't pucker and is as close to the surface of the glass as possible.
Step 2: Once the stencil is in place, put the gloves on. Armour Etch is acidic, and the label warns burns "may not be immediately painful or visible." Not sure what that means exactly, but we weren't going to take any chances. We also protected our workspace using a giant piece of cardboard.
Step 4: We left the etching cream on for 5-10 minutes, going over the areas a couple of times during that time in order to take out any air bubbles. A difference of a few minutes between the glasses didn't seem to make a difference in the actual etching, so 5-10 minutes is a window that works pretty well.
Step 5: As far as rinsing, you want to be careful where you do it, as again the acid will not think twice about ruining your kitchen sink. To play it safe, we did it outside, pouring hot water over the glass and then wiping off excess cream with a paper towel. This method worked well for us and didn't seem negatively affect the finished products.
And speaking of finished products, they actually came out pretty cute!!