text:
Q: algebraic groups and their Lie algebras I have probably a stupid question about representations of algebraic groups:
Let $G$ be an algebraic group and $L$ be a Lie algebra of $G$. What is the connection between
categories of representations of $G$ and $L$ (are they equivalent)?
Now, let $V$ be an irreducible representation of $G$, how to prove that $V$ is also
an irreducible representation of $L$ (in case it is true)?   It should be true and I believe,
proof is easy, but still, I do not see that and I am looking for a nice proof of that.
And vice versa, let $V$ be an irreducible representation of $L$, is it also irreducible representation of $G$ ?

A: The question is out of focus, I think.  If it's really about algebraic groups rather than Lie groups, that should be made clear.   (And a tag should be added either way.)    As Marc Palm indicates, there are well understood analytic pathways connecting representations of Lie groups and representations of their Lie algebras, though of course the details are quite nontrivial and restrictions are needed.
For linear algebraic groups in characteristic 0, the connections are much more problematical.   Chevalley realized this in his early book (1951), where he took some steps using a sort of formal exponentiation process to get back from the Lie algebra to the algebraic group.   In modern form some of this is written down in later textbooks (Borel for instance).  Probably the most comprehensive source is Section 6 of Chapter II in Demazure-Gabriel Groupes algebriques (optimistically labelled
"tome I").  Even here one sees that not so much can be said outside the framework of semisimple groups and their Lie algebras.   Note that the concept of "simply connected" isn't even meaningful for most algebraic groups.
In prime characteristic, almost nothing works along the lines of your question, even if you limit to simply connected semisimple groups.    Here there is lots of literature, but for example it's long been known that the irreducible representations of the group and its Lie algebra diverge drastically.

A: A graph argument settles this issue very nicely, as follows.
Consider a linear algebraic group $G$ over a field $k$ of characteristic 0, and let $\mathfrak{g}$ be its Lie algebra.  For a finite-dimensional $k$-vector space $V$, let $f:\mathfrak{g} \rightarrow \mathfrak{gl}(V)$ be a representation.  Provided that $G$ is connected, since ${\rm{char}}(k) = 0$ clearly there is at most one $k$-homomorphism $\rho:G \rightarrow {\rm{GL}}(V)$ such that ${\rm{Lie}}(\rho) = f$, so assuming $G$ is connected we seek conditions under which such a $\rho$ always exists.
Let $\mathfrak{h} \subset \mathfrak{g} \times \mathfrak{gl}(V)$ be the graph of $f$.  Clearly if $\rho$ is to exist and  the $k$-subgroup $H \subset G \times {\rm{GL}}(V)$ is its graph then $H$ is connected and $\mathfrak{h} = {\rm{Lie}}(H)$, so $H$ is uniquely determined (as a $k$-subgroup of $G \times {\rm{GL}}(V)$) since ${\rm{char}}(k) = 0$.  So we seek conditions under which the Lie subalgebra $\mathfrak{h}$ of $\mathfrak{g} \times \mathfrak{gl}(V)$ "exponentiates" to a connected closed $k$-subgroup $H$ (and then we need conditions to ensure ${\rm{pr}}_1:H \rightarrow G$ is an isomorphism).
Assume $G$ is its own derived group, so $\mathfrak{g}$ is its own derived subalgebra (as ${\rm{char}}(k)=0$) and hence the same for $\mathfrak{h}$. Now comes the crucial point: it is a general fact over fields $k$ of char. 0 (see Cor. 7.9 in Ch. II of Borel's textbook on algebraic groups) that the derived subalgebra of any Lie subalgebra of a linear algebraic group over $k$ "exponentiates" to a connected closed $k$-subgroup.  So $\mathfrak{h} = {\rm{Lie}}(H)$ for a unique connected closed $k$-subgroup $H \subset G \times {\rm{GL}}(V)$.  The necessary and sufficient condition for $f$ to arise from some $\rho$ is that ${\rm{pr}}_1:H \rightarrow G$ is an isomorphism.
This projection has Lie algebra map $\mathfrak{h} \rightarrow \mathfrak{g}$ that is the analogous projection which is visibly an isomorphism (due to the definition of $\mathfrak{h}$ as the graph of $f$), so $H \rightarrow G$ is an isogeny.  As such, its kernel is etale (since ${\rm{char}}(k) = 0$) and hence central (since $H$ is connected), so it is a finite central $k$-subgroup of $H$. Thus, we just need that $G$ admits no nontrivial isogenous (smooth) connected central extension.  This is automatic when $G$ is assumed to be semisimple and simply connected (in the sense of algebraic groups).
So we win whenever $G$ is a connected semisimple $k$-group that is simply connected. We also win whenever $G$ is a unipotent $k$-group (by entirely different arguments), but presumably you're not interested in that case.

A: I suggest the following lecture notes of Bruhat:
www.math.tifr.res.in/~publ/ln/tifr14.pdf
Chapter 3 & 4 should answer most of your questions.
For example, there are statements like this :
Proposition 1(pg.19). To every analytic representation h : G −→ G′ there
corresponds a map dh : U(G) → U(G′) which is a representation of
algebras such that ( f ◦ h) = (dh() f ) ◦ h.
Corollary (pg.36). Let G and H be two Lie groups having g and J as their Lie
algebras. If G is connected and simply connected, to every representation
π of g in J, there corresponds one and only one representation f
of G → H such that d f = π.
If you are interested in semisimple, connected, simply connected groups only, both give you an isomorphism between the categories of complex representations. Equivalence of categories is weaker than isomorphism. Moreover, the categories of representations are both semisimple in this case, i.e., reps decompose into irreducible ones. Thus, also your second and third question can be answered affirmative in this case.


text:
namespace qrw
{

const SID DeploymentZone::typeName("qrw::DeploymentZone");

DeploymentZone::DeploymentZone()
    : GameObject(),
      playerId_(-1),
      color_(sf::Color::Green)
{
}

void DeploymentZone::initialize()
{
	GameObject::initialize();
	updateSprites();
}

void DeploymentZone::addSquare(const Coordinates& coordinates)
{
	assert(zone_.find(coordinates) == zone_.end());

    zone_.insert(coordinates);

    auto* sprite = new SpriteComponent(*this, RENDER_LAYER_GAME);
    sprite->setFillColor(color_);
	addComponent(sprite);
	sprites_[coordinates] = sprite;

	// Only update sprite when we are sure that the scene has a Board instance.
	if(isInitialized()) {
		updateSprite(coordinates, sprite);
	}
}

void DeploymentZone::removeSquare(const Coordinates& coordinates)
{
	assert(zone_.find(coordinates) != zone_.end());

    zone_.erase(coordinates);

    auto* sprite = sprites_[coordinates];
    removeComponent(sprite);
    sprites_.erase(coordinates);
    delete sprite;
}

bool DeploymentZone::containsSquare(const Coordinates& coordinate)
{
    return zone_.find(coordinate) != zone_.end();
}

void qrw::DeploymentZone::crop(const Coordinates& size)
{
	auto iter = zone_.begin();
	while(iter != zone_.end())
	{
		Coordinates square = *iter;
		if(square.getX() >= size.getX() || square.getY() >= size.getY())
			iter = zone_.erase(iter);
		else
			++iter;
	}
}

void DeploymentZone::setPlayerId(int playerId)
{
    playerId_ = playerId;

    switch(playerId)
    {
        case 1: color_ = PLAYER_ONE_COLOR; break;
        case 2: color_ = PLAYER_TWO_COLOR; break;
        default: assert(playerId == 1 || playerId == 2);
    }
}

void DeploymentZone::flatModeChanged()
{
	updateSprites();
}

void DeploymentZone::updateSprites()
{
	for(const auto& iter : sprites_) {
		updateSprite(iter.first, iter.second);
	}
}

void DeploymentZone::updateSprite(const Coordinates& coordinates, SpriteComponent* sprite)
{
	auto* board = g_scene.findSingleGameObject<Board>();
	assert(board != nullptr);

	sprite->setPosition(worldToIso(boardToWorld(coordinates)));
	float zIndex = sprite->getZIndex() + 0.02f;

	std::string textureName = "deploymentzone";
	sf::Vector2f spriteOrigin(SQUARE_DIMENSION, 0.0f);
	sf::Vector2f spriteSize(2.0f * SQUARE_DIMENSION, SQUARE_DIMENSION);
	float heightOffset = 0;

	if(!isFlatMode()) {
		if (auto* structure = board->getStructure(coordinates)) {
			if (dynamic_cast<Wall*>(structure) != nullptr) {
				heightOffset = -2.0f * SQUARE_DIMENSION;
			} else if (auto stairs = dynamic_cast<Stairs*>(structure)) {
				textureName += "_stairs_";
				if (stairs->getFace() == Directions::WEST) {
					textureName += "west";
				} else if (stairs->getFace() == Directions::NORTH) {
					textureName += "north";
				} else if (stairs->getFace() == Directions::EAST) {
					textureName += "east";
				} else if (stairs->getFace() == Directions::SOUTH) {
					textureName += "south";
				}

				spriteOrigin = sf::Vector2f(SQUARE_DIMENSION, 40.0f);
				spriteSize = sf::Vector2f(2.0f * SQUARE_DIMENSION, 91.0f);
			}
		}
	}

	sprite->setTexture(TextureManager::getInstance()->getTexture(textureName));
	sprite->setSize(spriteSize);
	sprite->setOrigin(spriteOrigin.x, spriteOrigin.y);
	sprite->setPosition(sprite->getPosition() + sf::Vector2f(0, heightOffset));
	sprite->setZIndex(zIndex);
}

} // namespace qrw

redpajama_set_name: RedPajamaGithub


The International Fire Sprinkler Association points out that automatic fire sprinkler systems are the single most effective fire protection measure available.
The Grenfell Tower residential high-rise fire that killed at least 12 residents in London on June 14 and injured more than 70 others reinforces the need for fire sprinklers in high-rise buildings including the retrofit of these existing fire hazards.
While all the details of the fire tragedy are not yet known, the International Fire Sprinkler Association (IFSA) points out that automatic fire sprinkler systems are the single most effective fire protection measure available, and are able to make up for a wide range of other fire protection deficiencies. There has never been a multiple loss of life from a fire developing in a building protected by a properly designed, installed, and maintained fire sprinkler system.
Why are fire sprinkler systems not being installed in these types of existing buildings? The uninformed answer is usually that it would cost too much. However, reality is that in 2012 the British Automatic Fire Sprinkler Association (BAFSA) commissioned a report on the economics of fire sprinkler retrofit in residential apartment blocks of this type. The study concluded that fire sprinklers could be retrofitted with tenants in place at a cost of about £1150 (about $1,466) per flat. Since the 24-story Grenfell Tower contained 120 flats, BAFSA reports that a fire sprinkler system could have been installed for less than 2 percent of the £10 million ($12.7 million) spent on refurbishment of the tower just last year, money that was wasted considering that the tower now appears to be a total loss.
The BAFSA report, Safer High-Rise Living, the Callow Mount Sprinkler Retrofit Project, can be accessed online.
Although fire sprinkler systems are not designed to control or extinguish exterior fires, experience has shown that they can play a major role in providing fire safety during such events. In both the Monte Carlo casino hotel fire in Las Vegas in 2008 and the Sulafa Dubai residential high-rise fire in Dubai in 2017, individual sprinklers activated to prevent the exterior fires from entering the building, and no fire deaths took place.
The IFSA expressed its sympathy for the victims of the Grenfell Tower fire, and calls upon British authorities to revisit the issue of fire safety in existing high-rise buildings, specifically to consider a program for fire sprinkler retrofit of high-rise occupancies.


Early Spring Juicing & Smoothie Delight - Parsnips!
How to remove tarnish from Jewelry?
How to clean your kid's rc car properly?
My Favorite Lists of Industrial Air Compressor-The Reason I Like Them!
What is the best oscillating tool for the money?
What should you know about Clash of Clans?


Trinity Financial recently arranged a £900,000 residential remortgage to help a client restructure his debt.
The mortgage rates on his main residence and buy-to-let were coming up for renewal and he wanted arrange new deals. His monthly repayments on his home were higher than he wanted because they were on full capital repayment over a short term, so he planned to switch it to interest-only.
Our client asked us to remortgage his buy-to-let loan to another lender as the deal they were offering him to stay was uncompetitive. However, as the rental income was not sufficient to secure enough funds to repay the mortgage, he needed to release some equity from his home and bring the loan-to-value to 60%.
The intermediary lending arm of a high street bank agreed to provide the £900,000 mortgage including £300,000 of capital raising to pay off the buy-to-let. They agreed a mortgage on one of the bank's specifice interest-only rates and produced an offer in two weeks. The client then repaid a lump sum off his buy-to-let mortgages and switched to a cheaper deal.
The overall cost for comparison is 4.03% APRC representative.
Representative example: An interest mortgage of £900,000 payable over 25 years, initially on a 1.92% fixed rate for two years and then on a standard variable rate (currently 4.24%) for the remaining 23 years, would require 24 monthly repayments of £1,440 followed by 276 monthly repayments of £3,180. The total amount repayable would be £1,812,240.00 made up of the loan amount, plus interest and £0 (product fee), £0 (final repayment charge), £35 (completion fee). The overall cost for comparison is 3.54% APRC representative.


text:
<?php

namespace AcademyHQ\API\ValueObjects;

class OrganisationID extends ID {}


English Bible Study (EBS) meets 7:30pm each Wednesday night in the Small Hall.
Our aim to learn how to live our lives as Christians, through the careful study and application of the Bible.
We also take the time to get to know one another over supper, topical workshops, dinners and prayer.


text:
Home / Find a Doctor / Lauren Sankary, JD
Lauren Sankary, JD
0 Patient Satisfaction Ratings
0 Patient Comments
Department Neurological Institute
Primary Location Cleveland Clinic Main Campus
Type of Doctor Both Adults and Children & Adolescents, Researcher
Surgeon No
Locations & Specialties Insurances Accepted Biography
Cleveland Clinic Main Campus
Center for Bioethics
Is Cleveland Clinic Part of Your Insurance?
Review a list of accepted insurance plans for our Northeast Ohio locations or learn more about purchasing a contracted managed care plan.
Education & Professional Highlights
About Lauren Sankary, JD
Lauren R. Sankary, JD, is currently the Associate Director of the Neuroethics Program, which conducts cutting-edge scholarly and empirical neuroethics research and develops and promulgates best ethical practices in the diagnosis and treatment of neurological diseases. She is also staff in the Neurological Institute and a member of the Center for Bioethics.
Lauren Sankary joined the professional staff in the Neurological Institute at Cleveland Clinic in January of 2020. She received a B.A. in Rhetoric from University of California, Berkeley in 2012. Subsequently, she received a J.D. with a concentration in Health Law from and a Master of Arts in Case Western Reserve University. Lauren Sankary completed a two and a half year NIH BRAIN Initiative-funded neuroethics fellowship at Cleveland Clinic. Lauren Sankary's primary research interests focus on ethical issues raised by implanted neural devices and neurosurgical interventions. She works closely with the Center for Neurological Restoration and Epilepsy Center. She teaches graduate-level courses at Columbia University and Case Western Reserve University and lectures nationally and internationally on a range of issues that include neuroethics, research ethics, empirical bioethics and clinical ethics consultation.
Education & Fellowships
Fellowship - Cleveland Clinic
Cleveland, OH USA
Graduate School - Case Western Reserve University
Undergraduate - University of California at Berkeley
Berkeley, CA USA
Professional Highlights
Neuroethics Fellowship - Cleveland Clinic
NIH BRAIN Initiative F32 Award Recipient
Juris Doctor – Case Western Reserve University
Master of Arts – Bioethics – Case Western Reserve University
Bachelor of Arts – University of California, Berkeley
Specialty Interests
Bioethics, Neuroethics, Research Ethics, Education
See publications for Lauren Sankary, JD.
(Disclaimer: This search is powered by PubMed, a service of the U.S. National Library of Medicine. PubMed is a third-party website with no affiliation with Cleveland Clinic.)
Cleveland Clinic physicians and scientists may collaborate with the pharmaceutical or medical device industries to help develop medical breakthroughs or provide medical expertise or education. Cleveland Clinic strives to make scientific advances that will benefit patient care and support outside relationships that promise public benefit. In order for the discoveries of Cleveland Clinic physicians' and scientists' laboratories and investigations to benefit the public, these discoveries must be commercialized in partnership with industry. As experts in their fields, Cleveland Clinic physicians and scientists are often sought after by industry to consult, provide expertise and education.
To assure professional and commercial integrity in such matters, Cleveland Clinic maintains a program that reviews these collaborations and, when appropriate, puts measures in place to minimize bias that may result from ties to industry. Cleveland Clinic publicly discloses the names of companies when (i) its physicians/scientists receive $5,000 or more per year (or, in rare cases, equity or stock options) for speaking and consulting, (ii) its physicians/scientists serve as a fiduciary, (iii) its physicians/scientists receive or have the right to receive royalties or (iv) its physicians/ scientists hold any equity interest for the physician's/scientist's role as inventor, discoverer, developer, founder or consultant.* In publicly disclosing this information, Cleveland Clinic tries to provide information as accurately as possible about its physicians' and scientists' connections with industry.
As of 7/18/2022, Dr. Sankary has reported no financial relationship with industry that is applicable to this listing. In general, patients should feel free to contact their doctor about any of the relationships and how the relationships are overseen by Cleveland Clinic. To learn more about Cleveland Clinic's policies on collaborations with industry and innovation management, go to our Integrity in Innovation page.
Public Health Service-Reportable Financial Conflicts of Interest. Cleveland Clinic scientists and physicians engage in basic, translational and clinical research activities, working to solve health problems, enhance patient care and improve quality of life for patients. Interactions with industry are essential to bringing the researchers' discoveries to the public, but can present the potential for conflicts of interest related to their research activities. Click here to view a listing of instances where Cleveland Clinic has identified a Public Health Service (PHS)-Reportable Financial Conflict of Interest and has put measures in place to ensure that, to the extent possible, the design, conduct and reporting of the research is free from bias.
* Cleveland Clinic physicians and scientists subscribe to the guidance presented in the PhRMA Code on Interactions with Healthcare Professionals and the AdvaMed Code of Ethics on Interactions with Health Care Professionals. As such, gifts of substantial value are generally prohibited.
{{#more}}
{{/more}} {{#data}}
{{/data}} {{#more}}
Related Videos Featuring Lauren Sankary, JD

redpajama_set_name: RedPajamaCommonCrawl


text:
In the news: CODEPINK National Co-director Ariel Gold deported from Israel
https://www.codepink.org/blacklisted
Prominent Jewish BDS activist denied entry to Israel, Times of Israel, July 2, 2018
Code Pink official Ariel Gold had come to take part in a Jewish studies program at Hebrew University, but ministers say she was actually here to push for a boycott of the country.
'A Jew who tried to abuse this fact' — Israel deports activist for supporting BDS, Mondoweiss, July 2, 2018
Yesterday (Sunday), peace activist Ariel Gold was deported from Israel by the immigration authorities at Ben Gurion airport – despite having a visa for studies at the Hebrew University, issued by the Israeli Consulate in New York.
Jewish American BDS activist denied entry into Israel, YNet News, July 2, 2018
Population and Immigration Authority bars Ariel Gold from entering country following instruction from Interior Minister Aryeh Deri and recommendation of Strategic Affairs Minister Gilad Erdan, who later writes: 'The rules have changed. Israel will not show restraint towards those who try to hurt it.'
Israel Denies Entrance To Jewish-American BDS Activist, Forward.com, July 2, 2018
A Jewish-American activist was denied entrance to Israel over her work with the BDS movement, despite having a valid student visa.
Jewish-American BDS activist denied entry into Israel, MiddleEastMonitor.Com, July 2, 2018
Gold was prevented from entering Israel when she landed at Tel Aviv's Ben Gurion International Airport yesterday afternoon. She was held until 11pm when she was informed that her entry had been refused despite holding the correct papers.
Israel Bans Entry of 'Code Pink' Activist Who Advocated BDS at the Kotel, The Jewish Press - JewishPress.com, July 2, 2018
The Population and Immigration Authority on Sunday barred a Jewish American woman from entering Israel.
Franklin Werthwein commented 2018-09-28 01:53:04 -0400
I am a women of 64 years who was sexually abused as a child . Ford did not give impotent credible information to validate trashing a mans name , destroying his life and years of good work. You can not believe a story or accusation just because they are women . You must have proof , which miss ford lacked. Sadly she was a puppet used by the DEMACRATIC party which I have been for 45 years . But we must have evidence , truth and justice for all.
This type of just believe women on their word is irrasonal and dangerous and not what America is built on. America is innocent until proven beyond a shadow of a doubt. Ms. Ford and the DEMACRATIC failed to prove any thing and was to vague and led around by her counsel . We want equal women rights but only on the strength of right and truth .
It is a scary thing to see a political party and women's group. Flinging our constitution of Justice out for political and gender support !!! We stand with the Republican Party and Judge Kavanaugh … Women in my family are raised to be strong and stand in truth and law and order for all


text:
using Microsoft.AspNetCore.Razor.TagHelpers.Testing;

namespace Microsoft.AspNetCore.Razor.TagHelpers;

public class TagHelperAttributeListTest
{
    [Theory]
    [MemberData(
        nameof(ReadOnlyTagHelperAttributeListTest.IntIndexerData),
        MemberType = typeof(ReadOnlyTagHelperAttributeListTest))]
    public void IntIndexer_GetsExpectedAttribute(
        IEnumerable<TagHelperAttribute> initialAttributes,
        int indexToLookup,
        TagHelperAttribute expectedAttribute)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        var attribute = attributes[indexToLookup];

        // Assert
        Assert.Equal(expectedAttribute, attribute, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData IntIndexerSetData
    {
        get
        {
            var first = new TagHelperAttribute("First", "First Value");
            var second = new TagHelperAttribute("Second", "Second Value");
            var third = new TagHelperAttribute("Third", "Third Value");
            var set = new TagHelperAttribute("Set", "Set Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                int, // indexToSet
                TagHelperAttribute, // setValue
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { new[] { first }, 0, set, new[] { set } },
                    { new[] { first, second }, 0, set, new[] { set, second } },
                    { new[] { first, second }, 1, set, new[] { first, set } },
                    { new[] { first, second, third}, 1, set, new[] { first, set, third } },
                    { new[] { first, second, third }, 2, set, new[] { first, second, set } },
                    { new[] { first, first, second, third}, 1, set, new[] { first, set, second, third } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(IntIndexerSetData))]
    public void IntIndexer_SetsAttributeAtExpectedIndex(
        IEnumerable<TagHelperAttribute> initialAttributes,
        int indexToSet,
        TagHelperAttribute setValue,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        attributes[indexToSet] = setValue;

        // Assert
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    [Theory]
    [MemberData(
        nameof(ReadOnlyTagHelperAttributeListTest.IntIndexerThrowData),
        MemberType = typeof(ReadOnlyTagHelperAttributeListTest))]
    public void IntIndexer_Getter_ThrowsIfIndexInvalid(int index)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(new[]
            {
                    new TagHelperAttribute("A", "AV"),
                    new TagHelperAttribute("B", "BV")
                });

        // Act & Assert
        var exception = Assert.Throws<ArgumentOutOfRangeException>("index", () => attributes[index]);
    }

    [Theory]
    [MemberData(
        nameof(ReadOnlyTagHelperAttributeListTest.IntIndexerThrowData),
        MemberType = typeof(ReadOnlyTagHelperAttributeListTest))]
    public void IntIndexer_Setter_ThrowsIfIndexInvalid(int index)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(new[]
        {
                new TagHelperAttribute("A", "AV"),
                new TagHelperAttribute("B", "BV")
            });

        // Act & Assert
        var exception = Assert.Throws<ArgumentOutOfRangeException>("index", () =>
        {
            attributes[index] = new TagHelperAttribute("C", "CV");
        });
    }

    [Theory]
    [MemberData(
        nameof(ReadOnlyTagHelperAttributeListTest.StringIndexerData),
        MemberType = typeof(ReadOnlyTagHelperAttributeListTest))]
    public void StringIndexer_GetsExpectedAttribute(
        IEnumerable<TagHelperAttribute> initialAttributes,
        string nameToLookup,
        TagHelperAttribute expectedAttribute)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        var attribute = attributes[nameToLookup];

        // Assert
        Assert.Equal(expectedAttribute, attribute, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData StringIndexerSetData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var ASet1 = new TagHelperAttribute("AName", "AName Set Value");
            var ASet2 = new TagHelperAttribute("AnAmE", "AName Set Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var A3 = new TagHelperAttribute("AName", "AName Third Value");
            var A3Set = new TagHelperAttribute("aname", "AName Third Set Value");
            var B = new TagHelperAttribute("BName", "BName Value");
            var BSet1 = new TagHelperAttribute("BName", "BName Set Value");
            var BSet2 = new TagHelperAttribute("BnAmE", "BName Set Value");
            var C = new TagHelperAttribute("CName", "CName Value");
            var CSet1 = new TagHelperAttribute("CName", "CName Set Value");
            var CSet2 = new TagHelperAttribute("cnamE", "CName Set Value");
            var set = new TagHelperAttribute("Set", "Set Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                string, // keyToSet
                object, // setValue
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { new[] { A }, "AName", ASet1.Value, new[] { ASet1 } },
                    { new[] { A }, "AnAmE", ASet2.Value, new[] { ASet2 } },
                    { new[] { A, B }, "AName", ASet1.Value, new[] { ASet1, B } },
                    { new[] { A, B }, "AnAmE", ASet2.Value, new[] { ASet2, B } },
                    { new[] { A, B }, "BName", BSet1.Value, new[] { A, BSet1 } },
                    { new[] { A, B }, "BnAmE", BSet2.Value, new[] { A, BSet2 } },
                    { new[] { A, B, C }, "BName", BSet1.Value, new[] { A, BSet1, C } },
                    { new[] { A, B, C }, "BnAmE", BSet2.Value, new[] { A, BSet2, C } },
                    { new[] { A, B, C }, "CName", CSet1.Value, new[] { A, B, CSet1 } },
                    { new[] { A, B, C }, "cnamE", CSet2.Value, new[] { A, B, CSet2 } },
                    { Enumerable.Empty<TagHelperAttribute>(), "Set", set.Value, new[] { set } },
                    { new[] { B }, "Set", set.Value, new[] { B, set } },
                    { new[] { A, B }, "Set", set.Value, new[] { A, B, set } },

                    // Multiple elements same name
                    { new[] { A, B, A2, C }, "AName", ASet1.Value, new[] { ASet1, B, C } },
                    { new[] { A, B, A2, C }, "AnAmE", ASet2.Value, new[] { ASet2, B, C } },
                    { new[] { B, A2, A }, "AName", ASet1.Value, new[] { B, ASet1 } },
                    { new[] { B, A2, A, C }, "AnAmE", ASet2.Value, new[] { B, ASet2, C } },
                    { new[] { A, A3 }, "aname", A3Set.Value, new[] { A3Set } },
                    { new[] { A3, A }, "aname", A3Set.Value, new[] { A3Set } },
                    { new[] { A, A2, A3 }, "AName", ASet1.Value, new[] { ASet1 } },
                    { new[] { A, A2, A3 }, "BName", BSet1.Value, new[] { A, A2, A3, BSet1 } },
                    { new[] { A, A2, A3, B, C }, "Set", set.Value, new[] { A, A2, A3, B, C, set } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(StringIndexerSetData))]
    public void StringIndexer_SetsAttributeAtExpectedLocation(
        IEnumerable<TagHelperAttribute> initialAttributes,
        string keyToSet,
        object setValue,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        attributes.SetAttribute(keyToSet, setValue);

        // Assert
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    [Fact]
    public void StringIndexer_Setter_ThrowsIfIndexInvalid()
    {
        // Arrange
        var attributes = new TagHelperAttributeList(new[]
        {
                new TagHelperAttribute("A", "AV"),
                new TagHelperAttribute("B", "BV")
            });

        // Act & Assert
        var exception = Assert.Throws<ArgumentOutOfRangeException>("index", () =>
        {
            attributes[2] = new TagHelperAttribute("C", "CV");
        });
    }

    [Fact]
    public void ICollection_IsReadOnly_ReturnsFalse()
    {
        // Arrange
        var attributes = new TagHelperAttributeList() as ICollection<TagHelperAttribute>;

        // Act
        var isReadOnly = attributes.IsReadOnly;

        // Assert
        Assert.False(isReadOnly);
    }

    public static TheoryData AddData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var B = new TagHelperAttribute("BName", "BName Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                TagHelperAttribute, // attributeToAdd
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { Enumerable.Empty<TagHelperAttribute>(), A, new[] { A } },
                    { new[] { A }, B, new[] { A, B } },
                    { new[] { A }, A2, new[] { A, A2 } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(AddData))]
    public void Add_AppendsAttributes(
        IEnumerable<TagHelperAttribute> initialAttributes,
        TagHelperAttribute attributeToAdd,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        attributes.Add(attributeToAdd);

        // Assert
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData InsertData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var B = new TagHelperAttribute("BName", "BName Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                TagHelperAttribute, // attributeToAdd
                int, // locationToInsert
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { Enumerable.Empty<TagHelperAttribute>(), A, 0, new[] { A } },
                    { new[] { A }, B, 1, new[] { A, B } },
                    { new[] { A }, B, 0, new[] { B, A } },
                    { new[] { A }, A2, 1, new[] { A, A2 } },
                    { new[] { A }, A2, 0, new[] { A2, A } },
                    { new[] { A, B }, A2, 0, new[] { A2, A, B } },
                    { new[] { A, B }, A2, 1, new[] { A, A2, B } },
                    { new[] { A, B }, A2, 2, new[] { A, B, A2 } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(InsertData))]
    public void Insert_InsertsAttributes(
        IEnumerable<TagHelperAttribute> initialAttributes,
        TagHelperAttribute attributeToAdd,
        int locationToInsert,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        attributes.Insert(locationToInsert, attributeToAdd);

        // Assert
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    [Fact]
    public void Insert_ThrowsWhenIndexIsOutOfRange()
    {
        // Arrange
        var attributes = new TagHelperAttributeList(
            new[]
            {
                    new TagHelperAttribute("a", "av"),
                    new TagHelperAttribute("b", "bv"),
            });

        // Act & Assert
        var exception = Assert.Throws<ArgumentOutOfRangeException>("index",
            () => attributes.Insert(3, new TagHelperAttribute("c", "cb")));
    }

    public static TheoryData CopyToData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var B = new TagHelperAttribute("BName", "BName Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                TagHelperAttribute[], // attributesToCopy
                int, // locationToCopy
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { Enumerable.Empty<TagHelperAttribute>(), new[] { A }, 0, new[] { A } },
                    { Enumerable.Empty<TagHelperAttribute>(), new[] { A, B }, 0, new[] { A, B } },
                    { new[] { A }, new[] { B }, 1, new[] { A, B } },
                    { new[] { A }, new[] { B }, 0, new[] { B } },
                    { new[] { A }, new[] { A2 }, 1, new[] { A, A2 } },
                    { new[] { A }, new[] { A2 }, 0, new[] { A2 } },
                    { new[] { A, B }, new[] { A2 }, 0, new[] { A2, B } },
                    { new[] { A, B }, new[] { A2 }, 1, new[] { A, A2 } },
                    { new[] { A, B }, new[] { A2 }, 2, new[] { A, B, A2 } },
                    { new[] { A, B }, new[] { A2, A2 }, 0, new[] { A2, A2 } },
                    { new[] { A, B, A2 }, new[] { A2, A2 }, 1, new[] { A, A2, A2 } },
                    { new[] { A, B }, new[] { A2, A2 }, 2, new[] { A, B, A2, A2 } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(CopyToData))]
    public void CopyTo_CopiesAttributes(
        IEnumerable<TagHelperAttribute> initialAttributes,
        TagHelperAttribute[] attributesToCopy,
        int locationToCopy,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);
        var attributeDestination = new TagHelperAttribute[expectedAttributes.Count()];
        attributes.ToArray().CopyTo(attributeDestination, 0);

        // Act
        attributesToCopy.CopyTo(attributeDestination, locationToCopy);

        // Assert
        Assert.Equal(expectedAttributes, attributeDestination, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData RemoveAllData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var A3 = new TagHelperAttribute("AName", "AName Third Value");
            var B = new TagHelperAttribute("BName", "BName Value");
            var C = new TagHelperAttribute("CName", "CName Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                string, // keyToRemove
                IEnumerable<TagHelperAttribute>, // expectedAttributes
                bool> // expectedRemoval
                {
                    { new[] { A }, "AName", Enumerable.Empty<TagHelperAttribute>(), true },
                    { new[] { A }, "AnAmE", Enumerable.Empty<TagHelperAttribute>(), true },
                    { new[] { A, B }, "AName", new[] { B }, true },
                    { new[] { A, B }, "AnAmE", new[] { B }, true },
                    { new[] { A, B }, "BName", new[] { A }, true },
                    { new[] { A, B }, "BnAmE", new[] { A }, true },
                    { new[] { A, B, C }, "BName", new[] { A, C }, true },
                    { new[] { A, B, C }, "bname", new[] { A, C }, true },
                    { new[] { A, B, C }, "CName", new[] { A, B }, true },
                    { new[] { A, B, C }, "cnamE", new[] { A, B }, true },

                    // Multiple elements same name
                    { new[] { A, B, A2, C }, "AName", new[] { B, C }, true },
                    { new[] { A, B, A2, C }, "aname", new[] { B, C }, true },
                    { new[] { B, A2, A }, "aname", new[] { B }, true },
                    { new[] { B, A2, A, C }, "AName", new[] { B, C }, true },
                    { new[] { A, A3 }, "AName", Enumerable.Empty<TagHelperAttribute>(), true },
                    { new[] { A3, A }, "aname", Enumerable.Empty<TagHelperAttribute>(), true },
                    { new[] { A, A2, A3 }, "AName", Enumerable.Empty<TagHelperAttribute>(), true },
                    { new[] { C, B, A3, A }, "AName", new[] { C, B }, true },

                    // No removal expected lookups
                    { Enumerable.Empty<TagHelperAttribute>(), "_0_", Enumerable.Empty<TagHelperAttribute>(), false },
                    { new[] { A }, "_AName_", new[] { A }, false },
                    { new[] { A }, "completely different", new[] { A }, false },
                    { new[] { A, B }, "_AName_", new[] { A, B }, false },
                    { new[] { A, B }, "completely different", new[] { A, B }, false },
                    { new[] { A, B, C }, "_BName_", new[] { A, B, C }, false },
                    { new[] { A, B, C }, "completely different", new[] { A, B, C }, false },
                    { new[] { A, A2, B, C }, "_cnamE_", new[] { A, A2, B, C }, false },
                    { new[] { A, A2, B, C }, "completely different", new[] { A, A2, B, C }, false },
                    { new[] { A, A2, A3, B, C }, "_cnamE_", new[] { A, A2, A3, B, C }, false },
                    { new[] { A, A2, A3, B, C }, "completely different", new[] { A, A2, A3, B, C }, false },
                };
        }
    }

    [Theory]
    [MemberData(nameof(RemoveAllData))]
    public void RemoveAll_RemovesAllExpectedAttributes(
        IEnumerable<TagHelperAttribute> initialAttributes,
        string keyToRemove,
        IEnumerable<TagHelperAttribute> expectedAttributes,
        bool expectedRemoval)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        var removed = attributes.RemoveAll(keyToRemove);

        // Assert
        Assert.Equal(expectedRemoval, removed);
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData RemoveData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "av");
            var A2 = new TagHelperAttribute("aname", "av");
            var A3 = new TagHelperAttribute("AName", "av");
            var B = new TagHelperAttribute("BName", "bv");
            var C = new TagHelperAttribute("CName", "cv");
            var empty = Enumerable.Empty<TagHelperAttribute>();

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                TagHelperAttribute, // attributeToRemove
                IEnumerable<TagHelperAttribute>, // expectedAttributes
                bool> // expectedResult
                {
                    { new[] { A }, A, empty, true },
                    { new[] { A }, new TagHelperAttribute("AnAmE", "av"), empty, true },
                    { new[] { A, B }, A, new[] { B }, true },
                    { new[] { A, B }, new TagHelperAttribute("AnAmE", "av"), new[] { B }, true },
                    { new[] { A, B }, B, new[] { A }, true },
                    { new[] { A, B }, new TagHelperAttribute("BnAmE", "bv"), new[] { A }, true },
                    { new[] { A, B, C }, B, new[] { A, C }, true },
                    { new[] { A, B, C }, new TagHelperAttribute("bname", "bv"), new[] { A, C }, true },
                    { new[] { A, B, C }, C, new[] { A, B }, true },
                    { new[] { A, B, C }, new TagHelperAttribute("cnamE", "cv"), new[] { A, B }, true },

                    // Multiple elements same name
                    { new[] { A, B, A2, C }, A, new[] { B, A2, C }, true },
                    { new[] { A, B, A2, C }, new TagHelperAttribute("aname", "av"), new[] { B, A2, C }, true },
                    { new[] { B, A2, A }, new TagHelperAttribute("aname", "av"), new[] { B, A }, true },
                    { new[] { B, A2, A, C }, A, new[] { B, A, C }, true },
                    { new[] { A, A3 }, A3, new[] { A3 }, true },
                    { new[] { A3, A }, new TagHelperAttribute("aname", "av"), new[] { A }, true },
                    { new[] { A, A2, A3 }, new TagHelperAttribute("AName", "av"), new[] { A2, A3 }, true },
                    { new[] { C, B, A3, A }, new TagHelperAttribute("AName", "av"), new[] { C, B, A }, true },

                    // Null expected lookups
                    { Enumerable.Empty<TagHelperAttribute>(), new TagHelperAttribute("DoesNotExist", "_0_"), Enumerable.Empty<TagHelperAttribute>(), false },
                    { new[] { A }, new TagHelperAttribute("DoesNotExist", "_AName_"), new[] { A }, false },
                    { new[] { A }, new TagHelperAttribute("DoesNotExist", "completely different"), new[] { A }, false },
                    { new[] { A, B }, new TagHelperAttribute("DoesNotExist", "_AName_"), new[] { A, B }, false },
                    { new[] { A, B }, new TagHelperAttribute("DoesNotExist", "completely different"), new[] { A, B }, false },
                    { new[] { A, B, C }, new TagHelperAttribute("DoesNotExist", "_BName_"), new[] { A, B, C }, false },
                    { new[] { A, B, C }, new TagHelperAttribute("DoesNotExist", "completely different"), new[] { A, B, C }, false },
                    { new[] { A, A2, B, C }, new TagHelperAttribute("DoesNotExist", "_cnamE_"), new[] { A, A2, B, C }, false },
                    { new[] { A, A2, B, C }, new TagHelperAttribute("DoesNotExist", "completely different"), new[] { A, A2, B, C }, false },
                    { new[] { A, A2, A3, B, C }, new TagHelperAttribute("DoesNotExist", "_cnamE_"), new[] { A, A2, A3, B, C }, false },
                    { new[] { A, A2, A3, B, C }, new TagHelperAttribute("DoesNotExist", "completely different"), new[] { A, A2, A3, B, C }, false },
                };
        }
    }

    [Theory]
    [MemberData(nameof(RemoveData))]
    public void Remove_ReturnsExpectedValueAndRemovesFirstAttribute(
        IEnumerable<TagHelperAttribute> initialAttributes,
        TagHelperAttribute attributeToRemove,
        IEnumerable<TagHelperAttribute> expectedAttributes,
        bool expectedResult)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        var result = attributes.Remove(attributeToRemove);

        // Assert
        Assert.Equal(expectedResult, result);
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    public static TheoryData RemoveAtData
    {
        get
        {
            var A = new TagHelperAttribute("AName", "AName Value");
            var A2 = new TagHelperAttribute("aname", "AName Second Value");
            var B = new TagHelperAttribute("BName", "BName Value");

            return new TheoryData<
                IEnumerable<TagHelperAttribute>, // initialAttributes
                int, // locationToRemove
                IEnumerable<TagHelperAttribute>> // expectedAttributes
                {
                    { new[] { A }, 0, Enumerable.Empty<TagHelperAttribute>() },
                    { new[] { A, B }, 0, new[] { B } },
                    { new[] { A, B }, 1, new[] { A } },
                    { new[] { A, A2 }, 0, new[] { A2 } },
                    { new[] { A, A2 }, 1, new[] { A } },
                    { new[] { A, B, A2 }, 0, new[] { B, A2 } },
                    { new[] { A, B, A2 }, 1, new[] { A, A2 } },
                    { new[] { A, B, A2 }, 2, new[] { A, B } },
                };
        }
    }

    [Theory]
    [MemberData(nameof(RemoveAtData))]
    public void RemoveAt_RemovesAttributeAtSpecifiedIndex(
        IEnumerable<TagHelperAttribute> initialAttributes,
        int locationToRemove,
        IEnumerable<TagHelperAttribute> expectedAttributes)
    {
        // Arrange
        var attributes = new TagHelperAttributeList(initialAttributes);

        // Act
        attributes.RemoveAt(locationToRemove);

        // Assert
        Assert.Equal(expectedAttributes, attributes, CaseSensitiveTagHelperAttributeComparer.Default);
    }

    [Fact]
    public void RemoveAt_ThrowsWhenIndexIsOutOfRange()
    {
        // Arrange
        var attributes = new TagHelperAttributeList(
            new[]
            {
                    new TagHelperAttribute("a", "av"),
                    new TagHelperAttribute("b", "bv"),
            });

        // Act & Assert
        var exception = Assert.Throws<ArgumentOutOfRangeException>("index",
            () => attributes.RemoveAt(3));
    }

    [Fact]
    public void Clear_RemovesAllAttributes()
    {
        // Arrange
        var attributes = new TagHelperAttributeList(
            new[]
            {
                    new TagHelperAttribute("a", "av"),
                    new TagHelperAttribute("b", "bv"),
            });

        // Act
        attributes.Clear();

        // Assert
        Assert.Empty(attributes);
    }
}


text:
Bill Evans and Marian McPartland
I found a collection of this interview/conversation with Bill Evans on You Tube and fused the parts together so that the interview/conversation could be heard in one sitting. Bill Evans is not only a great musician, he is a philosopher as well. In this wide ranging interview/conversation he shares his philosophy of music and provides example. It begins with his most famous tune, "Waltz for Debbie".
He discusses the change in his music, aiming for more depth, and rhythmic construction. He also discusses the idea of "displacement of phrases" which is most important to him and what he says is his basic conception of jazz structure. Evans illustrates what he means by displacement of phrases, against the melody, by playing, "All Of You" at the 4:30 mark.
Nobody can explain post-structure in jazz better than he. He does not just frame jazz as structure free. There is structure but, at the same time, there is freedom outside of that strict structure, where the music can move in and out. For Evans, the structure is not the melody or tune necessarily, it is more abstract that that. The structure is just "indicated" and not imposed. He explains what he means at the 19:00 minute mark. He suggests that the musician should have a complete picture of the basic structure. By structure he means it in an abstract sense. For example, the key of C to its dominate G 7th and back to the C and that is over a petal point. The song springs from there in a creative movement. He displays exactly what he means by that at the 20:00 mark and on. What a great teacher!
The explanation and example is awesome and as Marian mentions, there is a mystery there when you listen to it. There is so much in this exchange for the fan and for someone just interested in both the music and theory. Evans has an aphorism that it is better to practice one tune for 24 hours than 24 tunes in an hour! A good metaphor for many other things.
Canadian Coalition for Public Health criticizes throne speech
On October 16, 2013, Governor General David Johnston delivered the throne speech to usher in this years parliament. It was greeted by concern from the Canadian Coalition for Public Health.
"We remain concerned, however, about the government's hard-line approach to the mentally ill in the criminal justice system and the place of harm reduction interventions for its citizens who are fighting addictions," said Ian Cubert co-chair of the coalition.
Our local MP Bruce Hyer had a humorous but clever retort to Harper's touch on crime approach saying that he should start in the senate!
Keep your eyes on the budget as the budget reflects priorities and priorities reflect values!
You can read the entire release here:
Happy Thanksgiving. For a humorous interlude, below is a clip from a famous thanksgiving movie, Planes, Trains and Automobiles. Granted the language is blue but the content is hilarious.
Congratulations Alice Munro on Nobel Prize for literature
Alice Munro is the first Canadian woman to receive a Nobel Prize for literature. She wrote many short stories and was quoted in CBC as saying:
My stories have gotten around quite remarkably for short stories. I would really hope that this would make people see the short story as an important art, not something you play around with until you got a novel written.
Many of her stories focus on characters living in small, rural towns in Ontario. Hence my affinity for some of her work! While different than Flannery O'Connor who also wrote short stories as well, Munro nonetheless injects dark irony into many of her tales.
An example of that irony is her short story, The Bear Went Over the Mountain which was adapted into a movie, Away from Her (see Gordon Pinset on the film, Away From Her, below).
Walt Whitman and Breaking Bad
Breaking Bad has finished and I will not add to the volume of commentary on the program. There are so many reflection and perspectives on the show that it is impossible to select just one theme to focus on; they are many and varied. One that I found particularly interesting though is the relationship between Walt Whitman, the famous American poet, and the program. In Breaking Bad, one of the characters, Gale, recites one of Walt Whitman's poems, When I heard the Learn'd Astronomer. It is first recited by Gale, the libertarian meth cook that Walt meets (see below). It is ironic that this man who is a self professed man of science recites a poem that seems to minimize the captivating role of science when compared with the vast expanse of the mystery of nature. But in many ways, this is apt. Gale is a free ranging thinker and while he appreciates the discipline of science, the allure of mystery captivates him. And so the scientist becomes the mystic.
When I heard the learn'd astronomer;
When the proofs, the figures, were ranged in columns before me;
When I was shown the charts and the diagrams, to add, divide, and measure them;
When I, sitting, heard the astronomer, where he lectured with much applause in the lecture-room,
How soon, unaccountable, I became tired and sick;
Till rising and gliding out, I wander'd off by myself,
In the mystical moist night-air, and from time to time,
Look'd up in perfect silence at the stars.
There is a second allusion to Walt Whitman that Gilligan uses and that is the poem, Gliding Over All, which is a title of one of the episodes.
Gliding o'er all, through all,
Through Nature, Time, and Space,
As a ship on the waters advancing,
The voyage of the soul — not life alone,
Death, many deaths I'll sing.
James Bowman, scholar at the Ethics and Public Policy Center, writes:
The many deaths that weigh on Walt's soul may have their due in the end, but the one Death, that which was always ahead of him, certainly will. It was his encounter with the reality of his own death — his cancer diagnosis in the show's first episode — that breaks him bad. That a confrontation with mortality should lead a man of science to abandon the world of Enlightenment values for the honor culture of the criminal lifestyle is strangely fitting. For although modern philosophy, politics, and everyday life are largely oriented toward the defeat or delay of death, the rational man of science can ultimately only think of his own death as the disincorporation of his material self, followed by incomprehensible void.
Death, if not any better understood in the honor culture, at least has a clear place carved out for it there: it is something that there are uses for, there are consolations from, and there are things worse than. Enlightenment science can account for so much of what we see in the natural and social world, but as Walt learns, there are mysteries that still defy the rational mind. Living with these mysteries, not least the mystery posed by our own confrontation with nothingness, means looking beyond the rationalistic Enlightenment vision of the world arrayed in its proofs and figures, charts and diagrams, to other, more primitive sources of wisdom.
Read Bowman's whole piece here: Criminal Elements
Canada's Truth and Reconciliation Commission Chair urges residential school training
Justice Murray Sinclair told a suicide prevention conference in Winnipeg on Wednesday that judges are legally required to learn about residential schools and the same should be mandatory for anyone working with aboriginal people.
"There isn't a single profession in Canada that shouldn't be required to understand the aboriginal experience in this country because all professions deal with aboriginal people, particularly in the West, where the population of aboriginal people is so significant,"
"Trauma feeds on trauma. Once here is a cycle that's started f suicides or crime or physical violence, it begins to feed upon itself and passes from generation to generation. Residential schools are probably the most significant historical trauma that aboriginal people in this country have experienced"
CBC had a really good series back in February, 2012 on this same theme.
Truth and Reconciliation Commission Urges More Awareness of Residential Schools
The 10 Habits of Highly Successful Hunter-Gatherers
Mark Sisson fromMark's Daily Apple had a great post on the 10 habits of highly successful hunter gatherers. I posted a video of Dr. Terry Wahls who had her symptoms of multiple sclerosis drastically and significantly reduced through the primal/paleo diet. Sisson offers some good tips on embracing the primal lifestyle not just in terms of diet.
Taking responsibility obliges us to scrutinize our own complicity in our life's difficulties, in the bad decisions, in the less-than-ideal circumstances. When we think about our health, our professional lives, our relationships or any other area where grievances live, what have we done/are we doing to perpetuate a miserable pattern? How have we conspired with the negative influences to get us where we're at? Why do we continue to accept situations that genuinely don't work for us?
That said, it's not about chastising ourselves. Taking responsibility for our lives doesn't call us to emotionally beat ourselves up...
Maybe we really did get a raw deal – in childhood, in the job market, in our first marriage, in that bout with cancer. Taking responsibility doesn't mean forgetting the past or turning over all awareness of the difficulties we've faced. I think it's more a question of owning our lives – for all their mixed circumstances.
Be Selfish
This flies in the face of our ancestors' culture of immediacy. There's something to that living in the here and now rather than for the sometime-down-the-road. I think it's possible to balance the two for the benefit of both, but it's a deal with the devil to think we can continually neglect ourselves for the people and projected future of our lives. Our sense of balance must demand current and continual well-being for ourselves. When we are nourished and sustained today, we have more to offer to those around us and to our futures.
Build a Tribe
In this day and age, we live in proximity to numbers that would've stunned our ancestors. We count our social media "friends" into the hundreds, but we often miss a sense of close, constant connection. Exposure doesn't fill our social wells. Neither do status updates.
If you find yourself at this point in your life without a core group, build one. Don't make the excuse that you just missed the boat. It's just too important. You'll be glad you didn't later. Feed this "highly successful" habit by first deepening the relationships you already have. When you begin seeing your partner, family members, kids, and closer friends as your tribe, you gain a whole new level of appreciation for the role they play in your life.
For our ancestors, life was an exercise in continual hyper-vigilance. Not every second, but close. It wasn't just the risk of becoming another creature's dinner either. Attentiveness also meant watching for weather, catching migratory patterns, and deciphering water sources – just to name a few examples.
The Primal Connection is to be found in giving the moment your full attention. It's about minding the difference between thoughtful deliberation or reflection and so-called monkey brain. It's about throwing off the strangling self-absorption we trap ourselves in every day standing in line with our phones or with our mental chatter. See the people, places, and possibilities in front of you.
The thing about us hominids, is this. We think. We imagine. We create. We explore. We experiment and extrapolate. We're driven to go around yet another corner of the path. We'll push the envelope continually because it feels good to do it. It's how we got ahead in the evolutionary game, how we're so vastly successful after all. The wheel didn't invent itself. Neither did all the continents come knocking at the door of the African savannah. You get the point.
Fast forward to today, and we're a tale of contradiction. As a species we've advanced to the outer edges of the solar system. As individuals, however, our daily lives might not appear so inspiring. The thing is, we're so ungodly busy. We've got filled calendars, packed schedules, pocket-sized devices and big screen distractions to keep us occupied and then some.
Trust Your Gut
That said, we do carry the same genes, the same inherent abilities to tap into the telling but understated detail of our environment (and each other). When we feel this again, use it and strengthen it like a neglected muscle, we also become more in touch with our own gut sense. There's something decidedly Primal about the philosophies that say we find self-awareness and "awake-ness" in true silence.
Pick Your Battles
Ask yourself where your energy goes. Ask yourself what amount of risk you take, what amount of conflict you generate or accept in your life? Is it worth it? This doesn't mean nothing is worth a risk or nothing is worth fighting for. It's simply a recognition that your time, energy and other resources are limited. At a midlife inventory or, worse yet, the end of life, will you feel you pursued the right relationships and endeavors and let go at the right times? Were you the best person you could've been in those relationships? Is there a chance you'll say to yourself, "I fought all the wrong battles"?
As Michael E. McCullough, author of Beyond Revenge: The Evolution of the Forgiveness Instinct, explains, the ability to forgive is as much a result of natural selection as the impulse for revenge. Forgiveness, he suggests, likely evolved as a means of social cooperation. For our ancestors, life was about conservation – of energy, of resources, of good will. In a cost-benefit analysis, nursing an unrelenting grudge would've been a major liability. If you couldn't get along with the group, eventually you likely wouldn't have been welcome anymore. Be upset, sure. But once it starts eroding the group dynamic, you'd better find yourself another band. The risk wasn't worth the emotional indulgence.
Sharpen Your Spear
Whatever stage of the game you're at, make the investment in yourself. Pursue a new career that aligns more with your passion. Delve into a hobby that gives you genuine pleasure. Resist the modern idea that life or professional success has to follow a linear track. Define your personal trajectory in terms of your own satisfaction and sense of self-development rather than an outside template. You decide what tools and skills you'll hone and the value you'll assign to them at varying points in your life.
Be Affluent
What does abundance mean to you? While we don't need to swear off the blessings of modern conveniences and novelty, it's important to define our most deep-seated priorities. What genuinely nourishes you at the physical level? What fills your intellectual, creative, social, emotional and spiritual dimensions, however you conceive of them? Too often we wind ourselves around a bloated and distorted sense of our basic needs (e.g. food, shelter and security, every knick-knack that Pottery Barn sells) all while depriving ourselves of the latter dimensions (e.g. genuine and close friends, time and outlets for self expression and development, etc.).


A homemade silly putty recipe that needs just 2 ingredients.
Why not try a little science experiment at home? With two ingredients you probably already have in your kitchen, you can make homemade silly putty.
A lot of this recipe depends on the kind of dish soap you have at home. Some brands just plain work better than others.
The only way you'll know how yours works is to give it a go.
After we made our silly putty and played with it for a bit, I put it in a sealed container and kept it next to the sink. For the next few days, we used it to wash our hands with! That proved to be almost more fun than playing with the silly putty. It definitely encouraged hand washing.
Stir these two ingredients together then start kneading them with your hands.
That's it! You now have your own homemade silly putty.
I threw together a quick 30 second video so you can see exactly how this recipe is supposed to work.
While this recipe produces a silly putty that can stretch and mold into shapes, I tried to use it to lift images off newspaper and it did not work. I was a little bummed about that because that was my favorite part of playing with silly putty as a kid.
However, my kids had never played with silly putty before, so to them, the fact that these two ingredients formed something that could stretch and shrink and ball up…was fun enough.
Did you play with silly putty as a kid?


Vitamin B12 is a rich source of alpha lipoic acid. It helps to improve our nervous system, cardiovascular system, reproductive system, immune system, and circulatory system. It is a powerful antioxidant, which can enter each nerve cell and protect from damage.
The market is full of health supplements which are rich in Vitamin B12. But don't take any chances. Do a proper survey before buying. If required consult your health professionals as tow which product you should try out.
Try INLIFE Vitamin B12 supplement if you want the best. It is a natural herbal product so there are no chances of side effects.
Opt for INLIFE™ Vitamin B12 ALA Supplement (60 Tablets), INLIFE™ Vitamin B12 + ALA Tablets (3-Pack), INLIFE™ Vitamin B12 D3 Combo Pack, INLIFE™ Nerve Health Combo Pack.
Take 1 tablet daily after meals with or as directed by a healthcare professional.
Buy the INLIFE Vitamin B12 Supplement from INLIFE HEALTH CARE!


text:
Caught With Their Pants Down
The problem with talking behind someone's back is that the story usually gets back to the one you are talking about. And if you slander someone, they find out about it. The result is that you look pretty bad and the person you lied about looks quite good. That about sums up what happened in the recent Presidential debate between Mitt Romney and Barack Obama.
The fact is that most people don't pay much attention to politics until after Labor Day and most of them don't pay much attention to the race for President until the first Presidential debate. So, for many of the 65 million or so that watched the debate between the incumbent President and the former Governor of Massachusetts, this was their first exposure to the candidates, other than the barrage of commercials that were aired on TV. And, if you were lucky (or unfortunate, as you may think it) enough to live in a "battleground" state such as Virginia, North Carolina, Florida or Ohio, you received a double blast from the Romney and Obama political shotguns. For months you have been treated to personal attacks on Mitt Romney as a low down, merciless, greedy, evil businessman who doesn't give a whit for the concerns of the poor or the middle income folks. From the hundreds of millions of dollars spent on pro-Obama, anti-Romney ads you would think that Romney beats his wife, eats caviar for dinner every night, kicks the dog, and spends his time figuring out how he can benefit the rich at the expense of everyone else.
When you spend several hundred million dollars developing a false narrative of your opponent, the only thing you can hope for is that the truth doesn't come out. It is said the campaign book at the Obama headquarters has one theme, "kill Romney." Now, the Obama folks don't mean that literally, but they do mean it politically. Frankly, I'm not offended at the theme, except if it means slandering Romney. In this case, painting a picture of Romney as a heartless monster was exactly the theme. The success of the entire campaign rested upon creating this false caricature of Mitt Romney. If they could do that, they felt they could win the election.
But when the first Presidential Debate took place, Romney failed to cooperate. People saw that he was not the awful person that had been portrayed in the multitude of personal attack ads run against him on TV. Neither was he a bumbling idiot. The President tried to continue the false attacks on him, claiming that he would raise taxes on the middle income folks, but the problem was it just wasn't true. Yes, one ITT (In the Tank) Think Tank came up with a cockamamie analysis that indicated that the Romney plan would raise taxes on the middle income folks by $5 trillion, but several other much more reputable think tanks, including the American Enterprise Institute, found the plan to be either revenue neutral or actually a reduction. The Wall Street Journal also concluded that the Romney plan would not raise taxes on anyone. Nonetheless, the President proceded to repeat this canard over and over again.
Surely someone on the Obama political team knew about the preponderance of analyses that concluded the Romney plan would not raise taxes on the middle income folks, yet they advised the President to proceed with this patently false attack. What gives? Did they expect the moderator, a kindly liberal fellow, Jim Lehrer, to come to Obama's aid? And speaking of Jim Lehrer, the Obama ITT media and other liberal mouthpieces are outraged by the moderator's even handed handling of the debate. Even though the President spoke for five minutes more than Romney, they think Obama got a raw deal. What he really got was a political knock out from someone more talented, more accomplished, more knowledgeable, and more prepared than the President. Barack Obama lost fair and square. I have heard it said that a compulsive liar is speechless when confronted with the truth. Maybe that was what happened at the Presidential Debate.
So, the President and his politicos simply acknowledged that he lost, conceded victory and moved on, right? No, they didn't. The problem was that they had bet everything on convincing the voters, especially the swing voters, that Romney was someone he wasn't. So, instead of moving on, they have decided to double down and label Romney a liar.
I guess we shouldn't be too surprised since that comes right from the book that Obama taught from, Rules for Radicals, by Saul Alinsky—accuse your opponent of what you are guilty of. Staying on the attack is one of the tenets of Alinsky. Never let your opponent go on the offensive.
Speaking of lying, it's hard to know where to start with Obama. Here is the very short list of some of the whoppers that Obama has told…
I never heard my pastor say anything like that, i.e. "G__ D__ America" or in regard to 9-11, "The chickens came home to roost." He said that with a straight face after sitting in his church for more than 20 years, donating more than $20,000 and dedicating his (as it turns out) third book to him and calling him a confidant.
I hardly knew Bill Ayres. Ayres is the unrepentant domestic terrorist that bombed the Capitol Building and tried to bomb the Pentagon. Obama knew him and his radical wife, Bernadine Dohrn, quite well. He launched his state senate race in the home of Bill and Bernadine, he served on a board with Bill, he talked with him frequently, yet claimed to not know him well.
I do not support one payer health care like Canada. He can be seen on video tape saying that he prefers one payer health care.
I support clean coal in coal producing states during his first run for president. At the President's direction his EPA has virtually shut down all coal production.
I support all forms of energy production. Oil exploration has gone up during my term in office. Obama has stated in private conversations that he is not interested in any energy except green energy. The fact is that during Obama's term in office oil exploration has been shut down in the Gulf of Mexico and squeezed to a near halt on all federal lands.
I never voted to let babies die that were accidentally born alive instead of aborted. False. Not once, but twice Obama voted against the Born Alive Infants Protection Act, an Illinois bill that was meant to provide protection for babies born alive after attempted abortions.
Libyan Ambassador Christopher Stevens was killed as the result of a spontaneous demonstration against an anti-Islamic video produced in the US. The White House knew that the attack was not spontaneous and that it was likely an attack by Al-Qaida within 24 hours of the event, yet the President kept telling this lie a week later.
We have created millions of new jobs. If that is true, why are there fewer people employed today then there were when Obama was inaugurated?
I have always reached across the aisle to work with the Republicans. Never once has the President attempted to work with Republicans to solve problems. He has never compromised one iota.
Amnesty for undocumented workers [illegals] was blocked by the Republicans. The truth is that for two years the Democrats had total control of Congress. The Republicans couldn't block anything. Yet, the President tells his Hispanic supporters that it is the Republicans fault.
Nearly every day the President utters another lie. Even claiming that Romney lied is a lie. His administration is not only filled with liars, it is also filled with law breakers. For example, his Attorney General, Eric Holder, has told lies under oath before Congress in regard to Operation Fast and Furious. His Secretary of Health and Human Services, Kathleen Sibelius, violated the Hatch Act by campaigning for the President. The White House engineered an advisory telling Lockheed Martin that it did not need to abide by the law requiring them to issue a notice to their workers that they may be laid off due to looming defense cuts. When a Republican Congress was elected in 2010, the EPA illegally bypassed Congress and issued regulations that were not approved by Congress when put to a vote.
The list goes on and on. This White House has total disrespect for the law, for Congress, and for the United States Constitution, yet the ITT media always gives Obama a pass. Even more than that, in the case of Operation Fast and Furious, CBS and others essentially covered up the scandal by not reporting it. Verbal gaffs by the President and by Vice President Biden simply go unreported.
For this President and his team to talk about Romney lying is sheer hypocrisy. As the talk show host Chris Plante likes to say, "If it weren't for double standards, liberals would have no standards at all." Indeed.
But don't expect the White House team to change its colors. The next few weeks will be dirtier and more dishonest than anything you have ever previously witnessed in politics. The Obama ship is sinking. The polls are not only up, they are headed further upward and Obama the narcissist can't stand that.
The next presidential debate will undoubtedly be less fair. It is a town hall set up and the moderator will be fully in Obama's camp. He or she knows what happened to Jim Lehrer when he failed to help out Obama in the last debate. He was derided as incompetent, out of date, unfair, etc. This time, you can be sure that Obama will be in full attack mode and the moderator will be giving him a boost at every turn. You will probably get an inkling of the compliant ITT media in full attack mode at the upcoming Vice Presidential debate this coming Thursday. Stay tuned for the fun and games.
Why Romney Will Win Big
What Would an Obama Second Term Would Mean?
God and the Democratic Party
AARP vs. Senior Citizens


pressed into the rotation due to Robbie Erlin hitting the disabled list.
Stauffer didn't disappoint, as he had five strikeouts and walked one batter.
on what we have to do tomorrow."
"Today was just a terrible job making adjustments all around," said Jackson.
"No excuses, just flat out terrible job at making adjustments."
Welington Castillo recorded the lone RBI for the Cubs.
two-run single to right. One out later, Alonso homered to right field.
two more later in the frame.
through in the seventh on Castillo's run-scoring single.
Saturday, pitched the eighth inning Friday.


The purpose which the Holy Ones know and serve.
And may it transform darkness into light.
Let Light, Love, and Unity heal our world.
Let Light, Love, and Unity awaken humanity.
Let Light, Love, and Unity cultivate peace and harmony on Earth.
"Every generation must be free to remake the world anew" (Thomas Paine).
We can do this individually, but working together, we can become "The Power of Oneness," transcending the limits of time as we propel positive changes into our own lives and into the lives of all of creation on Earth. YOU are needed to remake the world anew.
Children of the Earth has developed a plan to bring together interested Spirit Ambassadors for the intention of group meditations and energy work which will provide the opportunity to become, as one, the change we wish to see in the world.
Let us know if you are inspired to participate in moving from I to We to ONE. We will be starting with the following simple, basic daily meditation (concluding with the adapted Great Invocation – World Oneness Prayer) and will move on from there. Don't miss this opportunity to be a part of Children of the Earth's synthesized, creative energy to heal the Earth, to awaken humanity, and to restore the light, love, and unity of the Oneness. Not only can you make a difference, YOU are the difference.
1. Find a quiet, comfortable place to sit (where you will not be disturbed), and use it daily. It is best to meditate at the same time each day, when possible. Place some favorite objects around you or even light a candle.
2. Take 3 deep breaths in as you imagine yourself filled with love and light. Each time you exhale, see your mind clearing, your body letting go of all tensions or stress, and your emotions clam and serene.
3. Vocalize OM 3 times (the Universal sound of the ages and the link of the many Great Souls). As you do this, experience yourself as a soul of eternity with a personality that has emerged from this life-time.
4. In your mind's eye, start to link with your dear friends around the planet who are working with you and holding the great potential for COE to be a birthing place for your inner, deep conversations and transformation.
Compassion, joy, and gratitude form the true basis of Oneness.
6. Say the ADAPTED GREAT INVOCATION either aloud or to yourself.
7. Then sound the OM 3 times to link this into the great sea of consciousness.
8. Allow the energy to drip down into you for a short while .and then silently say Peace, Peace, Peace or Shanti, Shanti, Shanti.
Keep a small journal of each day. See where this takes you. Write down in your spiritual diary, any thought, clarity, inspirations, images, symbols, etc. that you had during this meditation. You may be inspired to write poetry or to create art or music. Date these and be ready to share with the group when we meet online.
Seed thoughts: Once comfortable with this meditation, we will take one concise thought from the book Twelve Steps to Compassion (by Karen Armstrong) each month as our seed thought. A seed thought is an idea on which to concentrate and often inspires and gives answers for your life, leading you to engage in service for the planet.
COE is convening 12 master level youth Spirit-Ambassadors: COE alumni who have known each other throughout many years. They have agreed to unite daily in meditation with COE elders. All regions of the world are represented including Ghana, Israel, Nepal, Pakistan, South Africa, United Kingdom, Canada, United States, Romania, Nigeria, Australia, Korea and Japan.
Each of the participants has practiced diverse types of meditation, but this will be a specific process adapted by and for them. They will journal their experiences and shall be interviewed regularly. Their reflections will be posted on the COEWORLD website and on social media to promote the movement and inspire others to join. As more youth join the project, the 12 lead youth will become mentors to new members, causing a ripple effect in youth consciousness to flow. COE's role is to synthesize this creative energy and to allow the love, light and unity of the youth move- ment to heal the Earth, awaken humanity and to build sustainable world peace through Oneness.
The Spirit-Ambassadors Oneness project will become the heart for COE's long time dream for an interactive website to help grow the spiritual youth consciousness movement. This open-sourced website, SpiritYouth.org, is to connect the planet's youth in mind and heart. The world-wide-web has united the world through the global mind, and COE believes it's time to build the global heart.
The SpiritYouth.org Platform will offer modules, seminars and tutorials to foster the idea of the inter-connectivity of all people, all life. The site will promote and teach youth to foster the ability to learn from each other, practice various types of meditative forms together, and to have adult mentors to further their knowledge base of spirituality and science intersections. It will be a spiritual home online for all youth. Mentors from a variety of traditions will share and facilitate teachings grounded in accountability and reverence for all living things. International spiritual thought leaders and social activists will be featured in articles, interviews and live webinars. A section will be offered on social projects rooted in the principles of spirituality and unity consciousness. It will bring awareness and potential funders to assist SpiritYouth programs.


Living with chronic pain is never easy, and sufferers often feel helpless about their conditions. Any kind of medical issue, aside from making daily activities painful and comfortable, causes life to become much more complicated. Sufferers of chronic pain, however, can use their smart phones to make life much easier for themselves. The following great apps can help you manage your chronic pain and live a more satisfying life with the help of modern mobile technology.
For patients suffering from chronic pain, it is highly important to monitor their conditions on a daily basis. This practice, while time consuming and inconvenient, helps you and your doctors to better gauge your condition, monitor your body's recovery and prescribe appropriate treatment. My Pain Diary is a great app that can help you monitor your pain from day to day. Document any changes in your condition, find correlations between daily stress and intensifying pain, and use the information that you gather to make your life easier. Keeping track of your condition has never been easier.
Relief is endlessly important when you suffer from chronic pain. While many forms of exercise may be too strenuous to bear, a light yoga routine is extremely beneficial as a form of pain relief. When your body experiences a healthy amount of activity on a daily basis it becomes both stronger and more flexible, helping relieve your pain by improving your physical condition. Pocket Yoga helps you to design your own mellow workouts by providing diagrams and instructions for yoga poses that can help relieve your pain.
Chronic pain is often caused by muscle tension, swelling, strain, tightness and other common problems with musculature. Dealing with your pain becomes much easier when you understand exactly what is going on under your skin, and Muscle Trigger Points is a great app that teaches you all about your own muscles. Find pressure and trigger points in your strained muscle groups that will help relieve your tension when it becomes too much to bear. You can be your own personal massage therapist with this great app.
The power of breathing should never be underestimated. Controlled breathing is a great stress reliever, and it can help you deal with both your mental stresses and your physical pain. Pranayama is a brand of yoga that is heavily focused on controlled breath, and Universal Breathing is a fantastic app that guides you through tried and true breath control routines. Practicing this specific form of yoga on a regular basis helps make you more calm and stress free, offering much needed relief from your chronic pain.
Medication is a part of almost every comprehensive pain management plan, and it can seem almost impossible to keep track of multiple prescriptions for your condition. Epocrates is one of the most popular apps on the market for dealing with this problem. Learn all about your medications and their interactions, and find great information about over the counter drugs at the same time. If you're on a medication regimen, this is a great app to have on your side.


Melissa Brandao, a former Apple engineer, wanted to find ways to give back to her rural agricultural community in southern Oregon. Rather than traditional farming, though, she began designing robots to provide farmers with extra sets of eyes, ears and wheels out in the field, writes former USDA head Tom Vilsack and Danielle Nierenberg in the "Iowa View" section of The Des Moines Register on Monday.
Her story shows how emerging technologies are not just the province of Silicon Valley or major metropolitan centers; nor are they only for the benefit of major corporations and investment firms. Rather, independent farmers and merchants alike are helping to drive new innovations across the nation's food supply chain, as stated in the recent "Refresh: Food + Tech, from Soil to Supper" report produced by Google, Food Tank, Swell Creative Group and their partners. It features more than 20 concrete examples of the ways technological innovations are helping not only food producers, but distributors and consumers as well — from farm to fridge to gut.
Read Vilsack and Nierenbergs' full editorial over at DesMoinesRegister.com.


We've been through Christmas, Boxing Day, New Year's Eve, Valentine's Day AND National Drink Wine Day… That should accumulate a lot of wine corks right?
To create this fabulous addition to your child's bedroom door you will probably need to start with a base (a cardboard base will do, but perhaps invest in a cork sheet). Cut out the letter of your child's name in the cardboard or cork sheet and start sticking down your wine corks!
This is a super easy and insanely effective way to spruce up boring glass candle holders. Simply fasten your corks around the class with some string or, for a more secure fit, slice off a small portion of the cork so that their is a flat back that you can use to stick the cork against the side of the glass.
Now, we LOVE this idea. Spruce up your dull or cheap looking flower pots with your leftover wine corks! You can keep your wine corks whole, or cut them in half to get a bit more creative with the design. Please note that wine corks are FAR easier to cut if you steam them for 10 minutes beforehand (yes, just like your broccoli!). Remember to use a serrated knife for a clean cut.


You and Corey sound like you're having a lot of fun together! Happy writing!
It's a blast, though we meet up at his place sense he has a baby to work around. This, of course, means his poor wife bears the brunt of our shenanigans.


text:
Scotiabank's digital innovation garners award from The Banker
Wed Aug 05 2020 09:58:00 GMT-0400
In mid-March, the fallout from COVID-19 was starting to be felt in Canada and Scotiabank's Chief Digital Officer Shawn Rose was in a race against time.
Banks were dealing with a flood of calls from customers looking to defer their looming mortgage and other loan payments, most of which were due on April 1.
Rose's team, and a cross functional group of Scotiabankers, developed a range of solutions that would allow customers to request loan deferrals online. Within a week, call wait times shrunk from more than an hour to mere minutes and applications were passing through the system.
However, it wasn't the hard work in those few days that made the difference, it was the years of investment in the Bank's digital strategy and co-ordination with various other departments of the organization that allowed it to pivot so quickly when needed most, Rose said.
"Our platforms allowed us to shave days, and hours, and minutes off of the angst that people were having at this moment," he said. "There's a super strong foundation in people and partnership, process and technology, that took a number of years to put together."
This rapid digital response to COVID-19 is a key reason why Scotiabank has won the award for Best Bank in North America for Innovation in Digital Banking from The Banker, a Financial Times publication.
Scotiabank's rapid digital response to COVID-19 is a key reason why the Bank won the award
Video, Scotiabank's rapid digital response to COVID-19 is a key reason why the Bank won the award
Prior to this award, the mobile banking app released by the Bank last year has garnered several awards and Scotiabank's online banking platform also received the number one ranking in the J.D. Power 2020 Canada Online Banking Satisfaction study.
"Clearly, the resources and investment that Scotiabank has put into digitally transforming both its technology stack and its workforce have paid off during the COVID-19 crisis," said Joy Macknight, managing editor of The Banker. "The bank's ability to respond quickly to developing client needs, as well as helping them to access banking services digitally, clinched this year's regional award for innovation."
These wins are the result of a co-ordinated effort to transform the Bank, after it committed in 2017 to become a leader in digital banking.
"Since that time, we built a winning team, prioritized our customers' banking experience, and created an industry-leading mobile banking app," said Brian Porter, President and Chief Executive Officer of Scotiabank. "When we commit, we deliver. This award is evidence that our investments were the right ones for the Bank and for our customers."
Scotiabank has 1,000 top technology professionals at digital factories — local hubs for technology teams with expertise ranging from software to mobile user interfaces and engineering — in Canada, Mexico, Chile, Colombia and Peru.
Scotiabank rolled out five digital factories, that were designed to be central places where employees develop features for use by the Bank, but also can be tailored to suit the local market.
The first was in Toronto in January 2017, followed by Bogota, Colombia in February, Mexico City, Mexico in March, Lima, Peru in October and Santiago, Chile in November.
This strategy allowed the factories to have local expertise, and the Bank to tap sought-after technology talent more widely.
"Without the talent, you can't build software at scale," said Rose said.
Another key component of the digital strategy was building the Canadian mobile platform infrastructure to be applicable across countries and channels. As well, Scotiabank's global design framework enables designers and developers in five countries to share the same components and code. The Bank's technology and talent was put to the ultimate test when COVID-19 hit, and physical distancing precautions increased the number of customers banking digitally. The Bank also had the job of distributing government relief. Since the crisis began, the Bank has delivered relief to roughly 360,000 Canadians and their businesses – and almost 2 million applications globally, through a tightly-coordinated, digitally-enhanced process.
In conjunction with COVID-19 efforts by various teams throughout the Bank, Rose pivoted roughly 100 employees from departments including engineering, design, product and digital marketing to focus on Scotiabank's response, including new features and programs.
"It was not difficult for us, other than the hours, to roll out relief efforts," he said. "Because we had a really strong platform with great people, and fantastic partnership with our colleagues across the Bank."
Follow the money: Financial sector plays part in curbing child trafficking
Scotiabank makes 10-year, $500M commitment to foster economic resilience among disadvantaged groups
Scotiabank commits $1.25 million to the Institute of Sustainable Finance


Have you ever dreamed of having a living reef in your office or living room, but didn't want to deal with the hassle of installation and maintenance?
Aquatic Life Service Group is your answer!
We specialize in creating living reef eco-systems. While most service companies treat tank maintenance as though they are maintaining a sterile swimming pool, we nurture our aquariums to contain dozens and even hundreds of species of animals. Creating this kind of self-contained ecosystem is challenging and takes expertise, but don't worry! Not only will we install your aquarium free of charge, but we'll also cover every angle of building and maintaining a vibrant reef ecosystem. From "gardening" your corals to installing automatic fish feeders to chemical dosing, we'll do it all for you! We can even do your fish and coral shopping as well! The only job you are left with is kicking back and enjoying your aquarium.
We at Aquatic Life prioritize achieving the best value at the most affordable price, and specialize in creating high quality, affordable living reefs. In that spirit, we will cover the most expensive part of your reef ecosystem for you! We'll fill your aquarium full of corals for free, a value worth hundreds or even thousands of dollars. If you are reluctant to put money down on a new aquarium, you can also ask us about our free aquarium deal!
Are you in need of services?
Photography provided by Zack Smith.


text:
Black Eyed Peas Tackle Gun Violence, Immigration in 'Big Love' Videos
In the video confronting gun violence at schools, BEP members will.i.am and Taboo — who portray a teacher and a gym coach — are shot by a gunman along with several students, while others run for safety
By Mefin Fekadu	• Published at 9:26 am on September 21, 2018
The Black Eyed Peas tackle gun violence at schools and immigration in two new music videos for their song, "Big Love."
The trio — it's unclear if Fergie is still part of the group — released the videos Friday. They also announced proceeds from the song will benefit the student-led March for Our Lives organization, calling for stricter gun laws, and Families Belong Together, a protest against the Trump administration policy of separating children from families after they are detained crossing the U.S. border illegally.
In the video confronting gun violence at schools, BEP members will.i.am and Taboo — who portray a teacher and a gym coach — are shot by a gunman along with several students, while others run for safety. Apl.de.ap is a police officer in the clip.
Nancy Pelosi 9 hours ago
The second video focuses on border portal officers stopping immigrants from crossing the U.S. border.
"Big Love," which is reminiscent of the Black Eyed Peas 2003 hit "Where Is the Love," will appear on the band's new album, "Masters of the Sun." It will be released Oct. 12 and is their first album since 2010's "The Beginning."
The Grammy-winning group's hits include "Boom Boom Pow," ''My Humps" and "I Gotta Feeling." They will launch their The Masters of the Sun Tour on Oct. 27 in London and wrap Nov. 18 in Dusseldorf, Germany.
Fergie, who released a solo album last year, has not recorded with the group. Representatives for the singer and the Black Eyed Peas didn't clarify her role in the group when asked by The Associated Press.


"They sell old men here?"
Sometimes right in the middle of your day a story about kindness that you would never expect sneaks up on you and makes you smile from ear to ear!
Today, a friend of mine and her three children Joey, 11 Sopia, 6 and Giuliana, 4 were all walking into Hobby Lobby together when Giuliana noticed an older gentleman sitting in a chair resting. Giuliana's response to seeing this man in the chair was "oh, you can buy old men here"? As if she was asking her mom if they could take him home.
The man, named Harry, overheard her question and burst into laughter that caused a ripple effect in Hobby Lobby to all unsuspecting shoppers passing by. It was a beautiful contagious, joyful exchange between strangers!
At four years old Giuliana and her family gave a gift of kindness to a stranger without ever having to lift a finger, spend money or go out of their way to do so. She gave them the gift of laughter, community and love! This little powerhouse of a four year old was responsible for creating something magical in a store full of shoppers that are often plugged in, tuned out and on a mission all of their own.
And ya wanna know what else? As if this wasn't already enough! When all of the laughter subsided, Harry, having been so touched by Giuliana and the warmth of her family asked if he could hug her! She didn't hesitate for one second!
I betcha Harry will tell the story of little Giuliana as often as he can because kindness, laughter and love get repeated In ways we will never fully grasp. Except for "Gi-gi" I'm pretty sure this little love knows full well the powers of love and kindness, in fact she is the one teaching us!


Are you searching for custom signs in Davie, FL? Look no further than the professionals at Testa & Sons Signs! We have been working with businesses in and around Davie for many years by providing high quality indoor and outdoor custom signs! We also specialize in quality installations.
At Testa & Sons Signs, we create and install the most professional, visible, and versatile types of signs. Not only are we the leading provider for custom signs in Davie, but we have also been installing and removing signage for multiple decades too. From street signs to sandblasted signs to storefront signs, we provide the most extensive options for custom signs in Davie.
When you need legible custom signs put up or Department of Transportation approved stop signs placed, turn to Testa & Sons Signs. We want to manufacture, install, and remove the signs that can help act as a pertinent piece of information in the community or make your business known. For all of your needs regarding custom signs in Davie, contact us today.